Release v0.34.0
Immutable
release. Only release title and notes can be modified.
0.34.0
Released 2026-07-31
Compatibility
engine 0.34.x ↔ adapters 0.8.x (WIT emery:adapter@0.1.0, floor ≥ 0.34.0)
Hard cut for operator surface: emery plan approve is gone; Gate 1 is the first emery plan execute. Update skills, scripts, and docs that still call approve or the old merge/journal subcommands.
Added
emery plan author --force— replace a replaceable pending plan (lifecycle: pendingand every entrypending); otherwisealready-exists/plan-author-not-replaceable.- Merge re-entry healing when commit/archive succeeded but the plan entry never reached
done;plan executeauto-dispatches merge onmerge-incompletestops.
Changed
- Gate 1 is
emery plan execute. The standaloneemery plan approveverb is removed. First execute on apendingplan stampsapproved(idempotent), journalsplan.transition.approvedwith--actor(defaultoperator), then runs the drained loop./emery:executewraps the same verb behind confirmation;/emery:planexits atpendingand prints the literal execute command. emery plan transitionis--undoonly — forwarddoneis owned solely byemery slice merge.- Journal drops
emit; every journal write remains an orchestration side effect.emery journal showis unchanged. emery slice merge runabsorbs--previewand--conflict-check(dedicated merge subcommands removed from CLI/HTTP).emery plan statusno longer stops onplan-not-approved; pending plans still project the next phase withresume: /emery:execute.- Quick start and skill wrappers use bare adapter names and plain
--intentstrings instead of pinnedintent=…:value:…plan bindings.
Full Changelog: v0.33.0...v0.34.0
Release notes for previous releases can be found on the respective release branches of the repository.