release/0.19.7

abi/screenshot-to-coderelease/0.19.7Apr 2, 2026by krlvi

AI Summary

Introduces a new Terminal User Interface (TUI), significant improvements to Agentic use, and fixes for concurrent commits, submodule handling, and diff rendering performance.

Key Highlights

  • New Terminal User Interface (TUI) with keybindings.
  • Significant improvements to Agentic use.
  • Improved submodule support for GitButler projects.
  • Improved diff rendering performance with large files.

Breaking Changes

  • Renamed `but branch tear-off <branch>` to `but branch move --unstack <branch>`.

New Features

  • Terminal User Interface (TUI)
  • New `but clean` command
  • Unified `but move` command
  • Improved submodule support

Full Release Notes

## TUI
GitButler now has a terminal UI (in addition to the CLI)!
If you love keybindings, try it out with the `but tui` command and feel free to share any feedback in `#tui` on Discord.

<img width="2946" height="1932" alt="image" src="https://github.com/user-attachments/assets/49668e0c-4f05-4b09-8f83-a5e688ba6367" />

## Changes
- Improved performance when exiting edit mode
- Assigning / staging changes to branches is no longer constrained by commit dependencies
- Improved file selection behavior with when using the tree view
- Improved submodule support: it is now possible to add submodules as GitButler projects
- Improved diff rendering performance with large files
- Fixes a bug where in some cases the app could stop updating state from file changes
- Fixes an issue where oplog revert did not handle branches with no commits
- Fixes an issue where moving a branch to another stack was erroneously changing the stack order
- Fixes an issue with the absorb functionality where some changes were not being committed

## CLI
- Significant improvements to Agentic use (update your SKILL file with `but skill install`)
- Fixes an issue where concurrent commits would cause a "Database locked" error
- Fixes an issue where `but amend` and `but absorb` were breaking pre-push hooks
- Renamed `but branch tear-off <branch>` to `but branch move --unstack <branch>`
- Added `but clean` which removes empty branches in the workspace
- `but move` now unifies moving of commits and branches (including stacking/unstacking)
- `but uncommit` now has a `--discard` flag which drops the content in addition to uncommitting

## New Contributors
* @DanielEScherzer made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/12891
* @ichoosetoaccept made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/12886

**Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.19.6...release/0.19.7

## Downloads
Download bins from https://gitbutler.com/