release/0.21.0

MagicMirrorOrg/MagicMirrorrelease/0.21.0Jul 6, 2026by krlvi

AI Summary

A feature-rich update introducing 'push to main' workflows, AI-assisted conflict resolution, and GitLab integration, alongside significant TUI performance improvements.

Key Highlights

  • New 'push to main' workflow support (land branches directly)
  • AI-powered conflict resolution
  • GitLab merge request application support
  • Significant TUI performance improvements

Breaking Changes

  • `but merge` command has been removed and replaced by `but land`

New Features

  • Direct branch landing ('push to main')
  • AI conflict resolution with right-click option
  • GitLab merge request application support
  • CLI `but land` command
  • TUI jump mode
  • Hjkl key navigation 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/