Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor for better encapsulation #2519

Merged
merged 40 commits into from
May 11, 2023
Merged

Conversation

jesseduffield
Copy link
Owner

@jesseduffield jesseduffield commented Mar 24, 2023

  • PR Description

This PR refactors lots of gui code into helpers/controllers/contexts. It's goal is to whittle away at the Gui god struct that we have.

First off: don't freak out if you've got a PR in flight: I'm happy to hold off merging this for a while so that other people can get their stuff in.

Admittedly, I'm not really comfortable with the pattern of helpers/controllers/contexts either. But I'd rather go all-in on that pattern and then think about how to improve it than to have two patterns co-existing.

With this PR we still have two patterns co-existing because there's just lots of files to migrate, but given how many changes already exist in this PR, I'd rather merge it than add even more stuff to it.

Here's the new situation:
lazygit-concepts drawio

I'm gonna describe this situation how it is, knowing full-well that much of this is convoluted and should be changed in future.

We still have our gui package (with its gui god struct) doing much of the heavy lifting. It has visibility over basically everything.

Our contexts (in the context package) represent a view (in fact they each have a reference to the corresponding view) and encapsulate view-model stuff that's outside the view itself. There was a time when one context could be re-used with different views but that's no longer the case so in future I'd like to properly merge contexts and views together (contexts live in lazygit, views live in gocui). Contexts refer to the presentation package and use it to render the content in the view.

Controllers define keybindings and their corresponding actions, as well as some other things like what to render to the main view when the controller's context is focused, and what to do if the controller's focus gains/loses focus. One context can have multiple controllers, and controllers can be defined such that they take a context as an argument.

Controllers's methods can not be directly invoked from other code (which is potentially a bad decision). If one of a controller's actions needs to be invoked as part of some other action in another controller, the action can be moved into a helper.

Helpers contain general code for doing pretty much anything you want related to the gui.

Controllers and helpers do not maintain their own state but they can update the state of contexts via methods exposed by those contexts, and they can update the application state as well.

Each of controllers, helpers, and contexts, all have a 'common' struct passed in which provides commonly needed functionality. I'm aware that many see this as an anti-pattern, but if you only pass in exactly what you need to one of these structs' constructors, it adds a lot of friction. I'm happy to revise this pattern after we've migrated everything across.

To avoid circular dependencies, helpers that depend on other helpers must have those helpers passed in explicitly in their constructor. Controllers on the other hand can call a Helpers() method to access all helpers. Contexts have no access to helpers (again, to avoid cyclic dependencies).

There are some files in this PR which still live in the gui package but which are now wrapped in a struct for the sake of encapsulating the methods specific to that file. Some of these maintain their own state and that's subject to change.

