release/0.19.7

coleam00/Archonrelease/0.19.7Apr 2, 2026by krlvi

AI Summary

Introduces a Terminal User Interface (TUI) for GitButler, enhances CLI capabilities for branch management, and improves performance and submodule support.

Key Highlights

  • New TUI command (`but tui`) with keybindings for terminal interaction
  • CLI unification: `but move` now handles both commits and branches
  • Improved submodule support allowing submodules to be added as GitButler projects
  • Fixed concurrent commits causing 'Database locked' errors

Breaking Changes

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

New Features

  • Terminal UI (TUI) support
  • New `but clean` command for removing empty branches
  • Unified `but move` command for commits and branches
  • New `--discard` flag for `but uncommit`

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/