release/0.20.4
mkturkcan/DARTrelease/0.20.4Jun 26, 2026by krlvi
AI Summary
This release introduces a new interactive wizard for agent setup, improves performance for multi-committing and PR stacking, and adds various UI and CLI enhancements including font size settings, stack reordering in the TUI, and improved scroll keybindings.
Key Highlights
- New `but agent setup` command for interactive agent tuning.
- Improved token efficiency for multi-committing, amending, and splitting.
- New font size setting for diff views.
- Enhanced TUI with stack reordering, multiple commit selection, and improved scrolling.
Breaking Changes
- Removed `but mark` and `but unmark` commands.
New Features
- `but amend` accepts `--changes` to amend specific changes.
- `but commit` accepts a message when creating an empty commit.
- `but uncommit` supports a diff output option.
- `but status` now shows stacked branches that have been merged upstream.
- `but completions` command added to help output.
- TUI copy functionality (`shift+y`) for commit details, diff hunks, and branch names.
- TUI allows reordering stacks and committing above or below selected commits.
Full Release Notes
## Agentic Use There is now a new command `but agent setup` which makes the overall setup easier. It is an interactive wizard for tuning version control behavior (similar to https://docs.gitbutler.com/ai-agents/tuning-agent-behavior but easier to setup). Running this is a good idea for best performance. - Multi-committing, amending and splitting of commits now complete quicker and use less tokens - Improved PR stacking workflows ## Changes - There is now a "Font size" setting for the diff views (Settings → Appearance) ## CLI - `but amend` now accepts `--changes` to amend specific changes into a commit - You can now provide a message when creating an empty commit with `but commit` - `but uncommit` now supports a diff output option to print the resulting changes - `but status` now shows stacked branches that have been merged upstream - Hunk IDs are now stable across commits and discards - `but completions` now appears in the help output, making it discoverable when you grab the `but` binary without an installer - `but` output now labels "unassigned changes" as "uncommitted" - Fixes a bug where `but apply` could report success while leaving a branch unapplied when workspace metadata was stale - Removed the `but mark` and `but unmark` commands - Improved error messages when `stdin` isn't a terminal ## TUI - You can now reorder stacks in the TUI - You can now apply branches from the TUI - You can now move multiple commits at once in the TUI - You can now commit above or below the selected commit in the TUI - You can now copy more things in the TUI — commit details, diff hunks, branch names and more — with `shift+y` - Improved scroll keybindings: `j`/`k`/arrows move by line, `ctrl+d`/`ctrl+u` jump by 10 lines, and `shift+j`/`shift+k` jump by section - Unapplying a branch and undoing no longer prompt for confirmation in the TUI, since both can be undone ## Fixes - Fixes a bug where moving empty branches did not work correctly - Fixes a bug where commit-message and branch-name generation failed for non-OpenAI providers (Anthropic, Ollama, and others) - Fixes an issue where commit signing failed when `gpg.ssh.program` pointed at a path containing a tilde (`~`) - Fixes an issue where being offline produced repeated error toasts from background pull-request polling - Fixes an issue where updating the workspace was not handling squash-merge integrated branches properly ## New Contributors * @ameyypawar made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14245 * @tobeycodes made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14348 **Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.20.3...release/0.20.4 ## Downloads Download bins from https://gitbutler.com/