v0.55.0
Highlights
- GitHub issue and PR reading (opt-in):
readnow resolvesissue://123andpr://456directly - structured markdown with bodies, comments, reviews, and review threads, numbered discussion items with drill-down selectors (pr://456/comments/3-5), verbose bot comments (cubic, greptile, codesmith) compressed to their findings, and screenshot attachments for vision-capable models. Every read is a live fetch; a cached copy is served only when the fetch fails, loudly labeled. Enable withgh_read.enabled: true(user config; thereadtool description advertises the spelling only when enabled). - First search in fresh worktrees is fast now: queue admission for a worktree's first search dropped from multi-second waits to ~0ms under background maintenance load, the trigram base loads immediately (no longer queued behind cold-build slots), and the semantic index is adopted in-RAM from the parent checkout instead of reloading from disk. Small-core machines (2-4 cores) get a dedicated fix: background maintenance no longer consumes the interactive execution slot.
- Git hooks are dispatched, not shadowed: agent-run git previously routed
core.hooksPathat a managed directory, silently disabling repository-local hooks (pre-push guards, pre-commit checks). The managed directory now generates dispatchers for the full git hook set that chain to the repository's own hooks (localcore.hooksPath,.git/hooks/,.githooks/) with exit codes preserved, and foreign files written into the managed directory are quarantined instead of executed.
Fixes
apply_patchdelete and move hunks no longer follow symlinks at the entry level (matchingdelete/movesemantics); symlink deletion refuses at preflight so multi-hunk patches stay atomic.deletevalidates symlink targets against the project root correctly when invoked with relative paths.- Regex preflight no longer rejects valid patterns (
\*+,(?=inside character classes) with a false "possessive quantifier" diagnostic. aft_zoommisses on qualified names steer to ranged outline candidates instead of inviting blind retries.- Callgraph store: workspace-manifest resolver memoization makes cold builds up to 30x faster on import-heavy repositories; interrupted cold builds resume staged progress instead of restarting; a store-wide sweep reclaims cache directories belonging to deleted checkouts (previously unbounded growth, reported at 13 GB in the field).
- Transient search-cache directories in the system temp directory are no longer minted per call (previously one orphaned directory per fallback build, 718 observed in the field); a budgeted sweep reaps the legacy accumulation.
- Background task completion notifications reliably wake idle sessions after transport reconnects and model migrations.
- tsc output compression is 1.8x faster on large outputs; large-output compression paths avoid double ANSI stripping.
- Windows: cross-platform path comparison fixes in semantic index adoption and outline device-boundary checks.
Infrastructure
- Release assets now include
aft-<os>-<arch>.ziparchives with SHA-256 sidecars for each supported platform, alongside the existing bare binaries. These serve the CortexKit alpha installer; existing asset names are unchanged. - OpenCode E2E pin bumped to 1.18.25.
Thanks to @randomvariable for issue #282 and the standing-index RFC discussion (#286, #210), and to everyone filing precise, mechanism-traced reports.