Skip to content

Releases: jesseduffield/lazygit

v0.57.0

06 Dec 13:08
17d03ec

Choose a tag to compare

What's Changed

Enhancements 🔥

Fixes 🔧

  • Keep cursor at top/bottom when navigating by page by @RaphaeleL in #5019
  • Switch to branches view when checking out a commit by @stefanhaller in #5048
  • Fix deleting a remote tag when a remote branch with the same name exists, or vice versa by @stefanhaller in #5075
  • Show fixup base commits in correct order in ctrl-f error message by @stefanhaller in #5073
  • Band-aid fix for rare crashes when refreshing files by @stefanhaller in #5074
  • Fix to support creating MRs for repositories cloned with SSH alias by @roveo in #5082

Maintenance ⚙️

Docs 📖

I18n 🌎

Performance Improvements 📊

  • Fix and speed up the file list for the "Enter path to filter by" feature by @stefanhaller in #5056

New Contributors

Full Changelog: v0.56.0...v0.57.0

v0.56.0

01 Nov 09:49
80223c7

Choose a tag to compare

What's Changed

Enhancements 🔥

Fixes 🔧

  • Don't log the git rev-list command that we use for IsBranchMerged by @stefanhaller in #4896
  • Hide the cursor when the password prompt is showing by @stefanhaller in #4878
  • Update Merge conflicts menu keybinding to use p instead of k by @zingazzi in #4934
  • Update diff of conflicted file in the main view after conflicts have been resolved by @stefanhaller in #4945
  • Don't depend on en_US locale to be installed by @stefanhaller in #4949
  • Fix dropping submodule changes from a commit by @stefanhaller in #4937
  • Fix support for Git copy status when status.renames=copies by @kapral18 in #4892
  • When pasting multi-line text into a prompt, don't treat the line feeds as "confirm" by @stefanhaller in #4955
  • Offer to force-delete a worktree if it contains submodules by @stefanhaller in #4959
  • Fix window arrangement when a popup or the search prompt is open by @stefanhaller in #4961
  • Fix lazygit getting unresponsive when pasting commits that become empty by @stefanhaller in #4958
  • Show a better error message if the temp directory is not writeable by @stefanhaller in #4968
  • Avoid auto-stashing when only submodules are out of date by @stefanhaller in #4969
  • Use a PTY when using external diff command from git config by @brandondong in #4983
  • Fix fixup's false filename detection in hunks containing dashed lines by @abobov in #5004

Maintenance ⚙️

  • Make running with --debug and running integration tests work when built with go 1.25 by @stefanhaller in #4910
  • Update go to 1.25 by @kyu08 in #4844
  • feat(nix): add comprehensive Nix flake by @doprz in #4826
  • Fix normalisedSelectedNodes function by @stefanhaller in #4920
  • Add synchronize event to the hooks of "Check Required Labels" by @kyu08 in #4974
  • Use ignore directive to ignore test files not to be passes to gofumpt by @kyu08 in #4936

Docs 📖

I18n 🌎

New Contributors

Full Changelog: v0.55.1...v0.56.0

v0.55.1

17 Sep 18:48
3de12b7

Choose a tag to compare

This hotfix release fixes two bugs that have crept in in v0.55.0: one is a regression that broke displaying the enter key in the keybindings menu, the other is a problem with a newly added feature that didn't work quite correctly. See below for details.

For the changes in 0.55.0, see https://github.com/jesseduffield/lazygit/releases/tag/v0.55.0.

What's Changed

Fixes 🔧

  • Don't hide keybindings that match the confirmMenu key in the keybindings menu by @stefanhaller in #4880
  • Fix staging when using the new useExternalDiffGitConfig config by @stefanhaller in #4895

Full Changelog: v0.55.0...v0.55.1

v0.55.0

06 Sep 08:25
0d5a410

Choose a tag to compare

Breaking Changes

  • The 'redo' command, which used to be bound to ctrl-z, is now bound to shift-Z instead. This is because ctrl-z is now used for suspending the application; it is a commonly known keybinding for that in the Linux world. If you want to revert this change, you can do so by adding the following to your config:
keybinding: universal: suspendApp: <disabled> redo: <c-z>
  • The git.paging.useConfig option has been removed. If you were relying on it to configure your pager, you'll have to explicitly set the pager again using the git.paging.pager option.

What's Changed

Enhancements 🔥

Fixes 🔧

Maintenance ⚙️

  • Pass only Git-tracked Go files to gofumpt by @kyu08 in #4809
  • Update donation wording so that it's clear there's no strings attached by @jesseduffield in #4827
  • Enhance PR/Issue templates readability by @kyu08 in #4829
  • Run label check workflow only on label events and open pr event by @kyu08 in #4830

Docs 📖

I18n 🌎

New Contributors

Full Changelog: v0.54.2...v0.55.0

v0.54.2

11 Aug 16:28
b1382da

Choose a tag to compare

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 ⚙️

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

06 Aug 11:41
c08903e

Choose a tag to compare

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 🔧

Maintenance ⚙️

Docs 📖

  • Update Fedora section of the README.md file by @dejlek in #4792

New Contributors

Full Changelog: v0.54.0...v0.54.1

v0.54.0

02 Aug 08:29
e732833

Choose a tag to compare

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.

Breaking Changes

  • The default sort order for local and remote branches has changed: it used to be 'recency' (based on reflog) for local branches, and 'alphabetical' for remote branches. Both of these have been changed to 'date' (which means committerdate). If you do liked the old defaults better, you can revert to them with the following config:
git: localBranchSortOrder: recency remoteBranchSortOrder: alphabetical
  • The default selection mode in the staging and custom patch building views has been changed to hunk mode. This is the more useful mode in most cases, as it usually saves a lot of keystrokes. If you want to switch back to the old line mode default, you can do so by adding the following to your config:
gui: useHunkModeInStagingView: false

What's Changed

Enhancements 🔥

Fixes 🔧

Maintenance ⚙️

Docs 📖

I18n 🌎

Performance Improvements 📊

New Contributors

Full Changelog: v0.53.0...v0.54.0

v0.53.0

05 Jul 02:37
bc4b50f

Choose a tag to compare

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 🔥

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 ⚙️

Docs 📖

  • Fix formatting of a keyboard shortcut in the README.md by @DanOpcode in #4678

I18n 🌎

New Contributors

Full Changelog: v0.52.0...v0.53.0

v0.52.0

07 Jun 02:38
aa331e5

Choose a tag to compare

What's Changed

Enhancements 🔥

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 ⚙️

New Contributors

Full Changelog: v0.51.1...v0.52.0

v0.51.1

23 May 10:40
da32b59

Choose a tag to compare

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