Skip to content

Releases: gitbutlerapp/gitbutler

release/0.19.7

02 Apr 22:36
dc1ef0b

Choose a tag to compare

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.

image

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

Full Changelog: release/0.19.6...release/0.19.7

Downloads

Download bins from https://gitbutler.com/

release/0.19.6

16 Mar 12:02
ef2fb1e

Choose a tag to compare

Changes

  • File previews now only show the selected file by default (change in Settings -> Appearance -> All-in-one diff)
  • File diffs can now be popped out in a floating window
  • Adds a option to preview SVGs as images (Settings -> Appearance -> Preview SVG)
  • Improved rendering performance of diffs
  • Fixes an issue with image diffing when switching between files
  • Fixes an issue with the operations history where "unapply" stack was not being correctly tracked

CLI

  • Updated but skill files for improved Claude Code and Codex performance (update with but skill install)
  • but stack - new command for moving branches on top of others to stack them (also but branch move as an alias to the same functionality)
  • Fixes an issue "askpass broker not initialized"

New Contributors

Full Changelog: release/0.19.5...release/0.19.6

Downloads

Download bins from https://gitbutler.com/

release/0.19.5

03 Mar 17:02
8f356ed

Choose a tag to compare

What's Changed

  • Improve list scrolling speed
  • but: Uncommitted hunks can now be addressed by their index (e.g but rub <file>:0 <branch|commit>)
  • Fixes an issue with but update install which was failing due to missing bin
  • Fixes a UI bug where in some situations the interface would freeze up after clicking on commits

Full Changelog: release/0.19.4...release/0.19.5

Downloads

Download bins from https://gitbutler.com/

release/0.19.4

03 Mar 07:00
ab62c91

Choose a tag to compare

Changes

  • Conflicted commits: It is now a lot less confusing if a commit in conflicted state is ever checked out or pushed
  • Conflict markers generated by the app are now more clear
  • Adds support for converting PRs to/from "draft" PRs
  • Operations log: auto commit operations are now shown in the oplog
  • Husky hooks now need to be explicitly enabled on per-project basis in the settings
  • Claude Code UI: fixes an issue where in some cases tool call was slow
  • Minor performance improvements when producing diffs
  • Fixes an issue where in some cases the live file watching was not working
  • Fixes a number of scrolling issues
  • Fixes an issue with restoring from a snapshot where the reload could cause double revert
  • Fixes an issue where removing a project was leading to a 'project not found' screen
  • Fixes an issue where in some cases in-progress commit message title is lost when to/from floating mode

CLI

  • but pr Added subcommands auto-merge, set-draft and set-ready
  • but branch Fixed and issue where the branch name in some case was being truncated
  • but branch Adds flag --empty for showing branches with no commits and remote
  • but now comes with a simple built in editor (If no core.editor is set in git config)
  • It is now possible to use path prefixes to refer to multiple files for mutations like rub, amend and more
  • Improved handling of user input prompts
  • Output from commands (eg. status) now uses a (configurable) pager
  • It is now possible to create PRs from forks
  • Fixes an issue where commit tittles were naively truncated
  • Fixes a bug where committing a renamed file only committed the "new" path

New Contributors

Full Changelog: release/0.19.3...release/0.19.4

Downloads

Download bins from https://gitbutler.com/

release/0.19.3

19 Feb 17:06
449512d

Choose a tag to compare

Linux CLI 🐧

It is now possible to install the GitButler CLI via the installer script at https://gitbutler.com/cli

Changes

  • Improved app performance - the file watcher is now able to completely avoid subscribing to ignored files
  • Adds a menu bar option to open the project in the terminal (under "Project")
  • Exiting edit mode now warns about uncommitted changes
  • Fixes a Linux specific issue with showing files in the file manager
  • Fixes an issue where in some case pushing stacked branches displays an incorrect graph
  • Fixes a bug preventing the creation of branches from a specific commit
  • Fixes a bug where symlinks in the repo mess with the status output
  • Fixes an issue with scrollbars not functioning right in small popups

CLI

  • but status simplified "base" information in the output
  • but status IDs are now bold and no longer underlined
  • but pr new is now more Markdown friendly
  • Improved handling of [Y/n] prompts
  • Fixes an issue where Ctrl/Cmd+C is not handled correctly in interactive prompts

New Contributors

Full Changelog: release/0.19.2...release/0.19.3

Downloads

Download bins from https://gitbutler.com/

release/0.19.2

16 Feb 10:11
e418fb9

Choose a tag to compare

