🎉 LAZYGIT FIVE YEAR ANNIVERSARY EDITION 🎉
Holy moly, has it really been 5 years since Lazygit's birth? Time flies when you're having fun.
I've written a post celebrating the anniversary here.
As for this release, we've got some great features here.
Worktrees
We now have a worktrees view so you can easily create worktrees and switch to them and so on. I'm not a big worktrees user myself so please raise an issue if you can think of places to improve the UX.
Rebase --onto
Rebasing onto a marked base commit is a very useful feature that we've been sorely lacking for a while
(demo coming soon)
Auto-refresh on window focus
Auto-refresh on window activation is a complete game-changer. No more having to manually press shift+R when you come back from your editor.
Nuking the worktree
We also have a fun enhancement in this release: showing an explosion animation when you nuke the working tree.
You'll also notice in the readme we've got some updated demo gifs to showoff Lazygit's features. More of those to come.
What's Changed
Features ✨
- Add worktrees view by @jesseduffield (with help from @kadaan) in #2147
- Rebase onto branch from a marked base commit by @stefanhaller in #2835
- Auto-refresh on window activation by @stefanhaller in #2854
Enhancements 🔥
- Faster refresh by @jesseduffield in #2841
- feat: add os.copyToClipboardCmd to allow for a custom command #1055 by @redstreet in #2784
- Add bisect menu entry that lets you choose bisect terms by @stefanhaller in #2838
- When bisecting, always mark the current commit as good/bad, not the selected by @stefanhaller in #2837
- Visualize local branch heads in commits panel, 2nd approach by @stefanhaller in #2775
- Allow force-tagging if tag exists by @stefanhaller in #2827
- Save IgnoreWhitespaceInDiffView in state.yml by @stefanhaller in #2830
- Show loader when rebasing by @KarlHeitmann in #2851
- Internationalise logging of commands by @KarlHeitmann in #2852
- Show visual explosion effect when nuking worktree by @jesseduffield in #2861
Fixes 🔧
- Fix issue where using
null
to un-map a keybinding was ignored by @hatredholder in #2832 - Show error when trying to open patch menu with an empty patch by @stefanhaller in #2829
- Fix merge status for update-ref command by @stefanhaller in #2845
- Stop worktrees view from stealing the window by @jesseduffield in #2863
- Fix confirmation view sizing by @jesseduffield in #2879
Maintenance ⚙️
- Standardise on using lo for slice functions by @jesseduffield in #2846
- Remove redundant secureexec package by @jesseduffield in #2847
- Add automated demo recordings by @jesseduffield in #2853
- Remove file watcher code by @jesseduffield in #2865
- Add more demos to the README by @jesseduffield in #2866
- Move features to top of readme by @jesseduffield in #2867
- Add more demos by @jesseduffield in #2874
Other Changes
- Create demo output dir if it doesn't already exist by @jesseduffield in #2857
New Contributors
- @hatredholder made their first contribution in #2832
- @redstreet made their first contribution in #2784
- @kadaan made their first contribution in #2147
- @KarlHeitmann made their first contribution in #2851
Full Changelog: v0.39.4...v0.40.0