Apologies for the convoluted architecture but Lazygit was my first Go program, and I had no experience with gui patterns (I'm still lacking). The code has grown in complexity with not many opportunities for DRYing things up (recall that generics were only recently introduced). In order to get a better handle on the code now, the first step is to break up the god struct for the sake of better method namespacing, and then decide what a cleaner architecture looks like.

I should mention some issues I specifically have with the current setup:

  • it's not clear where state should live: if it all lives in one place, anybody has access to it.
  • contexts and views are separate but should be the one thing
  • controllers probably should just be very thin and specifically concerned about mapping keybindings to actions, and actions should be defined separately (probably in helpers or in a separate 'actions' thing)
  • we're using a lot of indirection so that we don't have to care when certain structs have been instantiated. It would be better to just have a clearer setup step

TODO:

  • clean up commits
  • Please check if the PR fulfills these requirements
  • Cheatsheets are up-to-date (run go run scripts/cheatsheet/main.go generate)
  • Code has been formatted (see here)
  • Tests have been added/updated (see here for the integration test guide)
  • Text is internationalised (see here)
  • Docs (specifically docs/Config.md) have been updated if necessary
  • You've read through your own file changes for silly mistakes etc

@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2023

Uffizzi Preview deployment-20138 was deleted.

@stefanhaller
Copy link
Collaborator

I spent some time today looking into the potential effort of rebasing this onto newer PRs versus rebasing newer PRs onto this. I can only speak for my own branches, and every single one of them conflicts with this in some way; however, those conflicts are mostly trivial and easy to deal with. On the other hand, this PR has already run out of sync with master quite heavily, and rebasing it onto master now is going to be quite some work, and will be more and more work as PRs such as #2370 and #2547 get merged.

I came to the conclusion that it would be good if this could be finished and merged sooner rather than later.

@jesseduffield
Copy link
Owner Author

@stefanhaller for sure: I've gotten sidetracked in the last couple weeks but I'm gonna spend some time this weekend revisiting this PR

@jesseduffield
Copy link
Owner Author

@stefanhaller I've rebased this onto master now. I'll clean up some commits and then my plan is as follows:

  1. cut a release
  2. merge this PR
  3. see where I can help out rebasing existing PRs onto the new master

Reason for cutting a release before merging is so that if this PR introduces any intermittent issues that aren't caught by tests, we can fix them without blocking the existing features on master from being released.

@stefanhaller
Copy link
Collaborator

Makes sense.

@stefanhaller
Copy link
Collaborator

Hm, the only thing that slightly bothers me about the plan is that we are cutting a release that has half-baked, unfinished support for stacked branches. We are now showing update-ref commands in a rebase, making it somehow look like we're supporting them, but hitting "e" or moving commits up or down still destroys the stack all the time.

Wondering if there's a chance to get another PR in before the release that fixes these cases: #2552. I tried rebasing that PR onto this refactoring; there are a bunch of conflicts, but they are very straight-forward to resolve.

@jesseduffield
Copy link
Owner Author

yep I'm happy to include that other PR in the release

@jesseduffield jesseduffield force-pushed the refactor-better-encapsulation branch 2 times, most recently from 3be224c to 2df806b Compare April 30, 2023 03:17
jesseduffield and others added 18 commits April 30, 2023 13:19
… panel

When we use the one panel for the entire commit message, its tricky to have a keybinding both for adding a newline and submitting.
By having two panels: one for the summary line and one for the description, we allow for 'enter' to submit the message when done from the summary panel,
and 'enter' to add a newline when done from the description panel. Alt-enter, for those who can use that key combo, also works for submitting the message
from the description panel. For those who can't use that key combo, and don't want to remap the keybinding, they can hit tab to go back to the summary panel
and then 'enter' to submit the message.

We have some awkwardness in that both contexts (i.e. panels) need to appear and disappear in tandem and we don't have a great way of handling that concept,
so we just push both contexts one after the other, and likewise remove both contexts when we escape.
When cycling history, we want to make it so that upon returning to the original prompt, you get your text back.
Importantly, we don't want to use the existing preservedMessage field for that because that's only for preserving
a NEW commit message, and we don't want the history stuff of the commit reword flow to overwrite that.
We now refresh the staging panel when doing an unscoped refresh, so that if we commit from the staging panel we escape
back to the files panel if need be. But that causes flickering when doing an unscoped refresh from other contexts,
because the refreshStagingPanel function assumes that the staging panel has focus. So we're adding a guard at the top
of that function to early exit if we don't have focus.
@jesseduffield jesseduffield merged commit e2d7e46 into master May 11, 2023
9 checks passed
@jesseduffield jesseduffield deleted the refactor-better-encapsulation branch May 11, 2023 09:09
@jesseduffield jesseduffield added the maintenance For refactorings, CI changes, tests, version bumping, etc label Jul 19, 2023
renovate bot added a commit to scottames/dots that referenced this pull request Aug 1, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[GoogleContainerTools/skaffold](https://github.com/GoogleContainerTools/skaffold)
| patch | `v2.6.1` -> `v2.6.2` |
| [aquaproj/aqua](https://github.com/aquaproj/aqua) | minor | `v2.9.0`
-> `v2.10.1` |
|
[aquaproj/aqua-installer](https://github.com/aquaproj/aqua-installer)
| patch | `v2.1.1` -> `v2.1.2` |
| [aquaproj/aqua-registry](https://github.com/aquaproj/aqua-registry)
| minor | `v4.26.0` -> `v4.32.0` |
|
[bitnami-labs/sealed-secrets](https://github.com/bitnami-labs/sealed-secrets)
| minor | `v0.22.0` -> `v0.23.0` |
| [charmbracelet/gum](https://github.com/charmbracelet/gum) | minor |
`v0.10.0` -> `v0.11.0` |
| [cli/cli](https://github.com/cli/cli) | patch | `v2.32.0` ->
`v2.32.1` |
| [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) |
minor | `v0.38.2` -> `v0.39.4` |
|
[kubernetes-sigs/kustomize](https://github.com/kubernetes-sigs/kustomize)
| patch | `v5.1.0` -> `v5.1.1` |
| [kubernetes/kubectl](https://github.com/kubernetes/kubectl) | patch
| `1.27.3` -> `1.27.4` |
| [kubernetes/minikube](https://github.com/kubernetes/minikube) |
minor | `v1.30.1` -> `v1.31.1` |
| [marcosnils/bin](https://github.com/marcosnils/bin) | minor |
`v0.16.2` -> `v0.17.0` |
| [starship/starship](https://github.com/starship/starship) | minor |
`v1.15.0` -> `v1.16.0` |
| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | minor |
`v2.34.3` -> `v2.36.1` |
| [weaveworks/eksctl](https://github.com/weaveworks/eksctl) | minor |
`v0.149.0` -> `v0.150.0` |

---

### Release Notes

<details>
<summary>GoogleContainerTools/skaffold
(GoogleContainerTools/skaffold)</summary>

###
[`v2.6.2`](https://github.com/GoogleContainerTools/skaffold/releases/tag/v2.6.2):
Release

[Compare
Source](https://github.com/GoogleContainerTools/skaffold/compare/v2.6.1...v2.6.2)

### v2.6.2 Release - 2023-07-19

**Linux amd64**
`curl -Lo skaffold
https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-linux-amd64
&& chmod +x skaffold && sudo mv skaffold /usr/local/bin`

**Linux arm64**
`curl -Lo skaffold
https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-linux-arm64
&& chmod +x skaffold && sudo mv skaffold /usr/local/bin`

**macOS amd64**
`curl -Lo skaffold
https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-darwin-amd64
&& chmod +x skaffold && sudo mv skaffold /usr/local/bin`

**macOS arm64**
`curl -Lo skaffold
https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-darwin-arm64
&& chmod +x skaffold && sudo mv skaffold /usr/local/bin`

**Windows**

https://storage.googleapis.com/skaffold/releases/v2.6.2/skaffold-windows-amd64.exe

**Docker image**
`gcr.io/k8s-skaffold/skaffold:v2.6.2`

**Full Changelog**:
https://github.com/GoogleContainerTools/skaffold/compare/v2.6.1...v2.6.2

</details>

<details>
<summary>aquaproj/aqua (aquaproj/aqua)</summary>

### [`v2.10.1`](https://github.com/aquaproj/aqua/releases/tag/v2.10.1)

[Compare
Source](https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1)

[Pull
Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.1)
|
[Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.1)
| https://github.com/aquaproj/aqua/compare/v2.10.0...v2.10.1

##### Bug Fixes

[#&#8203;2119](https://github.com/aquaproj/aqua/issues/2119) Stop
outputting checksum file paths except for `aqua update-checksum`

This is a bug of aqua
[v2.10.0](https://github.com/aquaproj/aqua/releases/tag/v2.10.0)
[#&#8203;2108](https://github.com/aquaproj/aqua/issues/2108)

### [`v2.10.0`](https://github.com/aquaproj/aqua/releases/tag/v2.10.0)

[Compare
Source](https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0)

[Pull
Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.10.0)
|
[Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.10.0)
| https://github.com/aquaproj/aqua/compare/v2.9.1...v2.10.0

##### Features

[#&#8203;2111](https://github.com/aquaproj/aqua/issues/2111) Add a
subcommand `info`
[#&#8203;2108](https://github.com/aquaproj/aqua/issues/2108)
update-checksum: Output created or updated file names

##### Others

[#&#8203;2110](https://github.com/aquaproj/aqua/issues/2110) Update
aqua-proxy v1.2.0 to v1.2.1

https://github.com/aquaproj/aqua-proxy/releases/tag/v1.2.1

##### Features - Add a subcommand `info`

[#&#8203;2111](https://github.com/aquaproj/aqua/issues/2111)

e.g.

```console
$ aqua info
{
  "version": "2.10.0",
  "commit_hash": "b80f805489c317d83d7fe0b182f3ef5c82a06725",
  "os": "darwin",
  "arch": "arm64",
  "pwd": "/Users/(USER)/Documents/aqua/info",
  "root_dir": "/Users/(USER)/.local/share/aquaproj-aqua",
  "env": {
    "AQUA_GITHUB_TOKEN": "(masked)",
    "AQUA_GLOBAL_CONFIG": "/Users/(USER)/repos/src/github.com/aquaproj/aqua-registry/aqua-all.yaml"
  },
  "config_files": [
    {
      "path": "/Users/(USER)/Documents/aqua/info/aqua/aqua.yaml"
    }
  ]
}
```

GitHub Access Token and user name are masked.

This is useful for troubleshooting.
Please paste the result of this command to your support issues.

##### Features - update-checksum: Output created or updated file names

[#&#8203;2108](https://github.com/aquaproj/aqua/issues/2108)

```console
$ aqua update-checksum
```

This is useful to commit and push created or updated files in CI.

### [`v2.9.1`](https://github.com/aquaproj/aqua/releases/tag/v2.9.1)

[Compare
Source](https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1)

[Pull
Requests](https://github.com/aquaproj/aqua/pulls?q=is%3Apr+milestone%3Av2.9.1)
|
[Issues](https://github.com/aquaproj/aqua/issues?q=is%3Aissue+milestone%3Av2.9.1)
| https://github.com/aquaproj/aqua/compare/v2.9.0...v2.9.1

##### Bug Fixes

[#&#8203;2098](https://github.com/aquaproj/aqua/issues/2098) Fix the
Windows support. Fix a bug that aqua skips renaming files mistakenly on
Windows.

This bug affects only Windows.
Windows can't execute files without file extension, but some packages
release executable files without file extension.
So aqua renames files to add file extension such as `.exe` on Windows
when aqua installs them.

This release fixes a bug that this feature doesn't work well.

##### Others

[#&#8203;2091](https://github.com/aquaproj/aqua/issues/2091) Update Go
1.20.5 to 1.20.6

</details>

<details>
<summary>aquaproj/aqua-installer (aquaproj/aqua-installer)</summary>

###
[`v2.1.2`](https://github.com/aquaproj/aqua-installer/releases/tag/v2.1.2)

[Compare
Source](https://github.com/aquaproj/aqua-installer/compare/v2.1.1...v2.1.2)


[Issues](https://github.com/aquaproj/aqua-installer/issues?q=is%3Aissue+milestone%3Av2.1.2)
| [Pull
Requests](https://github.com/aquaproj/aqua-installer/pulls?q=is%3Apr+milestone%3Av2.1.2)
| https://github.com/aquaproj/aqua-installer/compare/v2.1.1...v2.1.2

##### Fixes

[#&#8203;432](https://github.com/aquaproj/aqua-installer/issues/432)
Fix typo
[#&#8203;461](https://github.com/aquaproj/aqua-installer/issues/461)
[#&#8203;463](https://github.com/aquaproj/aqua-installer/issues/463)
Fix a bug that action doesn't work in a container

##### Fix a bug that action doesn't work in a container

[#&#8203;461](https://github.com/aquaproj/aqua-installer/issues/461)
[#&#8203;463](https://github.com/aquaproj/aqua-installer/issues/463)

GitHub Actions supports running a job in a container.


https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container

But in a container the variable `${{ github.action_path }}` is wrong, so
action can't access the script `aqua-installer`.
This is a known issue of GitHub Actions.

-
[https://github.com/actions/runner/issues/2185](https://github.com/actions/runner/issues/2185)

To solve the issue, we copy the content of the script `aqua-installer`
into action itself, then action don't have to access the script
`aqua-installer`.

</details>

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

###
[`v4.32.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.32.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.31.0...v4.32.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.32.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.32.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.31.0...v4.32.0

#### 🎉 New Packages


[#&#8203;13691](https://github.com/aquaproj/aqua-registry/issues/13691)
[#&#8203;14174](https://github.com/aquaproj/aqua-registry/issues/14174)
[Scalingo/cli](https://github.com/Scalingo/cli): Command Line client
for Scalingo PaaS

[#&#8203;14209](https://github.com/aquaproj/aqua-registry/issues/14209)
[connectrpc/connect-go/protoc-gen-connect-go](https://github.com/connectrpc/connect-go):
Simple, reliable, interoperable. A better gRPC
[@&#8203;ichizero](https://github.com/ichizero)

:bulb: https://github.com/bufbuild/connect-go was relocated to
https://github.com/connectrpc/connect-go


[#&#8203;14173](https://github.com/aquaproj/aqua-registry/issues/14173)
[segmentio/topicctl](https://github.com/segmentio/topicctl): Tool for
declarative management of Kafka topics

#### 🎉 New Contributors

Thank you for your contribution!

[@&#8203;ichizero](https://github.com/ichizero)
[#&#8203;14209](https://github.com/aquaproj/aqua-registry/issues/14209)

###
[`v4.31.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.31.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.30.0...v4.31.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.31.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.31.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.30.0...v4.31.0

#### 🎉 New Packages


[#&#8203;14076](https://github.com/aquaproj/aqua-registry/issues/14076)
[b4b4r07/vtest](https://github.com/b4b4r07/vtest): Unix `test` command
for Version comparison

[#&#8203;14097](https://github.com/aquaproj/aqua-registry/issues/14097)
[bflad/tfproviderdocs](https://github.com/bflad/tfproviderdocs):
Terraform Provider Documentation Tool
[@&#8203;ponkio-o](https://github.com/ponkio-o)

[#&#8203;14099](https://github.com/aquaproj/aqua-registry/issues/14099)
[golangci/misspell](https://github.com/golangci/misspell): Correct
commonly misspelled English words in source files
[@&#8203;ponkio-o](https://github.com/ponkio-o)

[#&#8203;14102](https://github.com/aquaproj/aqua-registry/issues/14102)
[hashicorp/copywrite](https://github.com/hashicorp/copywrite):
Automate copyright headers and license files at scale
[@&#8203;ponkio-o](https://github.com/ponkio-o)

[#&#8203;14101](https://github.com/aquaproj/aqua-registry/issues/14101)
[pavius/impi](https://github.com/pavius/impi): Verify proper golang
import directives, beyond the capability of gofmt and goimports
[@&#8203;ponkio-o](https://github.com/ponkio-o)

#### Fixes


[#&#8203;14078](https://github.com/aquaproj/aqua-registry/issues/14078)
stoplightio/spectral: Follow up changes of spectral v6.7.0

[#&#8203;14077](https://github.com/aquaproj/aqua-registry/issues/14077)
hhatto/gocloc: Follow up changes of gocloc v0.5.1

###
[`v4.30.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.30.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.29.1...v4.30.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.30.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.30.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.29.1...v4.30.0

#### 🎉 New Packages


[#&#8203;13987](https://github.com/aquaproj/aqua-registry/issues/13987)
[snaplet/cli](https://www.snaplet.dev/): Seed your PostgreSQL database
with production-like data so you can code, debug, and test with ease
[@&#8203;Gowiem](https://github.com/Gowiem)

#### Improvements


[#&#8203;14005](https://github.com/aquaproj/aqua-registry/issues/14005)
[#&#8203;14026](https://github.com/aquaproj/aqua-registry/issues/14026)
aws/aws-cli: Support macOS

#### Fixes


[#&#8203;14021](https://github.com/aquaproj/aqua-registry/issues/14021)
apache/camel-k: Follow up changes of camel-k

[#&#8203;14004](https://github.com/aquaproj/aqua-registry/issues/14004)
mattn/efm-langserver: Ignore v0.0.45
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;14022](https://github.com/aquaproj/aqua-registry/issues/14022)
watchexec/watchexec: Follow up changes of watchexec v1.20.6

###
[`v4.29.1`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.29.1)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.29.0...v4.29.1)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.29.1)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.29.1)
| https://github.com/aquaproj/aqua-registry/compare/v4.29.0...v4.29.1

#### Fixes


[#&#8203;13979](https://github.com/aquaproj/aqua-registry/issues/13979)
arttor/helmify: Follow up changes of helmify v0.4.5

[#&#8203;13974](https://github.com/aquaproj/aqua-registry/issues/13974)
birdayz/kaf: Follow up changes of kaf v0.2.6

[#&#8203;13971](https://github.com/aquaproj/aqua-registry/issues/13971)
caarlos0/fork-cleaner: Follow up change of fork-cleaner

[#&#8203;13969](https://github.com/aquaproj/aqua-registry/issues/13969)
charmbracelet/vhs: Follow up changes of vhs

[#&#8203;13980](https://github.com/aquaproj/aqua-registry/issues/13980)
google/mtail: Follow up changes of mtail

[#&#8203;13978](https://github.com/aquaproj/aqua-registry/issues/13978)
kyverno/kyverno: Follow up changes of kyverno

[#&#8203;13975](https://github.com/aquaproj/aqua-registry/issues/13975)
tmknom/actdocs: Follow up changes of actdocs v0.5.0

###
[`v4.29.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.29.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.28.0...v4.29.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.29.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.29.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.28.0...v4.29.0

#### 🎉 New Packages


[#&#8203;13931](https://github.com/aquaproj/aqua-registry/issues/13931)
[k0kubun/xremap/gnome](https://github.com/k0kubun/xremap): Key
remapper for X11 and Wayland (for GNOME Wayland)
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;13931](https://github.com/aquaproj/aqua-registry/issues/13931)
[k0kubun/xremap/hypr](https://github.com/k0kubun/xremap): Key remapper
for X11 and Wayland (for Hyprland)
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;13931](https://github.com/aquaproj/aqua-registry/issues/13931)
[k0kubun/xremap/kde](https://github.com/k0kubun/xremap): Key remapper
for X11 and Wayland (for KDE-Plasma Wayland)
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;13931](https://github.com/aquaproj/aqua-registry/issues/13931)
[k0kubun/xremap/sway](https://github.com/k0kubun/xremap): Key remapper
for X11 and Wayland (for Sway)
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;13931](https://github.com/aquaproj/aqua-registry/issues/13931)
[k0kubun/xremap/x11](https://github.com/k0kubun/xremap): Key remapper
for X11 and Wayland (for X11)
[@&#8203;4513ECHO](https://github.com/4513ECHO)

#### Fixes


[#&#8203;13930](https://github.com/aquaproj/aqua-registry/issues/13930)
sheepla/fzwiki: Follow up changes of fzwiki v0.1.0-alpha
[@&#8203;4513ECHO](https://github.com/4513ECHO)

###
[`v4.28.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.28.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.27.0...v4.28.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.28.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.28.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.27.0...v4.28.0

#### 🎉 New Packages


[#&#8203;13862](https://github.com/aquaproj/aqua-registry/issues/13862)
[JohnnyMorganz/StyLua](https://github.com/JohnnyMorganz/StyLua): An
opinionated Lua code formatter
[@&#8203;4513ECHO](https://github.com/4513ECHO)

[#&#8203;13863](https://github.com/aquaproj/aqua-registry/issues/13863)
[itchyny/maze](https://github.com/itchyny/maze): A maze command
written in Go [@&#8203;4513ECHO](https://github.com/4513ECHO)

###
[`v4.27.0`](https://github.com/aquaproj/aqua-registry/releases/tag/v4.27.0)

[Compare
Source](https://github.com/aquaproj/aqua-registry/compare/v4.26.0...v4.27.0)


[Issues](https://github.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.27.0)
| [Pull
Requests](https://github.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.27.0)
| https://github.com/aquaproj/aqua-registry/compare/v4.26.0...v4.27.0

#### 🎉 New Packages


[#&#8203;13784](https://github.com/aquaproj/aqua-registry/issues/13784)
[crates.io/shellharden](https://crates.io/crates/shellharden): The
corrective bash syntax highlighter
[@&#8203;hituzi-no-sippo](https://github.com/hituzi-no-sippo)

</details>

<details>
<summary>bitnami-labs/sealed-secrets
(bitnami-labs/sealed-secrets)</summary>

###
[`v0.23.0`](https://github.com/bitnami-labs/sealed-secrets/blob/HEAD/RELEASE-NOTES.md#v0230)

[Compare
Source](https://github.com/bitnami-labs/sealed-secrets/compare/v0.22.0...v0.23.0)

##### Changelog

- Add option for custom annotations and labels on sealing keypairs
([#&#8203;1250](https://github.com/bitnami-labs/sealed-secrets/pull/1250))
- Add option to patch secrets instead of clobbering them
([#&#8203;1259](https://github.com/bitnami-labs/sealed-secrets/pull/1259))
- Improve CLI UX error message while service is not found
([#&#8203;1256](https://github.com/bitnami-labs/sealed-secrets/pull/1256))
- Add namespaced roles support to Helm chart
([#&#8203;1240](https://github.com/bitnami-labs/sealed-secrets/pull/1240))
- add --log-info-stdout to chart
([#&#8203;1238](https://github.com/bitnami-labs/sealed-secrets/pull/1238))
- Fix networkpolicy port + add egress
([#&#8203;1243](https://github.com/bitnami-labs/sealed-secrets/pull/1243))
- Create index for Sealed Secrets public documentation
([#&#8203;1264](https://github.com/bitnami-labs/sealed-secrets/pull/1264))
- Getting started page
([#&#8203;1253](https://github.com/bitnami-labs/sealed-secrets/pull/1253))
- Create a FAQ document for Sealed Secrets public documentation
([#&#8203;1269](https://github.com/bitnami-labs/sealed-secrets/pull/1269))
- Create a cryptography document for Sealed Secrets public documentation
([#&#8203;1267](https://github.com/bitnami-labs/sealed-secrets/pull/1267))
- Validate existing Sealed Secrets document
([#&#8203;1266](https://github.com/bitnami-labs/sealed-secrets/pull/1266))
- added support policy to readme
([#&#8203;1265](https://github.com/bitnami-labs/sealed-secrets/pull/1265))
- Add missing document seperator
([#&#8203;1260](https://github.com/bitnami-labs/sealed-secrets/pull/1260))
- Enable full linter support for golangci-lint
([#&#8203;1262](https://github.com/bitnami-labs/sealed-secrets/pull/1262))
- Update minikube K8S versions
([#&#8203;1251](https://github.com/bitnami-labs/sealed-secrets/pull/1251))
- Bump github.com/onsi/ginkgo/v2 from 2.10.0 to 2.11.0
([#&#8203;1254](https://github.com/bitnami-labs/sealed-secrets/pull/1254))
- Bump k8s.io/code-generator from 0.27.2 to 0.27.3
([#&#8203;1255](https://github.com/bitnami-labs/sealed-secrets/pull/1255))
- Bump golang.org/x/crypto from 0.10.0 to 0.11.0
([#&#8203;1268](https://github.com/bitnami-labs/sealed-secrets/pull/1268))
- Bump github.com/prometheus/client_golang from 1.15.1 to 1.16.0
([#&#8203;1247](https://github.com/bitnami-labs/sealed-secrets/pull/1247))
- Bump golang.org/x/crypto from 0.9.0 to 0.10.0
([#&#8203;1248](https://github.com/bitnami-labs/sealed-secrets/pull/1248))
- Bump k8s.io/client-go from 0.27.2 to 0.27.3
([#&#8203;1244](https://github.com/bitnami-labs/sealed-secrets/pull/1244))

</details>

<details>
<summary>charmbracelet/gum (charmbracelet/gum)</summary>

###
[`v0.11.0`](https://github.com/charmbracelet/gum/releases/tag/v0.11.0)

[Compare
Source](https://github.com/charmbracelet/gum/compare/v0.10.0...v0.11.0)

### Pager Search, Timeouts, and Bug fixes

This release of Gum includes several features and bug fixes to make your
Gum usage more smooooth! 🧈

<img width="600"
src="https://github.com/charmbracelet/gum/assets/42545625/b1dcd04b-fc79-4976-9035-899ead036f3c"
/>

#### What’s Changed
##### New

- Pager search functionality (by
[@&#8203;MikaelFangel](https://github.com/MikaelFangel)) in
[https://github.com/charmbracelet/gum/pull/321](https://github.com/charmbracelet/gum/pull/321)
- Strip ANSI for `gum filter` and `gum choose` when output is not a TTY
- Non-positive widths will cause `gum write` will use the entire
terminal width
-   `GUM_FORMAT_THEME` / `GUM_FORMAT_LANGUAGE` environment variables
-   `--no-sort` flag for `gum filter`
-   Customizable cursor modes
-   Customizable cursor line text
- Add `--timeout` flag to all subcommands (by
[@&#8203;deicon](https://github.com/deicon))

##### Fixed

-   Respect file path argument in filepicker

##### Other stuff

- Switch to `termenv.EnvColorProfile()` by
[@&#8203;kennyp](https://github.com/kennyp) in
[https://github.com/charmbracelet/gum/pull/387](https://github.com/charmbracelet/gum/pull/387)

#### New Contributors

- [@&#8203;hopefulTex](https://github.com/hopefulTex) made their first
contribution in
[https://github.com/charmbracelet/gum/pull/303](https://github.com/charmbracelet/gum/pull/303)
- [@&#8203;vahnrr](https://github.com/vahnrr) made their first
contribution in
[https://github.com/charmbracelet/gum/pull/374](https://github.com/charmbracelet/gum/pull/374)
- [@&#8203;kennyp](https://github.com/kennyp) made their first
contribution in
[https://github.com/charmbracelet/gum/pull/387](https://github.com/charmbracelet/gum/pull/387)

**Full Changelog**:
https://github.com/charmbracelet/gum/compare/v0.10.0...v0.11.0

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.technology/@&#8203;charm), or on
[Discord](https://charm.sh/chat).

</details>

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.32.1`](https://github.com/cli/cli/releases/tag/v2.32.1):
GitHub CLI 2.32.1

[Compare Source](https://github.com/cli/cli/compare/v2.32.0...v2.32.1)

#### What's Changed

- `pr checks`: Fix regression making it unusable in GHES versions older
than 3.9 by [@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7725](https://github.com/cli/cli/pull/7725)
- `pr edit`: Do not make reviewer update request if there are no
reviewer changes by [@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7730](https://github.com/cli/cli/pull/7730)
- `repo view`: Sanitize file contents before displaying them by
[@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7694](https://github.com/cli/cli/pull/7694)
- `release download`: Use filepath.Clean to sanitize path for archive
downloads by [@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7720](https://github.com/cli/cli/pull/7720)
- `auth`: Do not add auth token to redirect requests which do not have
the same host as the initial request by
[@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7692](https://github.com/cli/cli/pull/7692)
- Use asciisanitization package from go-gh by
[@&#8203;samcoe](https://github.com/samcoe) in
[https://github.com/cli/cli/pull/7745](https://github.com/cli/cli/pull/7745)

**Full Changelog**: https://github.com/cli/cli/compare/v2.32.0...v2.32.1

</details>

<details>
<summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary>

###
[`v0.39.4`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.4)

[Compare
Source](https://github.com/jesseduffield/lazygit/compare/v0.39.3...v0.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 [@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2800](https://github.com/jesseduffield/lazygit/pull/2800)

##### Fixes 🔧

- Support typing special characters like '\[' on non-english keyboards
by [@&#8203;Calvin1602](https://github.com/Calvin1602) in
[https://github.com/jesseduffield/lazygit/pull/2818](https://github.com/jesseduffield/lazygit/pull/2818)
- Fix infinite wait on push/pull on windows by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2821](https://github.com/jesseduffield/lazygit/pull/2821)

##### Docs 📖

- Add Gentoo installation documentation to README by
[@&#8203;cova-fe](https://github.com/cova-fe) in
[https://github.com/jesseduffield/lazygit/pull/2811](https://github.com/jesseduffield/lazygit/pull/2811)

#### New Contributors

- [@&#8203;cova-fe](https://github.com/cova-fe) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2811](https://github.com/jesseduffield/lazygit/pull/2811)
- [@&#8203;Calvin1602](https://github.com/Calvin1602) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2818](https://github.com/jesseduffield/lazygit/pull/2818)

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

###
[`v0.39.3`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.3)

[Compare
Source](https://github.com/jesseduffield/lazygit/compare/v0.39.2...v0.39.3)

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

#### What's Changed

##### Enhancements 🔥

- Include more commit authors in author suggestions by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2807](https://github.com/jesseduffield/lazygit/pull/2807)
- Use fuzzy search when filtering a view by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2808](https://github.com/jesseduffield/lazygit/pull/2808)
- Better tag creation UX by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2809](https://github.com/jesseduffield/lazygit/pull/2809)
- Better word wrap by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2812](https://github.com/jesseduffield/lazygit/pull/2812)

##### Fixes 🔧

- Fix crash caused by simultaneous read/write of scanner buffer by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2813](https://github.com/jesseduffield/lazygit/pull/2813)

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

###
[`v0.39.2`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.2)

[Compare
Source](https://github.com/jesseduffield/lazygit/compare/v0.39.1...v0.39.2)

This release fixes an issue on windows where the main view would stop
rendering new content. This issue mostly affected users running git
through a shim. Thanks to
[@&#8203;AndrewSav](https://github.com/AndrewSav) for the
investigation and fix
[https://github.com/jesseduffield/lazygit/pull/2806](https://github.com/jesseduffield/lazygit/pull/2806)

###
[`v0.39.1`](https://github.com/jesseduffield/lazygit/releases/tag/v0.39.1)

[Compare
Source](https://github.com/jesseduffield/lazygit/compare/v0.38.2...v0.39.1)

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

**Full Changelog**:
https://github.com/jesseduffield/lazygit/compare/v0.39.0...v0.39.1

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

#### What's Changed

There's lots of stuff in this release! Some favourites of mine include:

- Filter functionality for branches (and some other list views)
activated by '/'
- Showing commit hashes against branches (opt-in with
`gui.showBranchCommitHash: true`)
-   Various improvements to rebasing functionality
-   Nerd font 3 support

As you can see [@&#8203;stefanhaller](https://github.com/stefanhaller)
is behind many of the improvements in this release so kudos to you
Stefan! And thanks to all the contributors who made this release
possible.

In the next release we're adding worktree support. It's a big feature so
we want to get it right! If you use worktrees as part of your daily flow
please respond to the poll (and even test out the draft PR) in the
[Worktree UX
discussion](https://github.com/jesseduffield/lazygit/discussions/2803)

##### Enhancements 🔥

- Support filtering on some views with '/' by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2680](https://github.com/jesseduffield/lazygit/pull/2680)
- Allow scrolling side views without changing selected item by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2608](https://github.com/jesseduffield/lazygit/pull/2608)
- Speed up Lazygit on windows by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2661](https://github.com/jesseduffield/lazygit/pull/2661)
- Show commit hashes against branches (opt-in) by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2274](https://github.com/jesseduffield/lazygit/pull/2274)
- Add config for nerd fonts version by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2731](https://github.com/jesseduffield/lazygit/pull/2731)
- Show rebase todo entry for conflicted commit by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2682](https://github.com/jesseduffield/lazygit/pull/2682)
- Don't keep commits that become empty during a rebase by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2644](https://github.com/jesseduffield/lazygit/pull/2644)
- Show menu instead of prompt when there are conflicts in a rebase or
merge by [@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2694](https://github.com/jesseduffield/lazygit/pull/2694)
- Make "merged" take precedence over "unpushed" by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2628](https://github.com/jesseduffield/lazygit/pull/2628)
- Add config for main branches by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2619](https://github.com/jesseduffield/lazygit/pull/2619)
- Visualize the "ignore whitespace" config by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2641](https://github.com/jesseduffield/lazygit/pull/2641)
- Support dynamically generated suggestions in custom commands prompt by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2686](https://github.com/jesseduffield/lazygit/pull/2686)
- Add suggestions presets to prompts in custom commands by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2685](https://github.com/jesseduffield/lazygit/pull/2685)
- Allow checking for merge conflicts after running a custom command by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2773](https://github.com/jesseduffield/lazygit/pull/2773)
- Use sentence case everywhere by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2672](https://github.com/jesseduffield/lazygit/pull/2672)
- Our casing as all over the place so now we're using 'Sentence case'
for everything.
- More compact and flexible date format by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2676](https://github.com/jesseduffield/lazygit/pull/2676)
- Add nvim and kakoune editor presets by
[@&#8203;screendriver](https://github.com/screendriver) in
[https://github.com/jesseduffield/lazygit/pull/2591](https://github.com/jesseduffield/lazygit/pull/2591)
- Add helix editor preset by [@&#8203;dvic](https://github.com/dvic)
in
[https://github.com/jesseduffield/lazygit/pull/2668](https://github.com/jesseduffield/lazygit/pull/2668)
- Fetch from all remotes by default by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2692](https://github.com/jesseduffield/lazygit/pull/2692)
- Better prompt for discarding old file changes by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2707](https://github.com/jesseduffield/lazygit/pull/2707)
- Use remote upstreams of main branches to determine merged status of
commits by [@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2725](https://github.com/jesseduffield/lazygit/pull/2725)
- Always show branch heads in diff pane by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2748](https://github.com/jesseduffield/lazygit/pull/2748)
- Rely on .gitconfig for verbose commit messages by
[@&#8203;scallaway](https://github.com/scallaway) in
[https://github.com/jesseduffield/lazygit/pull/2664](https://github.com/jesseduffield/lazygit/pull/2664)
- Show all tags in commits panel by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2776](https://github.com/jesseduffield/lazygit/pull/2776)
- Update gitlab merge request URL to match new routing by
[@&#8203;mazharz](https://github.com/mazharz) in
[https://github.com/jesseduffield/lazygit/pull/2656](https://github.com/jesseduffield/lazygit/pull/2656)
- Right-align key labels in menu by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2652](https://github.com/jesseduffield/lazygit/pull/2652)
- Indicate reserved menu keybindings to reduce confusion by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2651](https://github.com/jesseduffield/lazygit/pull/2651)

##### Fixes 🔧

- Fix to show commitPrefixes in commit message with a new blank commit
by [@&#8203;longlhh90](https://github.com/longlhh90) in
[https://github.com/jesseduffield/lazygit/pull/2612](https://github.com/jesseduffield/lazygit/pull/2612)
- Fix intermittent rebase continue prompt failure by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2629](https://github.com/jesseduffield/lazygit/pull/2629)
- Fix bug where discarding merge conflict file failed by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2662](https://github.com/jesseduffield/lazygit/pull/2662)
- Better default text colour on light theme terminals by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2696](https://github.com/jesseduffield/lazygit/pull/2696)
- Fix rendering issues in commits view by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2700](https://github.com/jesseduffield/lazygit/pull/2700)
- Fix interactive rebase with git 2.25.1 and earlier by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2747](https://github.com/jesseduffield/lazygit/pull/2747)
- Fix crash when a background fetch prompts for credentials by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2789](https://github.com/jesseduffield/lazygit/pull/2789)
- fix kakoune binary name by
[@&#8203;enricozb](https://github.com/enricozb) in
[https://github.com/jesseduffield/lazygit/pull/2708](https://github.com/jesseduffield/lazygit/pull/2708)
- Fix focus issue when opening recent-repos menu at launch by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2715](https://github.com/jesseduffield/lazygit/pull/2715)
- Allow discarding changes only from local commits by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2712](https://github.com/jesseduffield/lazygit/pull/2712)
- Honour configured comment char on interactive rebase by
[@&#8203;gustavopcassol](https://github.com/gustavopcassol) in
[https://github.com/jesseduffield/lazygit/pull/2639](https://github.com/jesseduffield/lazygit/pull/2639)
- Fix the title and text of the Discard Changes prompt by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2706](https://github.com/jesseduffield/lazygit/pull/2706)
- Fix broken `git init` prompt by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2771](https://github.com/jesseduffield/lazygit/pull/2771)
- Fix potentially wrong help text in commit message panel by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2777](https://github.com/jesseduffield/lazygit/pull/2777)
- Fix incorrect focus in accordion mode by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2792](https://github.com/jesseduffield/lazygit/pull/2792)
- Fix crash on empty menu by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2799](https://github.com/jesseduffield/lazygit/pull/2799)
- Only apply right-alignment on first column of keybindings menu by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2801](https://github.com/jesseduffield/lazygit/pull/2801)
- Stop hiding underscores for VSCode by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2699](https://github.com/jesseduffield/lazygit/pull/2699)

##### Maintenance ⚙️

- Run integration tests with all supported git versions by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2754](https://github.com/jesseduffield/lazygit/pull/2754)
- Add ability to update yaml path while preserving comments by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2620](https://github.com/jesseduffield/lazygit/pull/2620)
- Refactor for better encapsulation by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2519](https://github.com/jesseduffield/lazygit/pull/2519)
- Add convenience builder for git commands by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2645](https://github.com/jesseduffield/lazygit/pull/2645)
- Construct arg vector manually rather than parse string by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2655](https://github.com/jesseduffield/lazygit/pull/2655)
- Allow global logging when developing by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2671](https://github.com/jesseduffield/lazygit/pull/2671)
- remove `github.com/jesseduffield/yaml` package by
[@&#8203;Ryooooooga](https://github.com/Ryooooooga) in
[https://github.com/jesseduffield/lazygit/pull/2508](https://github.com/jesseduffield/lazygit/pull/2508)
- Update seconds ago function and add tests by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2695](https://github.com/jesseduffield/lazygit/pull/2695)
- Support matchers on integers in integration tests by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2704](https://github.com/jesseduffield/lazygit/pull/2704)
- Improve yaml_utils by
[@&#8203;stefanhaller](https://github.com/stefanhaller) in
[https://github.com/jesseduffield/lazygit/pull/2718](https://github.com/jesseduffield/lazygit/pull/2718)
- Fix typo 'EnteRefName' by
[@&#8203;letavocado](https://github.com/letavocado) in
[https://github.com/jesseduffield/lazygit/pull/2750](https://github.com/jesseduffield/lazygit/pull/2750)
- Track busy/idle state for integration tests by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2765](https://github.com/jesseduffield/lazygit/pull/2765)
- Add test for cmd obj cloning by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2780](https://github.com/jesseduffield/lazygit/pull/2780)
- Update release notes config and add CI check by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2797](https://github.com/jesseduffield/lazygit/pull/2797)
- Add release config for generating release notes by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2793](https://github.com/jesseduffield/lazygit/pull/2793)
- Remove Uffizzi by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2690](https://github.com/jesseduffield/lazygit/pull/2690)
- Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0
by [@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/jesseduffield/lazygit/pull/2490](https://github.com/jesseduffield/lazygit/pull/2490)

##### Docs 📖

- Add package statuses to readme by
[@&#8203;jesseduffield](https://github.com/jesseduffield) in
[https://github.com/jesseduffield/lazygit/pull/2717](https://github.com/jesseduffield/lazygit/pull/2717)

##### I18n 🌎

- Add Traditional Chinese support by
[@&#8203;tzengyuxio](https://github.com/tzengyuxio) in
[https://github.com/jesseduffield/lazygit/pull/2688](https://github.com/jesseduffield/lazygit/pull/2688)
- Add russian translation by
[@&#8203;letavocado](https://github.com/letavocado) in
[https://github.com/jesseduffield/lazygit/pull/2729](https://github.com/jesseduffield/lazygit/pull/2729)

#### New Contributors

- [@&#8203;screendriver](https://github.com/screendriver) made their
first contribution in
[https://github.com/jesseduffield/lazygit/pull/2591](https://github.com/jesseduffield/lazygit/pull/2591)
- [@&#8203;longlhh90](https://github.com/longlhh90) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2612](https://github.com/jesseduffield/lazygit/pull/2612)
- [@&#8203;mazharz](https://github.com/mazharz) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2656](https://github.com/jesseduffield/lazygit/pull/2656)
- [@&#8203;dvic](https://github.com/dvic) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2668](https://github.com/jesseduffield/lazygit/pull/2668)
- [@&#8203;dependabot](https://github.com/dependabot) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2490](https://github.com/jesseduffield/lazygit/pull/2490)
- [@&#8203;tzengyuxio](https://github.com/tzengyuxio) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2688](https://github.com/jesseduffield/lazygit/pull/2688)
- [@&#8203;enricozb](https://github.com/enricozb) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2708](https://github.com/jesseduffield/lazygit/pull/2708)
- [@&#8203;letavocado](https://github.com/letavocado) made their first
contribution in
[https://github.com/jesseduffield/lazygit/pull/2729](https://github.com/jesseduffield/lazygit/pull/2729)
- [@&#8203;gustavopcassol](https://github.com/gustavopcassol) made
their first contribution in
[https://github.com/jesseduffield/lazygit/pull/2639](https://github.com/jesseduffield/lazygit/pull/2639)

If you contributed to this release but don't see your name here, let me
know!

**Full Changelog**:
https://github.com/jesseduffield/lazygit/compare/v0.38.2...v0.39.1

</details>

<details>
<summary>kubernetes-sigs/kustomize (kubernetes-sigs/kustomize)</summary>

###
[`v5.1.1`](https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.1.1)

[Compare
Source](https://github.com/kubernetes-sigs/kustomize/compare/kustomize/v5.1.0...kustomize/v5.1.1)

Built with go 1.20.6 to address CVEs in previous go versions.


[#&#8203;5245](https://github.com/kubernetes-sigs/kustomize/issues/5245):
Fix typo in help for the create subcommand

</details>

<details>
<summary>kubernetes/kubectl (kubernetes/kubectl)</summary>

###
[`v1.27.4`](https://github.com/kubernetes/kubectl/compare/kubernetes-1.27.3...kubernetes-1.27.4)

[Compare
Source](https://github.com/kubernetes/kubectl/compare/kubernetes-1.27.3...kubernetes-1.27.4)

</details>

<details>
<summary>kubernetes/minikube (kubernetes/minikube)</summary>

###
[`v1.31.1`](https://github.com/kubernetes/minikube/releases/tag/v1.31.1)

[Compare
Source](https://github.com/kubernetes/minikube/compare/v1.31.0...v1.31.1)

📣😀 **Please fill out our [fast 5-question
survey](https://forms.gle/Gg3hG5ZySw8c1C24A)** so that we can learn how
& why you use minikube, and what improvements we should make. Thank you!
💃🎉

#### Release Notes

#### Version 1.31.1 - 2023-07-20

- cni: Fix regression in auto selection
[#&#8203;16912](https://github.com/kubernetes/minikube/pull/16912)

For a more detailed changelog, see
[CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md).

Thank you to our contributors for this release!

-   Jeff MAURY
-   Medya Ghazizadeh
-   Steven Powell

Thank you to our triage members for this release!

-   afbjorklund (5 comments)
-   torenware (5 comments)
-   mprimeaux (3 comments)
-   prezha (3 comments)
-   spowelljr (1 comments)

Check out our [contributions
leaderboard](https://minikube.sigs.k8s.io/docs/contrib/leaderboard/v1.31.1/)
for this release!

#### Installation

See [Getting Started](https://minikube.sigs.k8s.io/docs/start/)

#### Binary Checksums

darwin-amd64:
`a465e5b537b63ac8e6624396f490dd79516fd625c1110cbf1f49e7b55c1dfcf6`
darwin-arm64:
`b58bfb3eaa9f5ab04ced7f6e23184c04fdaadb4ac06cf982e2c50c37466e465a`
linux-amd64:
`ebcdfb0a520e9e746360a9dd954a9006ca75770e53fcdae493b6ac9a20026733`
linux-arm:
`372414001ac449f6b33d7189b7fad68980169136221b94dca5cf5e1a9d90259f`
linux-arm64:
`1bc6dd8bb2f7f0eaae49a3f5685cda0472abdc6e870f5105681e877017826281`
linux-ppc64le:
`ce979d3698c573eb39ec6fe4d013a714aafcb15331d6c0fed2e38b5f91000162`
linux-s390x:
`5d9a2cedfa79fbcbfd85a3034eed747da1baf8d1d4004fc4cd18bcafdfe3f6f5`
windows-amd64.exe:
`a08699d25fede796e6fdc56d8630380bd5864fb291592fc2be24fe881656d064`

#### ISO Checksums

amd64:
`4cc52896d9ab0444300737ddae6d49dd2dbcf67c14579bf3b975d55213ce96ae`\
arm64:
`355556716c1de155eeb04e37ed289808f12f2a650e6aa2967f61ab4539241eb6`

###
[`v1.31.0`](https://github.com/kubernetes/minikube/releases/tag/v1.31.0)

[Compare
Source](https://github.com/kubernetes/minikube/compare/v1.30.1...v1.31.0)

📣😀 **Please fill out our [fast 5-question
survey](https://forms.gle/Gg3hG5ZySw8c1C24A)** so that we can learn how
& why you use minikube, and what improvements we should make. Thank you!
💃🎉

#### Release Notes

#### Version 1.31.0 - 2023-07-18

Features:

- Add back VMware driver support
[#&#8203;16796](https://github.com/kubernetes/minikube/pull/16796)
- `docker-env` supports the containerd runtime (experimental)
[#&#8203;15452](https://github.com/kubernetes/minikube/pull/15452)
[#&#8203;16761](https://github.com/kubernetes/minikube/pull/16761)
- Automatically renew expired kubeadm certs
[#&#8203;16249](https://github.com/kubernetes/minikube/pull/16249)
- New addon inspektor-gadget
[#&#8203;15869](https://github.com/kubernetes/minikube/pull/15869)

Major Improvements:

- VM drivers: Fix all images getting removed on stop/start (40% start
speedup)
[#&#8203;16655](https://github.com/kubernetes/minikube/pull/16655)
- Addon registry: Add support for all architectures
[#&#8203;16577](https://github.com/kubernetes/minikube/pull/16577)
- QEMU: Fix failing to interact with cluster after upgrading QEMU
version
[#&#8203;16853](https://github.com/kubernetes/minikube/pull/16853)
- macOS/QEMU: Auto unblock bootpd from firewall if blocking socket_vmnet
network
[#&#8203;16714](https://github.com/kubernetes/minikube/pull/16714)
[#&#8203;16789](https://github.com/kubernetes/minikube/pull/16789)
- `minikube cp` supports providing directory as a target
[#&#8203;15519](https://github.com/kubernetes/minikube/pull/15519)

Minor Improvements:

- Always use cni unless running with dockershim
[#&#8203;14780](https://github.com/kubernetes/minikube/pull/14780)
- none driver: Check for CNI plugins before starting cluster
[#&#8203;16419](https://github.com/kubernetes/minikube/pull/16419)
- QEMU: Add ability to create extra disks
[#&#8203;15887](https://github.com/kubernetes/minikube/pull/15887)
- \--kubernetes-version: Assume latest patch version if not specified
[#&#8203;16569](https://github.com/kubernetes/minikube/pull/16569)
- audit: Set default max file size
[#&#8203;16543](https://github.com/kubernetes/minikube/pull/16543)
- service: Fail if no pods available
[#&#8203;15079](https://github.com/kubernetes/minikube/pull/15079)
- docker/podman driver: Use buildx for `image build` command
[#&#8203;16252](https://github.com/kubernetes/minikube/pull/16252)
- Addon gvisor: Simplify runtime configuration and use latest version
[#&#8203;14996](https://github.com/kubernetes/minikube/pull/14996)
- Add PowerShell code completion
[#&#8203;16232](https://github.com/kubernetes/minikube/pull/16232)
- build: Support DOS-style path for Dockerfile path
[#&#8203;15074](https://github.com/kubernetes/minikube/pull/15074)

Bugs:

- none driver: Fix `minikube start` not working without `sudo`
[#&#8203;16408](https://github.com/kubernetes/minikube/pull/16408)
- none driver: Fix `minikube image build`
[#&#8203;16386](https://github.com/kubernetes/minikube/pull/16386)
- Fix only allowing one global tunnel
[#&#8203;16839](https://github.com/kubernetes/minikube/pull/16839)
- Fix enabling addons when --no-kubernetes
[#&#8203;15003](https://github.com/kubernetes/minikube/pull/15003)
- Fix enabling addons on a paused cluster
[#&#8203;15868](https://github.com/kubernetes/minikube/pull/15868)
- Fix waiting for kicbase downloads on VM drivers
[#&#8203;16695](https://github.com/kubernetes/minikube/pull/16695)
- image list: Fix only outputting single tag of image with multiple tags
[#&#8203;16578](https://github.com/kubernetes/minikube/pull/16578)
- Addons: Fix cloud-spanner and headlamp incorrect file permissions
[#&#8203;16413](https://github.com/kubernetes/minikube/pull/16413)
- Fix csi-hostpath not allowing custom registry
[#&#8203;16395](https://github.com/kubernetes/minikube/pull/16395)
- Fix mount cleaning mechanism
[#&#8203;15782](https://github.com/kubernetes/minikube/pull/15782)
- Fix kubectl tab-completion and improve error messages
\[[#&#8203;14868](https://github.com/kubernetes/minikube/issues/14868)]\[https://github.com/kubernetes/minikube/pull/14868](https://github.com/kubernetes/minikube/pull/14868)8
- Fix help text not being translated
[#&#8203;16850](https://github.com/kubernetes/minikube/pull/16850)
[#&#8203;16852](https://github.com/kubernetes/minikube/pull/16852)

New ISO Modules:

- Add BINFMT_MISC
[#&#8203;16712](https://github.com/kubernetes/minikube/pull/16712)
- Add BPF_SYSCALL to arm64
[#&#8203;15164](https://github.com/kubernetes/minikube/pull/15164)
- Add GENEVE
[#&#8203;15665](https://github.com/kubernetes/minikube/pull/15665)
- add BLK_DEV_RBD & CEPH_LIB to arm64
[#&#8203;16019](https://github.com/kubernetes/minikube/pull/16019)

Version Upgrades:

- Bump Kubernetes version default: v1.27.3 and latest: v1.27.3
[#&#8203;16718](https://github.com/kubernetes/minikube/pull/16718)
- Addon cloud-spanner: Update cloud-spanner-emulator/emulator image from
1.5.2 to 1.5.7
[#&#8203;16248](https://github.com/kubernetes/minikube/pull/16248)
[#&#8203;16352](https://github.com/kubernetes/minikube/pull/16352)
[#&#8203;16587](https://github.com/kubernetes/minikube/pull/16587)
[#&#8203;16652](https://github.com/kubernetes/minikube/pull/16652)
[#&#8203;16845](https://github.com/kubernetes/minikube/pull/16845)
- Addon gcp-auth: Update ingress-nginx/kube-webhook-certgen image from
v20230312-helm-chart-4.5.2-28-g66a760794 to v20230407
[#&#8203;16601](https://github.com/kubernetes/minikube/pull/16601)
- Addon gcp-auth: Update k8s-minikube/gcp-auth-webhook image from
v0.0.14 to v0.1.0
[#&#8203;16573](https://github.com/kubernetes/minikube/pull/16573)
- Addon headlamp: Update headlamp-k8s/headlamp image version from
v0.16.0 to v0.18.0
[#&#8203;16399](https://github.com/kubernetes/minikube/pull/16399)
[#&#8203;16540](https://github.com/kubernetes/minikube/pull/16540)
[#&#8203;16721](https://github.com/kubernetes/minikube/pull/16721)
- Addon ingress: Update ingress-nginx/controller image from v1.7.0 to
v1.8.1
[#&#8203;16601](https://github.com/kubernetes/minikube/pull/16601)
[#&#8203;16832](https://github.com/kubernetes/minikube/pull/16832)
- Addon ingress: Update ingress-nginx/kube-webhook-certgen image from
v20230312-helm-chart-4.5.2-28-g66a760794 to v20230407
[#&#8203;16601](https://github.com/kubernetes/minikube/pull/16601)
- Addon kong: Update kong image from 2.7 to 3.2
[#&#8203;16424](https://github.com/kubernetes/minikube/pull/16424)
- Addon kong: Update kong/kubernetes-ingress-controller image from 2.1.1
to 2.9.3
[#&#8203;16424](https://github.com/kubernetes/minikube/pull/16424)
- CNI calico: Update from v3.24.5 to v3.26.1
[#&#8203;16144](https://github.com/kubernetes/minikube/pull/16144)
[#&#8203;16596](https://github.com/kubernetes/minikube/pull/16596)
[#&#8203;16732](https://github.com/kubernetes/minikube/pull/16732)
- CNI flannel: Update from v0.20.2 to v0.22.0
[#&#8203;16074](https://github.com/kubernetes/minikube/pull/16074)
[#&#8203;16435](https://github.com/kubernetes/minikube/pull/16435)
[#&#8203;16597](https://github.com/kubernetes/minikube/pull/16597)
- CNI kindnet: Update from v20230330-48f316cd to v20230511-dc714da8
[#&#8203;16488](https://github.com/kubernetes/minikube/pull/16488)
- Kicbase: Update base image from ubuntu:focal-20230308 to
ubuntu:jammy-20230624
[#&#8203;16069](https://github.com/kubernetes/minikube/pull/16069)
[#&#8203;16632](https://github.com/kubernetes/minikube/pull/16632)
[#&#8203;16731](https://github.com/kubernetes/minikube/pull/16731)
[#&#8203;16834](https://github.com/kubernetes/minikube/pull/16834)
- Kicbase/ISO: Update buildkit from v0.11.4 to v0.11.6
[#&#8203;16426](https://github.com/kubernetes/minikube/pull/16426)
- Kicbase/ISO: Update cni-plugins from v0.8.5 to v1.3.0
[#&#8203;16582](https://github.com/kubernetes/minikube/pull/16582)
- Kicbase/ISO: Update containerd from v1.7.0 to v1.7.1
[#&#8203;16501](https://github.com/kubernetes/minikube/pull/16501)
- Kicbase/ISO: Update containerd from v1.7.1 to v1.7.2
[#&#8203;16634](https://github.com/kubernetes/minikube/pull/16634)
- Kicbase/ISO: Update cri-dockerd from v0.3.1 to v0.3.3
[#&#8203;16506](https://github.com/kubernetes/minikube/pull/16506)
[#&#8203;16703](https://github.com/kubernetes/minikube/pull/16703)
- Kicbase/ISO: Update docker from 20.10.23 to 24.0.4
[#&#8203;16572](https://github.com/kubernetes/minikube/pull/16572)
[#&#8203;16612](https://github.com/kubernetes/minikube/pull/16612)
[#&#8203;16875](https://github.com/kubernetes/minikube/pull/16875)
- Kicbase/ISO: Update runc from v1.1.5 to v1.1.7
[#&#8203;16417](https://github.com/kubernetes/minikube/pull/16417)

For a more detailed changelog, see
[CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md).

Thank you to our contributors for this release!

-   AiYijing
-   Aleksandr Chebotov
-   Anders F Björklund
-   Armel Soro
-   Asbjørn Apeland
-   Begula
-   Blaine Gardner
-   Bogdan Luca
-   Fabricio Voznika
-   Jeff MAURY
-   Joe Bowbeer
-   Juan Martín Loyola
-   Judah Nouriyelian
-   Kemal Akkoyun
-   Max Cascone
-   Medya Ghazizadeh
-   Michele Sorcinelli
-   Oldřich Jedlička
-   Ricky Sadowski
-   Sharran
-   Steven Powell
-   Terry Moschou
-   Tongyao Si
-   Vedant
-   Viktor Gamov
-   W. Duncan Fraser
-   Yuiko Mouri
-   aiyijing
-   cui fliter
-   guoguangwu
-   himalayanZephyr
-   joaquimrocha
-   lixin18
-   piljoong
-   salasberryfin
-   shixiuguo
-   sunyuxuan
-   syxunion
-   tianlj
-   tzzcfrank
-   vgnshiyer
-   winkelino
-   x7upLime
-   yolossn
-   zhengtianbao
-   Товарищ программист

Thank you to our PR reviewers for this release!

-   spowelljr (180 comments)
-   medyagh (64 comments)
-   eiffel-fl (16 comments)
-   afbjorklund (11 comments)
-   aiyijing (9 comments)
-   atoato88 (6 comments)
-   BenTheElder (2 comments)
-   travisn (2 comments)
-   ComradeProgrammer (1 comments)
-   Kimi450 (1 comments)
-   alban (1 comments)
-   mprimeaux (1 comments)
-   sha

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 4pm on thursday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMjQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance For refactorings, CI changes, tests, version bumping, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants