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
butwithout arguments is now defaulting tobut status(configurable withbut alias) - Slow operations like pushing and fetching now have progress output
- Improved
but helpoutput but statusno longer invokes a pagerbut statusnow includes PR and CI information by defaultbut statusnow displays context-aware hints (disable by aliasingbut status --no-hint)but status --upstreamnow shows upstream commits as well as merge-ability status of branchesbut statusnow indicates Git mode andbut switch-backreverts the repository to GitButler managed branch (necessary until #11866 is done)- Fixes an issue where
but status --fileswas assigning duplicate short IDs but commitnow supports --file for providing commit messagebut absorbnow provides detailed output of where changes went and whybut absorb- fixed an issue where untracked files did not get absorbed correctlybut rubnow supports short IDs frombut diffthat can be used for assigning, amending etcbut push- if no branch is specified, it now prompts the userbut push --dry-runprovides a summary of what would be pushed
Renamed / aliased commands
but snapshotwas moved tobut oplog snapshotbut reviewis nowbut prbut describeis nowbut rewordbut base updateis nowbut pullbut base checkis nowbut pull --checkbut fetchis now an alias tobut pull --checkbut uncommit <commit/file-in-commit>is now an alias to the equivalentbut rubbut amend <file> <commit>is now an alias to the equivalentbut rubbut stage <file/hunk> <branch/stack>is now an alias to the equivalentbut rubbut unstage <file/hunk>is now an alias to the equivalentbut rubbut squashis now an alias to the equivalentbut rubwith 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 commitsbut showdisplays commit and branch detailsbut aliasallows setting up custom aliases (e.gbut stfu->but status --files --upstream)but resolvefor resolving merge conflictsbut discardremoves/drops uncommitted changesbut update checkcheck for app updatesbut update suppressfor suppressing app update hintsbut pr newnow includes a commented section with a list of commits and modified filesbut pullnow has more detailed output and has support for the --json flagbut rewordnow has a--formatoption for fixing the 72 char wrapping of a commit
New Contributors
- @alerque made their first contribution in #11555
- @Rettend made their first contribution in #11622
- @Mrmaxmeier made their first contribution in #11631
- @godnight10061 made their first contribution in #11699
- @senekor made their first contribution in #11804
Full Changelog: release/0.18.3...release/0.18.4
Downloads
Download bins from https://gitbutler.com/