release/0.21.0
getzep/graphitirelease/0.21.0Jul 6, 2026by krlvi
AI Summary
Introduces a new 'push to main' workflow and AI-powered conflict resolution, replacing the merge command with the land command and significantly improving TUI performance.
Key Highlights
- Support for 'push to main' and 'skip PR' workflows.
- Added AI conflict resolution for conflicted commits.
- CLI command changes: `but land` replaces `but merge`.
- Significantly improved TUI performance for large diffs.
Breaking Changes
- Removal of `but merge` command (use `but land --yes` instead)
New Features
- AI conflict resolution for commits
- GitLab merge request application support
Full Release Notes
## Support for "push to main" / "skip the pull request" workflows You can now land a branch straight onto its target eg. `origin/main`, without ever opening a pull/merge request. In the desktop app this is enabled in the project settings (Git stuff) or during project setup. In the CLI this is done with `but land <branch>`. ## Changes - Added a feature for resolving conflicted commits with AI (right click option) if AI is enabled for the project - You can now apply to the workspace GitLab merge requests, including merge requests from forks ## Fixes - Fixes an issue where undoing a change could leave spurious uncommitted changes behind - Fixes an issue where stacking one branch onto another could fail with an "Invalid parent delimitation" - Fixes an issue where the upstream integration modal could break while branch data was being refreshed - You can now scroll the list of steps in the upstream integration modal - Fixes a GitHub-specific issue where pull requests from forks could use the wrong SSH URL - Fixes an issue where a checkout could remove a directory when a file was expected in its place ## CLI - `but land <branch>` lands an applied branch directly onto its target, skipping the pull request - `but merge` has been removed — `but land <branch> --yes` now covers it - `but commit` and `but amend` now report which branch and commit each rejected change depends on - `but resolve <commit>` now has an `--ai` flag for auto-resolving conflicted commits ## TUI - Significantly improved performance with navigating large diffs - The detail view now shows diff stats - Arrow keys now work the same as `hjkl` - Commit details now show the change ID - Adds a jump mode for quickly moving around the interface **Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.20.4...release/0.21.0 ## Downloads Download bins from https://gitbutler.com/