lazygit Updates & Release Notes
25 updates curated from 1 source by the Releasebot Team. Last updated: Nov 8, 2026
- Nov 7, 2026
- Date parsed from source:Nov 7, 2026
- First seen by Releasebot:Nov 8, 2026
v0.66.3
lazygit fixes submodule removal issues in linked worktrees and ignores submodules configured with paths outside the repository.
What's Changed
Fixes 🔧
- Fix removing a submodule in a linked worktree breaking the submodule in the main worktree by @stefanhaller in #6186
- Ignore submodules whose name or path in .gitmodules leads outside the repository by @stefanhaller in #6187
- Full Changelog: v0.66.2...v0.66.3
- Oct 16, 2026
- Date parsed from source:Oct 16, 2026
- First seen by Releasebot:Oct 17, 2026
v0.66.2
lazygit releases an update that improves handling of deleted submodules, nested repositories, and worktrees, speeds up very long diffs, and fixes rendering, navigation, and terminal recovery issues.
What's Changed
Enhancements 🔥
- Improve display and handling of deleted submodules and nested repos/worktrees by @stefanhaller in #6134
Fixes 🔧
- Fix diff rendering after scrolling far down by @stefanhaller in #6120
- Make double-click detection more precise by @stefanhaller in #6123
- Exit gracefully when a repo or worktree gets deleted from under lazygit by @stefanhaller in #6129
- Fix "Jump to File" menu showing only half of the entries, in some rare cases by @stefanhaller in #6136
Maintenance ⚙️
- Restore the terminal more reliably after a panic by @stefanhaller in #6124
- Bump github.com/xo/terminfo from 1.0.0 to 1.2.0 by @dependabot[bot] in #6053
- Bump go version to 1.26 by @stefanhaller in #6137
- Bump golang.org/x/sys from 0.47.0 to 0.49.0 by @dependabot[bot] in #6125
- Bump golang.org/x/sync from 0.22.0 to 0.24.0 by @dependabot[bot] in #6127
- Bump github.com/cli/go-gh/v2 from 2.13.0 to 2.16.2 by @dependabot[bot] in #6128
- Bump github.com/gdamore/tcell/v3 from 3.5.0 to 3.6.0 by @dependabot[bot] in #6126
Performance Improvements 📊
- Improve performance with very long diffs by @stefanhaller in #6121
Full Changelog: v0.66.1...v0.66.2
Original source All of your release notes in one feed
Join Releasebot and get updates from jesseduffield and hundreds of other software products.
- Oct 11, 2026
- Date parsed from source:Oct 11, 2026
- First seen by Releasebot:Oct 12, 2026
v0.66.1
lazygit fixes regressions from its latest release and improves the focused diff view with a selection bar on both sides plus horizontal scrolling when line wrapping is off. It also brings several bug fixes for staging, search highlighting, diff rendering, and file opening.
A few bug fixes for regressions introduced with the last release, and also some for older bugs.
One visible change is that the narrow selection bar in the focused diff view is now shown on both sides of the view rather than just on the left. This should improve usability for users with very large monitors, especially when using a side-by-side diff renderer.
For the changes of the last big release, see v0.66.0.
The changes in detail
Enhancements 🔥
- Allow scrolling the diff view horizontally when gui.wrapLinesInDiffView is off by @stefanhaller in #6109
- Show the diff view's narrow selection bar on the right edge too by @stefanhaller in #6105
Fixes 🔧
- Fix staging diff hunks when the diff.mnemonic git config is true by @stefanhaller in #6099
- Show errors for unresolvable diff lines by @stefanhaller in #6100
- Fix double-width characters in the last column drawing over the view's frame by @stefanhaller in #6106
- Fix search match highlighting when a custom patch is active by @stefanhaller in #6107
- Open files of a branch's diff from the worktree that has it checked out by @stefanhaller in #6104
- Don't log the diff renderer probe in the command log by @stefanhaller in #6112
Full Changelog: v0.66.0...v0.66.1
Original source - Oct 5, 2026
- Date parsed from source:Oct 5, 2026
- First seen by Releasebot:Oct 6, 2026
v0.66.0
lazygit releases a major update with main-view diff staging, richer diff navigation, stronger stacked-branch workflows, dark and light themes, and better commit graph rendering. It also adds many quality-of-life improvements and fixes across the app.
This is by far the biggest release since I took over maintainership from Jesse, and some of the changes deserve a bit more explanation than usual.
Staging hunks is now done directly from the main view.
There used to be a separate staging panel that you had to enter if you wanted to stage individual diff hunks; it was limited to one file at a time, and showed the raw git diff rather than the configured diff renderer. This is gone; the main view now has a selection when you focus it, and you can act on the selected hunk or line directly there:
- press space to stage a hunk or range of lines
- navigate to the next/previous hunk with /, or the next/previous file with n/N
- press e to jump to the editor on the selected line
- press d to discard a hunk.
Many other enhancements were added to this new interactive diff view:
- alt-click a line to jump to that line in the diff view (this works even when a popup panel is showing above it, e.g. the commit message editor)
- press to see a menu with all the files in the diff, to quickly jump to one of them
- the files in the diffstat below the commit message are clickable hyperlinks that take you to the clicked file in the diff, like the menu does
- when changing the diff context using {/}, or when toggling the "ignore whitespace" option (<ctrl-w), the scroll position is preserved
If you use a custom diff renderer, all of this works with the renderer's output, as long as it supports the new OSC protocol that was introduced for this. Delta and Diff-so-fancy already do, so if you use one of these, be sure to update them to the latest version. There is support for difftastic too, but it hasn't been accepted upstream, so you'll have to build it yourself from this PR. If you use any other diff renderer, please file an issue so that we can add support for it.
Better support for stacked branches.
You can now push or force-push all branches of a stack at once, simply by pushing the topmost one. Lazygit will ask you if you want to push the others as well.
Same for pulling: if a branch stack was rebased by someone else, you can pull the topmost branch and lazygit will ask you if you want to pull the other branches in the stack too, without checking them out.
Branches of a stack are now listed in order in the branches panel. When rebasing a stack it is common for all branch tips to get the same committer date, in which case git sorts them alphabetically, which is confusing. We now have extra logic to preserve the stack order in this case.
Unrelated to stacks (but common to show up in that case): when a branch diverges from its upstream (you see ↓3↑5) it was impossible to tell whether that was because you rebased or rewrote the branch, in which case you want to force push, or because someone else rebased the branch, in which case you want to pull it. Lazygit can now distinguish these cases, and will show the ↓3↑5 in a dimmer yellow in the latter case. What's more, in this latter case you can "pull" the branch without checking it out by pressing f, like you already could for branches showing ↓7.
Dark and light themes.
Lazygit now determines whether your terminal has a dark or light background, and can use different color themes for each; it can also switch between the two dynamically if your terminal does. You can also pass this information on to your diff renderer if you use one that needs it, by using the new {{colorScheme}} template variable in the renderer command.
Better rendering of the commit graph.
Since the commit graph uses box drawing characters it could only be an approximation; some graph topologies can't be rendered faithfully this way. We now make use of branch drawing characters if the terminal supports them, which solves this problem and also looks better; see #6077 for details.
All changes in detail
Features ✨
- Stage, unstage and discard changes directly from the focused main view by @stefanhaller in #6035
Enhancements 🔥
- Improve the Recent Repos menu by @stefanhaller in #6016
- List stacked branches in stack order by @stefanhaller in #6024
- Improve the randomly picked author colors by @stefanhaller in #6062
- Allow telling diff renderers whether the terminal is dark or light by @stefanhaller in #6063
- Add dark and light color themes by @stefanhaller in #6065
- Push all branches of a rebased branch stack at once by @stefanhaller in #6045
- Use f to "fast-forward" branches whose upstream branch was rewritten by @stefanhaller in #6067
- Auto-forward branches even if checked out in another worktree by @stefanhaller in #6069
- Offer to pull all branches in a stack when pulling the topmost one by @stefanhaller in #6070
- Delete or push multiple tags at once by @stefanhaller in #6071
- Make shift-backspace do the same as backspace in editors by @stefanhaller in #6078
- Improve the rendering of the commit graph for terminals that support it by @stefanhaller in #6077
- Select, navigate and edit diff lines in the focused main view by @stefanhaller in #6031
- Keep your scroll position in the diff when the diff is rendered again by @stefanhaller in #6032
- Copy the selected diff lines from the focused main view by @stefanhaller in #6034
- Build custom patches directly from a commit's diff by @stefanhaller in #6039
- Remove the staging and patch-building panels by @stefanhaller in #6040
- Alt- or shift-click a diff line to open it in your editor by @stefanhaller in #6041
- Open the selected diff line in the branch's pull request by @stefanhaller in #6042
- Jump to a file of the diff from a menu by @stefanhaller in #6043
- Link the file names in a diffstat to where each file's diff begins by @stefanhaller in #6044
- Keep copied commits when switching to another worktree or repo by @stefanhaller in #6090
Fixes 🔧
- Fix the Commits panel's column widths when scrolling during interactive rebase or bisect by @stefanhaller in #6022
- Keep the outer folder selected when a folder path in the files panel splits up by @stefanhaller in #6037
- Avoid showing pull request icons with a delay on startup even though they are cached by @stefanhaller in #6049
- Fix drawing git's diff stat after switching screen modes by @stefanhaller in #6087
- Fix wrong main view content in rare edge case situations by @stefanhaller in #6089
- Fix the rule below a pull request's header being rendered with the wrong width by @stefanhaller in #6091
Maintenance ⚙️
- Remove codespell again by @stefanhaller in #6028
- Add gopls to the nix dev shell by @stefanhaller in #6047
- Render diffs without a PTY on Windows by @stefanhaller in #6025
- Work out which file and line a row of a diff belongs to by @stefanhaller in #6026
- Support diff renderers that emit OSC 1717 diff line metadata by @stefanhaller in #6029
- Always show a file's staged changes in the "secondary" context by @stefanhaller in #6033
Docs 📖
- Change the demo gifs to videos and update them for the newly added features by @stefanhaller in #6073
I18n 🌎
- Update translations from Crowdin by @stefanhaller in #6092
Full Changelog: v0.65.1...v0.66.0
Original source - Sep 13, 2026
- Date parsed from source:Sep 13, 2026
- First seen by Releasebot:Sep 15, 2026
v0.65.1
lazygit fixes delayed Esc handling on some terminals and avoids loading user config in daemon mode.
What's Changed
Fixes 🔧
- Fix Esc being handled with significant delay on some terminals by @stefanhaller in #6011
- Avoid loading or migrating the user config in daemon mode by @stefanhaller in #6001
Maintenance ⚙️
- Allow running tests from a tarball by @stefanhaller in #6003
Full Changelog: v0.65.0...v0.65.1
Original source Similar to lazygit with recent updates:
- Codex updates269 release notes · Latest Nov 11, 2026
- GitHub updates798 release notes · Latest Nov 11, 2026
- Claude Code updates488 release notes · Latest Nov 11, 2026
- OpenAI Models updates54 release notes · Latest Oct 30, 2026
- Gemini updates463 release notes · Latest Nov 10, 2026
- Proton Pass updates42 release notes · Latest Oct 22, 2026
- Sep 5, 2026
- Date parsed from source:Sep 5, 2026
- First seen by Releasebot:Sep 5, 2026
v0.65.0
lazygit ships v0.65.0 with a smoother, more polished UI, better conflict and rebase handling, and new filtering options for worktrees and menus. It also improves startup speed and fixes several rendering, selection, and scrolling bugs.
What's Changed
Enhancements 🔥
Draw the UI in a more inactive look when the window is not focused by @stefanhaller in #5935
Keep the last conflict file selected after resolution by @stefanhaller in #5936
Auto-select the conflicted commit when stopping in rebase by @stefanhaller in #5937
Keep showing files whose conflicts have been resolved by @stefanhaller in #5940
Allow filtering worktrees by branch name in Worktrees pane by @stefanhaller in #5980
Allow filtering the keybindings and recent repos menus more directly (simply by typing) by @stefanhaller in #5985
Fixes 🔧
Scroll the selection into view by default again by @stefanhaller in #5928
Disable staging all files when there are none to stage by @stefanhaller in #5932
Fix flicker, scroll glitches, and crashes in async diff rendering by @stefanhaller in #5938
Show renames when selecting a directory that a file was moved into or out of by @stefanhaller in #5924
Fix visual glitches when moving a rebase todo by @stefanhaller in #5977
Validate the context names in the "context" field of custom commands by @stefanhaller in #5989
Fix some obscure selection highlighting bugs by @stefanhaller in #5990
Re-render the focused main view if its content changes while it is being searched by @stefanhaller in #5993
Maintenance ⚙️
Bump gofumpt to version 0.11.0 by @stefanhaller in #5925
Avoid gofumpt'ing other worktrees by @stefanhaller in #5931
Two small improvements to the debug log by @stefanhaller in #5933
Bump golangci-lint to v2.12.2 by @stefanhaller in #5941
Bump github.com/xo/terminfo from 0.0.0-20220910002029-abceb7e1c41e to 1.0.0 by @dependabot[bot] in #5950
Bump github.com/stretchr/testify from 1.11.1 to 1.12.1 by @dependabot[bot] in #5968
Bump github.com/gdamore/tcell/v3 from 3.4.1 to 3.4.2 by @dependabot[bot] in #5970
Bump github.com/sirupsen/logrus from 1.9.4 to 1.10.2 by @dependabot[bot] in #5987
Docs 📖
Fix example for args field in rawGit diff renderer docs by @stefanhaller in #5927
I18n 🌎
Update translations from Crowdin by @stefanhaller in #5994
Performance Improvements 📊
Improve startup time by @stefanhaller in #5934
Improve performance of moving rebase todos by @stefanhaller in #5978
Full Changelog: v0.64.1...v0.65.0
Original source - Aug 12, 2026
- Date parsed from source:Aug 12, 2026
- First seen by Releasebot:Aug 13, 2026
v0.64.1
lazygit fixes a set of regressions and long-standing bugs, improving filtering transitions, stash handling, repo support, conflict markers, quit behavior, and pull request visibility while also tightening maintenance and test reliability.
What's Changed
This fixes a few regressions that were introduced in the last release, and some long-standing bugs that I didn't see any reason to hold back until the next big one.
Fixes 🔧
- Fix transitions of entering and exiting filtering mode (e.g. by path or author) by @stefanhaller in #5897
- Fix race in "Stash staged changes" on git versions before 2.35.0 by @stefanhaller in #5903
- Fix several problems with repos whose git dir lives outside the working tree by @stefanhaller in #5910
- Update the UI after stash operations in a single frame by @stefanhaller in #5905
- Honor the conflict-marker-size gitattribute by @stefanhaller in #5902
- Fix hang on quit when confirmOnQuit is true by @stefanhaller in #5919
- Fix pull requests silently disappearing until lazygit is restarted by @stefanhaller in #5921
Maintenance ⚙️
- Don't let integration tests race a background git repack by @stefanhaller in #5898
- update Nix flake dependencies by @TyceHerrman in #5894
- Simplify the run_integration_tests.sh script by @stefanhaller in #5908
- Bump actions/setup-go from 6 to 7 by @dependabot[bot] in #5843
- Bump github.com/kyokomi/emoji/v2 from 2.2.13 to 2.2.14 by @dependabot[bot] in #5813
- Bump mheap/github-action-required-labels from 5.5.2 to 5.6.0 by @dependabot[bot] in #5769
- Bump github.com/lucasb-eyer/go-colorful from 1.4.0 to 1.4.1 by @dependabot[bot] in #5916
- Bump JamesIves/github-sponsors-readme-action from 1.6.0 to 1.6.1 by @dependabot[bot] in #5917
Full Changelog: v0.64.0...v0.64.1
Original source - Aug 4, 2026
- Date parsed from source:Aug 4, 2026
- First seen by Releasebot:Aug 5, 2026
v0.64.0
lazygit ships a major stability-focused release with a rebuilt concurrency model, fewer data races, and smoother everyday actions. It also adds GitHub PR check status in the branches view, drag-to-select and reorder improvements, and better scrolling, plus a broad set of fixes and polish.
What's Changed
This release has massive changes, but most of them should hopefully not be visible: I completely overhauled lazygit's concurrency model, which was, let's say, less than robust; there were lots of data races, and we were just lucky that this didn't result in crashes or misbehavior more often. We now have a robust concurrency model with no known data races, and in fact we run our integration test suite on CI with the -race flag to prove that. The user visible part of this is that some operations run a little more smoothly now; for example, there used to be an ugly spinner freeze at the end of checking out a branch, which is now gone.
However, since the changes were so massive there's a higher-than-usual chance of regressions, so please report any that you find.
Apart from that, we also have a few useful enhancements; the most notable one is probably that we now show the Github checks status of pull requests in the branches panel.
Enhancements 🔥
- Show a spinner for more long-running operations by @stefanhaller in #5765
- Remove the BLOCK_UI refresh mode by @stefanhaller in #5790
- Support a {{diffContext}} template variable in external diff command by @stefanhaller in #5841
- Some small UI polish by @stefanhaller in #5853
- Auto-scroll when dragging to create range selection in staging view by @stefanhaller in #5855
- Create a range selection in list views by dragging with the mouse by @stefanhaller in #5856
- Reorder commits (or rebase todos) by dragging with the mouse by @stefanhaller in #5857
- Rework the custom pager config (rename to diff renderer) by @stefanhaller in #5870
- Show a Github PR's combined checks state in branches list (and main view for selected branch) by @stefanhaller in #5874
Fixes 🔧
- Fix stuck inline status when pushing/fetching by @stefanhaller in #5768
- Escape the merge conflicts view before prompting to continue the rebase by @stefanhaller in #5822
- Fix side panel rendering when branches/commits are not their panel's first tab by @stefanhaller in #5825
- Suppress output from a few git commands that pollute the command log by @stefanhaller in #5834
- Fix stall with ctrl+z and fg by @stefanhaller in #5830
- Fix more problems related to concurrent repo switch and background refresh by @stefanhaller in #5839
- Fix Windows crash when switching to fullscreen mode with a custom pager by @stefanhaller in #5838
- Fix multi-selection of files with common prefix not working in commit files panel by @stefanhaller in #5868
- Support absolute paths when detecting edit preset from EDITOR env var by @stefanhaller in #5876
- Exclude more commit trailers from auto-wrapping by @stefanhaller in #5871
- Prevent stale index.lock files from diffs rendered through a pty on Windows by @stefanhaller in #5888
- Fix orphaned processes on Windows when quickly navigating between commits by @stefanhaller in #5885
Maintenance ⚙️
- Perform refresh model and view updates on the UI thread instead of using mutexes by @stefanhaller in #5767
- Fix data race with status string by @stefanhaller in #5777
- Fix data race with command log by @stefanhaller in #5779
- Make integration tests using commits more robust by @stefanhaller in #5782
- Synchronize ViewBufferManager.Close with a starting task by @stefanhaller in #5786
- Make model<->view index conversions independent of rendering by @stefanhaller in #5785
- Fix idle notification deadlock by @stefanhaller in #5821
- Bump tcell to an unreleased snapshot to fix a shutdown race by @stefanhaller in #5824
- Fix command log streaming race by @stefanhaller in #5789
- Synchronize async view rendering by @stefanhaller in #5791
- Run tests with race detection on CI by @stefanhaller in #5792
- Gocui mouse event fixes by @stefanhaller in #5854
- Move Github PR cache out of state.yml into a separate file by @stefanhaller in #5884
- Make justfile commands available in the Nix development shell by @TyceHerrman in #5890
Docs 📖
- Clarify contribution policy by @stefanhaller in #5809
I18n 🌎
- Update translations from Crowdin by @stefanhaller in #5891
Performance Improvements 📊
- Make scrolling down a very long diff with the scroll wheel much smoother by @stefanhaller in #5780
New Contributors
- @TyceHerrman made their first contribution in #5890
Full Changelog: v0.63.1...v0.64.0
Original source - Jul 15, 2026
- Date parsed from source:Jul 15, 2026
- First seen by Releasebot:Jul 15, 2026
v0.63.1
lazygit fixes v0.63.1 regressions with lock retry, panic, and Windows deadlock improvements.
Fixes for a few regressions introduced in the v0.63.0 release.
What's Changed
Fixes 🔧
- Improve index.lock retry mechanism by @stefanhaller in #5788
- Fix userEvents panic by @stefanhaller in #5793
- Fix a deadlock on Windows when switching between longer diffs by @stefanhaller in #5815
Maintenance ⚙️
- Allow releasing from a branch other than master by @stefanhaller in #5819
Full Changelog: v0.63.0...v0.63.1
Original source - Jul 4, 2026
- Date parsed from source:Jul 4, 2026
- First seen by Releasebot:Jul 4, 2026
v0.63.0
lazygit releases v0.63.0 with smoother Git workflows, adding direnv support, configurable side panels, background polling for external repo changes, better worktree handling, and improved conflict resolution. It also brings Windows pager and prompt support, performance gains, and multiple bug fixes.
What's Changed
Enhancements 🔥
- Add direnv support by @stefanhaller in #5660
- Improve cycling through multiple pagers by @stefanhaller in #5678
- Detect external repo changes via background polling by @stefanhaller in #5662
- Make the side panels configurable by @stefanhaller in #5702
- Add a global keybinding for editing the config file by @stefanhaller in #5728
- Improve resolving non-textual and submodule merge conflicts by @stefanhaller in #5735
- Auto-dismiss the continue-rebase prompt when it becomes stale by @stefanhaller in #5758
- Support custom pagers and passphrase prompts on Windows by @stefanhaller in #5740
- Make creating worktrees simpler and less error-prone by @stefanhaller in #5741
- Improve deleting worktrees and their branches by @stefanhaller in #5748
- Allow overriding the platform used for default keybindings by @stefanhaller in #5671
- Add gui.shrinkSidePanelsToContent option by @stefanhaller in #5754
- Show renamed files in the custom patch builder by @stefanhaller in #5759
Fixes 🔧
- Fix unstaging a submodule with dirty content by @stefanhaller in #5666
- Fix coloring of wrapped delta lines by @stefanhaller in #5711
- Fix Files Panel artefacts during rebase commands by @stefanhaller in #5661
- Keep selected commits stable across refreshes by @stefanhaller in #5717
- Fix quoting of shell commands on Windows by @stefanhaller in #5704
- Silently consume unrecognized or malformed escape sequences by @stefanhaller in #5738
- Don't include common ancestor when picking "both" for a conflict in diff3 style by @stefanhaller in #5747
Maintenance ⚙️
- Some fixes to our infrastructure by @stefanhaller in #5705
- Restructure the just recipes for running integration tests by @stefanhaller in #5720
- Fix flaky TestNewCmdTaskInstantStop test by @stefanhaller in #5743
- Bump golang.org/x/sync from 0.20.0 to 0.21.0 by @dependabot[bot] in #5684
- Bump golang.org/x/sys from 0.45.0 to 0.46.0 by @dependabot[bot] in #5685
- Bump github.com/sahilm/fuzzy from 0.1.2 to 0.1.3 by @dependabot[bot] in #5706
- Bump actions/cache from 5 to 6 by @dependabot[bot] in #5722
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in #5723
- Bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by @dependabot[bot] in #5745
- Bump golangci/golangci-lint-action from 9.2.0 to 9.3.0 by @dependabot[bot] in #5746
- Bump golang.org/x/net from 0.47.0 to 0.55.0 by @dependabot[bot] in #5752
- Pin gofumpt version to 0.9.2 by @stefanhaller in #5753
- Fix a few flaky tests by @stefanhaller in #5756
I18n 🌎
- Update translations from Crowdin by @stefanhaller in #5760
Performance Improvements 📊
- Prevent staging from becoming slower over time by @stefanhaller in #5712
Full Changelog: v0.62.2...v0.63.0
Original source - Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Jun 4, 2026
v0.62.2
lazygit fixes a small regression and improves waiting status display for synchronous operations.
This fixes another small regression introduced in 0.62.0. For the full list of changes in 0.62, see here.
What's Changed
Fixes 🔧
- Fix the waiting status display for synchronous operations by @stefanhaller in #5659
Full Changelog: v0.62.1...v0.62.2
Original source - May 28, 2026
- Date parsed from source:May 28, 2026
- First seen by Releasebot:May 28, 2026
v0.62.1
lazygit fixes a crash regression and adds docs for default non-pager diffs.
This fixes a regression (crash) introduced in 0.62.0. For the full list of changes in 0.62, see here.
What's Changed
Fixes 🔧
- Fix crash when keybindings are disabled that normally show in the status bar by @stefanhaller in #5655
Docs 📖
- Add docs for how to add the default, non-pager diff to the list of pagers by @stefanhaller in #5656
Full Changelog: v0.62.0...v0.62.1
Original source - May 26, 2026
- Date parsed from source:May 26, 2026
- First seen by Releasebot:May 27, 2026
v0.62.0
lazygit ships a keybinding revamp with richer, more intuitive shortcuts and new default commit submit bindings, while also improving pull request support, Git flow integration, performance, and several workflow fixes.
The big change in this release is what I have been referring to as the "keybinding revamp": it allows you to use richer keybindings than the few that were available before; see Custom_Keybindings.md for details. It also describes a new keybinding syntax that is a bit more intuitive than the previous <c-x> notation (but the old one is still supported for backwards compatibility).
Note the section about Terminal compatibility in that document; not all terminals support the new protocol equally well, so it may be a good idea to switch to one that does.
Breaking change
The default keybinding for submitting a commit from the commit description editor has changed from alt-enter to command-enter on Mac, or ctrl-enter on Linux and Windows; these are the same bindings that are used in many multi-line edit field situations, e.g. in GitHub comments. Unfortunately these are not supported by all terminals; see the above-mentioned terminal compatibility for more on that. If you want to revert this change, you can do so by adding the following to your config:
keybinding: universal: confirmInEditor: [<alt+enter>, <ctrl+s>]The complete list of changes follows:
What's Changed
Enhancements 🔥
- Retry on ref lock errors during fetch/pull by @majiayu000 in #5161
- Preserve whitespace when remembering commit message by @stefanhaller in #5528
- Define PR colors as hex colors to make them the same as GitHub's by @stefanhaller in #5480
- Revamp keybinding mechanism to support richer keybindings (e.g. ctrl-alt-shift-x ) by @stefanhaller in #5563
- Platform-specific edit bindings for move-by-word and backspace-word by @stefanhaller in #5564
- Change canonical keybinding syntax (<ctrl+a> instead of <c-a>) by @stefanhaller in #5565
- Use more widely-supported Unicode symbols for the commit graph by @stefanhaller in #5573
- Show push URLs for remotes that have any by @stefanhaller in #5576
- Support GitHub Enterprise for the Pull Requests feature by @stefanhaller in #5596
- Allow keybindings to configure more than one key by @stefanhaller in #5634
- Add <alt+up>/<alt+down> as alternate keybindings for moving commits up/down by @stefanhaller in #5637
- Add support for git flow using the git-flow-next tool by @hmaddocks in #5288
Fixes 🔧
- Fix copying a file's absolute path when running in a linked worktree by @stefanhaller in #5523
- Preserve commit message when quitting while the commit message panel is open by @stefanhaller in #5524
- Stop showing cached PRs when we no longer have a base remote by @stefanhaller in #5543
- If multiple remotes exist but only one is a Github remote, pick it without prompting by @stefanhaller in #5544
- Fix cherry-picking a range selection of commits by @stefanhaller in #5599
- Dont log GitHub PR fetching errors to the Command log by @stefanhaller in #5600
- Avoid auto-forwarding main branches checked out in other worktrees by @stefanhaller in #5621
- Fix cycling pagers when main view is focused by @stefanhaller in #5639
Maintenance ⚙️
- Bump samber.lo to latest version by @stefanhaller in #5545
- Bump github.com/kyokomi/emoji/v2 from 2.2.8 to 2.2.13 by @dependabot[bot] in #5481
- Bump github.com/gookit/color from 1.4.2 to 1.6.0 by @dependabot[bot] in #5482
- Bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 by @dependabot[bot] in #5483
- Bump dario.cat/mergo from 1.0.1 to 1.0.2 by @dependabot[bot] in #5484
- Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 by @dependabot[bot] in #5514
- Bump goreleaser/goreleaser-action from 7.0.0 to 7.1.0 by @dependabot[bot] in #5529
- Bump actions/github-script from 8 to 9 by @dependabot[bot] in #5515
- Bump golang.org/x/sys from 0.42.0 to 0.43.0 by @dependabot[bot] in #5548
- Copy gocui into lazygit repo by @stefanhaller in #5561
- Update to tcell v3 by @stefanhaller in #5562
- Clear LC_* env vars when running LANG tests by @AntoineGS in #5568
- Fix failing windows tests by @stefanhaller in #5574
- Fix new gopls linter warnings by @stefanhaller in #5580
- Disable gh telemetry when running integration tests by @stefanhaller in #5587
- Fix the check_for_fixups.sh script again by @stefanhaller in #5590
- Add script to preview release notes by @stefanhaller in #5620
- Bump github.com/gookit/color from 1.6.0 to 1.6.1 by @dependabot[bot] in #5586
- Bump github.com/sahilm/fuzzy from 0.1.1 to 0.1.2 by @dependabot[bot] in #5606
- Bump golang.org/x/sys from 0.43.0 to 0.45.0 by @dependabot[bot] in #5607
- Bump github.com/gdamore/tcell/v3 from 3.3.0 to 3.4.0 by @dependabot[bot] in #5618
- Bump goreleaser/goreleaser-action from 7.1.0 to 7.2.2 by @dependabot[bot] in #5619
Docs 📖
- Fix undo shortcut in Undoing.md by @stefanhaller in #5640
- Update docs and schema for release by @stefanhaller in #5645
I18n 🌎
- Update translations from Crowdin by @stefanhaller in #5644
Performance Improvements 📊
- Improve performance of showDivergenceFromBaseBranch by @AntoineGS in #5536
- Redraw only the spinner when nothing else has changed by @AntoineGS in #5571
- Improve inline spinner performance by @stefanhaller in #5592
New Contributors
- @majiayu000 made their first contribution in #5161
- @AntoineGS made their first contribution in #5536
- @hmaddocks made their first contribution in #5288
Full Changelog: v0.61.1...v0.62.0
Original source - Apr 13, 2026
- Date parsed from source:Apr 13, 2026
- First seen by Releasebot:Apr 14, 2026
v0.61.1
lazygit fixes its recently added GitHub pull requests feature with cleaner branch handling and repository matching, including hiding closed pull requests on main branches and improving PR integration stability.
This release has just a few fixes for the recently added GitHub pull requests feature.
What's Changed
Enhancements 🔥
- Hide closed pull requests on main branches by @stefanhaller in #5501
Fixes 🔧
- Normalize repository owner casing to fix GitHub PR integration by @bradly0cjw in #5495
- Don't default the base repo for pull requests to "origin" by @stefanhaller in #5508
Maintenance ⚙️
- Security fix: avoid using ${{ }} variable interpolation in run: steps by @orbisai0security in #5487
- Add a justfile by @stefanhaller in #5490
New Contributors
- @orbisai0security made their first contribution in #5487
- @bradly0cjw made their first contribution in #5495
Full Changelog: v0.61.0...v0.61.1
Original source - Apr 6, 2026
- Date parsed from source:Apr 6, 2026
- First seen by Releasebot:Apr 6, 2026
v0.61.0
lazygit adds GitHub pull request support, showing PR icons beside branches and letting users open PRs in the browser with Shift-G after logging in with gh. This release also brings file tree and layout improvements, several fixes, and faster discarding of many files.
The big one in this release is support for GitHub pull requests. They are shown as little GitHub icons next to each branch that has one, and you can open a PR in the browser by pressing shift-G. To enable this, all you need to do is install the gh tool if you haven't already, and log in using gh auth login.
What's Changed
Features ✨
- Show pull requests against branches by @jesseduffield in #2781
Enhancements 🔥
- Add support for clicking on arrows in the file list to expand/collapse directories by @blakemckeany in #5365
- Remove empty directories after discarding untracked files by @stefanhaller in #5408
- Make file sort order and case sensitivity configurable, and default to mix files and folders by @stefanhaller in #5427
- Allow customizing the window width/height thresholds for when to use portrait mode by @stefanhaller in #5452
- Log hashes of local branches when deleting them by @stefanhaller in #5441
- Add condition field to custom command prompts by @mrt181 in #5364
Fixes 🔧
- Fix staging only some lines of a block of consecutive changes by @stefanhaller in #5396
- Fix the expanded layout of the branches panel (half and full screen modes) by @stefanhaller in #5413
- Fix searching commits or main view after switching repos by @stefanhaller in #5424
- Scroll to top when showing subcommits by @stefanhaller in #5425
- Fix patch commands when git config has color=always by @matthijskooijman in #5405
- Don't stage out-of-date submodules when asking user to auto-stage after resolving conflicts by @stefanhaller in #5440
Maintenance ⚙️
- Remove go-git dependency by @stefanhaller in #5420
- Make Debian/Ubuntu install command architecture-independent by @discapes in #5386
- Bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 by @dependabot[bot] in #5423
- fix: pin 7 unpinned action(s), extract 1 inline secret to env var by @dagecko in #5439
- Fix dependabot config file by @stefanhaller in #5443
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #5444
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #5445
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #5446
- Bump github.com/lucasb-eyer/go-colorful from 1.3.0 to 1.4.0 by @dependabot[bot] in #5447
- Bump github.com/spf13/afero from 1.9.5 to 1.15.0 by @dependabot[bot] in #5448
- Bump github.com/creack/pty from 1.1.11 to 1.1.24 by @dependabot[bot] in #5449
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in #5450
- Bump github.com/sanity-io/litter from 1.5.2 to 1.5.8 by @dependabot[bot] in #5451
- Bump github.com/adrg/xdg from 0.4.0 to 0.5.3 by @dependabot[bot] in #5456
- Bump github.com/spkg/bom from 0.0.0-20160624110644-59b7046e48ad to 1.0.1 by @dependabot[bot] in #5457
- Bump github.com/integrii/flaggy from 1.4.0 to 1.8.0 by @dependabot[bot] in #5458
- Bump github.com/sahilm/fuzzy from 0.1.0 to 0.1.1 by @dependabot[bot] in #5459
- Bump github.com/sasha-s/go-deadlock from 0.3.6 to 0.3.9 by @dependabot[bot] in #5460
Docs 📖
- Add a note about AI to CONTRIBUTING.md by @stefanhaller in #5404
- Update redo keybinding in README.md by @unikitty37 in #5387
- Fix grammar in the contributor guide by @Rohan5commit in #5392
I18n 🌎
- Update translations from Crowdin by @stefanhaller in #5476
Performance Improvements 📊
- Improve performance of discarding many files by @stefanhaller in #5407
New Contributors
- @blakemckeany made their first contribution in #5365
- @discapes made their first contribution in #5386
- @unikitty37 made their first contribution in #5387
- @Rohan5commit made their first contribution in #5392
- @matthijskooijman made their first contribution in #5405
- @dagecko made their first contribution in #5439
- @mrt181 made their first contribution in #5364
Full Changelog: v0.60.0...v0.61.0
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.