github kunchenguid/treehouse v3.0.0

3 hours ago

3.0.0 (2026-09-25)

⚠ BREAKING CHANGES

  • cmd: treehouse return now exits 3, not 0, when it leaves a dirty worktree in place, and treehouse get does the same when its subshell exits leaving one dirty. Callers that read exit 0 as "the slot was released" were reading the bug this fixes; scripts under set -e, or using treehouse return "$p" && next-step, will now stop or branch differently at a dirty abort. Pass --force to clean and return, or treat exit 3 as "not returned".

Features

  • add Nix package manager install support (#113) (4307a30)
  • add opt-in branch creation to treehouse get (#150) (e4f59d1)
  • add per-acquisition file seeding manifests (#131) (67c9f2f)
  • cmd: report checked-out branches in status (#134) (ee8652b)
  • cmd: return a worktree by name and add return --all (#143) (99f4db2)
  • fileclone: add opt-in APFS sharing for fresh Git worktrees (#153) (438e9c1)
  • pool: add lease command to durably lease an existing worktree (#128) (b227e59)
  • pool: make where a new pool worktree is placed configurable (#140) (6d33753)
  • pool: opt-in unique worktree directory names for get (#126) (cee9ea1)
  • pool: seed ignored files from .worktreeinclude (#129) (0e87c62)
  • pool: support configurable base branch for get (#119) (c98e9de)

Bug Fixes

  • cmd: exit non-zero when a dirty worktree is not returned (#138) (e57daab)
  • cmd: paste-safe dirty non-TTY return --force hints (#122) (59762c9)
  • config: warn when repository hooks are ignored (#141) (8e3ceff)
  • pin nix-build to flake-locked nixpkgs and extract package.nix (#135) (30723fc)
  • pool: let prune and destroy reclaim worktrees from other clones in a shared pool (#146) (94c092f)
  • pool: report only the processes return would terminate in status (#139) (af57b33)
  • pool: reuse a pooled worktree only for the clone that owns it (#145) (1185dc6)
  • shell: start supported user shells as interactive login sessions (#120) (db06078)
  • updater: replace a running Windows exe without a fixed .old backup (#121) (bdbd0f8)

Don't miss a new treehouse release

NewReleases is sending notifications on new releases.