Releases: jesseduffield/lazygit
v0.54.2
Here's another point release; this one fixes a performance regression in 0.54.0 that made flicking through diffs a little less snappy (or a lot less, in some scenarios) than it could be.
For the changes in 0.54.0, see https://github.com/jesseduffield/lazygit/releases/tag/v0.54.0.
What's Changed
Fixes π§
- Fix scrollbar in certain popup panels (e.g. the intro message for new users) by @stefanhaller in #4804
- Fix delay with flicking through files or commits when git diff is very slow by @stefanhaller in #4803
Maintenance βοΈ
- Stop bumping our homebrew formula by @stefanhaller in #4799
- Update the badges of golangci-lint and homebrew in
README.md
by @kyu08 in #4807
Docs π
- Fix the useHunkModeInStagingView hint in the breaking changes message by @stefanhaller in #4800
- Update
CONTRIBUTING.md
to clarify translation contribution process by @kyu08 in #4806
Full Changelog: v0.54.1...v0.54.2
v0.54.1
This hotfix release fixes a regression in 0.54.0 that made lazygit fail on startup when multiple users use it on a single machine.
For the changes in 0.54.0, see https://github.com/jesseduffield/lazygit/releases/tag/v0.54.0.
What's Changed
Fixes π§
- Fix temp dir permission problem on multi-user machines by @stefanhaller in #4796
Maintenance βοΈ
- Stop updating Jesse's homebrew tap by @stefanhaller in #4797
Docs π
New Contributors
Full Changelog: v0.54.0...v0.54.1
v0.54.0
Again we don't have any major new features this time (unless you count the support for alt-backspace for deleting words in the commit message editor, which is one of my favorite additions), but lots of smaller quality-of-life improvements and bug fixes. The most notable one is probably the fix for the stale index.lock problem, which was a very long-standing bug that seemed to affect some users much more than others for some reason.
What's Changed
Enhancements π₯
- Add confirmation for hard reset by @stefanhaller in #4704
- Provide user config defaults for UI-changeable settings by @stefanhaller in #4717
- Improve mouse handling of suggestions panel by @stefanhaller in #4726
- Add new command "Checkout previous branch" by @kyu08 in #4728
- Add confirmation for nuking the working tree by @DawidPietrykowski in #4727
- Support Alt+Backspace for word deletion in text areas by @rtzll in #4741
- Don't use hunk mode for added or deleted files even when useHunkModeInStagingView config is on by @stefanhaller in #4758
- Show [0] keybinding in main view title by @stefanhaller in #4754
- Draw divergence from base branch right-aligned in branches view by @stefanhaller in #4785
- Enable hunk staging mode by default by @stefanhaller in #4780
Fixes π§
- Fix scrolling hunk into view when selecting next hunk by @stefanhaller in #4709
- Fix stale main view content when entering/exiting filtering view by @stefanhaller in #4719
- Detect double-clicks properly by @stefanhaller in #4725
- Fix commit searching during rebase or in divergence from upstream view by @stefanhaller in #4730
- Fix amending commits whose commit message is empty by @aidancz in #4732
- Several small fixes to filtering mode (by path or author) by @stefanhaller in #4749
- Show diff for renamed file when filtering by path by @stefanhaller in #4750
- Allow rewording or dropping commits in filtering mode by @stefanhaller in #4756
- Fix index out of bounds panic when repository has massive tags by @chojs23 in #4776
- When pressing
a
to stage all files, don't include untracked files when showing only tracked files by @stefanhaller in #4779 - Fix commit hash colors when filtering by path or aythor by @stefanhaller in #4789
- Improve temp dir handling by @stefanhaller in #4784
- Terminate git processes more gracefully to avoid the stale index.lock problem by @stefanhaller in #4782
Maintenance βοΈ
- Raise sponsors PRs as a draft by @jesseduffield in #4694
- Update the peter-evans/create-pull-request action to v7 by @stefanhaller in #4695
- Update release workflow by @stefanhaller in #4703
- Clean up the .gitignore file by @stefanhaller in #4706
- Remove unused code and texts by @stefanhaller in #4715
- Remove deprecated edit configs by @stefanhaller in #4716
- Bump minimum required git version to 2.32 by @stefanhaller in #4718
- Use a better way of pinning the version of golangci-lint by @stefanhaller in #4733
- Make the minimum required git version a placeholder in the error text by @stefanhaller in #4778
- refactor: use slices.Equal to simplify code by @jishudashu in #4764
Docs π
- Fix broken markdown in auto-generated keybindings documentation by @KEY60228 in #4690
- Remove the homebrew tap from the readme by @stefanhaller in #4705
I18n π
- Update translations from Crowdin by @stefanhaller in #4791
Performance Improvements π
- Fix performance regression on startup in repos with many tags by @stefanhaller in #4777
New Contributors
- @KEY60228 made their first contribution in #4690
- @DawidPietrykowski made their first contribution in #4727
- @rtzll made their first contribution in #4741
- @chojs23 made their first contribution in #4776
- @jishudashu made their first contribution in #4764
Full Changelog: v0.53.0...v0.54.0
v0.53.0
This is the first lazygit release after Jesse passed the maintainership to me (@stefanhaller), and I'm excited (and a little bit nervous π) about it.
No big new features this time, but lots of smaller quality-of-life improvements. The one that makes the biggest difference for me is an improved hunk selection mode in the staging view (in case you didn't know, you can switch from the normal line selection mode to hunk mode by pressing a
). This now works a bit more fine-grained, by selecting groups of added or deleted lines rather than entire hunks, which often consist of several such groups. With this change I find that I prefer hunk mode over line mode in most cases, so I added a user config to switch to hunk automatically upon entering the staging view; it is off by default, but I encourage you to enable it (gui.useHunkModeInStagingView
) to see if you like it as much as I do. Feedback about this is welcome; please comment on the PR if you have any.
The detailed list of all changes follows:
What's Changed
Enhancements π₯
- Add option to disable warning when amending last commit by @johnhamlin in #4640
- Add bold style for border by @aidancz in #4644
- Add credential prompts for PKCS11-based SSH keys by @Jadeiin in #4646
- Show annotation information for selected tag by @stefanhaller in #4663
- Show stash name for selected stash by @stefanhaller in #4673
- Auto-stash modified files when cherry-picking or reverting commits by @stefanhaller in #4683
- Move to next stageable line when adding a line to a custom patch by @stefanhaller in #4675
- Improve hunk selection mode in staging view by @stefanhaller in #4684
- Add user config to use hunk mode by default when entering staging view by @stefanhaller in #4685
Fixes π§
- Fix stash operations when branch named 'stash' exists by @ChrisMcD1 in #4641
- Fix moving a custom patch from the very first commit of the history to a later commit by @stefanhaller in #4631
- Fix DEFAULT_REMOTE_ICON character code by @bedlamzd in #4653
- Show GPG error before entering commit editor when rewording non-latest commits by @m04f in #4660
- Fix branch head icon appearing at head commit when a remote or tag exists with the same name as the current branch by @stefanhaller in #4669
- Fix applying custom patches to a dirty working tree by @stefanhaller in #4674
- Collapse selection after deleting a range of branches or stashes by @nileric in #4661
Maintenance βοΈ
- Instantiate mutexes by value by @stefanhaller in #4632
- Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 by @dependabot in #4633
- Update linter by @stefanhaller in #4671
- Some code cleanups to the "discard file changes from commit" feature by @stefanhaller in #4679
- Change Refresh to not return an error by @stefanhaller in #4680
Docs π
- Fix formatting of a keyboard shortcut in the README.md by @DanOpcode in #4678
I18n π
- Update translations from Crowdin by @stefanhaller in #4686
New Contributors
- @johnhamlin made their first contribution in #4640
- @aidancz made their first contribution in #4644
- @bedlamzd made their first contribution in #4653
- @Jadeiin made their first contribution in #4646
- @m04f made their first contribution in #4660
- @DanOpcode made their first contribution in #4678
- @nileric made their first contribution in #4661
Full Changelog: v0.52.0...v0.53.0
v0.52.0
What's Changed
Enhancements π₯
- Add user config for hiding the root item in the file tree by @stefanhaller in #4593
- Use branchPrefix when moving commits to new branch by @EliasA5 in #4604
- Show default option when prompting to create a new git repo by @Joshuahuahua in #4596
Fixes π§
- Fix selecting large hunks, and fix problems editing very long commit descriptions by @stefanhaller in #4589
- Kill background fetch when it requests a passphrase by @stefanhaller in #4588
- Fix branch selection jumping back on background fetch by @stefanhaller in #4597
- Fix resetting to a branch when a tag shares the same name, or vice versa by @ChrisMcD1 in #4571
- Fix wrong inactive highlight when switching between repos by @stefanhaller in #4621
- Fix assigning custom key to pullFiles command in the Commits panel by @stefanhaller in #4617
Maintenance βοΈ
- Replace literal with ConfigFilename constant by @mloskot in #4613
- Improve PR template wrt release notes by @stefanhaller in #4607
New Contributors
- @mloskot made their first contribution in #4613
- @Joshuahuahua made their first contribution in #4596
Full Changelog: v0.51.1...v0.52.0
v0.51.1
What's Changed
Fixes π§
- Fix lazygit's UI becoming unresponsive when a background fetch asks for a passphrase by @stefanhaller in #4586
Full Changelog: v0.51.0...v0.51.1
v0.51.0
What's Changed
Enhancements π₯
- Clean up the configuration of where a custom command's output goes by @stefanhaller in #4525
- Add custom patch command "Move patch into new commit before the original commit" by @stefanhaller in #4552
- Make '>' first jump to the beginning of the branch, and only then to the first commit by @stefanhaller in #4544
- Add an alternate keybinding (default ) for ConfirmInEditor by @stefanhaller in #4532
- Print migration changes to the console when migrating config file by @stefanhaller in #4548
Fixes π§
- Migrate deprecated AllBranchesLogCmd to AllBranchesLogCmds by @ChrisMcD1 in #4345
- Clear preserved commit message when entering CommitEditorPanel by @ChrisMcD1 in #4558
- Split behavior of rendering allBranchesLogCmd and switching to next cmd by @ChrisMcD1 in #4574
- Fix possible crash with auto-forwarding branches by @stefanhaller in #4565
- Fix main view occasionally scrolling to the top on its own when focused by @stefanhaller in #4573
- Fix home and end keys in prompts by @stefanhaller in #4554
- Fix crash when clicking in the status view by @stefanhaller in #4567
Maintenance βοΈ
- Clean up utils package by @stefanhaller in #4538
Docs π
New Contributors
Full Changelog: v0.50.0...v0.51.0
v0.50.0
What's Changed
Enhancements π₯
- Continue/abort a conflicted cherry-pick or revert by @stefanhaller in #4441
- Show todo items for pending cherry-picks and reverts by @stefanhaller in #4442
- Use "git cherry-pick" for implementing copy/paste of commits by @stefanhaller in #4443
- Allow reverting a range of commits by @stefanhaller in #4444
- Section headers for rebase todos and actual commits by @stefanhaller in #4463
- Focus the main view by @stefanhaller in #4429
- Auto-forward main branches after fetching by @stefanhaller in #4493
- Add new command "Move commits to new branch" by @stefanhaller in #3876
- Strip the '+' and '-' characters when copying parts of a diff to the clipboard by @stefanhaller in #4519
- Reduce memory consumption of graph (pipe sets) by @stefanhaller in #4498
Fixes π§
- Fix truncation of branches when scrolling branches panel to the left by @stefanhaller in #4483
- Fix nvim-remote commands for fish shell by @SavingFrame in #4506
- Disallow creating custom patches when the diff context size is 0 by @stefanhaller in #4522
- Remove double space between rebase todo and author columns by @stefanhaller in #4520
Maintenance βοΈ
- Allow closing issues via github actions by @jesseduffield in #4515
Docs π
- Add Debian installation instructions alongside Ubuntu by @jmkim in #4501
- fix wording of random tip by @dawedawe in #4488
New Contributors
- @jmkim made their first contribution in #4501
- @SavingFrame made their first contribution in #4506
- @dawedawe made their first contribution in #4488
Full Changelog: v0.49.0...v0.50.0
v0.49.0
What's Changed
Enhancements π₯
- Support fish when running shell command by @stefanhaller in #4350
- Add acme editor preset by @rakoo in #4360
- Support home and end as alternatives to '<' and '>' by @stefanhaller in #4396
- Drop the git config cache when getting focus by @stefanhaller in #4376
- Add a "Content of selected file" entry to the copy menu for commit files by @stefanhaller in #4341
- Add root node in file tree by @stefanhaller in #4346
- [FEAT] Add Recursive Bulk Initialize and Update for Submodules by @cesarandr in #4259
- Commit without pre-commit hooks action is independent on prefix by @kschweiger in #4374
- Let users define custom icons and color for files on the config file by @hasecilu in #4395
- Add "Absolute path" item to the file view's copy menu by @stefanhaller in #4410
- Allow range drop stashes by @gaogao-qwq in #4451
- More navigation keybindings for confirmation panel by @stefanhaller in #4404
- Resolve non-inline merge conflicts by @stefanhaller in #4431
- Add
runCommand
function to Go template syntax + add support for templates in gitbranchPrefix
setting by @ruudk in #4438 - Show "(hooks disabled)" in title bar of commit message editor by @stefanhaller in #4467
- Add a command to select all commits of the current branch by @stefanhaller in #4448
Fixes π§
- Use a waiting status for rewording a non-head commit by @stefanhaller in #4343
- Fix layout of options view for non-english languages by @stefanhaller in #4359
- Fix changing language while lazygit is running by @stefanhaller in #4361
- URL encode gitlab brackets to make consistent with branch names by @ChrisMcD1 in #4336
- Fix commitPrefix setting with empty pattern by @stefanhaller in #4381
- Commit only tracked files in tracked filter view by @parthokunda in #4386
- Revert #4313 (Skip post-checkout hook when discarding changes) by @stefanhaller in #4407
- Enhance support for GPG signed tags by @ChrisMcD1 in #4394
- Fix checking out a file from a range selection of commits by @stefanhaller in #4423
- Fix discarding submodule changes in nested folders by @brandondong in #4317
- Better support for shell aliases by @stefanhaller in #4385
- Fix hyperlinks in last line of confirmation popups by @stefanhaller in #4454
- Fix wrong main view content after pressing
e
in a stack of branches by @stefanhaller in #4450 - fix: update vscode color to logo color by @PeterCardenas in #4459
- Fix crash with drag selecting and staging by @stefanhaller in #4480
- Escape special characters in filenames when git-ignoring files by @stefanhaller in #4475
Maintenance βοΈ
- Fix linter warnings by @stefanhaller in #4352
- Fix release schedule again by @stefanhaller in #4364
- Update to go 1.24 by @radsaq in #4377
- Add an integration test for a config with a negative refspec by @radsaq in #4382
- Specify a go release minor version by @radsaq in #4393
- Fix flaky integration test by @stefanhaller in #4432
- Some code cleanup by @stefanhaller in #4449
- Bump the minimum required git version to 2.22 by @stefanhaller in #4439
- Bump go-git, and get rid of github.com/imdario/mergo by @stefanhaller in #4460
- Skip date check when release worfklow is manually invoked by @jesseduffield in #4484
Docs π
- Include empty arrays and maps in config docs by @stefanhaller in #4413
- Filter out deprecated user config fields from generated Config.md by @karimkhaleel in #4416
- Corrected interactive rebase keybind example in README.md by @NewtonChutney in #4426
- Update kidpix link in README to active url by @ChrisMcD1 in #4425
I18n π
- Update translation files from Crowdin by @stefanhaller in #4473
New Contributors
- @rakoo made their first contribution in #4360
- @radsaq made their first contribution in #4377
- @cesarandr made their first contribution in #4259
- @kschweiger made their first contribution in #4374
- @NewtonChutney made their first contribution in #4426
- @gaogao-qwq made their first contribution in #4451
- @ruudk made their first contribution in #4438
Full Changelog: v0.48.0...v0.49.0
v0.48.0
What's Changed
Enhancements π₯
- Custom commands submenus by @stefanhaller in #4324
Maintenance βοΈ
- Refactor migrations to only marshall yaml twice by @ChrisMcD1 in #4318
Full Changelog: v0.47.2...v0.48.0