Skip to content

Releases: gitbutlerapp/gitbutler

release/0.19.13

19 May 14:34
bcc96af

Choose a tag to compare

Changes & Fixes

  • Fixes a Windows-specific regression from 0.19.12 where the app was not being correctly signed, causing friction with Windows Defender
  • Fixes an issue where undoing a new branch creation with the operations log was not working.
  • Adds an option to set ptyxis as the default terminal

TUI

  • Adds the ability to directly commit into a new branch (bound to b)

CLI

  • Fixes an issue where but commit empty --json would not print anything.

New Contributors

Full Changelog: release/0.19.12...release/0.19.13

Downloads

Download bins from https://gitbutler.com/

release/0.19.12

15 May 22:01
fb5240e

Choose a tag to compare

What's Changed

  • Fixes a bug where the app can unexpectedly navigate to the "Configure your workspace" view

Full Changelog: release/0.19.11...release/0.19.12

Downloads

Download bins from https://gitbutler.com/

release/0.19.11

15 May 12:08
30b4b21

Choose a tag to compare

Fixes

  • Fixes a regression from 0.19.10 where updating the workspace would fail with "Branches are all up to date" error
  • Fixes an issue where the AI commit message generation was disabled desptie being enabled in the settings
  • Fixes an issue with stacked PRs where after pushing structural changes the PR base remained stale
  • Fixes an issue where failing to unapply a branch would leave the UI in a stuck state
  • Fixes a Windows-specific issue with "Open in Editor" when running the app from WSL
  • The app now correctly handles shallow clones
  • Fixes the "but-graph inconsistent with the commit graph" issue when performing actions in the app
  • Fixes an issue where creating a branch with a "#" symbol would have the hashtag filtered out

CLI

  • Repeated "undo" operations now work as expected (undoing further back in history)
  • but reword --json now correctly produces the relevant JSON output
  • but redo - new command for re-apply undone operations
  • but oplog list now displays more useful descriptions of past operations
  • but teardown now supports --checkout-to override to specify the branch to checkout

TUI

  • The TUI now updates on filesystem changes
  • Repeated "undo" operations now work as expected (undoing further back in history)
  • Added "redo" operation to re-apply undone operations
  • Fixes a navigation bug while in move mode

New Contributors

Full Changelog: release/0.19.10...release/0.19.11

Downloads

Download bins from https://gitbutler.com/

release/0.19.10

08 May 10:50
23d8af3

Choose a tag to compare

Security

This and the last few releases include important security fixes. Please update to 0.19.9 or newer.

Changes

  • Applying of branches no longer performs an unnecessary rebase
  • Adds support for multi-commit selection and operations (e.g. move, squash etc)
  • Adds support for SHA-256 repositories
  • Amending of commits now shows a modal if there were rejected changes (e.g. due to conflicts)
  • Removes the "split branch" options from the UI (it will be back, better)

Fixes

  • Fixes an issue where typing a commit message could cause the cursor to jump to the start of the line
  • Fixes an issue with parsing of certain git config files
  • Fixes a bug where unapplying a branch could cause uncommitted changes to appear as untracked changes
  • Fixes a bug where in some cases amending a commit could cause uncommitted deletions to disappear
  • Fixes an issue with updating the workspace resulting in an error "The new head names do not match the current heads"
  • Fixes an issue where the app would fail if the remote has a branch named "head"
  • Fixes a bug where after deleting a project an error "Asynchronous operation failed" would appear

TUI

  • Adds a help modal with an overview of key binds (press ? in the TUI)
  • Added experimental light theme (set EXPERIMENTAL_BUT_LIGHT_THEME=1)
  • Adds support for operating on multiple commits at once (e.g. move, squash etc)
  • Adds an "undo" action for undoing the last operation (press u)
  • When squashing multiple commits you can now choose how to combine the commit messages
  • Improved "back" behavior when pressing Esc
  • Fixes a bug where the file list was auto-closing after performing a rub action

