Lazygit-py

Latest version: v0.42.0

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

Scan your dependencies

Page 3 of 26

0.38

_Most recent patch: [v0.38.2](https://github.com/jesseduffield/lazygit/releases/tag/v0.38.2)_

We've got lots of goodies in this release. Some notable improvements are a revamped commit message panel (seand52), much better interactive rebase behaviour (stefanhaller), and much less error-prone custom patch behaviour (also stefanhaller).

As you can see, mark2185 and Ryooooooga continue their reign as top contributors, but we are now also joined by stefanhaller who is behind many of the big improvements in this release. I'd also like to give a special shoutout to seand52 who's behind the revamped commit message panel. And thank you to all the other contributors who contributed towards this release: AKARSHITJOSHI, axieax, AzraelSec, humblepenguinn, jbrains, jenskutilek, knutwalker, pereBohigas, scallaway, shinhs0506, ShrutiC-git, TylerBarnes, and yk-kd.

As always if you're interested in contributing to Lazygit, don't hesitate to pick an issue and have a Go (pardon the pun), and if you'd like to support me please consider [donating](https://github.com/sponsors/jesseduffield).

On a more boring note intended for current/future contributors, we've now fully migrated to a new integration test pattern which makes it much easier to test your changes and prevent regressions. We've also got a huge refactor PR (https://github.com/jesseduffield/lazygit/pull/2519) that's about to go in right after this release goes out, so if you have a PR open that now has conflicts, reach out to me (jesseduffield) and I can help resolve them.

Breaking changes

* 'x' no longer opens the menu, you'll need to use '?' or remap the keybinding. We did this so that we could use 'x' for destructive actions like nuking the working tree, as some people accidentally double-tapped 'D' and ... nuked their working tree)
* You can no longer use 'y' or 'n' to respond to a confirmation popup. Instead you'll need to use 'enter' or 'esc'. This is again just freeing up keybindings for more uses.
* We've changed how you configure your editor settings because it was a bit of a mess previously. See [here](https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#configuring-file-editing) for the new approach. You'll get deprecation warnings upon closing lazygit until adjusting your config, so that nobody gets mad when we remove support in a following release.

Features
* https://github.com/jesseduffield/lazygit/pull/2390 Revamp commit message panel (we now have a separate summary and description panel where 'enter' adds newlines in the description panel) (seand52)
* https://github.com/jesseduffield/lazygit/pull/2421 Allow creating tags on branches with the 'T' keybinding (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2453 Allow rebasing to first commit (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2476 Add icons for Kotlin files (pereBohigas)
* https://github.com/jesseduffield/lazygit/pull/2433 Lazy-load commits when viewed within a branch (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2370 Allow interactively rebasing onto a branch (AzraelSec)
* https://github.com/jesseduffield/lazygit/pull/2344 Allow customising panel border styling with `gui.border` (single/double/rounded/hidden) (yk-kd)
* https://github.com/jesseduffield/lazygit/pull/2485 Allow rewording the HEAD commit while rebasing (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2552 Better support for stacked branches via the `rebase.updateRefs` git config (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2496 Omit custom commands from history when they start with a space (mark2185)
* https://github.com/jesseduffield/lazygit/pull/2558 Allow resetting author during rebase (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2523 Improve editor config (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2418 Allow copying remote branch name to clipboard (mark2185)

Fixes/Minor Improvements
* https://github.com/jesseduffield/lazygit/pull/2471, https://github.com/jesseduffield/lazygit/pull/2507 Improve custom patch conflict handling (This is a big deal! Custom patches are much nicer to work with now) (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2452 Fix super-slow fetching/pulling (mark2185)
* https://github.com/jesseduffield/lazygit/pull/2497 Set scrollbar to correct size when loading large diffs (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2514 Better escape code parsing (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2547 More robust TODO rewriting (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2342 Better support for GIT_SEQUENCE_EDITOR (knutwalker)
* https://github.com/jesseduffield/lazygit/pull/2412 Help menu can no longer be accessed from within the suggestions panel (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2435 Fix return-alt1 keybinding (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2429 Honour rebase.autoSquash git config (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2413 Whitespace can be ignored from more panels (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2551 When opening lazygit with an arg e.g. `lazygit log`, ensure panel is properly focused (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2293 Discarding changes is less error prone (mark2185)
* https://github.com/jesseduffield/lazygit/pull/2451 Allow beginning an 'edit' rebase from a merge commit (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2448 Colouring of commits in branch commits panel (aka sub-commits panel) now lines up with the regular commits panel (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2444 Next stageable line is now correctly selected after staging a range of lines (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2463 Better i18 support (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2479 Better behaviour for the 'YOU ARE HERE' label when rebasing (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2483 Support hex value for 'gui.selectedLineBgColor' config key (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2486 Recognise when Lazygit is run from within WSL (humblepenguinn)
* https://github.com/jesseduffield/lazygit/pull/2481 Fix accordion mode when building a custom patch (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2500 Fix issue where file named 'HEAD' caused issues (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2501 Make arrow characters consistent (jenskutilek)
* https://github.com/jesseduffield/lazygit/pull/2557 Added support for raising gitea PRs
* https://github.com/jesseduffield/lazygit/pull/2577 Editor preset added for Kakoune (jbrains) (Be sure to check out jbrains' [blog](https://blog.thecodewhisperer.com/))
* https://github.com/jesseduffield/lazygit/pull/2495 Remove alternative confirmation and return keymappings (mark2185)
* https://github.com/jesseduffield/lazygit/pull/2377 Refresh staging panel after committing from staging panel (shinhs0506)
* https://github.com/jesseduffield/lazygit/pull/2521 Fix reflog text colour being too dark (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2539 Better support for custom git URLs when creating pull requests (axieax)
* https://github.com/jesseduffield/lazygit/pull/2544 Improved handling of renames in diffs (scallaway)
* https://github.com/jesseduffield/lazygit/pull/2567 WSL support for copying to clipboard (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2555 Stop adding '--force-if-includes' to git push because sometimes people don't want it (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2548 Allow pushing a tag with the same name a a branch (AKARSHITJOSHI)

Maintenance:

* https://github.com/jesseduffield/lazygit/pull/2437, https://github.com/jesseduffield/lazygit/pull/2465, https://github.com/jesseduffield/lazygit/pull/2462, https://github.com/jesseduffield/lazygit/pull/2458, https://github.com/jesseduffield/lazygit/pull/2455, https://github.com/jesseduffield/lazygit/pull/2450, https://github.com/jesseduffield/lazygit/pull/2449, https://github.com/jesseduffield/lazygit/pull/2466, https://github.com/jesseduffield/lazygit/pull/2470, https://github.com/jesseduffield/lazygit/pull/2475, https://github.com/jesseduffield/lazygit/pull/2477, https://github.com/jesseduffield/lazygit/pull/2518 Migrate integration tests (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2432 removing dead code (Ryooooooga)
* https://github.com/jesseduffield/lazygit/pull/2417 Disable ~/.gitconfig when running integration tests (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2447 Remove dead code (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2474 improve staging panel integration tests (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2478 Make integration test more robust (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2467 Remove erroneously added file (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2491 Improve documentation (TylerBarnes)
* https://github.com/jesseduffield/lazygit/pull/2502 Update Ufizzi workflows (ShrutiC-git)
* https://github.com/jesseduffield/lazygit/pull/2512 Appease golang-ci lint (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2513 Refactor patch handling (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2515 Fix deprecated rand.Seed (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2541 Make debugger config work when changing repos while debugging (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2545 Ensure test list is up to date in CI (stefanhaller)
* https://github.com/jesseduffield/lazygit/pull/2550 Fix flakey tests (jesseduffield)
* https://github.com/jesseduffield/lazygit/pull/2578 Enforce lowercase filenames (jesseduffield)
New Contributors
* pereBohigas made their first contribution in https://github.com/jesseduffield/lazygit/pull/2476
* humblepenguinn made their first contribution in https://github.com/jesseduffield/lazygit/pull/2486
* TylerBarnes made their first contribution in https://github.com/jesseduffield/lazygit/pull/2491
* yk-kd made their first contribution in https://github.com/jesseduffield/lazygit/pull/2344
* jenskutilek made their first contribution in https://github.com/jesseduffield/lazygit/pull/2501
* ShrutiC-git made their first contribution in https://github.com/jesseduffield/lazygit/pull/2502
* axieax made their first contribution in https://github.com/jesseduffield/lazygit/pull/2539
* scallaway made their first contribution in https://github.com/jesseduffield/lazygit/pull/2544
* AzraelSec made their first contribution in https://github.com/jesseduffield/lazygit/pull/2370
* noahziheng made their first contribution in https://github.com/jesseduffield/lazygit/pull/2557
* AKARSHITJOSHI made their first contribution in https://github.com/jesseduffield/lazygit/pull/2548
* seand52 made their first contribution in https://github.com/jesseduffield/lazygit/pull/2390

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.37.0...v0.38.0

0.38.0

0.37.0

What's Changed

(Jesse: I need to go to sleep right now but I'll clean this changelog up when I get the chance!)

* (2288) quote remoteName before compiling regex by nils-a in https://github.com/jesseduffield/lazygit/pull/2290
* Resolve the prompt just before using it by mark2185 in https://github.com/jesseduffield/lazygit/pull/2296
* [2279] defaultFgColor entry in theme config by arnaudperalta in https://github.com/jesseduffield/lazygit/pull/2284
* bump gocui by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2276
* fix ignore file keybinding by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2303
* Commit in staged/unstaged menu by arnaudperalta in https://github.com/jesseduffield/lazygit/pull/2298
* updated rebase confirmation message by navazjm in https://github.com/jesseduffield/lazygit/pull/2315
* migrate branch reset integration test by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2320
* Add credential prompts for U2F-backed SSH keys by bdach in https://github.com/jesseduffield/lazygit/pull/2239
* migrate more tests by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2323
* more integration test migrating by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2325
* Yet more test migrations by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2329
* fix diff scroll 2309 by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2326
* more integration test refactoring by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2330
* more integration test refactoring by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2334
* rename from asserter to driver by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2335
* remove unused config by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2331
* Add the return alternative key to return in the input box by wakaka6 in https://github.com/jesseduffield/lazygit/pull/2311
* migrate some more tests by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2336
* Add easter egg by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2338
* add support for `git push --force-if-includes` by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2333
* more integration test migrations by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2339
* support for older Git versions by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2340
* Add option to allow --verbose commit in editor commits by knutwalker in https://github.com/jesseduffield/lazygit/pull/2341
* fix goroutine leaks by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2345
* docs(Config.md): add missing keybindings by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2356
* change `git.commit.verbose` to accept "default" by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2343
* feat: create environment for every PR using Uffizzi by daramayis in https://github.com/jesseduffield/lazygit/pull/2262
* fix installation scripts for Ubuntu by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2372
* fix `ReplacePlaceholderString` by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2376
* remove unused texts by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2388
* Add option to disable the "reword in editor" prompt by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2384
* allow to disable `git.log.order` by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2401
* fix RefName of detached HEAD to works in Chinese by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2398
* Ensure trailing LF when copying diff lines to clipboard by stefanhaller in https://github.com/jesseduffield/lazygit/pull/2395
* Added copy to clipboard option to the patch options by phanithinks in https://github.com/jesseduffield/lazygit/pull/2373
* Added new gui.screenMode key to config by phanithinks in https://github.com/jesseduffield/lazygit/pull/2358

New Contributors
* arnaudperalta made their first contribution in https://github.com/jesseduffield/lazygit/pull/2284
* navazjm made their first contribution in https://github.com/jesseduffield/lazygit/pull/2315
* bdach made their first contribution in https://github.com/jesseduffield/lazygit/pull/2239
* wakaka6 made their first contribution in https://github.com/jesseduffield/lazygit/pull/2311
* knutwalker made their first contribution in https://github.com/jesseduffield/lazygit/pull/2341
* daramayis made their first contribution in https://github.com/jesseduffield/lazygit/pull/2262
* stefanhaller made their first contribution in https://github.com/jesseduffield/lazygit/pull/2384
* phanithinks made their first contribution in https://github.com/jesseduffield/lazygit/pull/2373

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.36.0...v0.37.0

0.36.0

We've got a whole lot of stuff in this release: improvements to the editor, better custom commands support, snappier staging of files, a tonne of bug fixes, and lots more.

One particularly cool thing that we've added is Github codespaces support (in the repo, not within the Lazygit program itself), so if you've got your eye on an open issue and want to move things along, consider spinning up the lazygit codebase in a code_space_ and having a go at adding a feature / fixing a bug all from the comfort of your browser! See [here](https://github.com/jesseduffield/lazygit/blob/master/CONTRIBUTING.md#running-in-a-github-codespace) for more info.

As you can see Ryooooooga and mark2185 continue to kick goals with a heap of features and bug fixes in this release, but we also have a whole host of new contributors too. If you want to get involved in contributing, you can peruse the issues board for issues with the good-first-issue label, or jump into the [Fortress of Laziness](https://discord.gg/4FhUY75c), our new discord server

What's Changed

Features:

Editor stuff
* add support for excluding files by gozes in https://github.com/jesseduffield/lazygit/pull/2016
* add support for emacs keybindings in editor by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2183
* allow emacs character navigation in the commit editor (jump word left/right). by LiamKearn in https://github.com/jesseduffield/lazygit/pull/2104
* navigate by word in the editor by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2204

Custom commands stuff

* Add showOutput option to custom commands (fixes 1163) by sportshead in https://github.com/jesseduffield/lazygit/pull/2059
* Improve custom commands interface by Mihai22125 in https://github.com/jesseduffield/lazygit/pull/2109
* Allow `OSCommand.Quote` to be invoked within a custom command by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2193
* add SelectedPath to the list of placeholder values by mark2185 in https://github.com/jesseduffield/lazygit/pull/2070

Other stuff
* add stash option to include untracked files by ajhynes7 in https://github.com/jesseduffield/lazygit/pull/1980
* add optimistic rendering for staging and unstaging files by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2072
* rename stash by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2220
* Show active branch for recent repo by mark2185 in https://github.com/jesseduffield/lazygit/pull/2005
* Support custom SSH usernames on BitBucket by xxdavid in https://github.com/jesseduffield/lazygit/pull/2087
* Preserve trailing newline setting when adding to gitignore by mark2185 in https://github.com/jesseduffield/lazygit/pull/2004
* Add `notARepository: quit` config option to exit Lazygit if run from outside a git repo by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2098
* add stash icon by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2219
* allow `null` in keybindings by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2222

Bug fixes:
* Fix rewording a merge commit with editor by mark2185 in https://github.com/jesseduffield/lazygit/pull/2065
* Improved mouse behaviour with international text mark2185 in https://github.com/jesseduffield/lazygit/pull/2064
* No more 'unversioned' in the bottom right: add build info when building from source by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2076
* fix initial origin of commit message panel by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2221
* fix issue caused by opening a menu over a prompt by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2079
* fix hidden suggestions by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2093
* Gracefully error on bare repositories by nullishamy in https://github.com/jesseduffield/lazygit/pull/2067
* Fix open commit in browser for some Gitlab repos by jtraub in https://github.com/jesseduffield/lazygit/pull/2132
* fix initial scroll position of edit box by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2123
* fix initial origin of editor box by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2146
* Validate --path argument when starting lazygit by mark2185 in https://github.com/jesseduffield/lazygit/pull/2092
* Ignore stderr when loading git status by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2081
* fix: read one line before resuming TUI to prevent unintentional operations by kawaemon in https://github.com/jesseduffield/lazygit/pull/1636
* allow amending merge commits by mark2185 in https://github.com/jesseduffield/lazygit/pull/2164
* various improvements to text rendering by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2195
* fix glitchy render of stale data by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2196
* fix stash with empty message by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2218
* fix could-not-access error by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2260
* use better colour defaults (note: theme.lightTheme is no longer a thing) by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2257
* Update go-git to handle negative refspecs by lukaspiatkowski in https://github.com/jesseduffield/lazygit/pull/2232
* Fix/show loading state when bottomline disabled by artvi in https://github.com/jesseduffield/lazygit/pull/2273
* fix ambiguous branch name by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2224

Docs:
* docs(readme): Added lazygit install method on ubuntu 2125 by yofreee in https://github.com/jesseduffield/lazygit/pull/2126
* fix: document link by eetann in https://github.com/jesseduffield/lazygit/pull/2108
* fix typo in README.md by luzpaz in https://github.com/jesseduffield/lazygit/pull/2086
* fix: how to change the config dir for MacOS by 0123takaokeita in https://github.com/jesseduffield/lazygit/pull/2169

Maintenance:
* Fix github linter errors by mark2185 in https://github.com/jesseduffield/lazygit/pull/2069
* Add better support for OpensMenu option when creating a menu by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2071
* Update bug_report.md by mark2185 in https://github.com/jesseduffield/lazygit/pull/2062
* refactor to use generics for file nodes by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2075
* handle nil properly with file nodes by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2077
* Refactor: one context per view by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2023
* refactor merge conflicts code by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2088
* allow rendering to main panels from anywhere by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2089
* Add new integration test pattern by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2094
* even better structure by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2113
* give menu formatting to ignore-or-exclude keybinding option by mark2185 in https://github.com/jesseduffield/lazygit/pull/2110
* add more integration tests by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2114
* fail on vendor directory mismatch by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2116
* improve integration test portability by Ryooooooga in https://github.com/jesseduffield/lazygit/pull/2124
* chore: remove duplicate word in comments by Abirdcfly in https://github.com/jesseduffield/lazygit/pull/2143
* Migrate some more integration tests by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2137
* remove deprecated function calls by xiaoliwang in https://github.com/jesseduffield/lazygit/pull/2167
* strip NUL bytes instead of replacing with space by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2197
* Replace regex for retrieving latest version by TomBaxter in https://github.com/jesseduffield/lazygit/pull/2199
* use boxlayout from lazycore by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2210
* Use lazycore utils: Clamp and GetLazyRootDirectory by gusandrioli in https://github.com/jesseduffield/lazygit/pull/2223
* add devcontainer folder by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2266
* disable underscores in vscode by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2269
* use tempdir in tests to prevent polluting worktree by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2271
* stop switching focus to commits view when resetting by jesseduffield in https://github.com/jesseduffield/lazygit/pull/2272
* added gitVersion to version flag by nitinmewar in https://github.com/jesseduffield/lazygit/pull/2265
* Merge loaders package into git_commands package by sudoburt in https://github.com/jesseduffield/lazygit/pull/2261

New Contributors
* sportshead made their first contribution in https://github.com/jesseduffield/lazygit/pull/2059
* luzpaz made their first contribution in https://github.com/jesseduffield/lazygit/pull/2086
* xxdavid made their first contribution in https://github.com/jesseduffield/lazygit/pull/2087
* eetann made their first contribution in https://github.com/jesseduffield/lazygit/pull/2108
* nullishamy made their first contribution in https://github.com/jesseduffield/lazygit/pull/2067
* yofreee made their first contribution in https://github.com/jesseduffield/lazygit/pull/2126
* jtraub made their first contribution in https://github.com/jesseduffield/lazygit/pull/2132
* Abirdcfly made their first contribution in https://github.com/jesseduffield/lazygit/pull/2143
* 0123takaokeita made their first contribution in https://github.com/jesseduffield/lazygit/pull/2169
* Mihai22125 made their first contribution in https://github.com/jesseduffield/lazygit/pull/2109
* xiaoliwang made their first contribution in https://github.com/jesseduffield/lazygit/pull/2167
* LiamKearn made their first contribution in https://github.com/jesseduffield/lazygit/pull/2104
* kawaemon made their first contribution in https://github.com/jesseduffield/lazygit/pull/1636
* TomBaxter made their first contribution in https://github.com/jesseduffield/lazygit/pull/2199
* gusandrioli made their first contribution in https://github.com/jesseduffield/lazygit/pull/2223
* lukaspiatkowski made their first contribution in https://github.com/jesseduffield/lazygit/pull/2232
* nitinmewar made their first contribution in https://github.com/jesseduffield/lazygit/pull/2265
* sudoburt made their first contribution in https://github.com/jesseduffield/lazygit/pull/2261
* ajhynes7 made their first contribution in https://github.com/jesseduffield/lazygit/pull/1980
* artvi made their first contribution in https://github.com/jesseduffield/lazygit/pull/2273

**Full Changelog**: https://github.com/jesseduffield/lazygit/compare/v0.35.0...v0.36.0

0.35

Features

* Nerd fonts now supported! (Ryooooooga)
![image](https://user-images.githubusercontent.com/8456633/179950774-ff20e6bc-1b0a-493e-9db9-86dcf2dc71aa.png)

* Scrollbars! (non-interactive but cool nonetheless)
* Diff hunks can now be edited directly (via a subprocess) (Ryooooooga)
* You can open lazygit to the panel that you care about e.g. run `lazygit log` to open lazygit to the commits panel. (HiromasaNojima)
* Most menus now have their own keybindings for each menu item, which should speed things up for power users.
* You can now easily set/unset the upstream of a branch (mark2185)
* You can now select to stash exclusively unstaged/staged files (mark2185)
* Improved update flow (moha-gh)
* Fixed issue where we duplicated line breaks when parsing a commit message Don't duplicate line breaks when retrieving commit message (moha-gh)
* Some hard-to-reverse actions now have confirmation popups given it's easy to accidentally press the wrong key.
* 'Gone' branches are now marked as such
* More commit attributes can be copied with the 'y' key (mark2185)
* Custom commit author colours can now be specified with regular names (e.g. 'red') instead of only hex codes. (Ryooooooga)
* Commit author can now be set to another author or reset to the current git user (thanks JensPfeifle)
* Auto-refresh of files can be disabled with the `git.autoRefresh` config option (moha-gh)
* We now (again) honour push.default config value. In general we want to err on the side of having git commands do the same thing that would happen if you ran them directly from the terminal.
* Files can now be opened from the merge conflicts panel (thanks Ryooooooga)
* You can now configure to always show the unstaged and staged changes panels, regardless of whether the selected file has both unstaged and staged changes. This can be done via `gui.splitDiff: 'always'` (HiromasaNojima)
* Commit time format can now be customised via the `gui.timeFormat` config key (Ryooooooga)
* We now record the current directory on switch instead of exit (davdroman)
* We now support Bitbucket server PRs (thanks TheBlob42)
* Bottom line (containing some keybindings help) can now be hidden via `gui.showBottomLine: false` in your config.
* You can now show the whole git graph in the commits panel by default via `git.log.showWholeGitGraph: true`
* Some UI tweaks.

Bug fixes
* Various fixes to bugs relating to double-width characters (Ryooooooga)
* Typo fixes (casswedson)
* LOTS of other bug fixes (thanks to the glorious Ryooooooga and mark2185)

Translation updates:
Chinese translated updated (Crystal-RainSlide)
Japanese translation added (Ryooooooga)
Korean translation added (Shin-JaeHeon)

HUGE thankyou to all the contributors who've helped bring about this release. As you can see mark2185 and Ryooooooga are behind many of the the changes so a special thankyou to the both of you!

Maintenance stuff:
We've now on go1.18 meaning we can use generics. The lo package is our main generics helper package. I've also rolled my own, called 'generics', but I'll probably end up just committing to using lo only.

Integration tests in CI are now run in parallel, and windows builds are now properly cached, so CI runs much faster and you'll sooner know if you've broken a test.

Note from maintainer:

I'm working on some tricky features like the ability to filter the contents of a list panel, some of which I've recorded on [youtube](https://www.youtube.com/watch?v=vFQFkdzh_Js&ab_channel=JesseDuffield). As part of that work I've had to make a detour to do some yak shaving and refactoring (which is happening in https://github.com/jesseduffield/lazygit/pull/2023)

I've also made a [video](https://www.youtube.com/watch?v=kNavnhzZHtk&ab_channel=JesseDuffield) showing how to add a basic feature to Lazygit for aspiring contributors. If you would like to see similar videos/docs covering other topics to make life easier for new/existing contributors, lemme know!

At some point I want to take time off work to go full-time on Lazygit (e.g. for a few months). If you have any ideas how I could raise money to do that, let me know! And of course for all those currently sponsoring, thankyou so much, it's a big motivator for me finding the time to work on this project.

Some more rambling thoughts:
* The integration test suite has some good coverage but the mechanism behind it (recording a Lazygit session and having the test replay that session) is hard to maintain. I want to switch to having integration tests be built by calling a bunch of commands in sequence, similar to Cypress if anybody's used that.
* I was holding off this release for the sake of a better in-app release notes feature but that can wait for a future release.

0.34

Features:
* You can now customise the colour of unstaged files via the `gui.theme.unstagedChangesColor` config key (thanks snorrwe )
* Editing a file will now open your editor at the currently selected line for most major editors (thanks mark2185 )
* Support for opening Azure DevOps repos (thanks tiwood )
* You can now skip the confirmation prompt after running a subprocess with the `promptToReturnFromSubprocess` config key (thanks Rambhosale )

Bug Fixes:
* Fixed issue where mouse handling was not properly restored after leaving the application (thanks tmatz )
* Fixed bug where files could not be edited at particular lines for certain editors (thanks fsmiamoto )

Other:
* Some cleaning up of the docs (thanks moha-gh )
* NL translation fixups (thanks Alpakash )
* Fixed an issue with the cheatsheet generator that caused the user's own language to appear in each output translation file.

Note from maintainer:
* I'm going to merge in quite a large refactor PR to the master branch. The refactor is about 90% done but the 10% might take some time and it's tricky to have to re-implement all PRs from contributors to the new branch. At any rate this refactor should make the code easier to work with compared to the previous god struct (the Gui struct) that was being used for everything. The new structure no doubt will have its own flaws that I'll need to work through over time. I've been using the refactor PR myself for a while and haven't run into any bugs, and I've added some more integration tests to capture more of the expected behaviour. Don't hesitate to raise an issue for any bug you find.

Page 3 of 26

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.