All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
entire doctor migrate-checkpointsmigrates existing checkpoints from the git-branch backend to git-refs (#1611)- git-refs checkpoints can be discovered on a second device via remote enumeration, and
entire checkpoint list --jsongives a machine-readable listing (migrate offrewind --list) (#1771, #1768) - Hidden
entire checkpoint resumecommand (#1701) entire explainstreams live progress and reports an observable-state timeout diagnostic (#964)entire review: live token counts for the Claude and Codex reviewers, and Codex now runs real skills via on-disk$namediscovery and native invocation (#1666, #1669)- Import gains imported sessions in
entire session list, anchors imported checkpoints to the default-branch head, and warns when importing agent history while logged out (#1699, #1825, #1774) entire dispatchgains local agent selection (#1797)- Transcript image externalization for Claude Code and Codex, plus capture of Cursor sidecar images (#1589)
- Experimental commands are gated behind a build-time visibility flag — shown in developer/nightly builds, hidden in stable releases, always runnable (#1703)
entire agent-helpteaches agents entire usage through worked examples and an injected first-turn invariant (#1821)entire doctor/entire statuswarn when Claude Code hook config has drifted out of date (#1808)- The non-git
entire enablebootstrap collapses into a single setup question (#1818) entire searchaccepts multiple repos for semantic search (#1845)
entire searchnow routes to the v4 query-serve path with cross-cell fan-out; the v3 path is removed (#1800)- New setups now default to git-refs checkpoint storage; the setup wizard keeps a checkpoint-storage question with git-refs recommended (#1789, #1799)
entire repo mirror listnow covers both mirrored and mirrorable repos in one listing, with per-cluster detail available viamirror get(#1681)- Root help output is grouped by user journey, and
--jsonmoves off the shared persistent flag onto the specific commands that support it (#1745, #1680) - Checkpoints route through
entire://push-through mirrors (#1732) entire statusno longer prints the strategy name (#1793)- Code-search results read more clearly in the terminal (#1742)
entire repo cloneresolves/gh/shorthand via a pull-gated placement lookup (#1779)- The self-update plugin skips the post-plugin version check (#1731)
- Display-only Repo read enums are loosened for forward compatibility (#1663)
- Session linking: match sessions across sibling worktrees, and warn when ambiguous worktree sessions block commit linking (#1440, #1856)
entire enablewrites the enabled flag to the resolved settings scope, recognizes a local-only setup so hooks run afterenable --local, confirms before init/create/push in a non-repo directory, and fetches an existingcheckpoint_remotebranch instead of orphaning it (#1714, #1713, #1720, #1719)entire enableexplainscore.hooksPathwhen the hooks dir is not a directory (e.g. anENOTDIRpath) instead of failing cryptically (#1851)- Checkpoint push: fail fast on an interactive SSH prompt during pre-push, defer push until a normal remote branch exists, stamp adhoc checkpoint remotes at creation, exclude protected dirs from the first-checkpoint snapshot, and skip an empty v1 orphan seed under the git-refs backend (#1721, #1744, #1746, #1764, #1819)
- Hook latency and safety: short-circuit immediately when disabled, cut synchronous work from session start/end paths, and exclude URL-keyed promisor entries from
git fetch --all(#1722, #1724, #1733) entire explain: surface post-resolution and export-path failures instead of masking them as "no checkpoint or commit found", and point hints and prompts at the canonicalentire checkpoint explain(#1812, #1816, #1813)- Windows: fix Cursor hooks and Scoop app-dir naming, and stop agent hooks hanging on stdin EOF under Windows/Git Bash (#1735, #1738)
- Attribution: scan the full transcript for subagents spawned before a checkpoint, extract the Claude Code model from the transcript to fix "Unknown" attribution, target current tool matchers for subagent hooks, and stamp the importer's git identity on checkpoint commits (#1710, #1805, #1806, #1846)
- Redaction: catch Supabase
sb_secret_keys, and reconcile layer-count vocabulary while pinning provider-token boundaries (#1726, #1751) entire dispatch --local: fix auth for API-key users without loading user settings, and surface recent merged work (#1787, #1788)entire review: fix interactive setup and Codex defaults, and prevent the TUI sink from backpressuring the orchestrator (#1749, #1677)entire session current --jsonprints prose and exits 0 when no session exists (#1828)entire auth token --jurisdictionfollows the active context (#1734)entire login: headless keyring hint, real-backend provenance, and a loose-permissions warning (#1750)- OpenCode clears a pending injection on session change (#1830)
- Copilot CLI accepts float timestamps in hook payloads (#1796)
- Claude Code strips IDE context tags from the captured turn prompt (#1715)
- Pi transcripts are parsed during attach and explain (#1860)
- Handle submodule gitdirs in worktree IDs (#1359)
- Remote helper: skip the receive-pack POST when send-pack emits no request, and reuse the list-for-push advertisement (#1795, #1739)
- Regenerate the coreapi client against the current
/reposspec and latest core swagger (#1694, #1772) - Bump go-git to latest for v2 fetches (#1736, #1861)
- Delete dead code unreachable from production (#1775)
- Lint the build-tagged test files and remove the dead code they were hiding (#1855)
- Docs: ref-based checkpoint backend architecture doc, split Quick Start install by OS, and clarify human-added attribution (#1693, #1822, #1186)
- Tests: submodule-worktree session checkpoint regression test, isolate git config in the author-fallback test, fix flaky investigate picker tests, and dismiss the Droid trust-folder dialog in E2E (#1765, #1849, #1692, #1839)
- Set a 60s timeout on the local-dev Claude Code SessionEnd hook (#1850)
- Group codeql-action bumps into one dependabot PR, and routine dependency bumps (#1837, #1688, #1689, #1690, #1695, #1706, #1740, #1766, #1781, #1784, #1785, #1786, #1809, #1810, #1834, #1838, #1842, #1853, #1854)
Thanks to @MuskanPaliwal for handling submodule gitdirs in worktree IDs and clarifying the human-added attribution docs!
- Cross-region code search (work in progress, behind
ENTIRE_CODE_SEARCH=1):--codeand--case-sensitiveflags onentire searchplus a Code tab in the search TUI, backed by peregrine. It fans out across mirror placements — listing repos, grouping them by cell, searching each cell in parallel with per-cell timeouts, and merging/deduping results client-side — rather than only hitting the home cell (#1616, #1674) entire repo mirror listgained a--namefilter (matches the owner/repo form shown in the table) and--sortwith shell-friendly kebab-case column keys, failing fast on an unknown sort key (#1665, #1679)
entire reviewno longer imposes a default reviewer timeout — reviewers run until done — while the judge's default rises from 5m to 20m;--timeoutstill governs both (#1664)org,project,repo, andgrantare promoted out ofentire labsinto the visible top-level command surface, so they now appear inentire --help(canonical paths unchanged) (#1672)- git-remote-entire prints an actionable hint when the cluster host is missing, and only suggests
clonefor a complete forge/owner/repo ref (#1649)
entire repo mirror getresolves clone URLs via the owning cluster's login server instead of the control-plane core (#1676)
- Bump aws-actions/configure-aws-credentials from 6.2.1 to 6.2.2 (#1670)
--checkpoint-backend branch|refsonentire enableandentire configureselects the checkpoint store, with an interactive selector on first-time setup (defaults tobranch, which writes no config block) (#1661)- First-time
entire enablenow offers to import pre-existing agent history for the agents you select, instead of leaving the hiddenentire importcommand to be discovered; non-interactive runs (--yesor no TTY) auto-import all eligible agents (#1595) entire apigained--jurisdiction <slug>(short-j, e.g.us,eu) to target a specific jurisdiction's entire-api cell instead of your home cell (implies--to cell); the command is now also documented in CLAUDE.md (#1631)
entire activitynow lists recent sessions (from/me/sessions) instead of recent commits, matching the entire.io Overview feed (#1650)- All TUI colors migrated to the base16 (ANSI 0–15) palette via a new
palettepackage, so the UI respects the user's terminal theme; the primary accent moved from orange to magenta, andentire expertswas migrated too (#1542, #1610) - Homebrew auto-update now runs
brew upgrade --yes, so accepting the update prompt no longer triggers a second Homebrew confirmation (#1653)
- The post-run "update available" notice now prints to stderr instead of stdout, so it no longer corrupts
$(entire … --json)command substitutions and pipes (#1656) - git-remote-entire now re-mints its credential and retries once on a data-plane 401 instead of failing the command, smoothing over mid-TTL token invalidation from core key rotation or clock skew (#1658)
entire repo mirror createrenders a stale-read 404 from the status poll as the server's "mirror not found" message instead of a raw struct dump, and widens the poll retry budget (~8s → ~30s) to ride out the placement-visibility window (#1660)
- Cell-routing foundation: a shared
auth.CellClientFactory(one identity token per jurisdiction across a fan-out), a generic repo→cell resolver, and multi-cell client-side fan-out/merge, so multi-cell commands stop growing parallel copies of the routing plumbing (#1641) - This repo now dogfoods the git-refs checkpoint backend for its own checkpoints (#1648)
- git-remote test coverage (1/4): a committed test plan plus an integration backend matrix that exercises real git-hook pushes across both checkpoint backends (#1636)
explainfollow-up from trail review: naming, test-helper, and doc refinements, no behavior change (#1569)- Release: stable tags now mirror to the nightly channel so
entire@nightlyusers aren't stranded below the just-shipped stable build (#1662) - Dependency bumps (charm bubbles/bubbletea/lipgloss, posthog-go; betterleaks held at v1.5.0) (#1654)
- A git-refs checkpoint store (per-checkpoint git-ref backend) with ULID checkpoint IDs, ID-kind read routing across git backends, and pre-push push progress (#1566, #1629, #1630, #1632)
entire agent-help: machine-readable, agent-facing usage rendered live from the Cobra command tree, plus active and passive discovery paths so no-channel agents (Cursor, Copilot CLI, Factory Droid, MCP hosts) can reach it viaentire help, thestatusfooter,status --json, and an MCP tool (#1562, #1585)entire experts(hidden, viaentire labs): ranks prior agent sessions with real evidence for a given path — matching checkpoints, attributed lines, skills, tools, and MCP servers — without exposing prompts or transcripts, routed to the repo's entire-api cell with an identity token (#1573, #1588)entire api, agh api-style authenticated passthrough that dials the control-plane core (default) or your home entire-api cell (--to cell) with the right bearer, filling{owner}/{repo}/{repo_id}placeholders from the current repo (#1605)entire auth tokenis now visible and takes--jurisdiction <slug>to mint a jurisdictional identity token for that jurisdiction's entire-api cells (#1619)- Pi review-runner adapter, so Pi can drive
entire review(#1313) - Codex session token diagnostics under
entire labs(#1558) - Interactive one-shot
entire repo mirror createnow offers a cluster picker (#1645)
- Control-plane commands (
org,project,repo,grant) now print human-readable confirmations by default; the wire JSON (includingrepo create'sentire://remote) moved behind--json. Empty--jsonlists emit[], and success messages moved from stderr to stdout (#1626) - Each checkpoint now stores the full compacted transcript with a scope marker, so every checkpoint is self-contained (#1581)
- git-remote-entire authenticates git pushes with persisted jurisdictional access tokens, and the
ENTIRE_TOKEN(CI) path was migrated to jurisdiction tokens (#1621, #1622) - git-remote-entire binaries are now published per-commit to the public release bucket (#1623)
entire activityandentire recaproute through the entire-api cell client (#1592)- Checkpoint writes are gated on repo policy support, with telemetry for policy-blocked hooks (#1541, #1586)
entire reviewraised its timeouts (reviewer 10m→20m) and--timeoutnow also governs the judge (default 5m), plus an agent-safe plain-text findings fallback when stdout isn't a terminal (#1584, #1598)entire repo mirror createsplits placement and clone into separate progress steps and warns when creating against an admin-suspended mirror (sunset collaborator verbs removed) (#1587, #1602)entire attachwarns on an empty transcript, captures the session footer, and notes when an amend fails (#1568)- Removed
checkpoint_versionfrom checkpoint metadata (#1620)
- Ctrl-C now escapes shell loops and aborts cleanly, closing a keyring-interrupt race in the signal-abort path (#1604, #1625)
- Fixed the Codex Windows hook fallback (#1555)
- Wrong-cluster clone errors are now surfaced clearly in git-remote-entire (#1575)
- De-slop pass: removed dead code and deduplicated hot spots (−5.6k lines) (#1606)
- Removed a dead
entiredb-original-urlread path in checkpoint/remote (#1624) - Build checkpoint subtree paths via a
path.Joinhelper (no tree change) (#1576) - Resolved goconst lint findings for checkpoint/trail, and fixed a red main by routing corecmd stub handlers through
printJSON(#1594, #1640) - Added agent-safe CLI fallback guidance and a review rule to the docs (#1596)
- Pretty-print the vendored OpenAPI spec via jq (#1603)
- E2E:
e2e-checkpoint-store's blank agent now runs all agents, the Copilot GitHub token is scoped to the copilot-cli agent, and droid/claude-code subagent flakes were fixed (#1580, #1583, #1599) - Dependency bumps (#1608, #1609)
entire importbrings sessions created before Entire was enabled into checkpoints, with support for Cursor, Pi, Factory, Codex, Copilot, and Gemini (#1527, #1540)- Sessions can now be adopted across repos and worktrees, and ACTIVE sessions whose agent has exited are finalized automatically (#1472, #1488)
- Multi-agent review profiles for
entire review(#1312) - OpenAI Privacy Filter with a pre-push redaction architecture (#1214)
- Codex token-usage diagnostics (#1393)
- A
.worktreeincludefile for controlling worktree contents (#1517) entire repo clone, avisibilityverb, andentire repo mirror list --show-availablefor working with mirrored repositories (#1529, #1531, #1490)- Control-plane CLI gained org/project
get+delete, repo grantlist+remove, and friendly-name resolution (#1499, #1498) - Hidden checkpoint policy command plus repo-level checkpoint policy enforcement (#1508, #1509)
- Checkpoints now record storage-version metadata, run format-compatibility checks, and surface a
compact_transcriptpath inmetadata.json; the compacttranscript.jsonlis stored and pushed in v1 checkpoints (#1494, #1507, #1515, #1419) entire explainenriches its JSON summary and surfaces list truncation (#1560)- The CLI sends a versioned
User-Agent(entire-cli/{version}) and collects the installed git version in telemetry (#1489, #1520) - Connect timeouts were loosened for slow links (#1487)
- The Entire search skill is now opt-in (#1521)
- The Pi extension was updated for context injection (#1469)
- Refined checkpoint version-policy error handling (#1528)
- Copilot no longer creates phantom sessions for subagent turns (#1578)
- Fixed Cursor hook misattribution and added Cursor token-usage support (#1263)
entire reviewno longer wedges multi-agent runs on "Finalizing output..." (#1561)- Attribution
whyprompts are now honest, with unified blame/why line syntax (#1535) entire grantresolves repos by name, supportsgithub:handle grantees, and returns a repo clone URL (#1549)- Control-plane commands now display the core a request actually dials, and cluster-addressed
repo mirrorcommands route to the cluster's core (#1478, #1475) - Stopped shallow-fetching the metadata tip, fixing a false "disconnected" state (#1443)
- ULID checkpoint IDs are now recognized alongside legacy hex (#1546)
entire activitytruncates repo names rune-safely in the repo chart (#1473)- OPF prompt defaults are ordered correctly, and OPF progress is routed to stderr instead of
/dev/tty(#1464, #1470) - Fixed escaping in help text (#1553)
- Major checkpoint-storage refactor toward pluggable stores: split into persistent/ephemeral stores with generic read/write, a store registry + topology, an
Openfactory facade, unified committed writes behindStore.Write, an extracted persistent contract underapi/checkpoint, and atreeWriterfor checkpoint writes; removed the checkpoints v1.1 mirror machinery (#1451, #1480, #1481, #1495, #1504, #1533, #1556, #1454, #1482) - Added a manual-dispatch
e2e-checkpoint-storeworkflow and tackled failing E2E tests (#1567, #1577) - De-flaked the ColdPathFailover redirect-target test and stopped
resolvePushSettingstests from fetching github.com (#1574, #1463) - Removed the
ireturnlint and its directives, and refreshed/regenerated the Core API OpenAPI spec and client (#1548, #1502, #1518, #1512) mise run dev:publishnow always installs to~/go/bin(ignoring stray$GOBIN) and allows a custom target directory (#1550, #1543)- Docs: README now mentions tap trust, and the Codex hooks feature-flag docs were updated (#1534, #1545)
- Dependency bumps (#1564, #1563, #1526, #1525, #1524, #1516, #1485, #1467, #1466, #1465)
Thanks to @SnowingFox for fixing Cursor hook misattribution and adding Cursor token-usage support, @suhaanthayyil for honest why prompts and unified blame/why line syntax, @Mohit-Katyal for rune-safe repo-name truncation in the activity chart, and @ronaldtebrake for updating the Codex hooks feature-flag docs!
entire trail(work in progress): trail context is now injected into the model when trails are enabled, anentire trail deletesubcommand was added, andentire trail create --branchdefaults to the checked-out branch, alongside command-behavior fixes (#1435, #1455, #1456, #1447)- Interactive resume picker for stopped/idle sessions (#1445)
entire repo mirror collaboratorswithadd/remove/listsubcommands (#1458)ENTIRE_TOKENsupport, along with git-remote-entire push reliability fixes (#1438)
- Auth was hardened by removing static fallbacks, the legacy store, and the v1 provider (#1410)
- External agent transcripts are now compacted for
--full/--verbosedisplay (#1421) - Runner configs moved from
.entire/runners/v2to.entire/runners(#1442) entire repo createnow stamps a usableentire://remote in its JSON output (#1441)
- Fixed dot-dot-prefixed repo path filtering and prevented checkpoint symlink target disclosure (#1395, #1415)
entire auth statusdates are now stable across timezones (#1407)- Restored the keyring timeout and corrected stale auth fallback comments (#1430)
- Existence checks on Entire-owned paths now use
os.Lstat(#1449) entire searchnow supports Entire mirror remotes (#1452)- Control-plane commands now handle cross-jurisdiction routing (#1457)
- Tests now isolate the token store and git config so spawned binaries skip the keychain, and the trail test build was repaired after the auth-fallback removal (#1450, #1448, #1436)
- Parallelized pure agent tests and standardized git test repository setup (#1406, #1390)
- Copilot E2E now detects the trust dialog case-insensitively (#1446)
- Dependency bumps (#1432, #1437)
Thanks to @stale2000 for fixing dot-dot-prefixed repo path filtering, preventing checkpoint symlink target disclosure, keeping entire auth status dates stable across timezones, and improving the test suite!
entire blameandentire whylabs commands for tracing which session and checkpoint last touched a file or line (#1305)entire loginnow defaults to a browser sign-in flow with a--devicefallback, and accepts a--serverflag to target a specific core (retiringENTIRE_AUTH_BASE_URL) (#1366, #1404)entire enableis now reported to the backend (#1385)- Checkpoints v1.1 (work in progress): the v1.1 ref is now pushed to the remote (rollout milestone 2), mirroring is streamlined behind
CommittedRefs,entire doctorchecks and repairs the v1.1 committed-read mirror, and topology coverage was extended to the checkpoint picker and cleanup (#1380, #1376, #1350, #1351)
entire searchnow supports all result types, aligning the CLI with the web UI (#1399)- Control-plane and data-API commands now follow the active auth context: control-plane commands resolve against the selected context, the data API discovers its endpoint via
/.well-known/entire-api.json, andentire repo mirrormints repo-scoped tokens via cluster discovery (#1367, #1377, #1402) - Data-API auth handling is now centralized (#1428)
- Checkpoint "steps" are now counted by prompts rather than file-modifying turns (#1347)
entire investigaterenders findings diagrams as top-down box flowcharts (#1414)entire checkpoint rewindis now deprecated ahead of removal (#1401)- Added Entire runner configs (#1429)
- Hardened the browser sign-in fallbacks (#1403)
- Pi's live skill-capture model is now locked, with a guard against a duplicate extractor (#1383)
- Fixed CLI ANSI escape rendering under
TERM=cygwin(#1291)
- Tests no longer touch the user's real config, cache, or keychain, and the spawned
entirebinary in E2E tests stays off the real OS keychain (#1411, #1368) - Fixed a flaky
TestSafelyAdvanceLocalReftemp-dir cleanup race (#1378) - Refreshed the coreapi spec to tolerate unknown response fields (#1375)
- Fixed a lint/package-name issue (#1418)
- Updated the CLI docs overview link (#1379)
- Dependency bumps (#1416, #1426)
Thanks to @suhaanthayyil for contributing the entire blame and entire why labs commands!
- Closed a path-traversal / arbitrary-file-write vulnerability across the checkpoint, session, and agent-lifecycle paths: identifiers read from the shared
entire/checkpoints/v1branch or from agent hook input flowed into filesystem paths without validation, so a crafted session ID could overwrite arbitrary files onentire session resume/entire checkpoint rewind. IDs are now validated at the read/dispatch boundaries, withos.Rootcontainment as defense in depth (#1365)
git-remote-entirenow relays helper-status before checking the send-pack exit code, so per-ref rejections (branch protection, ref-name conflicts, permission denials) surface as! [remote rejected]with the real reason instead of a baresend-pack exited with error: exit status 1(#1364)
git-remote-entirenow silently re-mints expired login tokens from a stored refresh token instead of forcing a re-login, with rotation serialized across processes so concurrent invocations (e.g. recursive submodule fetch) don't replay a single-use refresh token (#1337)ENTIRE_TOKENenv override forgit-remote-entire, for CI and workload-identity use where an interactive login isn't possible (#1321)git-remote-entiregained--versionand--helpflags (#1354)entire auth usenow tab-completes context names (#1358)- Generic slash-command skill invocations are now captured as skill events (#1333)
- Checkpoints v1.1 (work in progress): committed-read support extended to rewind, review, activity, and session resume, plus v1-ref mirroring for v1.1 reads and a committed-ref topology seam (#1316, #1329, #1330, #1331, #1332, #1335)
- Simplified the
entire authsurface: dropped support for the sunsetent_PATs (removingauth listandauth revoke), madeauth statusshow your identity, active context, and the active sessions on that core, and routedlogout/logout --allthrough entire-core to revoke exactly those sessions — fixing a logout/status bug that previously called entire.io's PAT endpoint and returned HTTP 400 (#1341) git-remote-entirenow stamps a versionedUser-Agent(git-remote-entire/<version>) on every outbound HTTP request, so the helper is identifiable in upstream access logs (#1348)entire repo mirror createskips clone polling when the upstream has no refs, printing a short note and returning instead of waiting out the timeout (#1357)entire repo mirror createnow explains suspended mirrors with resume guidance instead of a generic error (#1344)- Better alignment of the labs commands (#1345)
- Minor cosmetic tweaks to command output (#1343)
- Auth review follow-ups and a keyring-safe
cliTestMain(#1360) - Made the
GitTerminalPromptOnIsNotAgenttest hermetic (#1361) - Dependency bumps:
actions/checkout,github/codeql-action, and the Go dependencies group (#1338, #1339, #1340)
- Fixed a bug where internal API calls didn't follow a redirect properly (#1327)
- macOS release binaries are Developer ID signed and notarized again. Adding the
git-remote-entirebinary in 0.7.0 gave the release builds explicit ids that no longer matched the notarization step's default filter, so 0.7.0 shipped ad-hoc-signed binaries that macOS Gatekeeper refused to run — surfacing as Homebrew shell-completion errors andkilledon launch (#1324)
- The release workflow now fails closed when any macOS binary is not Developer ID signed, so an un-notarized build can no longer ship silently (#1324)
- The
git-remote-entireremote helper now ships inside the CLI and activates from a sharedcontexts.jsonlogin, soentire://remotes work without a separately installed helper (#1306) - Control-plane CLI backed by a generated Core API client — manage orgs, projects, repos, grants, and mirrors directly from
entire(work in progress) (#1299) - Checkpoints v1.1 (work in progress): committed checkpoints can be mirrored to a v1 custom ref (opt-in, local-only), with v1.1 write support and
entire explainreading the new format (#1300, #1315, #1311) entire investigatelabs command: an experimental multi-agent investigation loop (#1231)- Skill event metadata is now captured for Claude and Pi (#1292)
entire loginis simpler — dropped the clipboard copy and code-entry prompt added in 0.6.3 (#1322)- Internal auth rework spanning auth contexts, cluster trust, and the control-plane client: simplified contexts (removed the cluster-binding model and command surface, "login server" wording, clear
current_contexton delete), hardened cluster trust with ephemeral binding and aHostInClusterspecificity floor, auto-select v2 auth on split-host, routedstatus/list/revoke/logoutthroughTokenForResource, pinned theAuthBaseURLdefault, added a control-plane client keyring deadline, and raised the dial timeout 500ms → 2s (#1318, #1319, #1309, #1290, #1258, #1297, #1307, #1317) - Checkpoints v1 restored as the source of truth — the v2 dual-read path was removed (#1285)
- Pi model is now backfilled into checkpoint metadata from the transcript (#1298)
entire installpoints Windows users at Scoop instead of failing (#1289)- Checkpoint commits reachable only through relative
alternates(shared clones) are now resolvable by go-git (#1288) entire trailpreserves the forge identifier fromentire://remote URLs (#1286)- Checkpoint git subprocesses are bounded to their context deadline, so a hung git call can't wedge a hook (#1282)
- The CLI no longer reports an unknown revision after a
go installupgrade (#1273) - Local-dev builds fall back to the
PATHbinary when the local build is broken (#1274) - Mirror connection reuse: the probe body is now drained before close so the idle connection pool actually works (#1320)
- Per-phase perf spans added to checkpoint pre-push (#1281)
- Removed dead code and deduped redundant review/strategy tests (#1303, #1302, #1301)
- Trimmed the CLAUDE.md file, added the current Pi extension config, and ship the
git-remote-entirehelper duringmise run dev:publish(#1295, #1314, #1308) - Dependency bumps: go-dependencies group,
goreleaser/goreleaser-action7.2.1 → 7.2.2 (#1293, #1227)
entire logincopies the device code to your clipboard, falling back to the printed code if clipboard access fails (#1093)
- Checkpoint metadata reconciliation (
cherryPickOnto) is much faster — roughly 66s → 7s for 50 commits (#1248) entire activityno longer fails with "unexpected end of JSON input" for active accounts — the API response body cap was raised from 1 MiB to 16 MiB (#1228)- Checkpoint sync reliability: replay local-only checkpoints when a fetch finds a diverged remote, and preserve diverged refs so
entire resumeno longer reports "session log not available" when the local metadata branch is stale (#1251, #1252) - Checkpoint commits reachable only through
.git/objects/info/alternates(shared clones) are no longer treated as missing during metadata rebase and push (#1268) - Prevent a pack-file race during checkpoint sync by disabling auto-gc on fetches; legacy shallow checkpoint repos are auto-unshallowed so ancestry-dependent commands keep working (#1276)
- Route checkpoint pushes to the provider host when the origin protocol can't be mapped to a git transport (e.g.
entire://), fixing failed pushes and a wedged remote helper (#1279) - Read global git config stored behind symlinked directories (e.g. a dotfile-managed
~/.config), silencing repeated "path escapes from parent" warnings during checkpoint push (#1278)
- Documentation: Pi added to agent listings, the hook table, and architecture guides (#1233)
- Fixed gemini-cli and opencode E2E harness defects (test infrastructure, not product code) (#1277)
- Go bumped to 1.26.3 (#1243)
- Dependency bumps: go-dependencies group,
github/codeql-action4.35.4 → 4.36.0 (#1255, #1254)
Thanks to @godswillumukoro for adding Pi to the agent listings, hook table, and architecture guides!
- Pi coding agent integration is now internal (#1170, #1173)
- User-defined redaction rules and rule packs (#1076)
- Codex post-tool-use hook support and updated hook handling (#1155)
entire reviewstreams agent events live via JSONL output modes (#1192)- CodeQL workflow scanning GitHub Actions on fork-safe PRs (#1176)
- First-time contributors guide (#1189)
entire reviewimprovements: live multi-agent progress and failure reliability; default scope now compares against mainline with a--baseflag and includes uncommitted changes; review preferences moved from project to local preferences; drill-in scrolling and post-run access; clearer failure reason when findings aren't saved; skill discovery deduped by invocation name; warning when the review manifest isn't persisted (#1167, #1175, #1181, #1184, #1185, #1165, #1166)entire recapclarifies scope and range controls, with better API error messages (#1161, #1157)entire migratedeprecated (#1224)entire clean --allis significantly faster, shows progress, and respects Ctrl+C (#1182)entire explain --generatenow honorssummary_timeout_seconds; default raised to 5 minutes (#1204)- Reduced warning noise from missing Entire git hooks;
commit-msghook is now best-effort (#1191)
entire enableno longer re-enables previously disabled repos (#1126)entire reviewTUI line wrapping (#1158)entire recapsurfaces real auth/network errors on first run instead of a generic failure (#1168)- Checkpoints v2 (work in progress): dual-write reverted — v1 remains the stable on-disk format while v2 work continues behind the scenes. Migration is now deprecated. Along the way: SHA-256 repository support, rotation push handling, failed-commit bug during migration, cleanup generation metadata materialization, sub-agent same-branch support, push speedups, and clearer push failure messages (#1213, #1150, #1148, #1180, #1190, #1212, #1209, #1216, #1196, #1147, #1169, #1179)
- Local test reliability and output improvements (#1154)
- Auth follow-ups: provider routing, URL normalization, expiry preflight, HTTP timeouts (#1156)
- Test speedups and stabilizations: shaved 2 minutes off test runtime, avoided external agent type collision in rewind test, removed hardcoded dates (#1217, #1219, #1221)
mise.local.tomlgitignored (#1174)- Dependency bumps: go-dependencies group,
go-git/go-billy/v6→ 6.0.0-alpha.1,actions/create-github-app-token3.1.1 → 3.2.0 (#1178, #1183, #1202)
Thanks to @ChetanReddyC for fixing entire enable so it no longer re-enables disabled repos!
Thanks to @numman-ali for honoring summary_timeout_seconds in entire explain --generate and raising the default to 5 minutes!
- New
entire labscommand discovery for surfacing experimental commands (#1130) entire labs reviewcommand — runs configured review skills inside an agent session, with single- and multi-agent picker flows, a Bubble Tea live dashboard, an optional cross-agent synthesis verdict, andentire review attachfor post-hoc tagging. Reviews are recorded in checkpoint metadata so future commits know the code was reviewed (#993, #1105, #1106, #1107, #1111, #1112)entire recapcommand, with an interactive TUI for browsing recaps (#1015, #1113)- kubectl-style external command resolution:
entire <name>falls through toentire-<name>on PATH (#1104) - Managed plugin install directory and
ENTIRE_PLUGIN_DATA_DIRfor plugin discovery (#1121)
- Checkpoint commit signing now uses go-git's program signer for custom signing setups (#1128)
- Checkpoints v2 (work in progress): dual-write to v1 and v2 during the transition; migration speedups via fast-path checks and rerun de-duplication; clearer completion message after the progress bar (#1108, #1109, #1110, #1114)
entire attachnow preservesBaseCommitand the active session phase (#1102)- Copilot CLI direct-prompt runs no longer fire session hooks unsafely (#1100)
entire labs reviewregressions: missing checkpoint context and review-flow correctness (#1132)- v2 transcripts are no longer sliced in final step (#1120)
- Checkpoint signing: the orphan "Initialize metadata branch" commit is now signed (#1119)
- Checkpoints v2 migration: generation packing fix (#1124)
- Refreshed
security-and-privacy.mdagainst current source (#1097) - Cursor-cli E2E stabilization (#1101, #1103)
- Dependency bumps: go-dependencies group (
mattn/go-isatty0.0.20 → 0.0.22,go-git/x/plugin/objectsigner/auto→ 0.1.0),go-git/go-git/v66.0.0-alpha.2 → 6.0.0-alpha.3 (#1122, #1129, #1131)
Thanks to @rkfir-dn for fixing entire attach so it preserves session base commit and active phase!
Thanks to @LudovicTOURMAN for adding that the initial commit for the metadata tree will now be signed according to signing settings too!
- Detection of pushes to protected branches, with a clearer warning before the push proceeds (#1033)
- Improved auth token management in the CLI (#1050)
entire explain --generatenow supports external agents for summary generation (#1044)entire searchTUI gains a unified palette with the activity view, markdown snippet rendering, and shell completions (#1053)- Homebrew now prompts users to update when a new version is released, and Homebrew cask completions are generated at install time (#1057, #1085)
- Nested perf spans render in traces for richer debugging (#1073)
- CLI restructured around
session/checkpoint/agent/auth/doctorcommand groups (#1062) - Charm TUI stack upgraded to v2; dispatch repo links added to the dispatch wizard (#1048)
- TUI navigation help aligned across
entire activityandentire search(#1058, #1064) entire explaingenerated summary is now formatted (#1078)- Auto-update prompt aligned across all installers (#1083)
- TTY detection simplified via
testing.Testing()and OS-level process detachment (#1029) - Switched secret scanning back to betterleaks, with tightened redaction coverage and improved database credential redaction (#1043, #1045, #1068)
- Checkpoints v2 (work in progress): expose CLI version to external agents for compact transcripts; cleaner migration output and completion message; use checkpoint creation time for generation calc with a lower default retention; push v2 refs in parallel (#1032, #1059, #1088, #1089, #1094)
- Cursor sessions no longer get mis-identified as Claude Code (#1082)
entire explainworks with partial-clone checkpoint repositories (#1069)- Agent-neutral wording in the
entire explainempty-state message (#1086) - False PATH conflict detection in the installer (#1038)
- Checkpoints v2 migration: preserve attribution metadata; clean up v1-named transcript files on
/full/current; handle missing v1 sessions; check archived v2 transcripts; correct generation packing (#1035, #1034, #1071, #1080, #1091)
- Centralized TUI keybindings via
bubbles/keyin preparation for Bubble Tea v2 (#1060) - Expanded checkpoints v2 validation coverage and pruned subsumed tests in the strategy package (#1012, #1077)
- Dependency bumps: go-dependencies group (incl.
posthog-go1.12.1 → 1.12.4),goreleaser/goreleaser-action7.1.0 → 7.2.1,slackapi/slack-github-action3.0.1 → 3.0.3 (#1031, #1087, #1055, #1016, #1095)
Thanks to @KuaaMU for making the entire explain empty-state message agent-neutral!
entire activitycommand to show recent session activity (#999)entire dispatchcommand to generate dispatches from checkpoints, using the/api/v1/repositoriesendpoint for the dispatch wizard (#1004, #1023)entire explainaccepts a checkpoint ID or commit SHA as a positional argument (#990)entire explain --generatesummary provider with improved observability (#887)--jsonoutput forentire status(#975)- Checkpoint commit signing (SSH/GPG), with object signer checks moved before registration and fixes for 1Password and bare public-key setups (#960, #1020, #1002)
- Filtered fetches for checkpoint refs to reduce clone/fetch size (#996)
- Session linkage preserved across
git rebase,git commit --amend, andgit reset(#947, #948) - External agents can register in the
entire attachflow (#986) - VS Code-compatible payloads for Copilot hooks (#888)
- Actionable, classified error messages for Claude CLI failures (#963)
- Inline auto-update prompt after version notification (#997)
- Warning when
entire enableruns but the CLI is not installed in agent hooks (#929) - Devcontainer setup for GitHub Codespaces / VS Code (#940)
- Vercel branch deploy config to exclude
entire/*branches (#904) - Checkpoints v2 (work in progress):
attachcommand support, health checks inentire doctor,checkpoints_versionsetting with v2-only option, retention-based cleanup inentire clean, external-agent transcript compaction, transcript blob reuse across turn-end checkpoints, andfull.jsonlrenamed toraw_transcript(#955, #946, #1001, #970, #972, #980, #984, #944)
- Improved
entire enableflow for folders that are not yet git repositories (#978) - Reduced duplication between
enableandconfigureflows (#950) - Consolidated TTY detection into the
interactivepackage; honorPI_CODING_AGENTto skip interactive prompts (#1011, #926) - Guard
entire attachagainst overwriting checkpoints created on other machines (#1014) - Strategy now guards against writing empty-session metadata stubs (#1022)
- Hook messages renamed from "Powered by Entire" to "Entire CLI" (#965)
- Consistent rewind/resume continuation wording across agents (#987)
- More descriptive output checkpoints are pushed during normal
git push(#927) - Refactored checkpoint remote URL resolution and
ENTIRE_CHECKPOINT_TOKENhandling (#989)
- Codex token usage normalization (#1021)
- Factory AI Droid fallback tool-use IDs (#942)
entire explainfetches metadata from the remote when missing locally (#953)- Fetch checkpoint blobs from
checkpoint_remoteinstead oforigin(#976) - Checkpoints v2: dual-write and preserve task metadata; skip empty sessions to prevent phantom checkpoint paths (#962, #958)
- Hanging summary TTY in local test runs (#968)
- Nightly release workflow now fails loudly instead of silently skipping when the tag already exists (#966)
- Build fix: qualify
isTerminalWriterinactivity_cmd.go(#1013)
- Single
mise run checkcommand runs fmt, lint, and full test suite needed for PRs to be green (#949) - Require
mise run lintbefore pushing any remote code update (#1003) - Refactored git commands and increased test coverage (#995)
- Prefer
testutil.InitRepoin trivial git test setup (#979) - Stabilized TTY-dependent local CI tests, OpenCode E2E, and Factory AI Droid pre/post-tool-call E2E tests (#969, #967, #959, #1000, #1025)
- Removed nightly Windows E2E schedule (#925)
- Added
entire sessionscommand reference to docs (#1010) - Updated Code of Conduct community platform from Slack to Discord (#810)
- Dependency bumps:
go-git/v66.0.0-alpha.1 → 6.0.0-alpha.2,posthog-go1.11.2 → 1.12.1,goreleaser-action7.0.0 → 7.1.0,actions/create-github-app-token3.0.0 → 3.1.1 (#977, #951, #992, #991, #943)
Thanks to @areporeporepo for updating the Code of Conduct community link!
- Checkpoints v2 (work in progress):
--forceflag forentire migrate-v2to rerun migrations that previously completed, andcheckpoint_transcript_startsupport for compacttranscript.jsonlfiles (#885, #877)
- Hide
entire searchcommand from the menu while it stabilizes (#928) - Condensation logic refactored with type-enforced redaction boundaries for safer session data handling (#922)
- Fetch checkpoint refs by URL to avoid polluting
origingit config (#934) - Support Claude JSON array responses in
explainsummary generation (#921) - GoReleaser using the wrong tag during concurrent releases (#918)
- Stabilize flaky Cursor and OpenCode E2E behavior and transcript prep timing (#923)
- More hermetic separation for Gemini auth config files in E2E tests (#915)
- Bump
actions/upload-artifactfrom 7.0.0 to 7.0.1 (#920)
- Checkpoints v2 (work in progress): v2-aware
explainwith compact transcript support, push logic for v2 refs, compact transcript format for Factory AI Droid, Codex, and Copilot CLI, andentire migrate-v2migration command (#864, #821, #852, #862, #891) entire searchcommand is now available, with improved TUI usability and managed search subagents (#907, #856, #833)- Stale session indicator in
entire statusoutput (#853) entire statusnow shows active agents (#847)entire configure --remove-agentto remove agent configurations (#851)- Codex support for
explain --generatewith summary timeout (#875, #876) - Nightly releases via GoReleaser and Homebrew tap, with
install.shnightly support (#825, #911) - Hook overwrite detection during running agent prompts (#791)
- Binary file detection in PR diffs (#897)
entire cleanfully replaces deprecatedentire reset(#858)- Checkpoint branch alignment with remote now uses rebase instead of force-push (#863)
- Windows: reject absolute and malformed paths in git tree writes (#902)
entire attachusing wrong path for Codex sessions (#894)- External agents detection during hook execution (#893)
- Gitignore now respected for shadow branch tree writes (#890)
- Model field always written to checkpoint metadata.json (#882)
- Multi parallel sessions causing conflicts on the same shadow branch (#879)
- Codex resume failing to restore session state (#878)
- Checkpoint transcript start offset when agent continues writing logs after checkpoint (#873)
- Attribution inflation from intermediate commits during squash workflows (#870)
- Codex single-line start message rendering with extra spaces (#857)
- Token count omitted from status when no token data exists (#854)
entire clean --allnow cleans all sessions, not just orphaned ones (#846)entire statusblank line formatting (#848)- Skip transcript redaction when checkpoints v2 is disabled (#896)
- Clarified external checkpoint discovery warning copy (#889)
- E2E test improvements: OpenCode boot time, Cursor/Gemini harness fixes, debug tooling, attach test timeout (#914, #912, #892, #835)
- Speed up unit tests (#901)
- Pinned all GitHub Actions to commit SHAs for supply chain security (#872)
- Updated README to consolidate agent instructions (#899)
- Added Codex mentions to documentation (#816)
- Dependency bumps: Go 1.26.2 + ulikunitz/xz v0.5.15 (fixes 6 vulns), golang.org/x/sys, charmbracelet/bubbles, go-dependencies group (#910, #905, #874, #850)
- Copilot CLI E2E tests can now use GitHub Actions token for authentication (#900)
entire sessionssubcommands (list,info,stop) for managing active and ended sessions (#822, #739)entire attachcommand to manually link untracked sessions (#688, #743)- Gemini CLI transcript support for session logs and condensation (#819)
- Checkpoints v2 (work in progress): compact
transcript.jsonlfile and metadata on/mainref (#828) ENTIRE_CHECKPOINT_TOKENenvironment variable for authenticated checkpoint push/fetch (#818, #827)
- Deprecated
entire resetcommand in favor ofentire clean(#720)
- Resume failing when checkpoints aren't fetched locally yet (#796)
- OpenCode transcript export resilient to stdout truncation (#832)
- Fail-closed content detection in
prepare-commit-msgto prevent dangling checkpoint trailers from stale sessions (#826)
- Scoop installation instructions for Windows (#808)
- Eliminated real-time waits causing test suite hangs (#823)
- Sped up slow unit tests in strategy and external packages (#830)
- Dependency bumps: go-git/go-git v6 alpha.1, jdx/mise-action 4 (#831, #809)
- Codex CLI agent integration with lifecycle hooks, e2e runner, transcript parsing, and token tracking. note: subagent tracking is not yet supported due to missing
pre-task/post-taskhooks in codex (#772, #794) - Windows support: cross-platform path handling, CRLF-safe git parsing, detached process spawning, and
WINDOWS.mdguide (#766) - Checkpoints v2 (work in progress): dual-write behind
checkpoints_v2feature flag with/mainand/full/currentref layout, generation rotation to bound transcript growth, and unifiedtranscript.jsonlcondensation for Claude Code and OpenCode (#742, #759, #781, #788) entire configure --checkpoint-remotefor setting the checkpoint remote interactively (#798)entire logoutcommand to remove stored credentials (#740)- E2E triage CI workflow with Slack integration for automated failure analysis (#741)
- Diagnostic logging for checkpoint linking failures and session content filtering (#785)
- Redirect questions and support links from GitHub Discussions to Discord (#761)
- Cursor mid-turn condensation and Gemini interactive prompt hang (#780)
- Copilot CLI E2E fixes: Edit mode handling, subagent reliability, slash command dismissal (#782, #797)
- Attribution handling for long sessions (#792)
- Cross-platform
files_touchedpath normalization withfilepath.ToSlash(#803) - OpenCode system-reminder messages appearing in transcript parser (#671)
- External agent plugin discovery during git hook execution, ensuring token usage data in metadata (#716)
- Local-dev hooks path resolution for non-Claude agents (#745)
- Gemini subagent commits missing
Entire-Checkpointtrailer inprepare-commit-msg(#780) - E2E timing flakiness with hardened assertions and carry-forward checkpoint condensation (#787)
- Windows-compatible external agent name derivation and binary discovery (#729)
- Linux PATH instruction for
go installin README (#764) - Bumped go-git to fix
index decoder: invalid checksumon some repos using theTREEextension (#801) - Dependency bumps: posthog-go 1.11.2, go-keyring 0.2.8, slackapi/slack-github-action 3.0.1 (#786, #755, #695)
Thanks to @keyu98 for Windows-compatible agent name derivation and fixing external agent plugin discovery in git hooks! Thanks to @sheikhlimon for the Linux install docs, @erezrokah for the CLAUDE.md fix, and @mvanhorn for fixing OpenCode transcript parsing!
- Sparse metadata fetch with on-demand blob resolution for reduced memory and network cost (#680, #721)
entire tracecommand for diagnosing slow performance hooks and lifecycle events (#652)- Opt-in PII redaction with typed tokens (#397)
- Auto-discover external agents during
entire enable,entire rewind, andentire resume(#678) - Preview support for dedicated remote repository for checkpoint data, onboarded the CLI repository (#677, #732)
- E2E tests for external agents with roger-roger canary (#700, #702)
- hk hook manager detection (#657)
- Bumped go-git with improved large packfile memory efficiency (#731)
- Use transcript size instead of line count for new content detection (#726)
- Improved traversal resistance with
os.OpenRoot(#704) - Upgraded to Go 1.26.1 and golangci-lint 2.11.3 (#699)
- CLI command output consistency improvements (#709)
- Gemini CLI 0.33+ hook validation by stripping non-array values from hooks config (#714)
- Copilot checkpoint token scoping, session token backfill, and modelMetrics struct (#717)
- Cursor 2026.03.11 transitioning from flat to nested path during a session (#707)
- Rewind file path resolution when running from a subdirectory (#663)
GetWorktreeIDhandling.bare/worktrees/layout in bare repos (#669)- OpenCode over-redaction in session transcripts (#703)
- Factory AI Droid prompt fallback to script parsing when hooks don't provide it (#705)
- Resume fetching metadata branch on fresh clones where
entire/checkpoints/v1doesn't exist locally (#680) - Remote branch detection for v6 metadata merging (#662)
- Mise install detection for update command (#659)
- Cursor-cli E2E flakiness with isolated config dir (#654)
- Factory AI Droid added to all documentation (#655)
- Copilot CLI added to all documentation (#653)
- Updated Discord release message to include installation link (#646)
- Dependency bumps: actions/create-github-app-token 3.0.0, jdx/mise-action 4, gitleaks 8.30.1 (#706, #694, #689)
- Added tests for git remote related flows (#696)
- "Why Entire" section in README (#331)
Thanks to @mvanhorn for multiple contributions including hk hook manager detection, bare repo worktree ID fix, rewind subdirectory path fix, and mise install detection!
- 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)
- 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)
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)
- 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 to @erezrokah for contributing to this release!
- Factory AI Droid agent integration with full checkpoint, resume, rewind, and session transcript support (#435, #552)
--absolute-git-hook-pathflag forentire enableto set up git hooks with absolute paths to the entire binary (#495)- Architecture tests enforcing agent package boundaries (#569)
- Improved TTY handling consolidated into a single location (#543)
- Simplified PATH setup message in install script (#566)
- Skip version check for dev builds instead of all prereleases (#401)
- Skip fully-condensed ENDED sessions in PostCommit to avoid redundant work (#556, #568)
- Don't update LastInteraction when only git hooks were triggered (#550)
entire explainhanging on repos with many checkpoints (#551)prepare-commit-msghook performance for large repos (#553)- Don't wait for sessions older than 120s during transcript flush (#545)
- Updated agent-integration skill docs (#555)
- Full checkpoint support for Cursor agent in IDE and CLI. Note: resume and rewind are missing for now (#392, #493, #525, #527)
- Consolidated E2E test suite moved into
e2e/with per-agent filtering, transient error retry, preflight checks, and test report generation (#474, #508, #539) - Agent integration Claude skill for multi-phase agent onboarding (#498)
- Post-commit cache to avoid redundant work on consecutive commits (#500)
entire enablenow creates local metadata branch from remote when available, preserving checkpoints on fresh clones (#511)entire --versionnow works as an alias forentire version(#526)- Mise linting to keep
mise.tomlclean; scripts moved into task files (#530) commit_linkingsetting replaces the Strategy interface abstraction, with[Y/n/a]prompt on commit (#531)
- Extracted magic numbers to named constants (#276)
- Removed auto-commit strategy entirely, making manual-commit the only strategy (#405)
- Upgraded to Go 1.26 and golangci-lint 2.10.1 (#458)
- O(depth) tree surgery replaces O(N) flatten-and-rebuild for both metadata branch and shadow branch writes (#473, #503)
- Renamed
paths.RepoRoot()topaths.WorktreeRoot()for clarity (#486) - Local and CI linting now use the same configuration (#504)
- Consistent context.Context threading through all function call chains (~25
context.Background()/context.TODO()replaced) (#507, #512) - Unified
CalculateTokenUsageinto a singleagent.CalculateTokenUsage()function (#509) - Removed backward-compatibility fallbacks for unknown agent types (#515)
- Removed Strategy interface abstraction —
ManualCommitStrategyis now used directly everywhere (#531) - Replaced
fmt.Fprintf(os.Stderr)with structured logging in agent hook paths (#538) - Moved
AgentNameandAgentTypetoagent/typespackage to break import cycle (#542)
- Carry-forward false positive when user replaces agent content before committing (#502)
- Isolate integration tests from global git config (#513)
- Using OpenCode with Codex models now correctly handle
apply_patchevents (#521) - Compaction resetting transcript offset, causing Gemini carry-forward to re-send already-condensed content (#535)
- Handle OpenCode
database is lockederrors during parallel E2E tests (#540)
- Agent integration guide and checklist updated for Cursor and OpenCode (#410, #510)
- E2E test README and debug skill (#474)
- Cursor agent documentation (#493, #525)
Thanks to @ishaan812 for contributing to this release!
Thanks to @9bany (#260) for their Cursor PR! We've now merged our Cursor integration. While we went with our own implementation, your PR were valuable in helping us validate our design choices and ensure we covered the right scenarios. We appreciate the effort you put into this!
- Commits hanging for up to 3s per session while waiting for transcript updates that were already flushed (#482)
- Updated README to include OpenCode in the supported agent list (#476)
- OpenCode agent support with resume, rewind, and session transcripts (#415, #428, #439, #445, #461, #465)
IsPreview()on Agent interface to replace hardcoded name checks (#412)- Stale session file cleanup (#438)
- Redesigned
entire statuswith styled output and session cards (#448) - Benchmark utilities for performance testing (#449)
- Refactored Agent interface: moved hook methods to
HookSupport, removed unused methods (#360, #425, #427, #429) entire enablenow uses multi-select for agent selection with re-run awareness (#362, #443)- Use Anthropic API key for Claude Code agent detection (#396)
- Don't track gitignored files in session metadata (#426)
- Performance optimizations for
entire statusandentire enable: cached git paths, pure Go git operations, reftable support (#436, #454) - Streamlined
entire enablesetup flow with display names and iterative agent handling (#440) - Git hooks are now a no-op if Entire is not enabled in the repo (#445)
- Resume sessions now sorted by creation time ascending (#447)
- Secret redaction hardened across all checkpoint persistence paths (#395)
- Gemini session restore following latest Gemini pattern (#403)
- Transcript path stored in checkpoint metadata breaking location independence (#403)
- Integration tests hanging on machines with a TTY (#414)
- Stale ACTIVE/IDLE/ENDED sessions incorrectly condensed into every commit (#418)
- Gemini TTY handling when called as a hook (#430)
- Deselected agents reappearing as pre-selected on re-enable (#443)
- UTF-8 truncation producing garbled text for CJK/emoji characters (#444)
- Git refs resembling CLI flags causing errors (#446)
- Over-aggressive secret redaction in session transcripts (#471)
- Security and privacy documentation (#398)
- Agent integration checklist for validating new agent integrations (#442)
- Clarified README wording and agent-agnostic troubleshooting (#453)
Thanks to @AlienKevin for contributing to this release!
Thanks to @ammarateya (#220), @Avyukth (#257), and @MementoMori123 (#315) for their OpenCode PRs! We've now merged our OpenCode integration. While we went with our own implementation, your PRs were valuable in helping us validate our design choices and ensure we covered the right scenarios. We appreciate the effort you put into this!
- Detect external hook managers (Husky, Lefthook, Overcommit) and warn during
entire enable(#373) - New E2E test workflow running on merge to main (#350, #351)
- Subagent file modifications are now properly detected (#323)
- Content-aware carry-forward for 1:1 checkpoint-to-commit mapping (#325)
- Consolidated duplicate JSONL transcript parsers into a shared
transcriptpackage (#346) - Replaced
ApplyCommonActionswithActionHandlerinterface for cleaner hook dispatch (#332)
- Extra shadow branches accumulating when agent commits some files and user commits the rest (#367)
- Attribution calculation for worktree inflation and mid-turn agent commits (#366)
- All IDLE sessions being incorrectly added to a checkpoint (#359)
- Hook directory resolution now uses
git --git-path hooksfor correctness (#355) - Gemini transcript parsing: array content format and trailer blank line separation for single-line commits (#342)
- Added concurrent ACTIVE sessions limitation to contributing guide (#326)
Thanks to @AlienKevin for contributing to this release!
entire explainnow fully supports Gemini transcripts (#236)
- Improved git hook auto healing, also working for the auto-commit strategy now (#298)
- First commit in the
entire/checkpoints/v1branch is now trying to lookup author info from local and global git config (#262)
- Agent settings.json parsing is now safer and preserves unknown hook types (#314)
- Clarified
--local/--projectflags help text to indicate they reference.entire/settings, not agent settings (#306) - Removed deprecated
entireIDreferences (#285)
- Added requirements section to contributing guide (#231)
- Layered secret detection using gitleaks patterns alongside entropy-based scanning (#280)
- Multi-agent rewind and resume support for Gemini CLI sessions (#214)
- Git hook installation now uses hook chaining instead of overwriting existing hooks (#272)
- Hidden commands are excluded from the full command chain in help output (#238)
- "Reference not found" error when enabling Entire in an empty repository (#255)
- Deleted files in task checkpoints are now correctly computed (#218)
- Updated sessions-and-checkpoints architecture doc to match codebase (#217)
- Fixed incorrect resume documentation (#224)
- Added
mise trustto first-time setup instructions (#223)
Thanks to @fakepixels, @jaydenfyi, and @kserra1 for contributing to this release!