Added
- External agent plugin system with lazy discovery, timeout protection, feature-flag gating, and stdin/stdout caps (docs, #604)
- Vogon deterministic fake agent for cost-free E2E canary testing (#619)
entire resumenow supports squash-merged commits by parsing checkpoint IDs from the metadata branch (#534, #602, #593)entire rewindnow supports squash-merged commits (#612)- Model name tracking and display in session info for Claude Code, Gemini CLI, Cursor, and Droid (#595, #581)
- Performance measurement (
perfpackage) with span-based instrumentation across all lifecycle hooks (#614) - Cursor session metrics: duration, turns, model, and attribution captured via hooks (#613)
- Commit hook perf benchmark with control baseline and scaling analysis (#549)
- Discord notifications for new releases (#624)
- Changelog-based release notes with CI enforcement (#635)
Changed
- Replaced O(N) go-git tree walks with
git diff-treein post-commit hook for faster commits (#594) - Removed
context.mdand scopedprompt.txtto checkpoint-only prompts; prompt source of truth is now shadow branch/filesystem, never transcript (#572) - Consolidated transcript file extraction behind
resolveFilesTouchedandhasNewTranscriptWork(#597) - Reconcile disconnected local/remote metadata branches automatically at read/write time and during
entire enable(#533)
Fixed
entire explainshowing "(no prompt)" for multi-session checkpoints (#633)- Two-turn bug where second turn committed different files than first turn, causing carry-forward failure (#578)
- Phantom file carry-forward causing lingering shadow branches (#537)
- Spurious task checkpoints for agents without
SubagentStarthook (#577) - OpenCode session end detection via
server.instance.disposed(#584) - OpenCode turn-end hook chain for reliable checkpoints (#541)
- Cursor
modified_filesforwarding from subagent-stop and transcript position tracking (#598) - Session state with nil
LastInteractionTimecausing immortal sessions (#617) - Dispatch test leaking session state into real repo (#625)
- Error propagation in push, doctor, and post-commit paths (#533)
Housekeeping
- Droid E2E tests stabilized for CI (#607)
- E2E tests show rerun command on failure (#621)
- Added "Git in Tests" section to CLAUDE.md (#625)
- Flaky external agent test fix with
ETXTBSYretry (#638) - E2E workflow dynamically builds agent matrix for single-agent dispatch (#609, #616)
- E2E test failure alerting on main branch (#603)
- tmux PATH propagation in E2E interactive tests (#629)
Thanks
Thanks to @erezrokah for contributing to this release!