Skip to content

Releases: jesseduffield/lazygit

v0.48.0

01 Mar 02:35
1b571f9
Compare
Choose a tag to compare

What's Changed

Enhancements πŸ”₯

Maintenance βš™οΈ

Full Changelog: v0.47.2...v0.48.0

v0.47.2

25 Feb 11:28
4e38a94
Compare
Choose a tag to compare

Small patch release for you all. This is mainly to fix an issue with v0.47.1 which erroneously re-indented users' lazygit config files on startup.

Shout-out to @karimkhaleel for his PR with some gnarly yaml-handling code.

And a special shout-out to @ChrisMcD1 who has been pumping out many great contributions lately. Great to have you aboard.

What's Changed

Enhancements πŸ”₯

Fixes πŸ”§

  • fix: Disable global keybinds when confirmation is active by @ChrisMcD1 in #4284
  • Don't rewrite config file unnecessarily when it contains commitPrefixes by @ChrisMcD1 in #4311
  • Change side panel width calculation to work for larger numbers by @ChrisMcD1 in #4287

Maintenance βš™οΈ

Docs πŸ“–

  • Improve the error message when users have gpg signing turned on by @stefanhaller in #4296

Full Changelog: v0.47.1...v0.47.2

v0.47.1

22 Feb 11:37
101bbb0
Compare
Choose a tag to compare

What's Changed

Maintenance βš™οΈ

  • Fix race condition with reselecting the focused branch and rendering by @stefanhaller in #4268

Full Changelog: v0.47.0...v0.47.1

v0.46.0

15 Feb 04:56
6636d0c
Compare
Choose a tag to compare

It's time for another Lazygit release! Thanks to all who contributed to this release.

What's Changed

Enhancements πŸ”₯

  • Preserve pending commit message when closing/re-opening by @AzraelSec in #4191
  • Swap position of checkout-commit and checkout-branch menu items by @stefanhaller in #4238
    • In a previous release we had made it so that when you press space on a commit, the first option in the menu was to check out the corresponding branch, rather than the commit itself. We've made it so that now the first option is to check out the commit itself, for the sake of everybody's muscle memory.
  • Allow user to filter the files view to only show untracked files by @jesseduffield in #4226
  • Expose {{.SelectedCommitRange}} to custom commands by @stefanhaller in #4204
  • Show background fetch status in bottom line by @stefanhaller in #4215
  • Support copying tags to clipboard by @brunofjesus in #4218
  • Add option to delete local and remote tag by @AnvarU in #4217
  • Show confirmation menu when trying to amend changes while there are conflicts by @stefanhaller in #4222
  • Improve error reporting on config migration by @kas2020-commits in #4210
  • Show files filter status by @stefanhaller in #4230
  • Improve contrast of highlighted search results by @stefanhaller in #4242

Fixes πŸ”§

  • Don't try killing processes if we already know the command finished by @brandondong in #4231
    • We believe this was causing all sorts of problems for windows users.
  • Add '--' to 'git rev-list' to disambiguate branch name from path by @efussi in #4185
  • Fix adding blank line at end of commit message by @stefanhaller in #4182
  • Fix checking out a different branch while pushing a branch for the first time by @stefanhaller in #4214
  • Fix tag being truncated when copying to clipboard by @brunofjesus in #4232
  • Disable staging and unstaging lines or hunks when the diff context size is 0 by @stefanhaller in #4235
  • Fix incorrect stash diff after rename by @brandondong in #4213
  • Fix possible crash when deleting a branch while filtering is active by @stefanhaller in #4195
  • Fix pasting multi-line text into commit message panel by @stefanhaller in #4234
  • fix: properly detect icon for BAZEL and WORKSPACE files by @PeterCardenas in #4252
  • Fix json schema for context of CustomCommand by @stefanhaller in #4255

Maintenance βš™οΈ

I18n 🌎

New Contributors

Full Changelog: v0.45.2...v0.46.0

v0.45.2

17 Jan 13:42
c03b892
Compare
Choose a tag to compare

What's Changed

Enhancements πŸ”₯

Fixes πŸ”§

Maintenance βš™οΈ

New Contributors

Full Changelog: v0.45.0...v0.45.2

v0.45.0

11 Jan 04:10
91cb1ff
Compare
Choose a tag to compare

