Releases: gitbutlerapp/gitbutler
release/0.19.7
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.
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 amendandbut absorbwere breaking pre-push hooks - Renamed
but branch tear-off <branch>tobut branch move --unstack <branch> - Added
but cleanwhich removes empty branches in the workspace but movenow unifies moving of commits and branches (including stacking/unstacking)but uncommitnow has a--discardflag which drops the content in addition to uncommitting
New Contributors
- @DanielEScherzer made their first contribution in #12891
- @ichoosetoaccept made their first contribution in #12886
Full Changelog: release/0.19.6...release/0.19.7
Downloads
Download bins from https://gitbutler.com/
release/0.19.6
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
butskill files for improved Claude Code and Codex performance (update withbut skill install) but stack- new command for moving branches on top of others to stack them (alsobut branch moveas an alias to the same functionality)- Fixes an issue "askpass broker not initialized"
New Contributors
- @OliverJAsh made their first contribution in #12663
- @danilax86 made their first contribution in #12767
- @dslatkin made their first contribution in #12800
Full Changelog: release/0.19.5...release/0.19.6
Downloads
Download bins from https://gitbutler.com/
release/0.19.5
What's Changed
- Improve list scrolling speed
but: Uncommitted hunks can now be addressed by their index (e.gbut rub <file>:0 <branch|commit>)- Fixes an issue with
but update installwhich 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
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 prAdded subcommandsauto-merge,set-draftandset-readybut branchFixed and issue where the branch name in some case was being truncatedbut branchAdds flag--emptyfor showing branches with no commits and remotebutnow comes with a simple built in editor (If nocore.editoris set in git config)- It is now possible to use path prefixes to refer to multiple files for mutations like
rub,amendand 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
- @smitmartijn made their first contribution in #12414
- @craigmayhew made their first contribution in #12443
- @jwstover made their first contribution in #12623
- @gonchihernandez made their first contribution in #12448
Full Changelog: release/0.19.3...release/0.19.4
Downloads
Download bins from https://gitbutler.com/
release/0.19.3
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 statussimplified "base" information in the outputbut statusIDs are now bold and no longer underlinedbut pr newis 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
- @foxfirecodes made their first contribution in #12344
- @sebastianhuus made their first contribution in #11878
Full Changelog: release/0.19.2...release/0.19.3
Downloads
Download bins from https://gitbutler.com/
release/0.19.2
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 pickedbut resolve- Fixes an issue preventing resolving of conflictsbut skill install- The interactive mode now offers global install as wellbut 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
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 diffnow has a--tuioption for interactive diff viewer (set it as default viabut config ui)but pr newnow checks auth upfront instead after message composition- Fixes an issue where
but rubtreated files with dashes as ranges - Most mutations commands like
rub,move,amendnow have--status-afterflag - 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
Announcing the GitButler CLI
- Most GitButler operations are now available via a CLI https://docs.gitbutler.com/cli-overview
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 workspacebut status- fixes an issue where in some cases PR and CI data was not being shownbut rub- improved docs covering all possible combinationsbut absorb- now has--newflag which will create new commits above the dependency commitsbut commit- the--fileflag was renamed to--message-fileand--fileswas renamed to--changesbut branch unapplyis nowbut unapplybut branch applyis nowbut apply
Full Changelog: release/0.18.8...release/0.19.0
Downloads
Download bins from https://gitbutler.com/
release/0.18.8
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 commitnow supports a--filesoption to commit specific files or hunks by their CLI IDs without staging first.but commitnow supports an--aiflag to generate commit messages.but newhas been replaced withbut commit emptyfor inserting blank commits with explicit--beforeor--afterflags.but squashnow accepts commit ranges, branch names, and comma-separated listsbut squashnow supports an--aiflag to generate consolidated commit messagesbut moveis a new command for moving commits between positions in a stack, across stacks, or moving individual committed files between commits.but update installcommand added to update the CLI directly from the command line with optional version selection:but update install [nightly|release|<version>](MacOS only)but skill installcommand 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
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 configfor setting up various aspects of the appbut commitnow executes relevant hooks if present and includes a--no-hooksflag
Full Changelog: release/0.18.6...release/0.18.7
Downloads
Download bins from https://gitbutler.com/