Nothing in the configuration or on-disk format changed, so upgrading is just the binary. If you
build against the crates rather than running them, note that AgentEvent::PermissionRequested
carries a new field and ScriptedUpdate a new variant; both enums are exhaustive on purpose, so
code matching them needs updating. That is a breaking change taken inside 0.1.x, which the beta
allows — see the support boundaries.
Added
- An agent that asks permission before editing now gets reviewed. When a permission request
describes the change, termesh renders it as a diff in the editor and your answer decides it:
reject and the file is never touched, accept and the agent makes the change. This is the review
loop working against a real agent for the first time — Codex inread-onlyand opencode with
permission.edit: "ask"both stop and ask, and both honour a refusal. Accepting does not make
termesh write the file; the agent does that itself, so the change is written once (ADR-0016). - Permission diffs are anchored by inspection rather than assumption. opencode sends the whole
document and Codex sends only the lines it touches, both in the same field, and treating the
second as the first would propose replacing the file with a few lines — a tidy-looking diff that
deletes the rest on accept. A fragment that matches nowhere, or in more than one place, is
reported as such instead of being placed at a guessed offset (ADR-0016 §1a).
Fixed
- An edit an agent described twice — once as the permission gating it, once as a tool-call
update narrating it — produced two reviews for one change. The second was an ordinary
proposal, so accepting it would have made termesh write a file the agent was already writing.
opencode does exactly this; one edit is now one review. starting an agent session…stayed in the status bar for the rest of the run. The line is
cleared when a command is dispatched, and an agent event is not a command, so the message
outlived the state it described.
Install
Prebuilt binaries for Linux (x86-64, AArch64), macOS (Intel, Apple Silicon) and Windows (x86-64)
are attached to this release, with SHA256SUMS. The macOS builds are signed and notarized. From
source:
cargo install termesh --lockedRequires Rust 1.88 or newer.