Lots of great improvements in this one! Thanks to all the contributors who helped make this release happen.

Apologies for the long waits between releases. As of #4146 we're now (almost) guaranteed to do monthly releases.

What's Changed

Enhancements πŸ”₯

Fixes πŸ”§

Maintenance βš™οΈ

Docs πŸ“–

New Contributors

Full Changelog: https://github.com/jesseduffield/lazygit/comp...

Read more

v0.44.1

18 Sep 10:55
611fabd
Compare
Choose a tag to compare

What's Changed

Enhancements πŸ”₯

  • With stacked branches, create fixup commit at the end of the branch it belongs to by @stefanhaller in #3892
  • Add options for disabling switching to the Files panel after popping or applying a stash by @stefanhaller in #3913

Fixes πŸ”§

  • Fix crash when viewing the divergence of a branch which is up to date with its upstream by @stefanhaller in #3918

Performance improvements πŸ“Š

  • Improve performance with large numbers of untracked or modified files by @parthokunda in #3919

I18n 🌎

New Contributors

Full Changelog: v0.44.0...v0.44.1

v0.44.0

07 Sep 02:26
2d0c7cb
Compare
Choose a tag to compare

What's Changed

Lots of great changes in this release. Thanks to everybody who contributed!

Enhancements πŸ”₯

  • Per-repo config files (and reloading of edited config files) by @stefanhaller in #3787
    • In addition to the global config file you can now create repo-specific config files inΒ <repo>/.git/lazygit.yml. Settings in these files override settings in the global config file. In addition, files calledΒ .lazygit.ymlΒ in any of the parent directories of a repo will also be loaded; this can be useful if you have settings that you want to apply to a group of repositories.
    • We now also automatically apply (most) config changes without the need to restart lazygit
  • Easily view diff across range of commits by @stefanhaller in #3869
    • If you select a range of commits, we now show the diff across the range (inclusive). This makes it easy to see the total changes across a number of commits. Likewise, if you press enter when a range of commits are selected, we will show the changed files for the range.
Screen.Recording.2024-09-07.at.12.29.15.pm.mov
  • Support hyperlinks from pagers by @stefanhaller in #3825
    • If you're using delta as a pager (which I highly recommend trying), you can now click on line numbers to go to that line in your editor by using the following config:
     git:
       paging:
         colorArg: always
         pager: delta --paging=never --line-numbers --hyperlinks --hyperlinks-file-link-format="lazygit-edit://{path}:{line}"
Screen.Recording.2024-09-07.at.12.30.48.pm.mov
  • Switch to Files panel after popping/applying a stash by @stefanhaller in #3888
    • This is a nice quality of life improvement. You generally want to go straight to the files panel after you pop or apply from the stash
  • Ask to auto-stage unstaged files when continuing a rebase after resolving conflicts by @stefanhaller in #3879
    • Another quality of life improvement: often you resolve some conflicts, then make another couple changes, then in lazygit you say to continue and you get an error saying there are unstaged changes. Now instead of showing an error, lazygit asks if you want to stage those changes and continue.
  • Offer autostash option when creating new branch by @brandondong in #3871
    • Another great quality of life improvement
  • Allow using shell aliases in interactive custom commands by @stefanhaller in #3793
  • Switch tabs with panel jump keys by @stefanhaller in #3794
    • If you've already been using the number keys (1-5) for jumping to specific side panels, you'll be pleased to know that you can now also use those keys for jumping to tabs within a side panel. E.g. to go to the reflog panel, you can now press 4 to jump to the commits panel, then 4 again to go to the reflog tab.
  • Rename "Custom Command" to "Shell Command" by @stefanhaller in #3800
    • There are two ways of invoking a 'custom' command in Lazygit: first by pre-defining a command in your config, and second by pressing ':' and typing in the command directly. We referred to both of these as 'custom commands' which was confusing. We now refer to the second approach as invoking a 'shell command'.
  • Improve template placeholders for custom commands by @stefanhaller in #3809
    • Now you can use SelectedCommit to refer to the selected commit regardless of which commits panel you're in (local commits, reflog, etc)
    • Likewise, you can use SelectedPath whether you're in the files panel or the commit-files panel.
  • feat(custom command): support multiple contexts within one command by @yam-liu in #3784
    • You can now use a comma-separated list of contexts for which a custom command can be invoked. For example:
     customCommands:
       - description: 'Add empty commit'
         key: 'E'
         context: 'commits,files'
  • Improve mouse support for commit message panel by @stefanhaller in #3836
  • Make auto-staging resolved conflicts optional by @stefanhaller in #3870
    • If you set git.autoStageResolvedConflicts to false in your config, lazygit will no longer auto-stage files in which you've resolved merge conflicts.
  • Allow using </> and ,/. in sticky range select mode in patch explorer by @stefanhaller in #3837
  • Add Zed editor support to editorPreset by @susl in #3886

