release/0.21.1
thedevs-network/kuttrelease/0.21.1Jul 21, 2026by krlvi
AI Summary
Adds Bitbucket Cloud support and improves commit identification using Change IDs, while enhancing the TUI and CLI with conflict resolution and agent detection features.
Key Highlights
- Bitbucket Cloud as a first-class forge
- Commit identification by Change ID
- Auto-detection of AI coding agents
- Actionable details view in the TUI
New Features
- Bitbucket pull request support
- New `but config push-remote` command
- TUI search within help view
Full Release Notes
## Changes - Adds Bitbucket Cloud as a first-class forge — create, update, merge, and track pull requests with CI status, right in the app - The header project selector now groups projects by recency - You can now find a pull request in the branches list by branch name or number - Commit details now show the change ID next to the commit SHA - C/C++ header files now show the correct language icon ## TUI - The details view is now actionable — mark, discard, commit, and move changes right from it, including individual hunks and committed files - You can now search within the help view - Press `y` to copy a commit's change ID - You can now manually reload from the details view - Fixes an issue where commands run from command mode did not execute in the active project's directory ## CLI - Adds Bitbucket Cloud support to `but` — create, update, and merge pull requests, plus CI check status - `but status` and mutation commands (`commit`, `reword`, and more) now identify commits by their change ID — GitButler's stable ID that survives rebases — rather than the commit SHA - `but` now auto-detects more AI coding agents (including Pi and Poolside) and tailors its output for them by default - `but pull`, `but resolve`, and `but status` now walk you through resolving conflicts, listing each conflicted commit and how to fix it - `but commit` now explains failures caused by conflicting commit dependencies, naming the branch that owns them - Adds `but config push-remote [remote]` to view or set the fork remote your branches push to, independent of the target branch - `but uncommit` can now uncommit files from multiple commits or branches in one operation - `but absorb` now errors on an invalid source instead of silently absorbing all changes - Fixes an issue where `but commit` in a linked Git worktree suggested GitButler setup instead of reporting that linked worktrees are unsupported - New branches now appear at the top of the branch list instead of the bottom ## Fixes - Fixes an issue where dismissing the update banner stopped it from reappearing on a manual update check - Fixes an issue where conflicted (unmerged) files in the working directory could cause operations to fail - Fixes an issue where unapplying a stack could show a spurious "branch not found" error and leave the branch showing in the workspace - Fixes an issue where undoing a commit deletion could fail when an uncommitted change touched the same file - Fixes an issue where a repeated branch name in a stack could show a phantom "(no commits)" branch head - Fixes a Windows-specific issue with handling deep links ## New Contributors * @arthurzam made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14465 * @sidfishus made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14633 * @reneleonhardt made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14796 **Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.21.0...release/0.21.1 ## Downloads Download bins from https://gitbutler.com/