CLI

  • Improved color consistency (e.g. but diff / show / commit etc)
  • but move now supports moving multiple commits at once
  • but apply now resolves short branch names
  • but absorb now removes --new (it will be back, better)
  • but mcp no longer has the --internal flag
  • but push --run-hooks is now replaced with --no-hooks for disabling
  • but undo now correctly restores to the latest snapshot
  • but branch move has been removed in favor of but move
  • removed the implicit "rub" action (e.g. running but <id> <id> as an equivalent to but rub <id> <id>)
  • fixes an issue where but discard could fail on multi-hunk changes
  • fixes an issue where but discard could fail to discard renaming of files
  • fixes an issue where but rub to amend a file could fail to restore a previously deleted file

New Contributors

Full Changelog: release/0.19.9...release/0.19.10

Downloads

Download bins from https://gitbutler.com/

release/0.19.9

21 Apr 12:28
69e085a

Choose a tag to compare

TUI

  • Significant performance improvements starting and navigating in the TUI (but tui)
  • It's now more intuitive to create commits at arbitrary positions above/below other commits in the stack
  • Toasts are now stacked vertically
  • Adds support for creating a new branch from the [unassigned changes]
  • Fixes an issue where squashing a commit without a message was causing additional whitespace to be added to the commit message
  • The branch picker now (press t to open) now lists the [unassigned changes] at the top
  • The branch picker now has key-binds ctrl+n/p to move up/down and ctrl+[ to close the picker.
  • Pressing i in commit mode will use inline reword to write the commit message, for cases where you don't want to open an editor.

CLI

  • but status - significant performance improvements
  • When but push is executed, the app UI will be updated to reflect the new state
  • Fixes a windows-specific issue that was causing the CLI to crash with a stack overflow.

Fixes and Improvements

  • Fixes a bug where in some cases a branch is not correctly detected as push-able
  • Fixes a issue with forge integrations resulting in a "Command forge_provider not allowed by ACL" error
  • Fixes a GitLab-specific issue where loading the integration would fail with "invalid type: string "...", expected internally tagged enum GitLabAccount"
  • Fixes an issue where in rare cases of the remote tracking branch being deleted, committing locally would fail
  • Fixes a UI issue causing a "null is not an object (evaluating 'u.close')" error popup
  • It is now easier to distinguish different self-hosted forge integrations (instance URL is shown)
  • Improved error handling when diffing deleted resources

Full Changelog: release/0.19.8...release/0.19.9

Downloads

Download bins from https://gitbutler.com/

release/0.19.8

17 Apr 15:33
4450973

Choose a tag to compare

Changes

  • Adds OpenRouter as a new AI provider in the app
  • Adds loading states when squashing and uncommitting
  • Conflicted commits now explicitly add a marker in the commit message
  • Improved displaying of Pull Request CI/Mergeability state
  • Panel resizers in the the app are now easier to grab
  • Improved error message propagation when creating branches
  • Improved moving of commits across stacks - conflicts are now detected ahead of time
  • You can now configure "Kitty" for "open in terminal"
  • Improved performance when entering "edit"/"conflict resolution" mode

Fixes

  • Fixes an issue with parsing leading space in directory names
  • Fixes a windows fetch/push issue with some alternative SSH clients (e.g. PuTTY)
  • Fixes an issue where successful pre-push hooks were incorrectly showing failure
  • Fixes an issue with the undo / restore functionality and conflicted commits
  • Fixes a GitLab issue with setting the "draft" flag for MRs

TUI

  • The but tui subcommand is no longer "hidden" from --help
  • Adds support for moving hunks
  • Adds support for discarding changes
  • The details/preview pane can now be resized
  • While editing a commit message, the message can be opened in a text editor
  • Simplified branch creation (simply pressing b)
  • Adds support for easy amending into a selection (shift+r for reverse rub)
  • Adds support for invoking any but command with :
  • Adds branch picker with fuzzy filtering (press t)

CLI

  • GitButler skill - but skill install now has an option to install in .agents
  • Linux: fixes an issue preventing the but gui subcommand from opening the GUI correctly

New Contributors

Full Changelog: release/0.19.7...release/0.19.8

Downloads

Download bins from https://gitbutler.com/

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/