release/0.22.2
gitbutlerapp/gitbutlerrelease/0.22.2Aug 28, 2026by krlvi
AI Summary
A substantial update introducing new TUI capabilities for branch management and a refactored CLI, alongside numerous fixes for pull request handling and workspace synchronization.
Key Highlights
- Introduced a new branch mode in the TUI allowing users to discard, create, search, and move branches directly within the interface.
- Refactored CLI commands, renaming `but diff --tui` to `but tui --diff` and removing deprecated commands like `but diff --no-tui`.
- Fixed multiple issues regarding GitHub and GitLab pull request loading, non-UTF-8 file conflicts, and slow fetch/push operations.
- Workspace updates now fast-forward local target branches when their remote branches advance.
Breaking Changes
- Renamed `but diff --tui` to `but tui --diff`.
- Removed `but diff --no-tui` and `but config ui` commands.
New Features
- TUI branch mode with support for discarding, creating, searching, and moving branches.
- CLI aliases `c`, `m`, and `s` for `commit`, `move`, and `squash`.
Full Release Notes
## Changes - Updating the workspace now fast-forwards a local target branch like `main` after its remote branch advances ## Fixes - GitHub repositories with 100 or more open pull requests now refresh correctly as pull request activity changes - GitLab: An open merge request with no head commit no longer breaks merge request loading - Edit mode no longer crashes on conflicts in non-UTF-8 files or treats those conflicts as resolved - Workspace syncs no longer fail when a remote the workspace does not use cannot be fetched - Uncommitted changes now load correctly when staged and unstaged changes overlap - Slow fetch, push, and clone operations are no longer cancelled after two minutes - Pull request and merge request information stays visible when GitHub, GitLab, or Bitbucket credentials are missing or a refresh fails due to a network error - Onboarding no longer gets stuck when no Git identity is configured - Restoring operation history now keeps the full stack when duplicate branch names exist across stacks - Unapplying a stack no longer fails when its branch names also exist in another stack - Updating a branch from upstream no longer fails with "BUG: Add edge introduces a cycle" after a local upstream merge - Pull requests are no longer shown as "not mergeable" while merge status is still loading or temporarily unavailable ## CLI - `but diff --tui` is now `but tui --diff` - `but diff --no-tui` and `but config ui` have been removed ## TUI - Press `b` in the TUI to enter branch mode, where branches can now be discarded - You can now create a new branch and switch to it, including positioning it above or below another branch - Adds branch search, so you can find an existing branch and switch to it - Commits can now be moved to a new branch ## New Contributors * @macgyver13 made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/15611 **Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.22.1...release/0.22.2 ## Downloads Download bins from https://gitbutler.com/