Skip to content

v0.51.1

Choose a tag to compare

@github-actions github-actions released this 17 Aug 12:21
· 1402 commits to main since this release

v0.51.1

Patch release: a production wedge fix in the new blocking-fresh inspect path, an undo path-resolution fix, a standalone-transport recovery fix, and reliability work from community reports.

Fixed

Blocking-fresh aft_inspect could wedge a project's tool lane. The v0.51.0 inspect path could hold its execution lane indefinitely when a language-server wait or a contended writer lease never resolved — every subsequent tool call on that project then failed at bind time until the process was restarted. Inspect phases now carry hard deadlines and terminate as honest PHASE-FAILED results (writer_lease_timeout, lsp_quiescence_timeout) instead of waiting forever, an abandoned inspect request is cancelled at its next phase boundary instead of running on as a ghost, and lane diagnostics now name a stuck occupant directly.

aft_safety undo/history missed backups when given a relative path. Relative paths resolved against the daemon's working directory instead of the project root, so undo reported a false "no undo history" while the backup existed on disk. All safety operations now resolve relative paths against the project root, and a genuine miss reports the resolved absolute path so a lookup problem can never masquerade as absent history.

A standalone bridge child with closed stdin wedged permanently (#231, fixed by @llc1123 in #233). A child process whose stdin pipe closed without the process exiting passed the liveness check forever, failing every subsequent request. Liveness now includes stdin writability: the common case transparently serves the current request on a fresh respawn; an ambiguous mid-write failure fails once honestly (never blind-replaying a possible mutation) and heals the next call.

aft_search rejected the current workspace passed as path on non-Git workspaces (#227, fixed by @llc1123 in #232 and #228). A non-Git configured root passed redundantly as path — common agent behavior — failed with not_a_git_root before the same-root check could run. Canonical same-root spellings (absolute, .) now short-circuit to the local search, and the path parameter's description states that it targets a different project, not a subtree filter.

Tool-schema freshness check now reproducible from a clean checkout (#229). The check builds @cortexkit/aft-bridge when its dist is missing or stale instead of crashing — or worse, silently reusing a stale dist for a false-green verdict.

Changed

MSRV declared: Rust 1.92 (#230). The locked oxc 0.126 dependency family requires rustc 1.92; the workspace now declares rust-version = "1.92", the README says so, and a CI lane verifies the floor with cargo check --workspace --all-targets --locked on the pinned toolchain (command adopted from @llc1123's reference).

Release binaries now ship debug symbols as sibling assets. macOS release assets gain aft-<target>-dsym.zip so thread-stack samples of a deployed binary symbolicate by name. The shipped binary is unchanged (still stripped; the debug info is a separate download).

Thanks to @llc1123 for five high-quality reports and two merged fixes in this release, and to everyone running v0.51.0 who reported early.