release/0.21.0

leaningtech/webvmrelease/0.21.0Jul 6, 2026by krlvi

AI Summary

This release introduces a streamlined 'push to main' workflow allowing direct branch landing without pull requests, alongside enhanced AI conflict resolution and GitLab merge request support. It also brings significant performance improvements to the terminal user interface (TUI) and resolves several bugs related to undo operations and branch stacking.

Key Highlights

  • New 'but land' command enables direct branch landing to targets like main without opening PRs.
  • AI-powered conflict resolution is now available via a right-click option.
  • Support for GitLab merge requests, including those from forks, is now available.
  • Significant TUI performance improvements and support for hjkl navigation.

Breaking Changes

  • The CLI command `but merge` has been removed; use `but land <branch> --yes` instead.

New Features

  • 'Push to main' / 'Skip PR' workflows (Desktop & CLI).
  • AI conflict resolution for conflicted commits.
  • GitLab merge request support (including forks).
  • TUI jump mode for faster interface navigation.
  • Diff stats displayed in the detail view.

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/