Skip to content

Releases: gitbutlerapp/gitbutler

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/

release/0.18.6

22 Jan 10:43
9056044

Choose a tag to compare

Changes

  • Fixes an error "No matching entry found in secure storage"
  • Updates to the UI padding and styles

CLI Changes

  • but commit with no branches creates a canned branch
  • but push no longer prompts for a branch if there is only one
  • but push will now detect commits in conflicted state and prevent pushing them
  • but absorb now supports --dry-run
  • but setup new command to setup even repos without a remote for GitButler use
  • but init is now removed (replaced by setup)
  • but merge - while in 'no-remote' mode this will merge applied branches into the target
  • but teardown for going back to normal git mod

Full Changelog: release/0.18.5...release/0.18.6

Downloads

Download bins from https://gitbutler.com/

release/0.18.5

20 Jan 17:19
54621e9

Choose a tag to compare

Changes

  • Fixes a bug with the Claude Code UI in the workspace where agent changes were not being correctly assigned to the respective branch
  • Adds table support in places where markdown is being rendered
  • Creating a branch with invalid characters now normalized the name without error

CLI

  • Operations with but rub, but amend, but uncommit, but squash, but stage will now prompt if there is an ambiguity of the provided identifier (eg. File and branch have the same name)
  • Operations but branch delete, but unapply and but restore now prompt for confirmation (with --force still being available)
  • but pr new no longer prompts for confirming the branch if there is only one branch

Full Changelog: release/0.18.4...release/0.18.5

Downloads

Download bins from https://gitbutler.com/

release/0.18.4

20 Jan 00:39
34de1a3

Choose a tag to compare

Changes

  • Drag-and-drop operations now indicate what the operation would be on hover while dragging
  • Adds drag and drop support for hunks to create a new branch on drop
  • Adds an option for configuring allowed image sources under the CSP config (applicable for self-hosted forges)
  • Ctrl + a now selects all files in lists (similar to Cmd + a on Mac)
  • Amending commits no longer resets author dates (commit dates are still updated, same as git)
  • Improved Gerrit support with including a fallback URL generation the pushing a commit is a noop
  • Renaming a branch to the same name is now a noop instead of an error
  • Adds a new setting under "Appearance" for displaying file names first in the path
  • Improved diff rendering performance
  • Linux: added docs for Linux specific workarounds and fixes in https://github.com/gitbutlerapp/gitbutler/blob/master/LINUX.md

Fixes

  • Fixes a bug causing several operations to error out with "Stack is uninitialised"
  • Fixes a Windows specific issue with poor performance with file watching under WSL
  • Fixes a high CPU usage under Linux
  • Fixes a bug preventing the creation of a branch underneath an existing stack
  • Fixes an issue that was preventing the discarding of binary files
  • Fixes an issue with Cursor hooks under Windows
  • Fixes a GitLab specific issue where the rebase and squash method of merging did not work from the app
  • Fixes a Claude Code UI bug where WebFetch permissions are stored in a wrong format

CLI specific notes

Changed

  • Adds async fetching from remotes as well as forge info (e.g. PRs, CI)
  • Invoking but without arguments is now defaulting to but status (configurable with but alias)
  • Slow operations like pushing and fetching now have progress output
  • Improved but help output
  • but status no longer invokes a pager
  • but status now includes PR and CI information by default
  • but status now displays context-aware hints (disable by aliasing but status --no-hint)
  • but status --upstream now shows upstream commits as well as merge-ability status of branches
  • but status now indicates Git mode and but switch-back reverts the repository to GitButler managed branch (necessary until #11866 is done)
  • Fixes an issue where but status --files was assigning duplicate short IDs
  • but commit now supports --file for providing commit message
  • but absorb now provides detailed output of where changes went and why
  • but absorb - fixed an issue where untracked files did not get absorbed correctly
  • but rub now supports short IDs from but diff that can be used for assigning, amending etc
  • but push - if no branch is specified, it now prompts the user
  • but push --dry-run provides a summary of what would be pushed

Renamed / aliased commands

  • but snapshot was moved to but oplog snapshot
  • but review is now but pr
  • but describe is now but reword
  • but base update is now but pull
  • but base check is now but pull --check
  • but fetch is now an alias to but pull --check
  • but uncommit <commit/file-in-commit> is now an alias to the equivalent but rub
  • but amend <file> <commit> is now an alias to the equivalent but rub
  • but stage <file/hunk> <branch/stack> is now an alias to the equivalent but rub
  • but unstage <file/hunk> is now an alias to the equivalent but rub
  • but squash is now an alias to the equivalent but rub with an optional flag for picking a commit message

New commands

  • but diff - a new command for previewing diffs in files changes as well as branches and commits
  • but show displays commit and branch details
  • but alias allows setting up custom aliases (e.g but stfu -> but status --files --upstream)
  • but resolve for resolving merge conflicts
  • but discard removes/drops uncommitted changes
  • but update check check for app updates
  • but update suppress for suppressing app update hints
  • but pr new now includes a commented section with a list of commits and modified files
  • but pull now has more detailed output and has support for the --json flag
  • but reword now has a --format option for fixing the 72 char wrapping of a commit

New Contributors

Full Changelog: release/0.18.3...release/0.18.4

Downloads

Download bins from https://gitbutler.com/