Lazygit-py

Latest version: v0.41.0

Safety actively analyzes 623866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 26

20.04

0.41.0

Hold on tight because this is a HUGE release! This release includes a whopping 595 commits from a period of over 7 months, from 40 different contributors. Thanks to everybody who made this possible, and apologies for taking so long to actually release it: we'll be more frequent in future!

Special thanks to Stefan Haller who is behind many of this release's changes and who has been critical in getting this release across the line.

I've made a video running through the big changes here:

[<img src="https://github.com/jesseduffield/lazygit/assets/8456633/f9b47c5e-f8b2-4b41-8f51-bf06b01046e2">](https://youtu.be/_REmkoIyPW0)

What's Changed

Here's some highlighted features:

Range select

![range-select](https://github.com/jesseduffield/lazygit/blob/assets/demo/interactive_rebase-compressed.gif?raw=true)

You can now press 'v' to toggle range select in any list view, just like you already could in the staging view. You can also press shift+up/down to select a range. You can use range select to:
* stage/discard a range of files
* select multiple commits to fixup/squash/move outside an interactive rebase
* select multiple commits to mark as fixup/squash/etc within an interactive rebase
* select multiple commit files to discard or add to a custom patch (courtesy of afhoffman)
* select multiple commits to cherry-pick

I have been waiting for this feature for a very long time and it's already made me way more productive. If I need to squash a range of commits I can now easily do it directly rather than needing to squash them one-by-one, or needing to manually start an interactive rebase first. Likewise, it's much easier to select a range of files and stage them than stage them one-by-one.

This is a **Breaking change**: Unfortunately, the 'v' key clashes with the existing key for pasting commits (cherry-pick), so we've replaced that with shift+V and changed the commit copy key to shift+C. If you want the old keybindings back, you can do that like so:
yml
keybinding:
universal:
toggleRangeSelect: <something other than v>
commits:
cherryPickCopy: 'c'
pasteCommits: 'v'


Auto-wrap in commit editor

The commit editor now automatically hard-wraps your content by default, so you no longer need to hit the enter key yourself when you approach the margin. You can disable/configure this in your config:

yml
git:
commit:
autoWrapCommitMessage: true
autoWrapWidth: 72


Thanks to stefanhaller for this feature.

Easier remote branch checkout

Now when you go to checkout a remote branch, either via the `c` keybinding in the branches view or by pressing `space` on a remote branch, you'll be given the choice to checkout as a local branch or as a detached head (previously it would just check it out as a detached head which typically isn't what you want). This is a **Breaking change** in terms of muscle memory.

Thanks to stefanhaller for this feature.

Easier start interactive rebase

Previously, to start an interactive rebase, you would need to navigate to a base commit and press `e` on it. Now you can simply press `i` and regardless of which commit is selected, an interactive rebase will begin that includes all the commits on your branch (or if there are merge commits: all the commits up to first merge commit).

The above demo for range select showcases this.

Easier squashing of `fixup!` commits

In a similar vein to the above section, now when you press `shift+S`, you're given the choice of squashing all commits above the selected commit and squashing all commits on the branch, which is what you typically want. This is a **Breaking change** in terms of muscle memory.

Thanks to stefanhaller for this feature.

View divergence from upstream branch

If you press `u` on a local branch a menu appears which shows options relating to the branch's upstream. Now, the first option in that menu allows you to view the divergence from the upstream which shows commits to pull and commits to push

Thanks to stefanhaller for this feature.

Find appropriate commit for fixup/amend

This one is some serious voodoo: if somebody suggests changes in a PR review, you'll often apply the changes, then go hunting for the appropriate commit to fixup/amend. Now, from the files view you can press `ctrl+f` and if Lazygit can identify an appropriate commit with certainty, it will select that commit for you. Pretty cool!

We've made the algorithm very strict so that you can always trust the result, but this means in circumstances where we can't know for sure which commit is appropriate (such as when your changes only include added lines), it's left to you to manually find the commit. We're keen to get lots of feedback on this feature to see where the sweet spot is.

For more info see [the docs](https://github.com/jesseduffield/lazygit/blob/master/docs/Fixup_Commits.md#finding-the-commit-to-create-a-fixup-for)

Thanks to stefanhaller for this feature.

Delete remote branches/tags

Now when you press `d` on a local branch, remote branch, or tag, you're given the option to delete that branch/tag in the remote.

Thanks to AzraelSec for this feature.

Add co-author to commit

When you press `a` on a commit an option now appears to add a co-author (something GitHub can read).

Thanks to omaussa for this feature.

Filter commits by author

You can now filter commits by author via pressing `ctrl+s` in the commits view and selecting the option to filter by author.

Thanks to Part22 for this feature.

Change branch sort order

You can now change branch sort order by pressing `s` in the branches view (and remote branches view). By default local branches are sorted by 'recency' meaning how recently they were checked out, but you can now sort by head commit date and alphabetically.

Thanks to hosaka for this feature.

Better bare repo support

We have fixed a bunch of bugs relating to bare repos so if you had issues with them in the past it should work fine now.

Thanks to jwhitley for this feature.

Miscelleneous UI changes

* Unstaged files are now shown in white, not red, which is easier on the eyes
* Scrollbars are thinner (and, thus, cooler)
* Keybindings menu now has section headers (stefanhaller)
* Error toasts now appear for some errors (less intrusive than popups) (stefanhaller)
* Search history is now retained (karimkhaleel)
* Git log is shown by default (stefanhaller)

More Breaking Changes 💥

* When you press 'g' to bring up the git reset menu, the 'mixed' option is now the first and default, rather than 'soft'. This is because 'mixed' is the most commonly used option.
* Push/pull/fetch loading statuses are now shown against the branch rather than in a popup. This allows you to e.g. fetch multiple branches in parallel and see the status for each branch.
* The git log graph in the commits view is now always shown by default (previously it was only shown when the view was maximised). If you find this too noisy, you can change it back via `ctrl+L` -> 'Show git graph' -> 'when maximised'
* Filtering (e.g. when pressing '/') is less fuzzy by default; it only matches substrings now. Multiple substrings can be matched by separating them with spaces. If you want to revert to the old behavior, set the following in your config:
yml
gui:
filterMode: 'fuzzy'


What's Changed
All Enhancements 🔥
* Add range selection ability on list contexts by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3207
* Allow deleting remote tags/branches from local tag/branch views by AzraelSec in https://github.com/jesseduffield/lazygit/pull/2738
* Add command to show divergence from upstream by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2871
* Add 'Quick start interactive rebase' action by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3213
* Add command to open git difftool by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3156
* Support editing files in existing neovim instance by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2916
* Show commit mark before showing extra info by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2928
* Jump to middle of the view when selection leaves the visible area by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2915
* Add emacs-keybinds for word navigation by horriblename in https://github.com/jesseduffield/lazygit/pull/2935
* Add `gui.scrollOffBehavior` config for scrolling list views by half-pages by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2939
* Switch to editor from commit message panel by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2881
* Select same commit again after pressing "e" to edit a commit by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2954
* Support custom keybindings for confirm discard by mskelton in https://github.com/jesseduffield/lazygit/pull/2960
* Allow adding a port to webDomain part of services config by raidora in https://github.com/jesseduffield/lazygit/pull/2908
* Add icons for files with .mdx and .svelte file extensions by hrstmr in https://github.com/jesseduffield/lazygit/pull/2889
* Section headers in keybindings menu by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2911
* Check for staged files for "Amend commit" and "Create fixup commit" by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2970
* Add support for external diff commands (e.g. difftastic) by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2868
* Save diff context size in state.yml instead of config.yml by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2969
* Support to reset the current branch to a selected branch upstream by AzraelSec in https://github.com/jesseduffield/lazygit/pull/2940
* Replace whitespace with '-' when renaming a branch by calthejuggler in https://github.com/jesseduffield/lazygit/pull/2990
* Add jump-to-panel label config setting by MariaSolOs in https://github.com/jesseduffield/lazygit/pull/2993
* Add co-author to commits by omaussa in https://github.com/jesseduffield/lazygit/pull/2912
* Change the default of the "gui.borders" config to "rounded" by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2998
* Add a DisabledReason mechanism for menu items and keybindings by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2992
* Allow cherry-picking commits during a rebase by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3013
* Add history for search view by karimkhaleel in https://github.com/jesseduffield/lazygit/pull/2877
* Replace loader panels with waiting status (pull/push/fetch) by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2973
* Add menu to rebase onto selected branch remote upstream by AzraelSec in https://github.com/jesseduffield/lazygit/pull/3020
* Add ability to force portrait mode by ldelossa in https://github.com/jesseduffield/lazygit/pull/3037
* Add Micro editor preset by kytta in https://github.com/jesseduffield/lazygit/pull/3049
* Show sync status in branches list by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3021
* Add 'lvim' editor preset for lunarvim by zottelsheep in https://github.com/jesseduffield/lazygit/pull/3074
* Truncate branch names to make branch status always visible by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3075
* Color file icons by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3080
* Add UserConfig jsonschema generation script by karimkhaleel in https://github.com/jesseduffield/lazygit/pull/3039
* Add a copy-to-clipboard menu to the file view (with `diff` copy options) by AzraelSec in https://github.com/jesseduffield/lazygit/pull/3104
* Fix bottom line alignment by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3076
* Make move up/down blocking by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2966
* Add remote branch sorting menu by hosaka in https://github.com/jesseduffield/lazygit/pull/3171
* Add age to stash entries by AzraelSec in https://github.com/jesseduffield/lazygit/pull/3174
* Add local branch sorting menu by hosaka in https://github.com/jesseduffield/lazygit/pull/3182
* Show a friendly error message when starting lazygit from a non-existent cwd by simonwhitaker in https://github.com/jesseduffield/lazygit/pull/3192
* Replace copy commit SHA with copy commit subject on the y s keybind in the commits view by karimkhaleel in https://github.com/jesseduffield/lazygit/pull/3188
* Add config setting for splitting window vertically in half screen mode by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3133
* Add command to find base commit for creating a fixup by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3105
* Show Toast instead of error panel when invoking a disabled command by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3180
* Show file names in default colour by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3081
* Add config setting to suppress showing file icons by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3216
* Support range select for rebase actions by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3232
* Make range selections created with the mouse non-sticky by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3234
* Support range select for staging/discarding files by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3248
* Inline status for fetching remotes by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3238
* Add shortcuts for filtering files by status by mark2185 in https://github.com/jesseduffield/lazygit/pull/3137
* Keep same selection range when quick-starting an interactive rebase by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3247
* Add loads of tooltips by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3269
* Show better keybinding suggestions by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3203
* Support selecting file range in patch builder by afhoffman in https://github.com/jesseduffield/lazygit/pull/3259
* Add command to squash all fixups in the current branch by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3274
* Use slimmer scrollbars by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3283
* Clear cherry-picked commits after pasting by molejnik88 in https://github.com/jesseduffield/lazygit/pull/3240
* Change default of git.log.showGraph to 'always' by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3314
* Support range select removing files from a commit by afhoffman in https://github.com/jesseduffield/lazygit/pull/3276
* Migrate git.log.showGraph and git.log.order to app state by hosaka in https://github.com/jesseduffield/lazygit/pull/3197
* Change "git reset" default to --mixed by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3264
* Add author filtering to commit view by part22 in https://github.com/jesseduffield/lazygit/pull/3302
* Provide two helix presets, one for "helix" and one for "hx" by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3346
* Don't show branch head on rebase todos if the rebase.updateRefs config is on by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3340
* Show all submodules recursively by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3341
* Support setting a range of commits to "edit" outside of a rebase by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3370
* Adjust selection after squashing fixups by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3338
* Auto-wrap commit message while typing by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3173
* Add Co-Author support to new commits by 2KAbhishek in https://github.com/jesseduffield/lazygit/pull/3097
* Show "breaking changes" message at startup by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3377
* Allow moving and deleting update-ref todos by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3391
* When checking out a remote branch by name, ask the user how by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3388
* Use substring filtering instead of fuzzy filtering by default by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3376
* Always prompt to return from subprocess if there was an error by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3410
* When adding a new remote, select it and fetch it by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3401
* Support editing multiple files at once using range selection by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3407
* Make it easy to create "amend!" commits by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3409
* Add config to truncate commit hashes when copying them to the clipboard by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3402
Fixes 🔧
* Fix issue where explosion effect was out-of-view by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2909
* Show dialogue when attempting to open info link fails by simonwhitaker in https://github.com/jesseduffield/lazygit/pull/2899
* Fix jumping to the correct line from the staging view by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2919
* Fix sha colors when rebasing by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2946
* Fix the commit graph display after selection jumps in commits view by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2943
* Handle trailing slash in worktree path by Krismix1 in https://github.com/jesseduffield/lazygit/pull/2947
* Fix escape not cancelling filter mode, but closing the menu instead by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2977
* Use `Error` method to handle commits url copy from unknown service by AzraelSec in https://github.com/jesseduffield/lazygit/pull/3007
* Hide waiting status during credentials prompt by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3016
* Use upstream branch when opening pull requests by mark2185 in https://github.com/jesseduffield/lazygit/pull/2693
* Fix issue where active search inappropriately changed selected line by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3022
* Respect $GIT_WORK_TREE and $GIT_DIR env vars (fix 3010). by intrntbrn in https://github.com/jesseduffield/lazygit/pull/3024
* Fix crash when trying to filter the list of remotes by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3059
* Re-apply filter when model changes by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3058
* Use a PTY when calling external diff command by AFutureD in https://github.com/jesseduffield/lazygit/pull/3120
* Re-enable 'Unset upstream' option when upstream branch is missing by mark2185 in https://github.com/jesseduffield/lazygit/pull/3086
* Fall back to WithWaitingStatus if item is not visible by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3083
* Fix checking out a tag when there is a branch with the same name by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3179
* Fix preserving the commit message when description contains blank lines by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3170
* Allow multiple fetch commands (or fetch and pull) to run concurrently by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3202
* Support insteadOf URL rewriting when opening URLs in browser by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3177
* Fix keybindings for characters involving AltGr on Windows by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3194
* Do not include keybindings from another view in keybindings menu by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3220
* Fix crash with short branch names by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3219
* Keep same branch selected when fetching a branch while sorted by date by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3186
* Use git rev-parse to obtain repository and worktree paths by jwhitley in https://github.com/jesseduffield/lazygit/pull/3183
* Pass absolute file paths to all editor commands by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3255
* Disallow cherry-picking merge commits by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3316
* Fix two problems related to update-ref rebase todo items by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3290
* Fix order of custom commands history by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3286
* Fix some problems with patches if `git diff` was customized with config (e.g. `external` or `noprefix`). by mricherzhagen in https://github.com/jesseduffield/lazygit/pull/3222
* Use $XDG_STATE_HOME for state.yml by horriblename in https://github.com/jesseduffield/lazygit/pull/2936
* Fix display of Chinese characters on Windows by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3352
* Allow more than one argument in git.merging.args config by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3336
* Don't strike out reserved keys in menus by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3365
* Don't ask to force-push if the remote rejected updates by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3387
* Fix container detection by aritmos in https://github.com/jesseduffield/lazygit/pull/3412
Maintenance ⚙️
* Add Click() to GuiDriver by simonwhitaker in https://github.com/jesseduffield/lazygit/pull/2898
* Add Makefile by kyu08 in https://github.com/jesseduffield/lazygit/pull/2937
* fix GitHub Actions warnings by kyu08 in https://github.com/jesseduffield/lazygit/pull/2950
* Add instruction in PR template to start PRs with an imperative by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2967
* Don't show toasts when running integration tests by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2975
* Various debugging improvements by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3000
* Rename `test/results` to `test/_results` by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3012
* Support passing -race flag to integration tests by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3019
* Improve debugging of integration tests by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3029
* Use go:generate for cheatsheet by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3035
* Change Makefile to build non-optimized by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3028
* Update PR template to use go generate command by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3041
* Band-aid fix for submodule/reset.go test failure by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3047
* Remove redundant `len` check by Juneezee in https://github.com/jesseduffield/lazygit/pull/3051
* Add disabled compat for user config (2833) by karimkhaleel in https://github.com/jesseduffield/lazygit/pull/3060
* Fix go.mod file by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3118
* Capture test code coverage stats by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3135
* fixed typo in test description by schuebel in https://github.com/jesseduffield/lazygit/pull/3101
* Update cheatsheets by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3143
* fix(config): add `yaml:"options"` struct tag to `CustomCommandPrompt`.`[]Options` by lexor in https://github.com/jesseduffield/lazygit/pull/3163
* Set working directory in lazygit test command by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3215
* Fix CI erroneously marking failed tests as successful by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3221
* Fix cherrypick demo by afhoffman in https://github.com/jesseduffield/lazygit/pull/3287
* Fix linter warnings by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3351
* Remove support for old style non-interactive rebase by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3348
Docs 📖
* Mention JSON schema by EmilyGraceSeville7cf in https://github.com/jesseduffield/lazygit/pull/2893
* Add more demos by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2927
* Add compare-commits demo by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2929
* Feature add git flow instructions by barthr in https://github.com/jesseduffield/lazygit/pull/2785
* Fix: Update 'zh' to 'zh-CN' in lazygit Language Configuration by try-to-fly in https://github.com/jesseduffield/lazygit/pull/2842
* Add termux installation instructions to README by jothi-prasath in https://github.com/jesseduffield/lazygit/pull/2892
* Add installation guide using winget CLI by ErickRock in https://github.com/jesseduffield/lazygit/pull/2963
* Add install instructions for openSUSE by pdostal in https://github.com/jesseduffield/lazygit/pull/2727
* Add comments in user config struct by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3040
* commmit - enhance docs for keybinding 'c' for local branch by smangels in https://github.com/jesseduffield/lazygit/pull/3046
* Updated installation instruction for Gentoo by hbenazha in https://github.com/jesseduffield/lazygit/pull/3113
* fix: MacOS default path misspelling by zeromask1337 in https://github.com/jesseduffield/lazygit/pull/3148
* Add codebase guide by jesseduffield in https://github.com/jesseduffield/lazygit/pull/3206
* Add NixOs installation instructions to README.md by rsniezek in https://github.com/jesseduffield/lazygit/pull/3249
* Make the links in the status panel point to the current version rather than master by stefanhaller in https://github.com/jesseduffield/lazygit/pull/3397
I18n 🌎
* Update translations for polish language by undg in https://github.com/jesseduffield/lazygit/pull/3389
* Fixed translations for zh_TW by olivertzeng in https://github.com/jesseduffield/lazygit/pull/3393
Other Changes
* Improve prompts when amending commits by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2980
* Update Stacked_Branches.md by apotterri in https://github.com/jesseduffield/lazygit/pull/3090

New Contributors
* EmilyGraceSeville7cf made their first contribution in https://github.com/jesseduffield/lazygit/pull/2893
* simonwhitaker made their first contribution in https://github.com/jesseduffield/lazygit/pull/2898
* horriblename made their first contribution in https://github.com/jesseduffield/lazygit/pull/2935
* kyu08 made their first contribution in https://github.com/jesseduffield/lazygit/pull/2937
* barthr made their first contribution in https://github.com/jesseduffield/lazygit/pull/2785
* try-to-fly made their first contribution in https://github.com/jesseduffield/lazygit/pull/2842
* jothi-prasath made their first contribution in https://github.com/jesseduffield/lazygit/pull/2892
* ErickRock made their first contribution in https://github.com/jesseduffield/lazygit/pull/2963
* mskelton made their first contribution in https://github.com/jesseduffield/lazygit/pull/2960
* raidora made their first contribution in https://github.com/jesseduffield/lazygit/pull/2908
* pdostal made their first contribution in https://github.com/jesseduffield/lazygit/pull/2727
* hrstmr made their first contribution in https://github.com/jesseduffield/lazygit/pull/2889
* calthejuggler made their first contribution in https://github.com/jesseduffield/lazygit/pull/2990
* MariaSolOs made their first contribution in https://github.com/jesseduffield/lazygit/pull/2993
* omaussa made their first contribution in https://github.com/jesseduffield/lazygit/pull/2912
* karimkhaleel made their first contribution in https://github.com/jesseduffield/lazygit/pull/2877
* intrntbrn made their first contribution in https://github.com/jesseduffield/lazygit/pull/3024
* ldelossa made their first contribution in https://github.com/jesseduffield/lazygit/pull/3037
* kytta made their first contribution in https://github.com/jesseduffield/lazygit/pull/3049
* Juneezee made their first contribution in https://github.com/jesseduffield/lazygit/pull/3051
* zottelsheep made their first contribution in https://github.com/jesseduffield/lazygit/pull/3074
* apotterri made their first contribution in https://github.com/jesseduffield/lazygit/pull/3090
* AFutureD made their first contribution in https://github.com/jesseduffield/lazygit/pull/3120
* smangels made their first contribution in https://github.com/jesseduffield/lazygit/pull/3046
* schuebel made their first contribution in https://github.com/jesseduffield/lazygit/pull/3101
* hbenazha made their first contribution in https://github.com/jesseduffield/lazygit/pull/3113
* zeromask1337 made their first contribution in https://github.com/jesseduffield/lazygit/pull/3148
* lexor made their first contribution in https://github.com/jesseduffield/lazygit/pull/3163
* hosaka made their first contribution in https://github.com/jesseduffield/lazygit/pull/3171
* jwhitley made their first contribution in https://github.com/jesseduffield/lazygit/pull/3183
* afhoffman made their first contribution in https://github.com/jesseduffield/lazygit/pull/3259
* molejnik88 made their first contribution in https://github.com/jesseduffield/lazygit/pull/3240
* mricherzhagen made their first contribution in https://github.com/jesseduffield/lazygit/pull/3222
* part22 made their first contribution in https://github.com/jesseduffield/lazygit/pull/3302
* 2KAbhishek made their first contribution in https://github.com/jesseduffield/lazygit/pull/3097
* undg made their first contribution in https://github.com/jesseduffield/lazygit/pull/3389
* olivertzeng made their first contribution in https://github.com/jesseduffield/lazygit/pull/3393
* rsniezek made their first contribution in https://github.com/jesseduffield/lazygit/pull/3249
* aritmos made their first contribution in https://github.com/jesseduffield/lazygit/pull/3412

Shameless Plug

I quit my day job and co-founded Zenbu, a startup that helps your company manage its SaaS subscriptions (discovery of subscriptions, onboarding/offboarding etc) to save you time and money. Check it out! https://zenbu.au/

<a href="https://zenbu.au/">
<img src="https://github.com/jesseduffield/lazygit/assets/8456633/6a7d3db7-52c5-4cbe-a9cf-cc4eb3aa1f0c" />
</a>

0.40.2

<!-- Release notes generated using configuration in .github/release.yml at v0.40.2 -->

What's Changed
Fixes 🔧
* Fix seg-fault when opening submodule in nested folder by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2903


**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.40.1...v0.40.2

0.40.1

<!-- Release notes generated using configuration in .github/release.yml at v0.40.1 -->

What's Changed
Fixes 🔧
* update worktree icons for NerdFont V3 by Saafo in https://github.com/jesseduffield/lazygit/pull/2895
* Fix opening lazygit in a bare repo with specified worktree by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2902
Maintenance ⚙️
* Import stefanhaller's tcell fork for real rather than just replacing it by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2888
* Don't run the check-required-label check on master by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2896
* Use nerdfont version 3 in demos by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2901
Other Changes
* Fix README.md typo backkground -> background by mattiasJohnson in https://github.com/jesseduffield/lazygit/pull/2884

New Contributors
* mattiasJohnson made their first contribution in https://github.com/jesseduffield/lazygit/pull/2884
* Saafo made their first contribution in https://github.com/jesseduffield/lazygit/pull/2895

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.40.0...v0.40.1

0.40.0

<!-- Release notes generated using configuration in .github/release.yml at v0.40.0 -->

🎉 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](https://jesseduffield.com/Lazygit-5-Years-On).

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.

![worktree_create_from_branches-compressed](https://github.com/jesseduffield/lazygit/assets/8456633/3ef0b085-e9d0-42de-af58-16cbae581d34)

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.

![nuke-gif](https://github.com/jesseduffield/lazygit/assets/8456633/32b3f91c-fea3-474d-8997-1de2f5e4f5d4)

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 https://github.com/jesseduffield/lazygit/pull/2147
* Rebase onto branch from a marked base commit by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2835
* Auto-refresh on window activation by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2854
Enhancements 🔥
* Speed up refresh by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2841
* Add os.copyToClipboardCmd to allow for a custom command 1055 by redstreet in https://github.com/jesseduffield/lazygit/pull/2784
* Add bisect menu entry that lets you choose bisect terms by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2838
* When bisecting, always mark the current commit as good/bad, not the selected by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2837
* Visualize local branch heads in commits panel, 2nd approach by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2775
* Allow force-tagging if tag exists by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2827
* Save IgnoreWhitespaceInDiffView in state.yml by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2830
* Show loader when rebasing by KarlHeitmann in https://github.com/jesseduffield/lazygit/pull/2851
* Internationalise logging of commands by KarlHeitmann in https://github.com/jesseduffield/lazygit/pull/2852
* Show visual explosion effect when nuking worktree by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2861
Fixes 🔧
* Fix issue where using `null` to un-map a keybinding was ignored by hatredholder in https://github.com/jesseduffield/lazygit/pull/2832
* Show error when trying to open patch menu with an empty patch by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2829
* Fix merge status for update-ref command by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2845
* Stop worktrees view from stealing the window by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2863
* Fix confirmation view sizing by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2879
Maintenance ⚙️
* Standardise on using lo for slice functions by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2846
* Remove redundant secureexec package by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2847
* Add automated demo recordings by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2853
* Remove file watcher code by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2865
* Add more demos to the README by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2866
* Move features to top of readme by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2867
* Add more demos by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2874
Other Changes
* Create demo output dir if it doesn't already exist by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2857

New Contributors
* hatredholder made their first contribution in https://github.com/jesseduffield/lazygit/pull/2832
* redstreet made their first contribution in https://github.com/jesseduffield/lazygit/pull/2784
* kadaan made their first contribution in https://github.com/jesseduffield/lazygit/pull/2147
* KarlHeitmann made their first contribution in https://github.com/jesseduffield/lazygit/pull/2851

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.39.4...v0.40.0

0.39.4

<!-- Release notes generated using configuration in .github/release.yml at v0.39.4 -->

What's Changed
Enhancements 🔥
* Prompt for commit message when moving a custom patch to a new commit by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2800
Fixes 🔧
* Support typing special characters like '[' on non-english keyboards by Calvin1602 in https://github.com/jesseduffield/lazygit/pull/2818
* Fix infinite wait on push/pull on windows by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2821
Docs 📖
* Add Gentoo installation documentation to README by cova-fe in https://github.com/jesseduffield/lazygit/pull/2811

New Contributors
* cova-fe made their first contribution in https://github.com/jesseduffield/lazygit/pull/2811
* Calvin1602 made their first contribution in https://github.com/jesseduffield/lazygit/pull/2818

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.39.3...v0.39.4

Page 1 of 26

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.