Fixes πŸ”§

Maintenance βš™οΈ

New Contributors

Full Changelog: v0.43.1...v0.44.0

v0.43.1

13 Jul 10:28
71ad3fa
Compare
Choose a tag to compare

What's Changed

Fixes πŸ”§

Full Changelog: v0.43.0...v0.43.1

v0.43.0

13 Jul 05:39
e1d973d
Compare
Choose a tag to compare

What's Changed

Thanks to all contributors who helped make this release happen! There's a lot of first-time contributors on this release as well so kudos to you all.

There's quite a few things in this release. I'm going to single out a couple that have changed my workflow.

Base branch stuff

lg-base-branch-demo.mov

Easier rebase onto base branch

(Add command to rebase onto base branch by @stefanhaller in #3615)

When my feature branch gets out of date with the main branch, I like to rebase it onto the main branch. Up until now, that's required:

  • Navigating to the main branch
  • Pressing 'f' to fast-forward it onto its upstream branch
  • Pressing 'r' to rebase the checked-out branch onto the main branch

That takes too long! Now you can just press 'r' followed by 'b' to rebase onto the base branch (which defaults to origin/main).

See the divergence count from the base branch

(Divergence from base branch display by @stefanhaller in #3613)

You can now also configure to see the divergence from a branch and its base branch with the following config:

gui:
    showDivergenceFromBaseBranch: arrowAndNumber # or 'onlyArrow'

This shows the divergence count in blue, next to the yellow count of divergence from the upstream branch. This is admittedly noisy, so it's an opt-in feature. But I think the noise is worth it.

If you set the config value to 'onlyArrow' it's a lot less noisy:

image

See detailed divergence from base branch

(Add command to show divergence from base branch as a left-right log by @stefanhaller in #3614)

By pressing 'u' then 'b' on a branch you can see the divergence view for that branch compared to its base branch

Improved 'Find commit for fixup' feature

(Improve the "Find base commit for fixup" command by @stefanhaller in #3602)

'Find commit for fixup' is not a very catchy name for this feature but I can't think of anything better at the moment. Nevertheless! The idea is that you often want to know for a given set of changes, which commit ought they be included in? Just press ctrl+f when in the files panel and lazygit will jump the cursor to the appropriate commit to fixup.

With this release, the feature is smarter and more lenient so it's more likely to find you a match. If you haven't tried this out you should really give it a go!

find-commit-demo.mov

Other Enhancements πŸ”₯

  • Add Squash merge by @noahfraiture in #3566
    • Now when you press shift+m you get the option to do a regular merge or a squash merge. If you already have muscle memory for regular merge; don't worry: it's the same sequence of keypresses.
  • Improve "Find base commit for fixup" command when there are changes for master commits by @stefanhaller in #3645
  • Allow setting the similarity threshold for detecting renames by @isti115 in #3025
    • For this, press ')' and '(' to increase/decrease the similarity threshold.
similarity-demo.mov
  • Reduce memory consumption when loading large number of commits by @stefanhaller in #3687
    • 2-6x less memory usage when dealing with lots of commits. HUGE improvement.
  • Focus on local commits view after moving code into new commit by @AzraelSec in #3577
  • Add property outputTitle to CustomCommand by @stefanhaller in #3579
  • Add user config gui.expandedSidePanelWeight by @stefanhaller in #3623
    • You can now increase the height of the selected side panel when you've configured the accordion effect
     gui:
       expandFocusedSidePanel: true
       expandedSidePanelWeight: 3
image
  • Support range select for amending commit attributes by @AzraelSec in #3587
    • This lets you select a range of commits and update the author / set the co-author on all of them at once.
lg-multi-author-select.mov

Fixes πŸ”§

Maintenance βš™οΈ

Read more