Skip to content

Releases: jesseduffield/lazygit

v0.28

20 Apr 08:40
Compare
Choose a tag to compare

lazygit 0.28 Release notes

Thanks to everybody who filled out the survey at:
- https://forms.gle/AdFEuLy2dikcmK4F7

It's still open so if you want to leave feedback about lazygit please click the link!

Okay what's new in this release?

Command Log Panel

image

Concerned that you have no idea what git commands lazygit is running under the hood? Even I was starting to wonder myself. Well now there's a command log panel which tells you exactly what's going on. Paradoxically, this makes lazygit a valuable resource for learning how to use git on the command line.

The panel is shrunk to a single row when your terminal pane is small enough so that you have some more space. If there's more room it will be a little larger. You can maximise it by clicking it or pressing '@' and switching to it. You can also hide it for the current session through the menu that comes up when you hit '@'.

If you want to hide it permanently you can add the following to your config (which you can edit by pressing 'o' while the status panel is focused):

gui:
  showCommandLog: false

You can also change the default size of the panel (in its semi-enlarged form) like so:

gui:
  commandLogSize: 10

Random Tip

image

Some responses to the above survey mentioned features that would be cool to add... which already existed! So we're seeing how we go with a random tip that is shown in the command log panel when lazygit is opened, providing general tips for using lazygit so that the user can get a little more familiar with the app. If you find this annoying, you can disable it like so:

gui:
  showRandomTip: false

Admittedly if the random tip spans several lines and you only have a one-line-high command log, you're gonna need to scroll up. Not too sure how to get around that one.

Ask Question Button

image

If you're lost and want to ask a question, any question, you can now click the 'Ask Question' button at the bottom right of the app. It will take you to the discussions page of the lazygit repo.

File sorting

We now bubble tracked files to the top when in flat file mode again. So first you'll see files with merge conflicts, then tracked files, then untracked files.

Bug fixes

  • when you open a panel for editing text, the cursor now appears at the end, not the start, of the text.
  • when using an east-asian character encoding, the rendering of frames is no longer broken

v0.27.4

11 Apr 00:31
Compare
Choose a tag to compare

lazygit 0.27.1-0.27.4 Release notes

Version 0.27 was quite ambitious so a few bugs were introduced. Lesson learnt,
release features gradually! All the newly introduced bugs should now be fixed,
except for #1233 which looks to
be a limitation of the new rendering library, tcell.

You can also now open 'git mergetool' by pressing shift+M in the files panel or
merge panel.

Otherwise, these releases contained minor bug fixes and improvements.

lazygit 0.27 Release Notes

Holy Moly, this is a big one.

There are two big changes here:

  1. Tree view for the files panel
  2. New rendering library

File tree view

This is off by default, but can be configured via the 'gui.showFileTree' config
key and toggled from within lazygit with the backtick key (the one below tilde).

Hitting enter on directories will toggle whether they are collapsed. Most
keybindings that apply to files also apply to directories e.g. if you hit space
on a directory, it will stage that whole directory.

When not in tree-mode, the merge conflicts are now bubbled up to the top of the
list.

The tree view makes it much easier to deal with tonnes of files, because you can
easily collapse folders you don't care about to focus on the important changes.
It also reduces the amount of horizontal space used meaning there is less chance
of content being truncated by the frame of the panel.

New rendering library

We've switched from the termbox package to tcell, with the help of the contributors
of the awesome-gocui repo. This has many benefits:

  • More support for various terminals
  • 24 bit colour support (you can now drop the -24-bit-color=never arg if you're using delta)
  • Support for more keybindings like... SHIFT-TAB! Which means you can now navigate
    the side panels with tab and shift-tab. (Previously pressing shift+tab would
    crash the program).
  • Better support for switching to subprocesses. Most of that benefit

Other stuff:

  • No more flickering e.g. when staging a file or when contents are refreshed
  • You can now scroll the main panel with your mouse or pgup/pgdown. Before, doing
    so would move the cursor which was weird
  • You can now insert a newline to the commit message panel via alt-enter. I've
    changed the default keybinding from to . Let me know if that makes
    you angry
  • When you scroll the main view, it will now stop just shy of scrolling too far
  • The gui no longer re-initialises when returning from a subprocess or switching
    repos
  • By default, 'esc' no longer quits lazygit. Instead you'll need to use ctrl+c
    or 'q'. We use escape for exiting various modes in lazygit (e.g. cherry-picking)
    and it gets annoying when you accidentally hit esc one too many times and end
    up quitting. It's still configurable though
  • Faster startup time
  • Custom commands now run in your shell so you have more freedom to get freaky with it

Bug fixes:

  • No more panicking when attemping to enter an unprintable key (thanks @fsmiamoto!)
  • Rewording the topmost commit no longer commits staged files as well
  • When returning from a submodule we retain the state of the parent repo so that
    you land back where you were in the submodules tab
  • Fixed a bug in search where the cursor would get stuck if the result set shrunk
  • Commands now retry if .git/index.lock exists
  • Branches are no longer checked out when renamed
  • Fixed issue with merge conflicts on windows where the wrong command was invoked
    causing a panic

Code-stuff:

  • Lots of refactoring of the code itself. I'm considering a much bigger refactor
    but need to investigate whether the approach is a good idea
  • Added a TUI for running/recording integration tests so that that whole workflow
    is easier
  • Added over 40 new integration tests, so bugs will be caught sooner. As always,
    if you catch a bug, please raise an issue for it!

v0.27.3

10 Apr 02:23
Compare
Choose a tag to compare

Changelog

e42e7e5 fix commit amend
e092da5 pause background threads when running subprocess
93fac1f reduce flicker without worrying about carriage returns

v0.27.2

08 Apr 14:46
Compare
Choose a tag to compare

Changelog

f89c47b add test for building tree
44f1f22 close commit message panel after returning from subprocess
cab0aa4 fix crash at start
d5504fa potentially fix credentials issue
b03e227 revert no-flicker due to carriage return weirdness
273aba3 stricter CI
21049be support file tree mode on windows

v0.27.1

07 Apr 13:06
Compare
Choose a tag to compare

Changelog

a229547 fix CI
b69fc19 fix broken link to old AUR package
4f700c2 fix crash on first open

v0.27

06 Apr 09:41
Compare
Choose a tag to compare

(see above for release notes)

v0.26.1

14 Mar 02:29
Compare
Choose a tag to compare

Changelog

058bcdd fix renamed files looking wrong

v0.26

13 Mar 00:52
Compare
Choose a tag to compare
  • Config changes applied after editing from within lazygit, no reload required.

  • LOTS of fixes for rendering filenames with strange characters, escaped
    characters, and UI fixes, by the amazing @Ryooooooga!

  • Also thanks to @isti115

v0.25.1

23 Feb 23:15
a62d70f
Compare
Choose a tag to compare

Changelog

a62d70f Merge pull request #1172 from jesseduffield/dawidd6-patch-1
053e80a gui: ReplaceAll -> Replace

v0.25

23 Feb 12:33
Compare
Choose a tag to compare

lazygit 0.25 Release Notes

  • Fixes for windows, thanks @murphy66!

  • Allow mapping spaces to dashes when creating a branch, thanks @caquillo07!

  • Allow configuring file refresh and fetch frequency, thanks @Liberatys!

  • Minor security improvement

  • Wide characters supported when entering commit messages, thanks @Ryooooooga!

  • Original branch name appears when renaming, thanks piresrui!

  • Better menus, thanks @1jz!

  • Also thanks to @snipem, @dbast, and @dawidd6