release/0.21.1
getzep/graphitirelease/0.21.1Jul 21, 2026by krlvi
AI Summary
Adds Bitbucket Cloud support as a first-class forge, enhances the TUI with actionable details views, and improves CLI commands by using Change IDs for better stability during rebases.
Key Highlights
- Bitbucket Cloud as a first-class forge
- Actionable TUI details view for commits
- CLI commands using Change IDs instead of SHAs
- Improved conflict resolution in CLI
New Features
- Bitbucket Cloud integration
- Actionable TUI details (mark/discard/commit)
- Change ID identification for commits
- AI coding agent auto-detection
- Conflict resolution walkthrough
- Uncommit from multiple branches
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/