Skip to content

Latest commit

 

History

History
1026 lines (740 loc) · 99.8 KB

File metadata and controls

1026 lines (740 loc) · 99.8 KB

Changelog

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.

[0.9.0] - 2026-07-27

Added

  • entire doctor migrate-checkpoints migrates 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 --json gives a machine-readable listing (migrate off rewind --list) (#1771, #1768)
  • Hidden entire checkpoint resume command (#1701)
  • entire explain streams 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 $name discovery 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 dispatch gains 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-help teaches agents entire usage through worked examples and an injected first-turn invariant (#1821)
  • entire doctor/entire status warn when Claude Code hook config has drifted out of date (#1808)
  • The non-git entire enable bootstrap collapses into a single setup question (#1818)
  • entire search accepts multiple repos for semantic search (#1845)

Changed

  • entire search now 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 list now covers both mirrored and mirrorable repos in one listing, with per-cluster detail available via mirror get (#1681)
  • Root help output is grouped by user journey, and --json moves off the shared persistent flag onto the specific commands that support it (#1745, #1680)
  • Checkpoints route through entire:// push-through mirrors (#1732)
  • entire status no longer prints the strategy name (#1793)
  • Code-search results read more clearly in the terminal (#1742)
  • entire repo clone resolves /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)

Fixed

  • Session linking: match sessions across sibling worktrees, and warn when ambiguous worktree sessions block commit linking (#1440, #1856)
  • entire enable writes the enabled flag to the resolved settings scope, recognizes a local-only setup so hooks run after enable --local, confirms before init/create/push in a non-repo directory, and fetches an existing checkpoint_remote branch instead of orphaning it (#1714, #1713, #1720, #1719)
  • entire enable explains core.hooksPath when the hooks dir is not a directory (e.g. an ENOTDIR path) 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 canonical entire 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 --json prints prose and exits 0 when no session exists (#1828)
  • entire auth token --jurisdiction follows 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)

Housekeeping

  • Regenerate the coreapi client against the current /repos spec 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

Thanks to @MuskanPaliwal for handling submodule gitdirs in worktree IDs and clarifying the human-added attribution docs!

[0.8.42] - 2026-07-08

Added

  • Cross-region code search (work in progress, behind ENTIRE_CODE_SEARCH=1): --code and --case-sensitive flags on entire search plus 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 list gained a --name filter (matches the owner/repo form shown in the table) and --sort with shell-friendly kebab-case column keys, failing fast on an unknown sort key (#1665, #1679)

Changed

  • entire review no longer imposes a default reviewer timeout — reviewers run until done — while the judge's default rises from 5m to 20m; --timeout still governs both (#1664)
  • org, project, repo, and grant are promoted out of entire labs into the visible top-level command surface, so they now appear in entire --help (canonical paths unchanged) (#1672)
  • git-remote-entire prints an actionable hint when the cluster host is missing, and only suggests clone for a complete forge/owner/repo ref (#1649)

Fixed

  • entire repo mirror get resolves clone URLs via the owning cluster's login server instead of the control-plane core (#1676)

Housekeeping

  • Bump aws-actions/configure-aws-credentials from 6.2.1 to 6.2.2 (#1670)

[0.8.1] - 2026-07-07

Added

  • --checkpoint-backend branch|refs on entire enable and entire configure selects the checkpoint store, with an interactive selector on first-time setup (defaults to branch, which writes no config block) (#1661)
  • First-time entire enable now offers to import pre-existing agent history for the agents you select, instead of leaving the hidden entire import command to be discovered; non-interactive runs (--yes or no TTY) auto-import all eligible agents (#1595)
  • entire api gained --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)

Changed

  • entire activity now 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 palette package, so the UI respects the user's terminal theme; the primary accent moved from orange to magenta, and entire experts was 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)

Fixed

  • 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 create renders 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)

Housekeeping

  • 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)
  • explain follow-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@nightly users 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)

[0.8.0] - 2026-07-06

Added

  • 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 via entire help, the status footer, status --json, and an MCP tool (#1562, #1585)
  • entire experts (hidden, via entire 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, a gh 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 token is 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 create now offers a cluster picker (#1645)

Changed

  • Control-plane commands (org, project, repo, grant) now print human-readable confirmations by default; the wire JSON (including repo create's entire:// remote) moved behind --json. Empty --json lists 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 activity and entire recap route through the entire-api cell client (#1592)
  • Checkpoint writes are gated on repo policy support, with telemetry for policy-blocked hooks (#1541, #1586)
  • entire review raised its timeouts (reviewer 10m→20m) and --timeout now 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 create splits placement and clone into separate progress steps and warns when creating against an admin-suspended mirror (sunset collaborator verbs removed) (#1587, #1602)
  • entire attach warns on an empty transcript, captures the session footer, and notes when an amend fails (#1568)
  • Removed checkpoint_version from checkpoint metadata (#1620)

Fixed

  • 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)

Housekeeping

  • De-slop pass: removed dead code and deduplicated hot spots (−5.6k lines) (#1606)
  • Removed a dead entiredb-original-url read path in checkpoint/remote (#1624)
  • Build checkpoint subtree paths via a path.Join helper (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)

[0.7.8] - 2026-06-30

Added

  • entire import brings 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 .worktreeinclude file for controlling worktree contents (#1517)
  • entire repo clone, a visibility verb, and entire repo mirror list --show-available for working with mirrored repositories (#1529, #1531, #1490)
  • Control-plane CLI gained org/project get+delete, repo grant list+remove, and friendly-name resolution (#1499, #1498)
  • Hidden checkpoint policy command plus repo-level checkpoint policy enforcement (#1508, #1509)

Changed

  • Checkpoints now record storage-version metadata, run format-compatibility checks, and surface a compact_transcript path in metadata.json; the compact transcript.jsonl is stored and pushed in v1 checkpoints (#1494, #1507, #1515, #1419)
  • entire explain enriches 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)

Fixed

  • Copilot no longer creates phantom sessions for subagent turns (#1578)
  • Fixed Cursor hook misattribution and added Cursor token-usage support (#1263)
  • entire review no longer wedges multi-agent runs on "Finalizing output..." (#1561)
  • Attribution why prompts are now honest, with unified blame/why line syntax (#1535)
  • entire grant resolves repos by name, supports github: handle grantees, and returns a repo clone URL (#1549)
  • Control-plane commands now display the core a request actually dials, and cluster-addressed repo mirror commands 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 activity truncates 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)

Housekeeping

  • Major checkpoint-storage refactor toward pluggable stores: split into persistent/ephemeral stores with generic read/write, a store registry + topology, an Open factory facade, unified committed writes behind Store.Write, an extracted persistent contract under api/checkpoint, and a treeWriter for checkpoint writes; removed the checkpoints v1.1 mirror machinery (#1451, #1480, #1481, #1495, #1504, #1533, #1556, #1454, #1482)
  • Added a manual-dispatch e2e-checkpoint-store workflow and tackled failing E2E tests (#1567, #1577)
  • De-flaked the ColdPathFailover redirect-target test and stopped resolvePushSettings tests from fetching github.com (#1574, #1463)
  • Removed the ireturn lint and its directives, and refreshed/regenerated the Core API OpenAPI spec and client (#1548, #1502, #1518, #1512)
  • mise run dev:publish now 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

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!

[0.7.7] - 2026-06-18

Added

  • entire trail (work in progress): trail context is now injected into the model when trails are enabled, an entire trail delete subcommand was added, and entire trail create --branch defaults to the checked-out branch, alongside command-behavior fixes (#1435, #1455, #1456, #1447)
  • Interactive resume picker for stopped/idle sessions (#1445)
  • entire repo mirror collaborators with add/remove/list subcommands (#1458)
  • ENTIRE_TOKEN support, along with git-remote-entire push reliability fixes (#1438)

Changed

  • Auth was hardened by removing static fallbacks, the legacy store, and the v1 provider (#1410)
  • External agent transcripts are now compacted for --full/--verbose display (#1421)
  • Runner configs moved from .entire/runners/v2 to .entire/runners (#1442)
  • entire repo create now stamps a usable entire:// remote in its JSON output (#1441)

Fixed

  • Fixed dot-dot-prefixed repo path filtering and prevented checkpoint symlink target disclosure (#1395, #1415)
  • entire auth status dates 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 search now supports Entire mirror remotes (#1452)
  • Control-plane commands now handle cross-jurisdiction routing (#1457)

Housekeeping

  • 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

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!

[0.7.6] - 2026-06-15

Added

  • entire blame and entire why labs commands for tracing which session and checkpoint last touched a file or line (#1305)
  • entire login now defaults to a browser sign-in flow with a --device fallback, and accepts a --server flag to target a specific core (retiring ENTIRE_AUTH_BASE_URL) (#1366, #1404)
  • entire enable is 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 doctor checks and repairs the v1.1 committed-read mirror, and topology coverage was extended to the checkpoint picker and cleanup (#1380, #1376, #1350, #1351)

Changed

  • entire search now 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, and entire repo mirror mints 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 investigate renders findings diagrams as top-down box flowcharts (#1414)
  • entire checkpoint rewind is now deprecated ahead of removal (#1401)
  • Added Entire runner configs (#1429)

Fixed

  • 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)

Housekeeping

  • Tests no longer touch the user's real config, cache, or keychain, and the spawned entire binary in E2E tests stays off the real OS keychain (#1411, #1368)
  • Fixed a flaky TestSafelyAdvanceLocalRef temp-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

Thanks to @suhaanthayyil for contributing the entire blame and entire why labs commands!

[0.7.5] - 2026-06-04

Security

  • Closed a path-traversal / arbitrary-file-write vulnerability across the checkpoint, session, and agent-lifecycle paths: identifiers read from the shared entire/checkpoints/v1 branch or from agent hook input flowed into filesystem paths without validation, so a crafted session ID could overwrite arbitrary files on entire session resume / entire checkpoint rewind. IDs are now validated at the read/dispatch boundaries, with os.Root containment as defense in depth (#1365)

Fixed

  • git-remote-entire now 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 bare send-pack exited with error: exit status 1 (#1364)

[0.7.4] - 2026-06-04

Added

  • git-remote-entire now 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_TOKEN env override for git-remote-entire, for CI and workload-identity use where an interactive login isn't possible (#1321)
  • git-remote-entire gained --version and --help flags (#1354)
  • entire auth use now 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)

Changed

  • Simplified the entire auth surface: dropped support for the sunset ent_ PATs (removing auth list and auth revoke), made auth status show your identity, active context, and the active sessions on that core, and routed logout/logout --all through 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-entire now stamps a versioned User-Agent (git-remote-entire/<version>) on every outbound HTTP request, so the helper is identifiable in upstream access logs (#1348)
  • entire repo mirror create skips clone polling when the upstream has no refs, printing a short note and returning instead of waiting out the timeout (#1357)
  • entire repo mirror create now 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)

Housekeeping

  • Auth review follow-ups and a keyring-safe cli TestMain (#1360)
  • Made the GitTerminalPromptOnIsNotAgent test hermetic (#1361)
  • Dependency bumps: actions/checkout, github/codeql-action, and the Go dependencies group (#1338, #1339, #1340)

[0.7.3] - 2026-06-02

Fixed

  • Fixed a bug where internal API calls didn't follow a redirect properly (#1327)

[0.7.2] - 2026-06-02

Fixed

  • macOS release binaries are Developer ID signed and notarized again. Adding the git-remote-entire binary 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 and killed on launch (#1324)

Housekeeping

  • 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)

[0.7.0] - 2026-06-02

Added

  • The git-remote-entire remote helper now ships inside the CLI and activates from a shared contexts.json login, so entire:// 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 explain reading the new format (#1300, #1315, #1311)
  • entire investigate labs command: an experimental multi-agent investigation loop (#1231)
  • Skill event metadata is now captured for Claude and Pi (#1292)

Changed

  • entire login is 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_context on delete), hardened cluster trust with ephemeral binding and a HostInCluster specificity floor, auto-select v2 auth on split-host, routed status/list/revoke/logout through TokenForResource, pinned the AuthBaseURL default, 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)

Fixed

  • entire install points 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 trail preserves the forge identifier from entire:// 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 install upgrade (#1273)
  • Local-dev builds fall back to the PATH binary 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)

Housekeeping

  • 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-entire helper during mise run dev:publish (#1295, #1314, #1308)
  • Dependency bumps: go-dependencies group, goreleaser/goreleaser-action 7.2.1 → 7.2.2 (#1293, #1227)

[0.6.3] - 2026-05-27

Added

  • entire login copies the device code to your clipboard, falling back to the printed code if clipboard access fails (#1093)

Fixed

  • Checkpoint metadata reconciliation (cherryPickOnto) is much faster — roughly 66s → 7s for 50 commits (#1248)
  • entire activity no 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 resume no 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)

Housekeeping

  • 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-action 4.35.4 → 4.36.0 (#1255, #1254)

Thanks

Thanks to @godswillumukoro for adding Pi to the agent listings, hook table, and architecture guides!

[0.6.2] - 2026-05-18

Added

  • 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 review streams agent events live via JSONL output modes (#1192)
  • CodeQL workflow scanning GitHub Actions on fork-safe PRs (#1176)
  • First-time contributors guide (#1189)

Changed

  • entire review improvements: live multi-agent progress and failure reliability; default scope now compares against mainline with a --base flag 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 recap clarifies scope and range controls, with better API error messages (#1161, #1157)
  • entire migrate deprecated (#1224)
  • entire clean --all is significantly faster, shows progress, and respects Ctrl+C (#1182)
  • entire explain --generate now honors summary_timeout_seconds; default raised to 5 minutes (#1204)
  • Reduced warning noise from missing Entire git hooks; commit-msg hook is now best-effort (#1191)

Fixed

  • entire enable no longer re-enables previously disabled repos (#1126)
  • entire review TUI line wrapping (#1158)
  • entire recap surfaces 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)

Housekeeping

  • 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.toml gitignored (#1174)
  • Dependency bumps: go-dependencies group, go-git/go-billy/v6 → 6.0.0-alpha.1, actions/create-github-app-token 3.1.1 → 3.2.0 (#1178, #1183, #1202)

Thanks

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!

[0.6.1] - 2026-05-07

Added

  • New entire labs command discovery for surfacing experimental commands (#1130)
  • entire labs review command — 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, and entire review attach for post-hoc tagging. Reviews are recorded in checkpoint metadata so future commits know the code was reviewed (#993, #1105, #1106, #1107, #1111, #1112)
  • entire recap command, with an interactive TUI for browsing recaps (#1015, #1113)
  • kubectl-style external command resolution: entire <name> falls through to entire-<name> on PATH (#1104)
  • Managed plugin install directory and ENTIRE_PLUGIN_DATA_DIR for plugin discovery (#1121)

Changed

  • 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)

Fixed

  • entire attach now preserves BaseCommit and the active session phase (#1102)
  • Copilot CLI direct-prompt runs no longer fire session hooks unsafely (#1100)
  • entire labs review regressions: 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)

Housekeeping

  • Refreshed security-and-privacy.md against current source (#1097)
  • Cursor-cli E2E stabilization (#1101, #1103)
  • Dependency bumps: go-dependencies group (mattn/go-isatty 0.0.20 → 0.0.22, go-git/x/plugin/objectsigner/auto → 0.1.0), go-git/go-git/v6 6.0.0-alpha.2 → 6.0.0-alpha.3 (#1122, #1129, #1131)

Thanks

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!

[0.6.0] - 2026-05-04

Added

  • 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 --generate now supports external agents for summary generation (#1044)
  • entire search TUI 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)

Changed

  • CLI restructured around session / checkpoint / agent / auth / doctor command groups (#1062)
  • Charm TUI stack upgraded to v2; dispatch repo links added to the dispatch wizard (#1048)
  • TUI navigation help aligned across entire activity and entire search (#1058, #1064)
  • entire explain generated 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)

Fixed

  • Cursor sessions no longer get mis-identified as Claude Code (#1082)
  • entire explain works with partial-clone checkpoint repositories (#1069)
  • Agent-neutral wording in the entire explain empty-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)

Housekeeping

  • Centralized TUI keybindings via bubbles/key in 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-go 1.12.1 → 1.12.4), goreleaser/goreleaser-action 7.1.0 → 7.2.1, slackapi/slack-github-action 3.0.1 → 3.0.3 (#1031, #1087, #1055, #1016, #1095)

Thanks

Thanks to @KuaaMU for making the entire explain empty-state message agent-neutral!

[0.5.6] - 2026-04-24

Added

  • entire activity command to show recent session activity (#999)
  • entire dispatch command to generate dispatches from checkpoints, using the /api/v1/repositories endpoint for the dispatch wizard (#1004, #1023)
  • entire explain accepts a checkpoint ID or commit SHA as a positional argument (#990)
  • entire explain --generate summary provider with improved observability (#887)
  • --json output for entire 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, and git reset (#947, #948)
  • External agents can register in the entire attach flow (#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 enable runs 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): attach command support, health checks in entire doctor, checkpoints_version setting with v2-only option, retention-based cleanup in entire clean, external-agent transcript compaction, transcript blob reuse across turn-end checkpoints, and full.jsonl renamed to raw_transcript (#955, #946, #1001, #970, #972, #980, #984, #944)

Changed

  • Improved entire enable flow for folders that are not yet git repositories (#978)
  • Reduced duplication between enable and configure flows (#950)
  • Consolidated TTY detection into the interactive package; honor PI_CODING_AGENT to skip interactive prompts (#1011, #926)
  • Guard entire attach against 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_TOKEN handling (#989)

Fixed

  • Codex token usage normalization (#1021)
  • Factory AI Droid fallback tool-use IDs (#942)
  • entire explain fetches metadata from the remote when missing locally (#953)
  • Fetch checkpoint blobs from checkpoint_remote instead of origin (#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 isTerminalWriter in activity_cmd.go (#1013)

Housekeeping

  • Single mise run check command runs fmt, lint, and full test suite needed for PRs to be green (#949)
  • Require mise run lint before pushing any remote code update (#1003)
  • Refactored git commands and increased test coverage (#995)
  • Prefer testutil.InitRepo in 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 sessions command reference to docs (#1010)
  • Updated Code of Conduct community platform from Slack to Discord (#810)
  • Dependency bumps: go-git/v6 6.0.0-alpha.1 → 6.0.0-alpha.2, posthog-go 1.11.2 → 1.12.1, goreleaser-action 7.0.0 → 7.1.0, actions/create-github-app-token 3.0.0 → 3.1.1 (#977, #951, #992, #991, #943)

Thanks

Thanks to @areporeporepo for updating the Code of Conduct community link!

[0.5.5] - 2026-04-13

Added

  • Checkpoints v2 (work in progress): --force flag for entire migrate-v2 to rerun migrations that previously completed, and checkpoint_transcript_start support for compact transcript.jsonl files (#885, #877)

Changed

  • Hide entire search command from the menu while it stabilizes (#928)
  • Condensation logic refactored with type-enforced redaction boundaries for safer session data handling (#922)

Fixed

  • Fetch checkpoint refs by URL to avoid polluting origin git config (#934)
  • Support Claude JSON array responses in explain summary generation (#921)
  • GoReleaser using the wrong tag during concurrent releases (#918)

Housekeeping

  • 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-artifact from 7.0.0 to 7.0.1 (#920)

[0.5.4] - 2026-04-10

Added

  • Checkpoints v2 (work in progress): v2-aware explain with compact transcript support, push logic for v2 refs, compact transcript format for Factory AI Droid, Codex, and Copilot CLI, and entire migrate-v2 migration command (#864, #821, #852, #862, #891)
  • entire search command is now available, with improved TUI usability and managed search subagents (#907, #856, #833)
  • Stale session indicator in entire status output (#853)
  • entire status now shows active agents (#847)
  • entire configure --remove-agent to remove agent configurations (#851)
  • Codex support for explain --generate with summary timeout (#875, #876)
  • Nightly releases via GoReleaser and Homebrew tap, with install.sh nightly support (#825, #911)
  • Hook overwrite detection during running agent prompts (#791)
  • Binary file detection in PR diffs (#897)

Changed

  • entire clean fully replaces deprecated entire reset (#858)
  • Checkpoint branch alignment with remote now uses rebase instead of force-push (#863)

Fixed

  • Windows: reject absolute and malformed paths in git tree writes (#902)
  • entire attach using 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 --all now cleans all sessions, not just orphaned ones (#846)
  • entire status blank line formatting (#848)
  • Skip transcript redaction when checkpoints v2 is disabled (#896)
  • Clarified external checkpoint discovery warning copy (#889)

Housekeeping

  • 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)

[0.5.3] - 2026-04-03

Added

  • entire sessions subcommands (list, info, stop) for managing active and ended sessions (#822, #739)
  • entire attach command to manually link untracked sessions (#688, #743)
  • Gemini CLI transcript support for session logs and condensation (#819)
  • Checkpoints v2 (work in progress): compact transcript.jsonl file and metadata on /main ref (#828)
  • ENTIRE_CHECKPOINT_TOKEN environment variable for authenticated checkpoint push/fetch (#818, #827)

Changed

  • Deprecated entire reset command in favor of entire clean (#720)

Fixed

  • 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-msg to prevent dangling checkpoint trailers from stale sessions (#826)

Housekeeping

  • 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)

[0.5.2] - 2026-03-30

Added

  • 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-task hooks in codex (#772, #794)
  • Windows support: cross-platform path handling, CRLF-safe git parsing, detached process spawning, and WINDOWS.md guide (#766)
  • Checkpoints v2 (work in progress): dual-write behind checkpoints_v2 feature flag with /main and /full/current ref layout, generation rotation to bound transcript growth, and unified transcript.jsonl condensation for Claude Code and OpenCode (#742, #759, #781, #788)
  • entire configure --checkpoint-remote for setting the checkpoint remote interactively (#798)
  • entire logout command 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)

Changed

  • Redirect questions and support links from GitHub Discussions to Discord (#761)

Fixed

  • 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_touched path normalization with filepath.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-Checkpoint trailer in prepare-commit-msg (#780)
  • E2E timing flakiness with hardened assertions and carry-forward checkpoint condensation (#787)

Housekeeping

  • Windows-compatible external agent name derivation and binary discovery (#729)
  • Linux PATH instruction for go install in README (#764)
  • Bumped go-git to fix index decoder: invalid checksum on some repos using the TREE extension (#801)
  • Dependency bumps: posthog-go 1.11.2, go-keyring 0.2.8, slackapi/slack-github-action 3.0.1 (#786, #755, #695)

Thanks

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!

[0.5.1] - 2026-03-19

Added

  • Sparse metadata fetch with on-demand blob resolution for reduced memory and network cost (#680, #721)
  • entire trace command 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, and entire 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)

Changed

  • 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)

Fixed

  • 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)
  • GetWorktreeID handling .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/v1 doesn'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)

Housekeeping

  • 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

Thanks to @mvanhorn for multiple contributions including hk hook manager detection, bare repo worktree ID fix, rewind subdirectory path fix, and mise install detection!

[0.5.0] - 2026-03-06

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 resume now supports squash-merged commits by parsing checkpoint IDs from the metadata branch (#534, #602, #593)
  • entire rewind now 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 (perf package) 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-tree in post-commit hook for faster commits (#594)
  • Removed context.md and scoped prompt.txt to checkpoint-only prompts; prompt source of truth is now shadow branch/filesystem, never transcript (#572)
  • Consolidated transcript file extraction behind resolveFilesTouched and hasNewTranscriptWork (#597)
  • Reconcile disconnected local/remote metadata branches automatically at read/write time and during entire enable (#533)

Fixed

  • entire explain showing "(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 SubagentStart hook (#577)
  • OpenCode session end detection via server.instance.disposed (#584)
  • OpenCode turn-end hook chain for reliable checkpoints (#541)
  • Cursor modified_files forwarding from subagent-stop and transcript position tracking (#598)
  • Session state with nil LastInteractionTime causing 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 ETXTBSY retry (#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!

[0.4.9] - 2026-03-02

Added

  • Factory AI Droid agent integration with full checkpoint, resume, rewind, and session transcript support (#435, #552)
  • --absolute-git-hook-path flag for entire enable to set up git hooks with absolute paths to the entire binary (#495)
  • Architecture tests enforcing agent package boundaries (#569)

Changed

  • 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)

Fixed

  • entire explain hanging on repos with many checkpoints (#551)
  • prepare-commit-msg hook performance for large repos (#553)
  • Don't wait for sessions older than 120s during transcript flush (#545)

Housekeeping

  • Updated agent-integration skill docs (#555)

[0.4.8] - 2026-02-27

Added

  • 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 enable now creates local metadata branch from remote when available, preserving checkpoints on fresh clones (#511)
  • entire --version now works as an alias for entire version (#526)
  • Mise linting to keep mise.toml clean; scripts moved into task files (#530)
  • commit_linking setting replaces the Strategy interface abstraction, with [Y/n/a] prompt on commit (#531)

Changed

  • 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() to paths.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 CalculateTokenUsage into a single agent.CalculateTokenUsage() function (#509)
  • Removed backward-compatibility fallbacks for unknown agent types (#515)
  • Removed Strategy interface abstraction — ManualCommitStrategy is now used directly everywhere (#531)
  • Replaced fmt.Fprintf(os.Stderr) with structured logging in agent hook paths (#538)
  • Moved AgentName and AgentType to agent/types package to break import cycle (#542)

Fixed

  • 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_patch events (#521)
  • Compaction resetting transcript offset, causing Gemini carry-forward to re-send already-condensed content (#535)
  • Handle OpenCode database is locked errors during parallel E2E tests (#540)

Docs

  • 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

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!

[0.4.7] - 2026-02-24

Fixed

  • Commits hanging for up to 3s per session while waiting for transcript updates that were already flushed (#482)

Housekeeping

  • Updated README to include OpenCode in the supported agent list (#476)

[0.4.6] - 2026-02-24

Added

  • 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 status with styled output and session cards (#448)
  • Benchmark utilities for performance testing (#449)

Changed

  • Refactored Agent interface: moved hook methods to HookSupport, removed unused methods (#360, #425, #427, #429)
  • entire enable now 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 status and entire enable: cached git paths, pure Go git operations, reftable support (#436, #454)
  • Streamlined entire enable setup 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)

Fixed

  • 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)

Docs

  • Security and privacy documentation (#398)
  • Agent integration checklist for validating new agent integrations (#442)
  • Clarified README wording and agent-agnostic troubleshooting (#453)

Thanks

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!

[0.4.5] - 2026-02-17

Added

  • 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)

Changed

  • Consolidated duplicate JSONL transcript parsers into a shared transcript package (#346)
  • Replaced ApplyCommonActions with ActionHandler interface for cleaner hook dispatch (#332)

Fixed

  • 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 hooks for correctness (#355)
  • Gemini transcript parsing: array content format and trailer blank line separation for single-line commits (#342)

Docs

  • Added concurrent ACTIVE sessions limitation to contributing guide (#326)

Thanks

Thanks to @AlienKevin for contributing to this release!

[0.4.4] - 2026-02-13

Added

  • entire explain now fully supports Gemini transcripts (#236)

Changed

  • Improved git hook auto healing, also working for the auto-commit strategy now (#298)
  • First commit in the entire/checkpoints/v1 branch is now trying to lookup author info from local and global git config (#262)

Fixed

  • Agent settings.json parsing is now safer and preserves unknown hook types (#314)
  • Clarified --local/--project flags help text to indicate they reference .entire/ settings, not agent settings (#306)
  • Removed deprecated entireID references (#285)

Docs

  • Added requirements section to contributing guide (#231)

[0.4.3] - 2026-02-12

Added

  • Layered secret detection using gitleaks patterns alongside entropy-based scanning (#280)
  • Multi-agent rewind and resume support for Gemini CLI sessions (#214)

Changed

  • 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)

Fixed

  • "Reference not found" error when enabling Entire in an empty repository (#255)
  • Deleted files in task checkpoints are now correctly computed (#218)

Docs

  • Updated sessions-and-checkpoints architecture doc to match codebase (#217)
  • Fixed incorrect resume documentation (#224)
  • Added mise trust to first-time setup instructions (#223)

Thanks

Thanks to @fakepixels, @jaydenfyi, and @kserra1 for contributing to this release!

[0.4.2] - 2026-02-10