Breaking changes and migrations
entire trail request-changesis removed; invoking it reports that it was removed.approveandapprovalsremain (#2838)entire trail resume --repois deprecated and has no effect; it prints a deprecation warning and will be removed (#2829)
Added
- Review profiles can give each reviewer its own agent config (
entire review --edit, or--configure <profile> --set-config <reviewer>=<config.json|isolated|none>). That reviewer then runs with the profile's hooks, MCP servers and extensions instead of the branch's, for Claude Code, Codex and Pi. Configs are honored only from developer-owned layers (clone-local preferences or an untracked.entire/settings.local.json), and tools a headless reviewer was denied are reported after the run (#2711) entire trail mergereports what happens to the trail's branch, and--delete-branch/--no-delete-branchoverride the repo's delete-branch-on-merge setting for one merge (#2797)- OpenCode subagents are tracked as subagents of their parent session instead of as separate top-level sessions (#2390)
- A session's edits in another worktree of the repository (by absolute path, or after resuming there) are recorded against that worktree, so a commit there links the session's work (#2531)
- Install and update read releases from Entire's own release mirror first, with GitHub as the fallback, so a GitHub outage no longer blocks installing an already-published release (#2795)
entire repo view --jsonexposesrepoIdandapiUrlfor the repository's cell (#2758)- Antigravity: Entire installs agy's
SessionStarthook (agy 1.1.1+) (#2762)
Changed
- Project trails: repository writers can create trails with branch-backed changes, branch-level trail commands pick a project trail's change across repositories, and
entire trail showprints the trail's URL (#2836, #2835, #2793, #2805) entire statusandentire doctorwarn Claude Code users when required Entire hooks are missing after an upgrade, and the remaining hook remedies point at the right fix (#2761)entire agent add,listandremovediscover external agents (entire-agent-*on$PATH) (#2791)entire searchbacks off and retries with jitter when the search service sheds load with a 429 (#2792)- Prompts are passed on stdin instead of argv, so other local users cannot read them from the process table: Pi and Antigravity summary generation, and Claude Code and Pi reviewers (#2772, #2773, #2776)
- External agents' checkpoint transcripts are compacted with the agent's own compactor instead of the built-in one, which wrote empty entries for formats it didn't know (#2804)
- Turn-end checkpoint finalization has an overall deadline, so a slow but responsive remote can no longer outlast the agent's hook timeout (#2188)
Fixed
- Redaction catches more secrets: betterleaks multi-part rules (such as a bare AWS access key ID without its secret) and keyword-gated tokens, base64 secrets containing
/, JSON values scanned together with their keys and under skip keys, and other missed credential shapes (#2811, #2814, #2818) - Redaction no longer over-redacts env output, placeholder URLs and git remotes, and skips custom rules that can match the empty string instead of corrupting every transcript (#2816, #2798)
- Redaction settings are honored everywhere:
entire doctorsubcommands (includingdoctor bundle) load custom rules, the background session sweep and summary writes load repo settings first, and the transcript prefix cache no longer reuses a prefix redacted under different rules (#1972, #2796, #2800) - Redone commits (after
git resetor amend) inherit the replaced commit's checkpoint instead of minting a fresh one, and redo detection compares content in the index the commit is actually made from (git commit -a, path-limited commits) (#2785, #2330) - Token counts: a turn that changes no files keeps its tokens for every agent,
session attachcounts a crashed session's last turn, Claude Code subagents named only in the structured tool result (foreground Explore and Plan) are counted, and a Claude fork's copy of its launch message is counted once (#2722, #2757, #2777, #2783) - Entire takes back git hooks that another hook manager moved aside and wrapped (#2790)
- A detached background process no longer inherits the parent's output pipes, so it does not die once a short-lived parent such as a git hook exits (#2789)
entire reviewresolves the default branch by full ref name, so a tag or local branch namedmaincannot stand in for it; a Pi review whose stream ends withoutagent_endis reported as finished; and a clean approval is no longer posted to the trail as an "Unspecified finding" (#2780, #2759, #2549)git-remote-entireC-unquotes--force-with-leaseand push-option values, so leases and options with quotes, backslashes or non-ASCII bytes work, and reuses the entry connection between auth discovery and the cold-start probe (#2815, #2799)entire repo createsends the commit token on readiness polls, avoiding spurious 403s from a regional authz follower that hasn't seen the grant (#2828)- Cloud dispatch stops polling when a redirect is refused by the HTTP policy instead of treating it as a dropped connection (#2801)
Housekeeping
- Transcript library: native converters and Pi JSONL parsing moved into the shared
transcriptpackage, with a typed Entire Transcript Format reader and spec, and JSONL conversion split into a records adapter and an agent-agnostic fold (groundwork for live session streaming) (#2679, #2688, #2786) - Go 1.27.3 and golangci-lint 2.15.0 (#2830, #2839)
- govulncheck runs on PRs, main and daily (#2831)
--force-with-leasethrough the remote helper is pinned by integration tests (#2809)- Test flake fixes: hook exec retries on
ETXTBSY, and three intermittent tests (#2775, #2826) - Dependency updates, including go-git v6 and go-billy v6 beta.1 (#2764, #2765, #2766, #2787, #2788, #2819)
Thanks
Thanks to @teej-mny for reporting that bare AWS access key IDs were not redacted, and to @wernerkasselman-au for the review that found dispatch polling retried refused redirects!