Skip to content

chore: release main - #32

Open
hop-top-release-bot[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

hop-top-release-bot[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@hop-top-release-bot

@hop-top-release-bot hop-top-release-bot Bot commented May 26, 2026 •

Copy link
Copy Markdown

🤖 I have created a release beep boop

0.1.0-alpha.2

0.1.0-alpha.2 (2026-10-23)

⚠ BREAKING CHANGES

  • cli: GIT_HOP_* vars other than GIT_HOP_VERBOSE no longer stand in for global flags. Previously undocumented and partly effective: the result settings (GIT_HOP_OUTPUT, GIT_HOP_COLS, GIT_HOP_TEMPLATE) applied; GIT_HOP_QUIET, GIT_HOP_FORMAT, GIT_HOP_NO_COLOR and GIT_HOP_OFFLINE did not. Pass the flag instead. Explicitly read vars (GIT_HOP_DATA_HOME, GIT_HOP_AUTO_ENV_START, GIT_HOP_HOOKS, GIT_HOP_ADD_FROM, ...) unchanged.
  • state: GIT_HOP_REPO_ID and the repository keys in state.json now carry the origin's host (//) instead of a fixed github.com. Both change for any repository whose origin is not on github.com, and for a local origin they follow hop.gitDomain. Hooks that match GIT_HOP_REPO_ID against a github.com// value need updating.
  • config: -c/--config no longer loads a config file or key=value overrides, and $XDG_CONFIG_HOME/git-hop/config.json is not read. Keys it did reach (output, cols, template, format-opt, verbose) stop applying; a missing -c file now exits 0 instead of 129.
  • state: state.json format 2.0.0; older releases read it with paths where branches were, and their edits are re-migrated on next load
  • env: add and clone start the new worktree's environment only for hop.env.autoStart=true, GIT_HOP_AUTO_ENV_START=true or --env-start. hop.autoEnvStart is ignored; set hop.env.autoStart instead.
  • env: hop.autoEnvStart now acts. A true value in git config (set by hand, or written by earlier shell-integration installs, which persisted every default) makes add and clone run the environment start. GIT_HOP_AUTO_ENV_START=detect, formerly documented, is now fatal.
  • gitflow: in repos with gitflow.initialized=true, git hop add/remove no longer run git flow <type> start|finish (finish merged into the parent branch). Opt back in per repo with git config hop.gitflow.enabled true, or for all repos with git config --global hop.gitflow.enabled true.
  • deps: --verbose semantics changed.

chore

  • deps: migrate to kit v0.4.0-alpha.3 (adefd83)

Features

  • add: --task records a task id and can derive the branch (c9c17f2)
  • add,list: record and display per-branch comparison base (8b0da80)
  • add: branch new worktrees from default branch by default (16b6e08)
  • add: copy ignored local state into new worktrees (4de60a5)
  • add: fail on requested fetch error, warn only on automatic one (b72f728)
  • add: fetch origin before resolving the start-point (318408d)
  • add: honour #-hop-# marker to exclude ignore rules from copy-ignored (5562462)
  • add: honour #-hop-# marker to exclude ignore rules from copy-ignored (045afa8)
  • backup: configurable conversion-backup location and prune retention (6d7c729)
  • cli: emit a structured result for branch switch (3714951)
  • cli: emit a structured result for clone and fork-attach (ba29539)
  • cli: GIT_HOP_VERBOSE as sole env setting, honoured from start (bc14194)
  • cli: refuse structured output on commands without a result shape (44f8843)
  • clone: dispatch pre-clone, post-worktree-add, post-clone hooks (225ee3a)
  • deps: convert single deps links to per-entry links (b2f8dfa)
  • deps: link each entry of a shared install into the worktree (8a4bbcb)
  • deps: recognise worktree deps dirs linked entry by entry (cefa470)
  • doctor: move --global hopspaces left at another hop.dataLayout (40958ea)
  • doctor: register hubs state does not record (6898e36)
  • doctor: warn about a leftover config.json (9cf57b8)
  • doctor: warn about a leftover hop.autoEnvStart and unset it with --fix (c50e928)
  • doctor: warn about and unset every retired hop.* key (4d8ffe5)
  • env: rename the auto-start setting to hop.env.autoStart (9b869d9)
  • env: start the new worktree's environment on add and clone, off by default (18c2db7)
  • env: structured results for env start, stop and generate (25e8351)
  • events: config-driven JSONL sink for lifecycle events (97938b3)
  • git: add WorktreeRepair, WorktreeListPorcelain, WorktreeAdd (9b90648)
  • hooks: add clone and switch hook names to the registry (2bf01a6)
  • hooks: complete the lifecycle hook surface (17c701b)
  • hooks: dispatch worktree-switch hooks on branch hop (ed51a3a)
  • hooks: extend hook env with from-state and trigger metadata (e8c6136)
  • hooks: mirror committed .git-hop/hooks/ on clone and init (02b6262)
  • hooks: reserved exit code for hook-handled navigation (e88547e)
  • hop: add advisory FileLock helper (T-0209) (5b5de7d)
  • hopspace: resolve hop.dataLayout per repository (d51b876)
  • init: carry linked worktrees into the bare hub (9bb22fb)
  • init: hop.backup.keepBackup as default for --keep-backup (7c41411)
  • init: list carried linked worktrees in the structured result (a5439a1)
  • init: structured result for every init mode (69f3e65)
  • list: show branch sync status column (#23) (3183443)
  • merge: emit a structured result (9d601e1)
  • merge: gate source-branch remote deletion behind --delete-remote (951e4ef)
  • move: emit a structured result (4cdda23)
  • prune: GC stale repair backups (T-0209) (8b17d1c)
  • prune: retire legacy .hop repair artifacts (8d8ec79)
  • release: adopt release-please via hop-top/.github workflows (#31) (f44bd54)
  • remove: add --merged flag for bulk-removing merged worktrees (0305b20)
  • remove: detect squash and rebase merges by content (6902231)
  • remove: detect squash and rebase merges by content (a3200ab)
  • remove: emit a structured result (2aa6ba9)
  • repair: --base infers and records legacy HubBranch.Base (33c8277)
  • repair: add Applier with per-Action mutation handlers (T-0209) (f2c1b4b)
  • repair: add metadata-only backup snapshot + manifest (T-0209) (65777c4)
  • repair: add Plan/Action/ActionKind types (T-0209) (ca9209b)
  • repair: add Planner with read-only worktree classification (T-0209) (b8a67f9)
  • repair: add RepairCmd with full pipeline (T-0209) (36eef3f)
  • repair: add Restore for backup undo with sha256 verification (T-0209) (eeda02d)
  • shell: dispatch switch hook on chdir into worktree (04d626a)
  • shell: honor hook-handled navigation directive in wrappers (dcc5665)
  • state: key worktrees by path, migrate branch-keyed state (d78270a)
  • state: track every hub of a repository in commands (f1b55f8)
  • status: label content-merged branches ahead of default (b4a4283)
  • status: label content-merged branches ahead of default (8457168)
  • status: structured results for status <branch> and status --all (9027303)
  • worktree: {hopspace} placeholder for hop.worktreeLocation (6ab652d)

Bug Fixes

  • add: dry-run preview honours --from for existing branch (71c3c81)
  • add: emit the would-be result under --dry-run (22b60c0)
  • add: honor --dry-run, preview without mutating (8a042f6)
  • add: honour --from when local branch already exists (a4f0412)
  • add: refuse a file or non-empty directory at the worktree path (e1fe7d1)
  • add: refuse under --dry-run what the real add refuses (e7d563c)
  • add: run git in the invoking hub's repository, never the hopspace's (5cdc056)
  • add: run git worktree add from the hub's repository (2414f2a)
  • add: set up the worktree environment before post-worktree-add (627124d)
  • add: skip requested fetch with a hint when hub has no origin (e4a4976)
  • add: track origin/<branch> when branch exists only on origin (f458568)
  • add: word add -n refusals like every other preview (dc5c429)
  • cli: add -n shorthand for --dry-run (1860c3c)
  • cli: describe clone, switch and fork-attach in root help (2605592)
  • cli: emit structured results for add, status and list (f7cbd14)
  • cli: emit structured results for doctor, prune, env gc and repair (ce501fb)
  • cli: exit 129 on usage errors (d245c3a)
  • cli: make help <command> print that command's help (012402b)
  • cli: never silently ignore global --dry-run (795e619)
  • cli: print git-style usage block after a usage error (43fe05f)
  • cli: print plain ASCII instead of check marks, arrows and dashes (f98a867)
  • cli: put doctor, repair, prune in kit's MANAGEMENT group (2e43eac)
  • cli: recognise a register-as-is repository as the current hub (9ffe435)
  • cli: refuse surplus positionals on every leaf command (fe8d4fa)
  • cli: register add as dry-run aware (96ec199)
  • cli: reject unknown --cols before the command runs (a43b189)
  • cli: report remove without a target as a usage error (4ee12fc)
  • cli: report usage errors as JSON records in JSON mode (6854453)
  • cli: route bare arg by hub lookup, not prefix allowlist (7f42f6d)
  • cli: strip leading v before formatting --version output (07c17d6)
  • clone: create the data home (46b6e67)
  • clone: generate the first worktree's environment before post-clone (f9c7857)
  • clone: generate the first worktree's ports, volumes and override (453a7a3)
  • clone: hopspace must always be bare (cc5def4)
  • clone: keep auto-maintenance off the fetch before worktree add (2efdd45)
  • clone: keep progress off stdout and honour -q (3a23c61)
  • clone: link shared deps for the first worktree (c23b0ea)
  • clone: publish worktree.created for the initial worktree (c831f90)
  • clone: record actual bare layout in hop.json (940705c)
  • completion: refuse unsupported shell as usage error (d478449)
  • config: carry unmodeled branch members across rename (de082ec)
  • config: derive GetDefaults from the git-config defaults table (2e1be98)
  • config: keep git-config settings when managers.json is broken (bdea742)
  • config: migrate only keys present in legacy global.json (595191f)
  • config: preserve unmodeled hop.json members on write (75e1314)
  • current: never replace or delete a hub entry named current that is not a symlink (3d7d8ae)
  • deps: accept yarn Plug'n'Play installs without node_modules (bb66184)
  • deps: detect and reinstall a shared install emptied through a link (5b18966)
  • deps: install pnpm per worktree, never through the store (d0f1e8a)
  • deps: keep each hopspace's deps store at <hopspace>/deps (d715d85)
  • deps: keep each shared install in a dir named like its link (6e72e52)
  • deps: keep installs with links out of the deps dir per worktree (9484438)
  • deps: report and collect old deps stores nothing links to (8cfde52)
  • doctor: audit dependencies of the other worktrees when a path is a file (e8226da)
  • doctor: check the hopspace the hub actually uses (458ae05)
  • doctor: clean up merged missing worktrees, clear stale registration before re-add (b19cc2a)
  • doctor: count squash- and rebase-merged branches as merged (3dcb115)
  • doctor: drop a pruned --global hub's shared-hopspace records in the same --fix (33de5e4)
  • doctor: drop current hub's orphan hop.json rows on --fix (b777e59)
  • doctor: exit 1 when an issue is left unfixed (5ffdaad)
  • doctor: find and unset hop.* keys left by the zero-value migration (dfb0d15)
  • doctor: hint how to finish a hopspace move Windows refuses (ac66632)
  • doctor: honor --dry-run under --fix (badd4a6)
  • doctor: keep missing worktrees the user kept or git has locked (4b13b13)
  • doctor: keep the row of a worktree it could not recreate (33c14b4)
  • doctor: list every emitted check in the record schema (37ec14f)
  • doctor: move hopspace dirs under the hopspace's locks (fd35b36)
  • doctor: name repair --force-dirty for a dirty unrecorded worktree (0e567c2)
  • doctor: never count the default branch as merged into itself (3536894)
  • doctor: preview each state repair once under --dry-run (9e37dcd)
  • doctor: probe the data home itself, not <data>/git-hop (edf8a39)
  • doctor: remove only empty orphaned directories under hops/ (c0c37b3)
  • doctor: report a non-directory at a worktree path (bb49ede)
  • doctor: resolve absolute branch paths without doubling (e880da8)
  • doctor: respect gitignored vendor, downgrade stale symlink severity (9f80ad2)
  • doctor: suggest --fix only for issues it can repair (b16515f)
  • doctor: treat a missing config directory as healthy (28c23dd)
  • doctor: warn about a locked missing worktree instead of recreating it (c289db8)
  • env: allocate ports against every hub and keep a worktree's own (cc73fcf)
  • env: cache each hub's compose override in its own directory (9e77586)
  • env: collect compose override caches no worktree uses (c537ec1)
  • env: fail loudly on unanswerable gc confirmation prompt (e341836)
  • env: free a removed worktree's ports and volumes (225339c)
  • env: give each repository and hub its own volume directories (343704c)
  • env: hold back environment output under -q; never hide a failure (2608c43)
  • env: keep EnvManager on its injected filesystem (b012f29)
  • env: kill timed-out env hooks and stop their output at return (3803651)
  • env: read env results through the per-hub ports records (014f1f7)
  • env: report ports two worktrees hold (32615aa)
  • env: resolve absolute worktree paths before env gc scans them (3de25d3)
  • env: run each hub's environment as its own compose project (79775d0)
  • env: send add/clone auto-start output to stderr; quiet step lines (4d2dcf5)
  • env: send env start/stop progress to stderr (19bea72)
  • env: skip worktrees not on disk in env gc (c03972b)
  • events: report the resolved hopspace in worktree.switched (8f9b0ac)
  • filelock: retry when the lock dir goes between mkdir and open (5c903b1)
  • fork: accurate refusal hints; refuse --branch outside fork-attach (38b3efe)
  • fork: attach a second branch of an already-attached fork (5a814dc)
  • fork: pick only a worktree directory as the main repo (2f92506)
  • fork: resolve main-repo worktree paths against the hub (b2467fc)
  • fork: reuse worktrees an earlier attach left on re-attach (7ac1314)
  • git-hop: set upstream tracking when creating new worktree branches (7a17a7e)
  • git: correct argv shape for worktree add --track (3592044)
  • gitflow: finish targets the type parent, not the recorded base (d2fa02d)
  • gitflow: run git flow in worktrees, not the bare hub (a2832f2)
  • gitflow: run git-flow start/finish only when hop.gitflow.enabled (25e8cc5)
  • git: route every fetch through one helper with auto-maintenance off (56d82b8)
  • git: unbreak windows build of bounded network runner (d99c24e)
  • go: skip go mod vendor when vendor/ is gitignored (8b776b2)
  • hooks: end the install prompt line when stdin does not echo the answer (ac7ea6d)
  • hooks: give hook-mirror advice as hint: lines (c60c4f4)
  • hooks: mirror committed hooks under the hopspace's hop.json lock (11b7fd6)
  • hooks: resolve pre-clone at hopspace and global level only (c53c8fe)
  • hooks: route hook mirror warnings through the output package (6ede502)
  • hooks: stop hooks landing where a layout split moved them from (0ffe9cb)
  • hooks: warn clearly when the mirror prompt gets no answer (5aa4406)
  • hop: keep fs-taking code on the injected filesystem (0ddd8cc)
  • hop: read the hops registry through the injected filesystem (7bc27fd)
  • hop: serialise hop.json load-modify-save per hub (8e5f7dd)
  • hopspace: key shared hopspace records by worktree path (ae0818e)
  • hopspace: one configurable data-home layout for hopspace and hooks (3b005da)
  • hopspace: resolve by the hub's global marker, not by data-home presence (ec04ec0)
  • init: --force bypasses the clean check for bare conversion (f2e3a2f)
  • init: --no-hooks also skips lifecycle hook dispatch (1edd35f)
  • init: act on the repository when run from its linked worktree (789f618)
  • init: back-fill missing hop.json on idempotent re-init (#27) (ee260ba)
  • init: carry .git state beyond config into the bare hub (a8db8f5)
  • init: carry .git/config.worktree into the bare hub (6c0da09)
  • init: carry the repository's local config into the bare hub (d94c2d7)
  • init: classify repos by git's answer, not .git/worktrees presence (91aec4d)
  • init: dispatch post-worktree-add for the initial worktree (ebc9d77)
  • init: dry-run plan names the real branch and chosen layout (d06eab0)
  • init: fail loudly instead of hanging on unanswerable prompt (2786ccf)
  • init: fire post-worktree-add for the repo root on --regular (48620e1)
  • init: handle existing .github/ in source repo during conversion (T-0166) (a0156ab)
  • init: keep a legacy sparse checkout per-worktree in the bare hub (2e33409)
  • init: keep submodules working after a bare conversion (0901376)
  • init: keep the original remotes on a bare conversion (ed219b0)
  • init: keep the staged/unstaged split across init --force (7fb8a61)
  • init: leave a remote-less repo without origin after conversion (3f5b5fb)
  • init: list only dispatched hooks in hooks-dir message (ee74904)
  • init: make -n change nothing in every init mode (bc3aeac)
  • init: mark bare hub root as the repository in layout output (8a6b32f)
  • init: name converted worktree after branch, not commit SHA (e201709)
  • init: offer only hooks looked up in the created hooks dir (a301482)
  • init: preserve mode bits in restore-on-failure path (T-0166) (a020c2f)
  • init: publish worktree.created for the converted worktree (f69288a)
  • init: raise repository format version with extensions.worktreeConfig (5b6b90e)
  • init: record a register-as-is repository in state (49b5d09)
  • init: refuse a bare conversion while a git operation is in progress (96fcd1d)
  • init: refuse a detached HEAD before backing up (8e6a570)
  • init: register a hub adopted from an existing bare repository (f68d05d)
  • init: register the converted repo in state like clone (67cba6c)
  • init: repeat conversion flags in the dry run's closing hint (e04b7a4)
  • init: repeat the user's flags in every hint that reruns init (4117d5a)
  • init: report a preserved backup only while it exists (74f3abe)
  • init: restore --force moves the occupant aside, never deletes it (5177b51)
  • init: restore backups without a remote, to their original location (4b98ee2)
  • init: restore origin fetch refspec on adopted bare clones (cd524f9)
  • init: run post-conversion steps and hooks from the new hub (acf3e3f)
  • init: set up the initial worktree before post-worktree-add (9b56d49)
  • move: carry git-flow branch config to the new name (20f2e35)
  • move: check refusals before hooks; no git-flow start on rename (fd29373)
  • move: keep branch entry fields across rename (8f9b53b)
  • move: refuse an occupied destination; never delete what git worktree remove left (d8a99fd)
  • move: refuse target that exists as an unrelated local branch (7314fda)
  • output: bump result schema to 1.2 for status views; document add task field (2fbfad0)
  • output: colour only where stdout can show it; size columns on plain text (3caa837)
  • output: end the prompt line when stdin does not echo the answer (dc6443e)
  • output: keep errors under -q and warnings under --porcelain (5f9c851)
  • output: print init advice as hint: lines on stderr (0cff7bb)
  • output: print warnings with git's warning: prefix (fd92665)
  • output: put prompt text on stderr, not stdout (a383f61)
  • output: replace remaining glyphs with plain ASCII (301d670)
  • output: route raw stderr diagnostics through the output package (3dcd4f9)
  • output: route stdout warnings through output.Warn (c25fd77)
  • prune: drop a pruned --global hub's records from the shared hopspace (3dd0687)
  • prune: drop orphan hop.json rows, not just state.json (ef299ad)
  • prune: honor --dry-run flag (T-0175) (#24) (ee98684)
  • prune: hop.repair.backupRetention 0 turns repair-backup pruning off (606ac5b)
  • prune: keep a locked worktree's state entry and hop.json row (4e8dae5)
  • prune: scope to current repository by default (8d3b7f9)
  • prune: sweep temp files left by interrupted state.json and hop.json saves (f67850b)
  • remove,merge: refuse under -n the worktrees the real run keeps (5f61502)
  • remove,repair: name skipped branch once; record repaired worktrees in state (4b35fd2)
  • remove: count rebase-merged branches as merged (5876e2c)
  • remove: drop a removed --global hub's records from the shared hopspace (fc87ec9)
  • remove: drop a removed hub's hops registry entries (4310043)
  • remove: fail loudly on unanswerable confirmation prompt (84a0dbc)
  • remove: keep a data-home hopspace other hubs still use (51dfdaf)
  • remove: keep volume data when removing a hub; add --delete-volumes (190b31d)
  • remove: require --no-verify for dirty worktree regardless of merge state (97808b9)
  • remove: scope --no-verify help to dirty/unpushed, not whole gate (d95cffe)
  • remove: skip not-merged gate when git flow finish merges (e087c5e)
  • remove: stop unbounded origin probe hanging removal (6405edc)
  • remove: stop warning on already-absent worktree and branch (4a0f44f)
  • repair: honour --color=<when> (ed1620e)
  • repair: honour --progress and --no-progress (a224e36)
  • repair: keep --global hopspace and state in line with repaired rows (5be38f0)
  • repair: keep lock and backups out of the hub (119b315)
  • repair: record unlisted worktrees under git's branch (11f164d)
  • repair: refuse structured modes for --list-backups and --undo (8d0be40)
  • repair: restore missing remote.origin.fetch refspec on legacy hubs (896e960)
  • repair: route repair hooks through shared hook runner (85d6eac)
  • services: lock ports.json and volumes.json rewrites (ef0f1a1)
  • set upstream tracking on default branch worktree after clone (8dd6b0e)
  • shell: refresh worktree-roots cache on every mutation (651c06f)
  • shell: refresh worktree-roots cache on every mutation (1e51eea)
  • shell: resolve wrapper cd target through the binary (65cd197)
  • shell: resolve wrapper cd target through the binary (35414da)
  • shell: restore origin pane on handled chdir navigation (fc76bf4)
  • shell: restore origin pane on handled chdir navigation (1a847a1)
  • shell: write only hop.shellIntegration.* when recording shell integration (3d1bc35)
  • state: key repositories by origin host, not github.com (0a5d119)
  • state: record --global hubs as global (dbf24eb)
  • state: serialise state.json writers under a lock (ce9dff8)
  • status: accurate sync labels with dirty detail (4db2dd9)
  • status: detect unregistered hubs via git, not a config text match (e2316f0)
  • status: diagnose bare-worktree repo missing hop.json (#26) (284ca58)
  • status: report a worktree path held by a non-directory as Occupied (ec7e109)
  • switch: anchor worktree path on hub, not process cwd (8cb521a)
  • test: isolate test binaries from real user dirs (683fcdc)
  • tmux: make window identity collision-safe (40743aa)
  • tmux: make window identity collision-safe (fb74aa7)
  • trash: copy fallback keeps symlinks as symlinks (77daf78)
  • trash: remove read-only trees after copy; one folder per move (4ac74cd)

Code Refactoring

  • add: move start-point and agent-hint helpers out of add.go (df987cf)
  • adopt kit framework (#19) (16a9e2d)
  • cli: take --config from kit instead of a local flag (c46111d)
  • config: drop nine hop.* settings nothing ever read (1d85546)
  • config: drop the whole-config global writer (4e7561e)
  • config: drop unread settings.envPatterns and migrated (074489e)
  • config: remove bareRepo setting (87e8356)
  • config: remove unused SchemaConfig (b4e0ddd)
  • config: stop reading config.json; ignore -c/--config (cdb4bb5)
  • filelock: move FileLock into a shared package (7cfda23)
  • hop: drop unused WorktreeManager.RemoveWorktree (865fac5)
  • hop: move worktree presence helper into internal/hop (a868340)
  • hopspace: one path-keying rule for hop.json, ports and volumes (14a1e8a)
  • state: retire hops.json hub registry (cb206b4)

Documentation

  • add git hop repair to core commands table (516f65d)
  • add repo CONTRIBUTING, defer policy to org baseline (a6e0748)
  • add: document copy-ignored step and #-hop-# marker across user docs (6a96f2f)
  • apply intent-driven progressive disclosure principles (84d1b09)
  • claude: match ports, hopspace, flags, hooks and state to the code (1b414e8)
  • claude: rewrite CLAUDE.md with build/test, layout, architecture, porcelain conventions (71ba6ed)
  • cli: describe adopted bare hubs, optional cache home, as-is scope (4089b5c)
  • cli: regenerate global flags tables from root flag set (9df3e25)
  • clone: correct reference flags and exit codes (ece58c3)
  • commands: describe git hop <branch> as a switch; sync entries with --help (4d99ce2)
  • commands: document the reachable status values (b56da71)
  • commands: document the reachable status values (3846ac9)
  • concepts: drop private-toolchain specifics from hub-root state (4701877)
  • concepts: stop naming third-party tool dirs in hub layout (c98035f)
  • config: drop config.json and -c/--config as settings sources (f6a8717)
  • configuration.md key reference, both cheatsheets. (951e4ef)
  • core-concepts: document per-repo state dirs at hub root (#22) (ffc2968)
  • deps: describe per-entry links into the shared install (028b458)
  • doctor --help, error-recovery, cheatsheets. Golden regenerated. (b777e59)
  • doctor: list the broken managers.json check (b174d34)
  • doctor: structured-output reference states the exit rule (eb0af84)
  • drop GIT_HOP_CONFIG_HOME, GIT_HOP_CACHE_DIR, GIT_HOP_LOG_LEVEL (4cddbf5)
  • drop hop.json keys and flags the code never reads (c8e5488)
  • examples: add tmux window-per-worktree hook example (bdf526e)
  • fill gaps around prune, remove, doctor, and env gc cleanup (fb29bfb)
  • fix drift in ports, macOS paths, repair hook levels, broken-worktree FAQ (38f5fc7)
  • fix hook, clone, hub layout and port-conflict drift (08454f8)
  • github: add issue forms and PR template (dba2ce7)
  • hooks: align known limitations with current behaviour (720104d)
  • hooks: correct repair, pre-clone and init hook behaviour (d324a68)
  • hooks: document full lifecycle surface, fix drift (650b9e4)
  • hooks: reconcile macOS paths, repoID shape, hook-level tradeoffs (2657820)
  • install: point install at hop-top/git; drop unsafe go install (e9990a7)
  • non-interactive init in agent + human cheatsheets. (2786ccf)
  • output: document every result shape, checked against the schemas (c3a244b)
  • output: document structured output modes and result shapes (1539aac)
  • prune drops records only; never stops or removes containers (3ea4a62)
  • prune scope + flags, --dry-run in flag list, stale --force removed. (8d3b7f9)
  • readme: normalize project status (1919afb)
  • reference: exit-code tables list only 0/1/128/129/93 (5c7c8c4)
  • remove: say what remove leaves: environment, containers, networks (bd733bc)
  • repair: correct hook resolution and env for repair hooks (3474e4d)
  • repair: document git hop repair command (T-0209) (6b3e331)
  • repair: document the state-dir home for lock and backups (6e090cf)
  • repo IDs carry the origin host (2cf6b15)
  • state: describe path-keyed state, migration and state backups (3e68064)

This PR was generated with Release Please. See documentation.

@hop-top-release-bot
hop-top-release-bot Bot force-pushed the release-please--branches--main branch 2 times, most recently from 85b33e7 to 3a1cd91 Compare August 15, 2026 07:23
@hop-top-release-bot
hop-top-release-bot Bot force-pushed the release-please--branches--main branch from 3a1cd91 to e629735 Compare September 4, 2026 23:01
@hop-top-release-bot
hop-top-release-bot Bot force-pushed the release-please--branches--main branch 4 times, most recently from da54e4e to 8b29f86 Compare September 17, 2026 20:05
@hop-top-release-bot
hop-top-release-bot Bot force-pushed the release-please--branches--main branch 22 times, most recently from 05d2863 to 1650c90 Compare September 24, 2026 07:38
@hop-top-release-bot
hop-top-release-bot Bot force-pushed the release-please--branches--main branch 29 times, most recently from bba77a2 to f3dec42 Compare September 25, 2026 02:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants