v0.115.0
0.115.0 (2026-03-30)
This release has major improvement in two areas:
- Stacked branches: Added
arb extract, a new command for splitting a workspace's commit history into stacked branches. Base branches now track live local state when available, allowing smoother sharing between stacked branches. - Undo operations: Added
arb undo, a comprehensive operation recovery system that lets developers reverse completed sync operations. It supports most mutation commands such asrebase,merge,reset,retarget,branch rename, and evenextract.
Apart from these, the release contains a lot of polish and hardening, plus the removal of the arb diff command as it didn't meet the bar for coordination value over plain git diff.
Features
- create: allow --branch without value for interactive branch picker (619268b)
- diff: remove arb diff command (b26c0c2)
- extract: add --continue and --abort lifecycle (744496d)
- extract: add --from-merge for post-merge continuation (5aa19c4)
- extract: add --verbose mode showing per-commit details in the plan (1ccc38f)
- extract: add assessment types, classifier, and split-point parsing (9b7780e)
- extract: add command with plan output (dry-run only) (e0a6586)
- extract: add interactive split-point selection (2ef4b2c)
- extract: enforce merge-point floor and remove --after-merge (1876184)
- extract: implement prefix extraction (--to) (6a7945a)
- extract: implement suffix extraction (--from) (fee0ec2)
- pull: add operation tracking, continue, and undo for pull (40d1a0c)
- push: allow --force to override behind-remote skip (db78866)
- rebase: add operation tracking, continue, and undo for rebase and merge (af016ac)
- rebase: reset fully-merged branches to base instead of skipping (18b5d72)
- rebase: show file-level conflict predictions in --verbose mode (f0119a7)
- rename: add operation tracking and undo for workspace rename (f5de568)
- render: display local base resolution in status output (44ea6d2)
- reset: add operation tracking and undo for reset (6de0188)
- retarget: add operation tracking, continue, undo, and fix stale config on conflict (ea2434a)
- retarget: walk stack chain to find nearest non-merged ancestor (3bb4182)
- status: add resolvedVia and sourceWorkspace to base status model (2d7558d)
- status: resolve base against local ref for workspace branches (1a1609e)
- status: show "merged, N ahead" for rebase-merged branches with new commits (37b1471)
- status: show operation banner and updated conflict guidance (373a222)
- sync: support locally-resolved base branches in sync commands (f43b626)
- undo: add --continue and --abort flags, block bare command during in-progress (bdc2ddb)
- undo: add --verbose flag to arb undo (45e0d27)
- undo: add operation record system and arb undo command (39111b7)
- undo: add selective per-repo undo with [repos...] argument (e6eafdc)
- undo: auto-complete resolved operations at the gate (e9f69a5)
- undo: preserve operation records and add debug metadata (2417d65)
- undo: repurpose --force to override drift, add --discard for corruption (84cf536)
- undo: show commit and file change summary in undo plan (c5f24fb)
- undo: show undo in basic help output (4e5dee6)
Bug Fixes
- extract: fix silent errors and SHA resolution bugs (a709f59)
- extract: improve execution and undo output (a857c85)
- extract: improve plan text clarity (a56ebeb)
- help: add missing examples and normalize option ordering (ce81b90)
- main: remove retarget from basic help (83a7cea)
- rebase: consolidate conflict recovery guidance into single clear block (6be535d)
- rebase: detect autostash pop conflicts and improve continue messaging (338b16e)
- rename: arb undo after arb rename reverses directory + branches (3c1b51c)
- render: use "from base" instead of literal branch name in status (6ac0c34)
- render: use 1-space gap between last commit number and unit (1da75b7)
- shell: add missing --continue/--abort completions and fix zsh empty-array error (e8a8658)
- status: detect rebase-merged branches via replay plan (5b1a7db)
- status: highlight "N to push" with attention for merged branches (2ece1e8)
- status: move "merged" and PR number from SHARE to BASE column (194a0ae)
- test: set core.editor=true for git rebase --continue in CI (cb41125)
- undo: add preHead guards, push gate, and write validation (2723fc4)
- undo: detect directory and branch collisions before undo (b598de9)
- undo: harden operation system for trustworthiness (842c4b5)
- undo: reconcile manually-continued repos before assessment (597708b)
- undo: reject invalid --continue/--abort flag combinations (eec1af2)
- undo: report stash restore failure and fix onComplete ordering (74f818b)
- undo: type-safe records, tracking restore, unexpected op detection (1f68ab5)
- undo: update all guidance messages to reference --continue/--abort (8cddad6)
- undo: use clearer language in undo plan display (981373d)
- watch: exit on terminal close instead of leaving ghost processes (8622867)
- watch: refresh on attach, show all repos in commands, detect commits (7f1f9c9)