What's Changed

  • but status - IDs for uncommitted files are now more stable (not changing between mutations)
  • but pick - It is now possible to select multiple commits to be cherry picked
  • but resolve - Fixes an issue preventing resolving of conflicts
  • but skill install - The interactive mode now offers global install as well
  • but absorb - Fixes an issue where an incorrect file count is shown

New Contributors

Full Changelog: release/0.19.1...release/0.19.2

Downloads

Download bins from https://gitbutler.com/

release/0.19.1

08 Feb 19:22

Choose a tag to compare

Changes

  • Added a settings toggle for previewing only one file at a time (appearance settings)
  • The GitLab integration now supports multiple accounts
  • Fixes an issue where stacked PR footers were not being correctly maintained
  • Fixed scroll jitter and lag when expanding items in diff lists and when scrolling quickly
  • Fixed an issue where newly created branches could be incorrectly associated with stale remote tracking branches

CLI Changes

  • but diff now has a --tui option for interactive diff viewer (set it as default via but config ui)
  • but pr new now checks auth upfront instead after message composition
  • Fixes an issue where but rub treated files with dashes as ranges
  • Most mutations commands like rub, move, amend now have --status-after flag
  • You can now configure GitLab accounts via but config
  • Improved Agents SKILL.md file - update it with but skill check --update

New Contributors

Full Changelog: release/0.19.0...release/0.19.1

Downloads

Download bins from https://gitbutler.com/

release/0.19.0

05 Feb 14:54
3666d2e

Choose a tag to compare

Announcing the GitButler CLI

Changes

  • Adds an "auto-commit" right click option on uncommitted files
  • It is now possible to drag changes to start a commit
  • Improved diff rendering and layout
  • Fixes an issue (again) with Cmd+A for selecting text in input fields

CLI changes

  • but pick - allows for cherry picking from branches not in the workspace
  • but status - fixes an issue where in some cases PR and CI data was not being shown
  • but rub - improved docs covering all possible combinations
  • but absorb - now has --new flag which will create new commits above the dependency commits
  • but commit - the --file flag was renamed to --message-file and --files was renamed to --changes
  • but branch unapply is now but unapply
  • but branch apply is now but apply

Full Changelog: release/0.18.8...release/0.19.0

Downloads

Download bins from https://gitbutler.com/

release/0.18.8

03 Feb 15:11
e116bf4

Choose a tag to compare

Changes

  • Updated diff view file diff previews are now in a continuous scrollable list rather than a drawer
  • Updated the "assign" terminology to "stage" throughout the app
  • The app now menages a special pre-commit hook to prevent commits outside of GitButler when using the GitButler workspace branch
  • LM Studio support - you can now use LM Studio as a local LLM provider for AI-powered features, in addition to existing Ollama and cloud options
  • The CLI can now authenticate via deeplink URLs, streamlining the login flow when connecting to your GitButler account.

Fixes

  • Cmd/Ctrl+A now correctly selects all text in input fields instead of triggering other shortcuts
  • Fixed duplicate "absorb" item appearing in context menus
  • Fixed auto-scroll regression in virtual lists
  • Fixed dropzone deactivation when dragging files

CLI changes

  • but commit now supports a --files option to commit specific files or hunks by their CLI IDs without staging first.
  • but commit now supports an --ai flag to generate commit messages.
  • but new has been replaced with but commit empty for inserting blank commits with explicit --before or --after flags.
  • but squash now accepts commit ranges, branch names, and comma-separated lists
  • but squash now supports an --ai flag to generate consolidated commit messages
  • but move is a new command for moving commits between positions in a stack, across stacks, or moving individual committed files between commits.
  • but update install command added to update the CLI directly from the command line with optional version selection: but update install [nightly|release|<version>] (MacOS only)
  • but skill install command added to install GitButler CLI documentation for AI coding assistants

Full Changelog: release/0.18.7...release/0.18.8

Downloads

Download bins from https://gitbutler.com/

release/0.18.7

23 Jan 17:49
23ca8d2

Choose a tag to compare

Changes

  • Uncommitted changes can now be "absorbed" into the top-most or the commits they have a dependency on. Right click on changes -> "Absorb" will present a summary of operations first.
  • Fixes an issue in reading very old projects resulting in a "ChangeId variant is no longer supported" error
  • Fixes an Windows issue where locked files don't show up as uncommitted in status output

CLI changes

  • but config for setting up various aspects of the app
  • but commit now executes relevant hooks if present and includes a --no-hooks flag

Full Changelog: release/0.18.6...release/0.18.7

Downloads

Download bins from https://gitbutler.com/