Skip to content

Conversation

@samcoe
Copy link
Contributor

@samcoe samcoe commented May 17, 2023

This PR adds the ability to create aliases that are nested deeper than top level, for example gh pr co. I broke the PR down into two commits.

The first commit is a refactor to set up this functionality. Previously when invoking an extension or alias we interrupted the standard command dispatching to either short-circuit it or inject additional arguments to make sure the extension or alias was called. I changed this behavior. Now, aliases and extensions get dynamically mounted as commands just like any standard command. This means that we no longer have to do anything fancy at dispatch time and the logic becomes more straightforward. Including not having to do anything crazy to get completions for them like we used to do. This also sets us up to easily allow for nested extension commands in the future.

The second commit adds the ability to actually set aliases that are deeply nested, as well as cleaning up a couple error messages to be more accurate with the the new state of having extensions and aliases mounted as commands. Users will also now be able to create aliases for extensions and other aliases if they are so inclined. The flexibility here due to the refactoring is pretty amazing, a user can create a whole suite of aliases such as gh my issues, gh my prs, gh my repos.

This PR kind of confusing as it spans a lot of files, it is easier to follow if viewed by commit.

Closes #1303

@samcoe samcoe self-assigned this May 17, 2023
@samcoe samcoe force-pushed the nested-aliases branch 12 times, most recently from 79ab6ff to e54e74c Compare May 18, 2023 20:28
Comment on lines +51 to +54
Config: func() (config.Config, error) {
return config.NewBlankConfig(), nil
},
ExtensionManager: &em{},
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NewCmdRoot now relies on Config and ExtensionManager, so I stubbed them out here.

Comment on lines +103 to +104
expandedArgs = expandedArgs[1:]
expandedArgs = append(expandedArgs, "--help")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it should be able to be simplified but my brain has not found a way to yet.

Comment on lines 63 to 64
$ gh alias set 'issue list mine' 'issue list --mention @me'
$ gh issue list mine
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Open to a better example of a nested alias if someone has one.

}

// ExpandAlias processes argv to see if it should be rewritten according to a user's aliases.
func expandAlias(expansion string, args []string) ([]string, error) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expandAlias and expandShellAlias used to be one function but they feel better and more straightforward as two. Logic in them has not changed from before though.

subcommands := command.Commands()
var subcommands []*cobra.Command
for _, c := range command.Commands() {
if !c.IsAvailableCommand() {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still want to show usage for commands that have only nested alias sub commands.

Annotations: map[string]string{
"skipAuthCheck": "true",
},
Hidden: true,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made aliases hidden by default but we could also go the other way here and make them visible. This would require a couple other changes but it is an option.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm definitely interested in exposing these. I tested it locally and just removing Hidden seems to look pretty good in usage; I might want to replace Shell alias with a truncated preview of the alias value. What are your thoughts on that? What else were you thinking might need to change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would need to makes changes to rootUsageFunc, rootHelpFunc, and nestedSuggestFunc so that the proper output gets set when running a command with a nested alias and there is incorrect usage. For example if you created the alias issue list mine: issue list --author=@me and then ran issue list --blah you will see non-helpful output rather than the standard usage string because issue list now has a subcommand.

}

// provide completions for aliases and extensions
rootCmd.ValidArgsFunction = func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super happy to get rid of all this logic.

}
}

func authHelp() string {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was just moved, no changes here.

Annotations: map[string]string{
"versionInfo": versionCmd.Format(version, buildDate),
},
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved from being added in main.go, it felt more appropriate to get set here where the root command is being created.

ID: "actions",
Title: "GitHub Actions commands",
})
cmd.AddGroup(&cobra.Group{
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All extension commands get grouped now.

Comment on lines +191 to +196
aliasCmd.SetUsageFunc(func(_ *cobra.Command) error {
return rootUsageFunc(f.IOStreams.ErrOut, child)
})
aliasCmd.SetHelpFunc(func(_ *cobra.Command, args []string) {
rootHelpFunc(f, child, args)
})
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to maintain status quo with how current aliases work where the help and usage output is actually the help and usage for the targeted command.

aliasName := k
aliasValue := v
isShellAlias := strings.HasPrefix(aliasValue, "!")
split, _ := shlex.Split(aliasName)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was unsure if strings.Split would be enough here so opted for shlex.Split.

parentCmd.ValidArgs = append(parentCmd.ValidArgs, fmt.Sprintf("%s\tShell alias", aliasName))
} else {
aliasCmd := NewCmdAlias(io, parentArgs[0], aliasValue)
split, _ := shlex.Split(aliasValue)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was unsure if strings.Split would be enough here so opted for shlex.Split.

@samcoe samcoe marked this pull request as ready for review May 18, 2023 21:06
@samcoe samcoe requested a review from a team as a code owner May 18, 2023 21:06
@samcoe samcoe requested review from mislav and removed request for a team May 18, 2023 21:06
Copy link
Contributor

@vilmibm vilmibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few thoughts/questions but nothing major or blocking. I am interested in showing alias commands in root usage but it's up to you if you want to do that in this PR or a follow-up.

func NewCmdShellAlias(io *iostreams.IOStreams, aliasName, aliasValue string) *cobra.Command {
return &cobra.Command{
Use: aliasName,
Short: "Shell alias",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you see value in adding a Long key with the text of the shell alias?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know when the long value ever gets displayed for aliases. Might be better to just add a truncated version to Short. We probably should also truncate the Short value for non-shell aliases.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be better to just add a truncated version to Short. We probably should also truncate the Short value for non-shell aliases.

seem like good changes to me

Annotations: map[string]string{
"skipAuthCheck": "true",
},
Hidden: true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm definitely interested in exposing these. I tested it locally and just removing Hidden seems to look pretty good in usage; I might want to replace Shell alias with a truncated preview of the alias value. What are your thoughts on that? What else were you thinking might need to change?

short = fmt.Sprintf("Local extension gh-%s", ext.Name())
} else {
path := ext.URL()
if u, err := git.ParseURL(ext.URL()); err == nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we gotta add a helper for this 😅

@samcoe samcoe requested a review from vilmibm May 24, 2023 02:02
Copy link
Contributor

@vilmibm vilmibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm getting an error when I run gh help pr, now:

unknown command "" for "gh pr"

looks like I get the same error when just invoking gh pr or gh issue

I'm also not seeing nested aliases appear in the "ALIAS COMMANDS" list which is maybe by design? I guess I expected that list to match the output of gh alias list but I could be convinced the current behavior is correct since the nested aliases do show up in the list of subcommands for their command parent.

@samcoe
Copy link
Contributor Author

samcoe commented May 24, 2023

@vilmibm Good catch! I had some incorrect logic for when to display nested command suggestions. Think it should be fixed now.

The nested aliases are listed as ALIAS COMMANDS in the usage output of the command they are attached to. They will not all be displayed at the top level as they used to be. So an alias like gh issue mine will be displayed under ALIAS COMMANDS when doing gh issue --help.

Additionally, any alias that is invalid due to having an invalid name or expansion does not get mounted and is silently ignored. The other option there was to raise an error but that felt wrong since the user may not even be trying to invoke the alias. Basically the same scenario as having an invalid config file. The only way a user should be able to set an invalid alias is if they were editing the config file manually. Do you think we should have different behavior in this case?

@samcoe samcoe requested a review from vilmibm May 24, 2023 22:04
Copy link
Contributor

@vilmibm vilmibm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome, working well locally!

The nested aliases are listed as ALIAS COMMANDS in the usage output of the command they are attached to. They will not all be displayed at the top level as they used to be. So an alias like gh issue mine will be displayed under ALIAS COMMANDS when doing gh issue --help.

Makes sense to me, I don't want to change anything here

Additionally, any alias that is invalid due to having an invalid name or expansion does not get mounted and is silently ignored. The other option there was to raise an error but that felt wrong since the user may not even be trying to invoke the alias. Basically the same scenario as having an invalid config file. The only way a user should be able to set an invalid alias is if they were editing the config file manually. Do you think we should have different behavior in this case?

this behavior makes sense to me. We shouldn't be erroring if a user isn't trying to invoke an alias and if someone adds a bad alias through direct editing of their config they are opting in to being on their own.

@samcoe samcoe merged commit 74ee8ca into trunk May 25, 2023
@samcoe samcoe deleted the nested-aliases branch May 25, 2023 00:46
@mislav
Copy link
Contributor

mislav commented May 25, 2023

Thanks for the hard work on this, @samcoe.

One concern I have with this is that it adds overhead to any gh invocation, including built-in commands. For instance, running gh version before this could pull all information from memory, but now it has to resolve all aliases from config and scan all extensions from disk, even if neither even get used. This overhead likely grows linearly with the number of aliases and extensions found.

In my own testing, NewCmdRoot before took 1–2ms, which if you ask me is already kind of slow, but tolerable. With this PR merged, it now takes 15–20ms, which I find to be quite a large overhead if we consider that it will get applied to literally any invocation, even for built-in commands and when providing shell completions for built-in flags. I have 4 aliases and 11 extensions, but I can imagine others having more than that. Ideally, we'd have constant execution time no matter how many aliases someone has.

One benefit of the previous lazy-resolving approach was that aliases and extensions were only ever considered unless the gh invocation didn't resolve to any built-in command. Of course, this complicated everything within Cobra, such as command dispatch and completion, which you've masterfully resolved in this PR. I wonder if there could be middle ground between the old and the new approach.

One other small regression that I've noticed is that aliases can now "bleed" into man pages. Since man pages are generated from the Cobra command tree, and aliases plus extensions are now part of the command tree by default, generating man pages can accidentally include aliases. To confirm this, I have run make manpages and discovered a new file share/man/man1/gh-co.1.

@samcoe
Copy link
Contributor Author

samcoe commented May 26, 2023

@mislav That is a fair point about performance. I can investigate further and look into options there. I don't know if there is a middle ground to be found but we will see. Do you think I should revert this while I investigate?

Good catch with the man pages. I will open an PR to address those.

@samcoe
Copy link
Contributor Author

samcoe commented May 26, 2023

benchmark

@mislav I did some basic benchmarking for the NewCmdRoot function. The results indicate that even at 100 aliases and 100 extensions installed there really should only be 1ms difference or so in performance. Additionally, BenchmarkNewCmdRootWith0Aliases0Extensions has the config and extension.Manager stubbed out so they are not making any filesystem calls to mimic the previous implementation. Happy to discuss the benchmarking further offline, as my results have not matched yours.

@mislav
Copy link
Contributor

mislav commented May 26, 2023

I've narrowed down the culprit to git extensions:

remoteUrl := m.getRemoteUrl(fi.Name())
currentVersion := m.getCurrentVersion(fi.Name())

When listing each git extension, we also scan its remote URL and its "version" (commit SHA). This incurs two git invocations, each taking 6-9ms on my machine.

In best-case scenario, we're talking about 12ms overhead for each git extension. What would be 1200ms if there were 100 extensions installed. In reality, the overhead will usually be more.

I've opened a spike PR to try to lazy-load information such as ext.URL() and ext.CurrentVersion() only when necessary. That will speed up gh command dispatch. The downside is that this requires significant restructuring to extension code.

@samcoe
Copy link
Contributor Author

samcoe commented May 26, 2023

Thanks for taking a deeper look at this. The benchmark I made was not using git extensions so it makes sense that we had different results. I will take a look at the spike PR.

renovate bot referenced this pull request in scottames/dots Jun 13, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [alajmo/mani](https://togithub.com/alajmo/mani) | minor | `v0.23.0` ->
`v0.25.0` |
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| minor | `v4.6.0` -> `v4.17.0` |
| [cli/cli](https://togithub.com/cli/cli) | minor | `v2.29.0` ->
`v2.30.0` |
| [dandavison/delta](https://togithub.com/dandavison/delta) | minor |
`0.15.1` -> `0.16.5` |
| [direnv/direnv](https://togithub.com/direnv/direnv) | patch |
`v2.32.2` -> `v2.32.3` |
| [fluxcd/flux2](https://togithub.com/fluxcd/flux2) | patch |
`v2.0.0-rc.3` -> `v2.0.0-rc.5` |
| [golangci/golangci-lint](https://togithub.com/golangci/golangci-lint)
| minor | `v1.52.2` -> `v1.53.2` |
| [junegunn/fzf](https://togithub.com/junegunn/fzf) | minor | `0.40.0`
-> `0.41.1` |
| [starship/starship](https://togithub.com/starship/starship) | minor |
`v1.14.2` -> `v1.15.0` |
| [twpayne/chezmoi](https://togithub.com/twpayne/chezmoi) | minor |
`v2.33.6` -> `v2.34.1` |
| [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor |
`v0.141.0` -> `v0.144.0` |

---

### Release Notes

<details>
<summary>alajmo/mani</summary>

### [`v0.25.0`](https://togithub.com/alajmo/mani/releases/tag/v0.25.0)

[Compare
Source](https://togithub.com/alajmo/mani/compare/v0.24.0...v0.25.0)

##### Features

-   Add more box styles to table and tree output

##### Misc

-   Update golang to 1.20.0

### [`v0.24.0`](https://togithub.com/alajmo/mani/releases/tag/v0.24.0)

[Compare
Source](https://togithub.com/alajmo/mani/compare/v0.23.0...v0.24.0)

##### Features

-   Add ability to create/sync remotes

</details>

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

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.16.0...v4.17.0)


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

#### 🎉 New Packages


[#&#8203;12976](https://togithub.com/aquaproj/aqua-registry/issues/12976)
[knadh/listmonk](https://togithub.com/knadh/listmonk): High performance,
self-hosted, newsletter and mailing list manager with a modern
dashboard. Single binary app

[#&#8203;13007](https://togithub.com/aquaproj/aqua-registry/issues/13007)
[koki-develop/gat](https://togithub.com/koki-develop/gat): cat
alternative written in Go

[#&#8203;13010](https://togithub.com/aquaproj/aqua-registry/issues/13010)
[ktock/container2wasm](https://togithub.com/ktock/container2wasm):
Container to WASM converter

[#&#8203;12964](https://togithub.com/aquaproj/aqua-registry/issues/12964)
[terramate-io/terramate](https://togithub.com/terramate-io/terramate):
Terramate adds powerful capabilities such as code generation, stacks,
orchestration, change detection, data sharing and more to Terraform

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.15.0...v4.16.0)


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

#### 🎉 New Packages


[#&#8203;12958](https://togithub.com/aquaproj/aqua-registry/issues/12958)
[caarlos0/svu](https://togithub.com/caarlos0/svu): Semantic Version Util

#### Fixes


[#&#8203;12900](https://togithub.com/aquaproj/aqua-registry/issues/12900)
loeffel-io/ls-lint: Fix `files`

Follow up
[#&#8203;12669](https://togithub.com/aquaproj/aqua-registry/issues/12669)


[#&#8203;12874](https://togithub.com/aquaproj/aqua-registry/issues/12874)
goreleaser/nfpm: Support old versions

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.14.1...v4.15.0)


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

#### 🎉 New Packages


[#&#8203;12853](https://togithub.com/aquaproj/aqua-registry/issues/12853)
[datarootsio/tf-profile](https://togithub.com/datarootsio/tf-profile):
CLI tool to profile Terraform runs, written in Go
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

#### Fixes


[#&#8203;12814](https://togithub.com/aquaproj/aqua-registry/issues/12814)
soywod/himalaya: Follow up changes of himalaya v0.8.0

https://github.com/soywod/himalaya/releases/tag/v0.8.0

> Changed release archive extensions from .tar.gz to .tgz.

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.14.0...v4.14.1)


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

#### Fixes


[#&#8203;12805](https://togithub.com/aquaproj/aqua-registry/issues/12805)
google/go-jsonnet: Add commands `jsonnet-lint` and `jsonnet-deps`
[@&#8203;zephyros-dev](https://togithub.com/zephyros-dev)

https://github.com/google/jsonnet/releases/tag/v0.20.0

> jsonnet-go specific updates:
> jsonnet-deps and jsonnet-lint are now included in releases


[#&#8203;12806](https://togithub.com/aquaproj/aqua-registry/issues/12806)
google/go-jsonnet: Fix configuration by `aqua-registry scaffold --deep
google/go-jsonnet`

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.13.0...v4.14.0)


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

#### 🎉 New Packages


[#&#8203;12801](https://togithub.com/aquaproj/aqua-registry/issues/12801)
[sourcegraph/src-cli](https://togithub.com/sourcegraph/src-cli):
Sourcegraph CLI

#### Fixes


[#&#8203;12804](https://togithub.com/aquaproj/aqua-registry/issues/12804)
cloudquery/cloudquery

[#&#8203;12802](https://togithub.com/aquaproj/aqua-registry/issues/12802)
dandavison/delta: Follow up changes of delta 0.16.4

https://github.com/dandavison/delta/releases/tag/0.16.4

> This release does not contain binaries for x86\_64-unknown-linux-musl,
i686-unknown-linux-gnu, arm-unknown-linux-gnueabihf, or
aarch64-unknown-linux-gnu because the cross-compilation GitHub Actions
jobs were broken at the time of release. I'll issue a follow-up release
including them when that's fixed.

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.12.0...v4.13.0)


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

#### 🎉 New Packages


[#&#8203;12673](https://togithub.com/aquaproj/aqua-registry/issues/12673)
[crates.io/fw](https://togithub.com/brocode/fw): faster workspace
management

#### Fixes


[#&#8203;12771](https://togithub.com/aquaproj/aqua-registry/issues/12771)
exoscale/cli: Follow up changes of exo v1.70.0

https://github.com/exoscale/cli/blob/v1.70.0/CHANGELOG.md#improvements

> Update MacOS compiled unified binary name to be inline with others

-
[https://github.com/exoscale/cli/pull/517](https://togithub.com/exoscale/cli/pull/517)

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.11.0...v4.12.0)


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

#### 🎉 New Packages


[#&#8203;12668](https://togithub.com/aquaproj/aqua-registry/issues/12668)
[k1LoW/gh-do](https://togithub.com/k1LoW/gh-do): gh-do is a tool to do
anything using GitHub credentials

[#&#8203;12669](https://togithub.com/aquaproj/aqua-registry/issues/12669)
[loeffel-io/ls-lint](https://togithub.com/loeffel-io/ls-lint): An
extremely fast directory and filename linter - Bring some structure to
your project filesystem
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.10.1...v4.11.0)


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

#### 🎉 New Packages


[#&#8203;12613](https://togithub.com/aquaproj/aqua-registry/issues/12613)
[tree-sitter/tree-sitter](https://togithub.com/tree-sitter/tree-sitter):
An incremental parsing system for programming tools
[@&#8203;CrystalMethod](https://togithub.com/CrystalMethod)

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.10.0...v4.10.1)


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

#### Fixes


[#&#8203;12590](https://togithub.com/aquaproj/aqua-registry/issues/12590)
docker/cli

[#&#8203;12594](https://togithub.com/aquaproj/aqua-registry/issues/12594)
gotestyourself/gotestsum

[#&#8203;12593](https://togithub.com/aquaproj/aqua-registry/issues/12593)
hidetatz/kubecolor: Exclude Windows


https://github.com/hidetatz/kubecolor/commit/30802265cfd3819d8fc771edaf5dae353cf15f17


[#&#8203;12591](https://togithub.com/aquaproj/aqua-registry/issues/12591)
kubeshark/kubeshark

[#&#8203;12592](https://togithub.com/aquaproj/aqua-registry/issues/12592)
yamafaktory/jql

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.9.0...v4.10.0)


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

#### 🎉 New Packages


[#&#8203;12379](https://togithub.com/aquaproj/aqua-registry/issues/12379)
[aquaproj/aqua-registry-updater](https://togithub.com/aquaproj/aqua-registry-updater):
Renovate alternative specific to aqua-registry. Overcome Renovate's
scalability issue

[#&#8203;12558](https://togithub.com/aquaproj/aqua-registry/issues/12558)
[charmbracelet/mods](https://togithub.com/charmbracelet/mods): AI on the
command line [@&#8203;sheldonhull](https://togithub.com/sheldonhull)

[#&#8203;12378](https://togithub.com/aquaproj/aqua-registry/issues/12378)
[matryer/moq](https://togithub.com/matryer/moq): Interface mocking tool
for go generate

#### Others


[#&#8203;12221](https://togithub.com/aquaproj/aqua-registry/issues/12221)
Introduced
[aqua-registry-updater](https://togithub.com/aquaproj/aqua-registry-updater)
instead of Renovate to update packages continuously

aqua-registry has too many aqua packages for Whitesource Renovate to
work well.
We tuned Renovate configuration, but we couldn't solve the issue
completely.
Renovate called many GitHub API unnecessarily.
We thought it was difficult to solve the issue by Renovate because

-   Renovate was complicated
-   Renovate's specification was unclear
-   Renovate outputted many logs so it was bothersome to read logs
-   Renovate log wasn't so helpful to solve the issue at this time
- The issue was an edge case for Renovate, so the same issue wouldn't
occur in others. So we couldn't expect Renovate was updated to solve the
issue

And we thought it wasn't so difficult to develop a tool to update aqua
packages, so we decided to develop aqua-registry-updater instead of
Renovate.

aqua-registry-updater works well and solves the issue.

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.8.1...v4.9.0)


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

#### 🎉 New Packages


[#&#8203;12361](https://togithub.com/aquaproj/aqua-registry/issues/12361)
[kubernetes-sigs/zeitgeist](https://togithub.com/kubernetes-sigs/zeitgeist):
Zeitgeist: the language-agnostic dependency checker

[#&#8203;12371](https://togithub.com/aquaproj/aqua-registry/issues/12371)
[shihanng/tfvar](https://togithub.com/shihanng/tfvar): Terraform's
variable definitions template generator

[#&#8203;12352](https://togithub.com/aquaproj/aqua-registry/issues/12352)
[utkuozdemir/pv-migrate](https://togithub.com/utkuozdemir/pv-migrate):
CLI tool to easily migrate Kubernetes persistent volumes
[@&#8203;ponkio-o](https://togithub.com/ponkio-o)

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.8.0...v4.8.1)


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

#### Fixes


[#&#8203;12344](https://togithub.com/aquaproj/aqua-registry/issues/12344)
orf/gping: Follow up changes of gping-v1.11.0

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.7.0...v4.8.0)


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

#### 🎉 New Packages


[#&#8203;12314](https://togithub.com/aquaproj/aqua-registry/issues/12314)
[crates.io/skim](https://togithub.com/crates.io/skim): Fuzzy Finder in
rust! `aqua >= v2.8.0`

[#&#8203;12314](https://togithub.com/aquaproj/aqua-registry/issues/12314)
[crates.io/broot](https://dystroy.org/broot): A new file manager `aqua
>= v2.8.0`

#### Fixes


[#&#8203;12325](https://togithub.com/aquaproj/aqua-registry/issues/12325)
Byron/dua-cli: Update settings by `aqua-registry scaffold --deep`

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

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.6.0...v4.7.0)


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

#### Fixes


[#&#8203;12220](https://togithub.com/aquaproj/aqua-registry/issues/12220)
bep/s3deploy: Support PKG format. aqua >= v2.7.1

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

</details>

<details>
<summary>cli/cli</summary>

### [`v2.30.0`](https://togithub.com/cli/cli/releases/tag/v2.30.0):
GitHub CLI 2.30.0

[Compare Source](https://togithub.com/cli/cli/compare/v2.29.0...v2.30.0)

#### What's New

- Support for nested aliases by
[@&#8203;samcoe](https://togithub.com/samcoe) in
[https://github.com/cli/cli/pull/7457](https://togithub.com/cli/cli/pull/7457)
- `repo set-default --view` can now be called without a repo argument by
[@&#8203;Jackenmen](https://togithub.com/Jackenmen) in
[https://github.com/cli/cli/pull/7441](https://togithub.com/cli/cli/pull/7441)

#### What's Changed

- Color control and sensible defaults in modern terminals by
[@&#8203;rick-kilgore](https://togithub.com/rick-kilgore) in
[https://github.com/cli/cli/pull/7354](https://togithub.com/cli/cli/pull/7354)
- Fix windows crash by bumping wincred by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7459](https://togithub.com/cli/cli/pull/7459)
- Update browser package to avoid Windows crash by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7474](https://togithub.com/cli/cli/pull/7474)
- `release upload` sanitizes asset filenames prior to uploading by
[@&#8203;jtpetty](https://togithub.com/jtpetty) in
[https://github.com/cli/cli/pull/7477](https://togithub.com/cli/cli/pull/7477)
- `pr status` uses lighter API in supported environments by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7462](https://togithub.com/cli/cli/pull/7462)
- All commands start up time improvements by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7487](https://togithub.com/cli/cli/pull/7487)
- More commands use latin matching filter by
[@&#8203;benjlevesque](https://togithub.com/benjlevesque) in
[https://github.com/cli/cli/pull/7492](https://togithub.com/cli/cli/pull/7492)
- `pr create` respects GH_REPO env variable by
[@&#8203;ffalor](https://togithub.com/ffalor) in
[https://github.com/cli/cli/pull/7445](https://togithub.com/cli/cli/pull/7445)
- Do not fall back to legacy template if template selector returns nil
by [@&#8203;samcoe](https://togithub.com/samcoe) in
[https://github.com/cli/cli/pull/7444](https://togithub.com/cli/cli/pull/7444)

#### All the Details

- Fix release guard for deployment workflow by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7424](https://togithub.com/cli/cli/pull/7424)
- Introduce helpTopics type and reduce duplication across commands by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7414](https://togithub.com/cli/cli/pull/7414)
- Allow `gh repo set-default --view` without repo argument by
[@&#8203;Jackenmen](https://togithub.com/Jackenmen) in
[https://github.com/cli/cli/pull/7441](https://togithub.com/cli/cli/pull/7441)
- make prompt default values visible and also the color controllable in…
by [@&#8203;rick-kilgore](https://togithub.com/rick-kilgore) in
[https://github.com/cli/cli/pull/7354](https://togithub.com/cli/cli/pull/7354)
- Mention setting GH_ENTERPRISE_TOKEN when GH_HOST is set by
[@&#8203;goldstar611](https://togithub.com/goldstar611) in
[https://github.com/cli/cli/pull/7449](https://togithub.com/cli/cli/pull/7449)
- respect GH_REPO env variable in `pr create` by
[@&#8203;ffalor](https://togithub.com/ffalor) in
[https://github.com/cli/cli/pull/7445](https://togithub.com/cli/cli/pull/7445)
- Do not fall back to legacy template if template selector returns nil
by [@&#8203;samcoe](https://togithub.com/samcoe) in
[https://github.com/cli/cli/pull/7444](https://togithub.com/cli/cli/pull/7444)
- Remove old, unused detector fields by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7458](https://togithub.com/cli/cli/pull/7458)
- Fix windows crash by bumping wincred by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7459](https://togithub.com/cli/cli/pull/7459)
- Get some additional confidence around PullRequest ChecksStatus by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7454](https://togithub.com/cli/cli/pull/7454)
- build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/cli/cli/pull/7460](https://togithub.com/cli/cli/pull/7460)
- build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/cli/cli/pull/7469](https://togithub.com/cli/cli/pull/7469)
- Update triage.md with severity descriptions by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7473](https://togithub.com/cli/cli/pull/7473)
- Clarify docs regarding what is listed when running gh workflow list by
[@&#8203;torgeir](https://togithub.com/torgeir) in
[https://github.com/cli/cli/pull/7475](https://togithub.com/cli/cli/pull/7475)
- build(deps): bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/cli/cli/pull/7476](https://togithub.com/cli/cli/pull/7476)
- Update browser package to avoid Windows crash by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7474](https://togithub.com/cli/cli/pull/7474)
- Updated to sanitize asset filename prior to uploading. Fixes
[#&#8203;7024](https://togithub.com/cli/cli/issues/7024) by
[@&#8203;jtpetty](https://togithub.com/jtpetty) in
[https://github.com/cli/cli/pull/7477](https://togithub.com/cli/cli/pull/7477)
- replace prompts in `gh run` commands by
[@&#8203;vilmibm](https://togithub.com/vilmibm) in
[https://github.com/cli/cli/pull/7302](https://togithub.com/cli/cli/pull/7302)
- Allow nested aliases by [@&#8203;samcoe](https://togithub.com/samcoe)
in
[https://github.com/cli/cli/pull/7457](https://togithub.com/cli/cli/pull/7457)
- Use new GQL fields that support CheckRun and StatusContext counts by
state by [@&#8203;williammartin](https://togithub.com/williammartin) in
[https://github.com/cli/cli/pull/7462](https://togithub.com/cli/cli/pull/7462)
- Speed up gh start up time by
[@&#8203;mislav](https://togithub.com/mislav) in
[https://github.com/cli/cli/pull/7487](https://togithub.com/cli/cli/pull/7487)
- Do not generate docs for aliases by
[@&#8203;samcoe](https://togithub.com/samcoe) in
[https://github.com/cli/cli/pull/7497](https://togithub.com/cli/cli/pull/7497)
- fix: apply latin matching filter to more fields by
[@&#8203;benjlevesque](https://togithub.com/benjlevesque) in
[https://github.com/cli/cli/pull/7492](https://togithub.com/cli/cli/pull/7492)
- build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/cli/cli/pull/7510](https://togithub.com/cli/cli/pull/7510)

#### New Contributors

- [@&#8203;williammartin](https://togithub.com/williammartin) made their
first contribution in
[https://github.com/cli/cli/pull/7414](https://togithub.com/cli/cli/pull/7414)
- [@&#8203;rick-kilgore](https://togithub.com/rick-kilgore) made their
first contribution in
[https://github.com/cli/cli/pull/7354](https://togithub.com/cli/cli/pull/7354)
- [@&#8203;goldstar611](https://togithub.com/goldstar611) made their
first contribution in
[https://github.com/cli/cli/pull/7449](https://togithub.com/cli/cli/pull/7449)
- [@&#8203;torgeir](https://togithub.com/torgeir) made their first
contribution in
[https://github.com/cli/cli/pull/7475](https://togithub.com/cli/cli/pull/7475)

**Full Changelog**: https://github.com/cli/cli/compare/v2.29.0...v2.30.0

</details>

<details>
<summary>dandavison/delta</summary>

###
[`v0.16.5`](https://togithub.com/dandavison/delta/releases/tag/0.16.5)

[Compare
Source](https://togithub.com/dandavison/delta/compare/0.16.4...0.16.5)

This is a follow-up release providing the various binaries that were not
released with 0.16.4. It also makes some adjustments to delta's
(rip)grep support.

#### What's Changed

- Increase number of characters shown in submodule hashes by
[@&#8203;dandavison](https://togithub.com/dandavison) in
[https://github.com/dandavison/delta/pull/1421](https://togithub.com/dandavison/delta/pull/1421)
- Fix typo in publishing build job & restore cross-compilation by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1430](https://togithub.com/dandavison/delta/pull/1430)
- [`3819e94`](https://togithub.com/dandavison/delta/commit/3819e94) Drop
grep-header-style option by
[@&#8203;dandavison](https://togithub.com/dandavison)
- [`a28231a`](https://togithub.com/dandavison/delta/commit/a28231a)
Honor grep-header-decoration-style for ripgrep output by
[@&#8203;dandavison](https://togithub.com/dandavison)

**Full Changelog**:
https://github.com/dandavison/delta/compare/0.16.4...0.16.5

###
[`v0.16.4`](https://togithub.com/dandavison/delta/releases/tag/0.16.4)

[Compare
Source](https://togithub.com/dandavison/delta/compare/0.15.1...0.16.4)

It's 6 months since the last release so this one brings quite a few
changes. Thanks very much to all contributors, especially
[@&#8203;nickelc](https://togithub.com/nickelc) for a huge number of
contributions, and [@&#8203;wescande](https://togithub.com/wescande) for
his work on improving whitespace highlighting. With this release delta
can now display grep output in (hopefully) exactly the same layout that
ripgrep does, but adding syntax highlighting, hyperlinks, and
navigation. Use `ripgrep --json ... | delta` for that, or set
`grep-output-type = ripgrep` to get that output style from `git grep`
etc.

This release does not contain binaries for `x86_64-unknown-linux-musl`,
`i686-unknown-linux-gnu`, `arm-unknown-linux-gnueabihf`, or
`aarch64-unknown-linux-gnu` because the cross-compilation GitHub Actions
jobs were broken at the time of release. I'll issue a follow-up release
including them when that's fixed.

#### What's Changed

- Address deprecated clap features by
[@&#8203;tjquillan](https://togithub.com/tjquillan) in
[https://github.com/dandavison/delta/pull/1251](https://togithub.com/dandavison/delta/pull/1251)
- Fix clippy warnings by [@&#8203;nickelc](https://togithub.com/nickelc)
in
[https://github.com/dandavison/delta/pull/1298](https://togithub.com/dandavison/delta/pull/1298)
- Replace unmaintained/outdated GitHub Actions by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1317](https://togithub.com/dandavison/delta/pull/1317)
- Reduce allocations during `--show-colors` by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1315](https://togithub.com/dandavison/delta/pull/1315)
- Fix the`--show-themes` command by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1320](https://togithub.com/dandavison/delta/pull/1320)
- Fixed broken link to README by
[@&#8203;zonuexe](https://togithub.com/zonuexe) in
[https://github.com/dandavison/delta/pull/1185](https://togithub.com/dandavison/delta/pull/1185)
- Update `git2` to 0.16.1 by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1323](https://togithub.com/dandavison/delta/pull/1323)
- Fix warning from bat for an unknown syntax theme by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1319](https://togithub.com/dandavison/delta/pull/1319)
- Add `gruvmax-fang` theme by
[@&#8203;MaxFangX](https://togithub.com/MaxFangX) in
[https://github.com/dandavison/delta/pull/1291](https://togithub.com/dandavison/delta/pull/1291)
- Spelling by [@&#8203;jsoref](https://togithub.com/jsoref) in
[https://github.com/dandavison/delta/pull/1257](https://togithub.com/dandavison/delta/pull/1257)
- Update `clap` to 4.1 by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1322](https://togithub.com/dandavison/delta/pull/1322)
- Encapsulate `git2` types by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1326](https://togithub.com/dandavison/delta/pull/1326)
- Update dependencies & switch back to the `dirs` crate by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1325](https://togithub.com/dandavison/delta/pull/1325)
- Return the `GitRemoteRepo` type directly by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1328](https://togithub.com/dandavison/delta/pull/1328)
- Added config option. by
[@&#8203;ShogunPanda](https://togithub.com/ShogunPanda) in
[https://github.com/dandavison/delta/pull/1324](https://togithub.com/dandavison/delta/pull/1324)
- Add Winget Releaser workflow by
[@&#8203;sitiom](https://togithub.com/sitiom) in
[https://github.com/dandavison/delta/pull/1331](https://togithub.com/dandavison/delta/pull/1331)
- Get git's minus/plus style from config instead of copying it around by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1329](https://togithub.com/dandavison/delta/pull/1329)
- Add methods for getting `GitConfig` as reference by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1336](https://togithub.com/dandavison/delta/pull/1336)
- Rename `git_config_entry` module to `remote` by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1337](https://togithub.com/dandavison/delta/pull/1337)
- Tips and tricks manual section by
[@&#8203;dandavison](https://togithub.com/dandavison) in
[https://github.com/dandavison/delta/pull/1339](https://togithub.com/dandavison/delta/pull/1339)
- Set language specifiers for code blocks and fix links in manual by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1340](https://togithub.com/dandavison/delta/pull/1340)
- Derive the default for enums with `#[derive(Default)]`/`#[default]` by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1341](https://togithub.com/dandavison/delta/pull/1341)
- Add discord-dark theme by
[@&#8203;ILikePlayingGames](https://togithub.com/ILikePlayingGames) in
[https://github.com/dandavison/delta/pull/1334](https://togithub.com/dandavison/delta/pull/1334)
- Merge the different `GitConfig` constructors for a config file by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1342](https://togithub.com/dandavison/delta/pull/1342)
- Remove manual line-wrapping by
[@&#8203;dandavison](https://togithub.com/dandavison) in
[https://github.com/dandavison/delta/pull/1350](https://togithub.com/dandavison/delta/pull/1350)
- Add link to similar project walles/riff by
[@&#8203;walles](https://togithub.com/walles) in
[https://github.com/dandavison/delta/pull/1362](https://togithub.com/dandavison/delta/pull/1362)
- add: installation instructions for conda/mamba by
[@&#8203;YYYasin19](https://togithub.com/YYYasin19) in
[https://github.com/dandavison/delta/pull/1371](https://togithub.com/dandavison/delta/pull/1371)
- Clarify how to use delta with `tmux` by
[@&#8203;isak102](https://togithub.com/isak102) in
[https://github.com/dandavison/delta/pull/1402](https://togithub.com/dandavison/delta/pull/1402)
- Update `bitflags` to 2.2 by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1361](https://togithub.com/dandavison/delta/pull/1361)
- Fix some typos by [@&#8203;goggle](https://togithub.com/goggle) in
[https://github.com/dandavison/delta/pull/1379](https://togithub.com/dandavison/delta/pull/1379)
- Remove unneeded `extern crate` statements by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1345](https://togithub.com/dandavison/delta/pull/1345)
- Downgrade and pin the `bytelines` crate by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1378](https://togithub.com/dandavison/delta/pull/1378)
- Improve manual build job by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1404](https://togithub.com/dandavison/delta/pull/1404)
- Replace deprecated `error_chain` crate with `anyhow` by
[@&#8203;nickelc](https://togithub.com/nickelc) in
[https://github.com/dandavison/delta/pull/1405](https://togithub.com/dandavison/delta/pull/1405)
- Fix submodule diff parsing by
[@&#8203;th1000s](https://togithub.com/th1000s) in
[https://github.com/dandavison/delta/pull/1413](https://togithub.com/dandavison/delta/pull/1413)
- Fix warning highlight for trailing whitespace by
[@&#8203;wescande](https://togithub.com/wescande) in
[https://github.com/dandavison/delta/pull/1037](https://togithub.com/dandavison/delta/pull/1037)
- Misc tab refactoring by
[@&#8203;th1000s](https://togithub.com/th1000s) in
[https://github.com/dandavison/delta/pull/1424](https://togithub.com/dandavison/delta/pull/1424)
- manual: fix link to using `delta` on Windows by
[@&#8203;mataha](https://togithub.com/mataha) in
[https://github.com/dandavison/delta/pull/1428](https://togithub.com/dandavison/delta/pull/1428)
- Introduce `grep-output-type` option: ripgrep or classic by
[@&#8203;dandavison](https://togithub.com/dandavison) in
[https://github.com/dandavison/delta/pull/1410](https://togithub.com/dandavison/delta/pull/1410)

#### New Contributors

- [@&#8203;tjquillan](https://togithub.com/tjquillan) made their first
contribution in
[https://github.com/dandavison/delta/pull/1251](https://togithub.com/dandavison/delta/pull/1251)
- [@&#8203;nickelc](https://togithub.com/nickelc) made their first
contribution in
[https://github.com/dandavison/delta/pull/1298](https://togithub.com/dandavison/delta/pull/1298)
- [@&#8203;zonuexe](https://togithub.com/zonuexe) made their first
contribution in
[https://github.com/dandavison/delta/pull/1185](https://togithub.com/dandavison/delta/pull/1185)
- [@&#8203;MaxFangX](https://togithub.com/MaxFangX) made their first
contribution in
[https://github.com/dandavison/delta/pull/1291](https://togithub.com/dandavison/delta/pull/1291)
- [@&#8203;jsoref](https://togithub.com/jsoref) made their first
contribution in
[https://github.com/dandavison/delta/pull/1257](https://togithub.com/dandavison/delta/pull/1257)
- [@&#8203;ShogunPanda](https://togithub.com/ShogunPanda) made their
first contribution in
[https://github.com/dandavison/delta/pull/1324](https://togithub.com/dandavison/delta/pull/1324)
- [@&#8203;sitiom](https://togithub.com/sitiom) made their first
contribution in
[https://github.com/dandavison/delta/pull/1331](https://togithub.com/dandavison/delta/pull/1331)
- [@&#8203;ILikePlayingGames](https://togithub.com/ILikePlayingGames)
made their first contribution in
[https://github.com/dandavison/delta/pull/1334](https://togithub.com/dandavison/delta/pull/1334)
- [@&#8203;walles](https://togithub.com/walles) made their first
contribution in
[https://github.com/dandavison/delta/pull/1362](https://togithub.com/dandavison/delta/pull/1362)
- [@&#8203;YYYasin19](https://togithub.com/YYYasin19) made their first
contribution in
[https://github.com/dandavison/delta/pull/1371](https://togithub.com/dandavison/delta/pull/1371)
- [@&#8203;isak102](https://togithub.com/isak102) made their first
contribution in
[https://github.com/dandavison/delta/pull/1402](https://togithub.com/dandavison/delta/pull/1402)
- [@&#8203;goggle](https://togithub.com/goggle) made their first
contribution in
[https://github.com/dandavison/delta/pull/1379](https://togithub.com/dandavison/delta/pull/1379)
- [@&#8203;mataha](https://togithub.com/mataha) made their first
contribution in
[https://github.com/dandavison/delta/pull/1428](https://togithub.com/dandavison/delta/pull/1428)

**Full Changelog**:
https://github.com/dandavison/delta/compare/0.15.1...0.16.4

</details>

<details>
<summary>direnv/direnv</summary>

### [`v2.32.3`](https://togithub.com/direnv/direnv/releases/tag/v2.32.3)

[Compare
Source](https://togithub.com/direnv/direnv/compare/v2.32.2...v2.32.3)

# 2.32.3 / 2023-05-20

- fix: incorrect escape sequences during Loads under git-bash (Windows)
([#&#8203;1085](https://togithub.com/direnv/direnv/issues/1085))
- fix: skip some tests for IBM Z mainframe's z/OS operating system
([#&#8203;1094](https://togithub.com/direnv/direnv/issues/1094))
- fix: stdlib: use_guix: Switch to guix shell.
([#&#8203;1045](https://togithub.com/direnv/direnv/issues/1045))
- fix: stat the already open rc file rather than another path based one
on it ([#&#8203;1044](https://togithub.com/direnv/direnv/issues/1044))
- fix: remove deprecated io/ioutil uses
([#&#8203;1042](https://togithub.com/direnv/direnv/issues/1042))
- fix: spelling fixes
([#&#8203;1041](https://togithub.com/direnv/direnv/issues/1041))
- fix: appease Go 1.19 gofmt
([#&#8203;1040](https://togithub.com/direnv/direnv/issues/1040))
- fix: pass BASH_PATH to make, matches the nixpkgs derivation
([#&#8203;1006](https://togithub.com/direnv/direnv/issues/1006))
- fix: stdlib/layout_python: exclude patchlevel from $python_version
([#&#8203;1033](https://togithub.com/direnv/direnv/issues/1033))
- doc: add Windows installation with winget
([#&#8203;1096](https://togithub.com/direnv/direnv/issues/1096))
- doc: link 12factor webpage for more clarity
([#&#8203;1095](https://togithub.com/direnv/direnv/issues/1095))
-   website: add Plausible analytics

</details>

<details>
<summary>fluxcd/flux2</summary>

###
[`v2.0.0-rc.5`](https://togithub.com/fluxcd/flux2/releases/tag/v2.0.0-rc.5)

[Compare
Source](https://togithub.com/fluxcd/flux2/compare/v2.0.0-rc.4...v2.0.0-rc.5)

#### Highlights

This is the 5th release candidate of Flux v2.0 GA. Users are advised to
upgrade from older versions to `v2.0.0-rc.5` as soon as possible.

Flux `v2.0.0-rc.5` addresses a regression that was introduced in
`v2.0.0-rc.4`. This regression caused a disruption in the compatibility
with Git servers utilizing v2 of the wire protocol, such as Azure Devops
and AWS CodeCommit.

:bulb: For upgrading from v0.x, please see [the procedure documented in
RC.1](https://togithub.com/fluxcd/flux2/releases/tag/v2.0.0-rc.1).

⚠️ Note that
[`v2.0.0-rc.4`](https://togithub.com/fluxcd/flux2/releases/tag/v2.0.0-rc.1)
updated all components to use [Kustomize
v5](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.0.0)
and [controller-runtime
v0.15](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.0),
both of which contain breaking changes.

##### Fixes and improvements

-   Fix support for Git v2 servers.
- Suppress misleading error message `[controller-runtime]
log.SetLogger(...) was never called...` (CLI).
- Include both revision and token in event metadata, if present
(helm-controller).
- Update source-controller to patch a vulnerability in Sigstore
(CVE-2023-33199)

#### Components Changelog

- source-controller
[v1.0.0-rc.5](https://togithub.com/fluxcd/source-controller/blob/v1.0.0-rc.5/CHANGELOG.md)
- image-automation-controller
[v0.34.1](https://togithub.com/fluxcd/image-automation-controller/blob/v0.34.1/CHANGELOG.md)
- helm-controller
[v0.34.1](https://togithub.com/fluxcd/helm-controller/blob/v0.34.1/CHANGELOG.md)

#### CLI Changelog

- PR [#&#8203;3943](https://togithub.com/fluxcd/flux2/issues/3943) -
[@&#8203;fluxcdbot](https://togithub.com/fluxcdbot) - Update toolkit
components, and git/go-git to v0.12.0
- PR [#&#8203;3940](https://togithub.com/fluxcd/flux2/issues/3940) -
[@&#8203;somtochiama](https://togithub.com/somtochiama) - Set controller
runtime logger in Azure e2e tests
- PR [#&#8203;3938](https://togithub.com/fluxcd/flux2/issues/3938) -
[@&#8203;aryan9600](https://togithub.com/aryan9600) - e2e: Run e2e Azure
tests for PRs to main if tests or wofklow changes
- PR [#&#8203;3932](https://togithub.com/fluxcd/flux2/issues/3932) -
[@&#8203;aryan9600](https://togithub.com/aryan9600) - Set
`controller-runtime` logger to a null logger

###
[`v2.0.0-rc.4`](https://togithub.com/fluxcd/flux2/releases/tag/v2.0.0-rc.4)

[Compare
Source](https://togithub.com/fluxcd/flux2/compare/v2.0.0-rc.3...v2.0.0-rc.4)

#### Highlights

This is the 4nd release candidate of Flux v2.0 GA. Users are advised to
upgrade from older versions to `v2.0.0-rc.4` as soon as possible.

Flux v2.0.0-rc.4 comes with support for **Kustomize 5.0**, **Helm 3.12**
and **Cosign 2.0**.

:bulb: For upgrading from v0.x, please see [the procedure documented in
RC.1](https://togithub.com/fluxcd/flux2/releases/tag/v2.0.0-rc.1).

⚠️ Note that Kustomize v5 contains breaking changes, please consult
their
[changelog](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.0.0)
for more details.

⚠️ The GitOps Toolkit and the Flux controllers have been updated to
[controller-runtime
v0.15](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.15.0)
which contains breaking changes that could affect 3rd-party controllers
that integrate with Flux.

##### Fixes and improvements

- Full support for Azure Workload Identity when connecting Flux to Azure
Container Registry, Azure Blog Storage and Azure Key Vault.
- New command `flux reconcile source chart` for pulling Helm OCI charts
on-demand from container registries (CLI).
- Retry OCI operations on network errors for `flux push artifact` (CLI).
- Support annotated Git tags with `.spec.ref.name` in `GitRepository`
(source-controller).
- Fix pulling Helm OCI charts from ACR when using Azure OIDC
(source-controller).
- Fix incorrect rate limiting for `HelmRelease` events
(notification-controller).
- All components have been updated to patch vulnerabilities in Docker
(CVE-2023-28840, CVE-2023-28841, CVE-2023-28842) and Sigstore
(CVE-2023-30551).

#### Components changelog

- source-controller
[v1.0.0-rc.4](https://togithub.com/fluxcd/source-controller/blob/v1.0.0-rc.4/CHANGELOG.md)
- kustomize-controller
[v1.0.0-rc.4](https://togithub.com/fluxcd/kustomize-controller/blob/v1.0.0-rc.4/CHANGELOG.md)
- notification-controller
[v1.0.0-rc.4](https://togithub.com/fluxcd/notification-controller/blob/v1.0.0-rc.4/CHANGELOG.md)
- helm-controller
[v0.34.0](https://togithub.com/fluxcd/helm-controller/blob/v0.34.0/CHANGELOG.md)
- image-reflector-controller
[v0.28.0](https://togithub.com/fluxcd/image-reflector-controller/blob/v0.28.0/CHANGELOG.md)
- image-automation-controller
[v0.34.0](https://togithub.com/fluxcd/image-automation-controller/blob/v0.34.0/CHANGELOG.md)

#### CLI Changelog

- PR [#&#8203;3929](https://togithub.com/fluxcd/flux2/issues/3929) -
[@&#8203;stefanprodan](https://togithub.com/stefanprodan) - Update Git
packages
- PR [#&#8203;3928](https://togithub.com/fluxcd/flux2/issues/3928) -
[@&#8203;stefanprodan](https://togithub.com/stefanprodan) - Update
kubectl to v1.27.2 in flux-cli image
- PR [#&#8203;3927](https://togithub.com/fluxcd/flux2/issues/3927) -
[@&#8203;dependabot](https://togithub.com/dependabot)\[bot] -
build(deps): bump github/codeql-action from 2.3.3 to 2.3.5
- PR [#&#8203;3926](https://togithub.com/fluxcd/flux2/issues/3926) -
[@&#8203;dependabot](https://togithub.com/dependabot)\[bot] -
build(deps): bump snyk/actions from
[`8061827`](https://togithub.com/fluxcd/flux2/commit/806182742461562b67788a64410098c9d9b96adb)
to
[`b98d498`](https://togithub.com/fluxcd/flux2/commit/b98d498629f1c368650224d6d212bf7dfa89e4bf)
- PR [#&#8203;3924](https://togithub.com/fluxcd/flux2/issues/3924) -
[@&#8203;hgranillo](https://togithub.com/hgranillo) - Fix break lines in
create helmrelease and source
- PR [#&#8203;3922](https://togithub.com/fluxcd/flux2/issues/3922) -
[@&#8203;fluxcdbot](https://togithub.com/fluxcdbot) - Update toolkit
components
- PR [#&#8203;3918](https://togithub.com/fluxcd/flux2/issues/3918) -
[@&#8203;somtochiama](https://togithub.com/somtochiama) - Retry oci push
operations
- PR [#&#8203;3910](https://togithub.com/fluxcd/flux2/issues/3910) -
[@&#8203;stefanprodan](https://togithub.com/stefanprodan) - Update
Kubernetes to v1.27 and Kustomize to v5.0
- PR [#&#8203;3903](https://togithub.com/fluxcd/flux2/issues/3903) -
[@&#8203;dependabot](https://togithub.com/dependabot)\[bot] -
build(deps): bump sigstore/cosign-installer from 3.0.3 to 3.0.5
- PR [#&#8203;3902](https://togithub.com/fluxcd/flux2/issues/3902) -
[@&#8203;dependabot](https://togithub.com/dependabot)\[bot] -
build(deps): bump actions/setup-go from 4.0.0 to 4.0.1
- PR [#&#8203;3901](https://togithub.com/fluxcd/flux2/issues/3901) -
[@&#8203;dependabot](https://togithub.com/dependabot)\[bot] -
build(deps): bump helm/kind-action from 1.5.0 to 1.7.0

</details>

<details>
<summary>golangci/golangci-lint</summary>

###
[`v1.53.2`](https://togithub.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v1532)

[Compare
Source](https://togithub.com/golangci/golangci-lint/compare/v1.53.1...v1.53.2)

1.  updated linters
    -   `depguard`: from v2.0.1 to 2.1.0
2.  misc.
    -   `depguard`: throw error only when the linter is called

###
[`v1.53.1`](https://togithub.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v1531)

[Compare
Source](https://togithub.com/golangci/golangci-lint/compare/v1.53.0...v1.53.1)

1.  misc.
    -   `depguard`: fix GOROOT detection
- `importas`: fix duplication detection when aliases use regular
expression replacement pattern

###
[`v1.53.0`](https://togithub.com/golangci/golangci-lint/blob/HEAD/CHANGELOG.md#v1530)

[Compare
Source](https://togithub.com/golangci/golangci-lint/compare/v1.52.2...v1.53.0)

1.  new linters
    -   `gosmopolitan`: https://github.com/xen0n/gosmopolitan
    -   `mirror`: https://github.com/butuzov/mirror
    -   `tagalign`: https://github.com/4meepo/tagalign
    -   `zerologlint`: https://github.com/ykadowak/zerologlint
2.  updated linters
    -   `bodyclose`: bump to HEAD
    -   `containedctx`: from 1.0.2 to 1.0.3
    -   `depguard`: migrate to v2
    -   `errname`: from 0.1.9 to 0.1.10
    -   `exhaustive`: from 0.9.5 to 0.10.0
    -   `forbidigo`: better support for configuring complex rules
    -   `gci`: improve error message
    -   `ginkgolinter`: add suppress-async-assertion option
    -   `ginkgolinter`: from 0.9.0 to 0.12.0
    -   `go-critic`: from 0.7.0 to 0.8.1
    -   `go-errorlint`: from 1.4.0 to 1.4.2
    -   `gofumpt`: from 0.4.0 to 0.5.0
    -   `gosec`: convert global settings as map with proper key type
    -   `gosec`: from 2.15.0 to 2.16.0
- `importas`: detect duplicate alias or package in the configuration
    -   `importas`: fix typo in logs
    -   `ireturn`: from 0.1.1 to 0.2.0
    -   `musttag`: from 0.5.0 to 0.7.0
    -   `nakedret`: to 2.0.1
    -   `nilnil`: from 0.1.3 to 0.1.5
    -   `paralleltest`: from 1.0.6 to 1.0.7
    -   `revive`: from 1.3.1 to 1.3.2
    -   `tagliatelle`: from 0.4.0 to 0.5.0
    -   `usestdlibvars`: fix configuration
3.  misc.
    -   `golang.org/x/tools`: from 0.7.0 to 0.9.2
    -   add loongarch64 to the install script
    -   output: add colored-tab
    -   remove warning when the config file is explicitly stdin
    -   rules: support inverted path match
4.  Documentation
    -   `mnd`: clarify ignore usage examples to be regexps
    -   `tagliatelle`: update documentation
    -   improve features section
    -   update supported Go versions FAQ

</details>

<details>
<summary>junegunn/fzf</summary>

###
[`v0.41.1`](https://togithub.com/junegunn/fzf/blob/HEAD/CHANGELOG.md#&#8203;0411)

[Compare
Source](https://togithub.com/junegunn/fzf/compare/0.41.0...0.41.1)

- Fixed a bug where preview window is not updated when `--disabled` is
set and
    a reload is triggered by `change:reload` binding

###
[`v0.41.0`](https://togithub.com/junegunn/fzf/blob/HEAD/CHANGELOG.md#&#8203;0410)

[Compare
Source](https://togithub.com/junegunn/fzf/compare/0.40.0...0.41.0)

-   Added color name `preview-border` and `preview-scrollbar`
- Added new border style `block` which uses [block
elements](https://en.wikipedia.org/wiki/Block_Elements)
- `--scrollbar` can take two characters, one for the main window, the
other
    for the preview window
-   Putting it altogether:
    ```sh
fzf-tmux -p 80% --padding 1,2 --preview 'bat --style=plain
--color=always {}' \
        --color 'bg:237,bg+:235,gutter:237,border:238,scrollbar:236' \
--color 'preview-bg:235,preview-border:236,preview-scrollbar:234' \
        --preview-window 'border-block' --border block --scrollbar '▌▐'
    ```
-   Bug fixes and improvements

</details>

<details>
<summary>starship/starship</summary>

###
[`v1.15.0`](https://togithub.com/starship/starship/releases/tag/v1.15.0)

[Compare
Source](https://togithub.com/starship/starship/compare/v1.14.2...v1.15.0)

##### Features

- Add Solidity Module
([#&#8203;5047](https://togithub.com/starship/starship/issues/5047))
([b2ebd5b](https://togithub.com/starship/starship/commit/b2ebd5b50c62fe5eb1cf8f5b0f79deaff2edd059))
- add typechange to git_status module
([#&#8203;4829](https://togithub.com/starship/starship/issues/4829))
([edb96ca](https://togithub.com/starship/starship/commit/edb96cad580e5c414c34a4f64476a64a20595459))
- **aws:** support aws sso with automatic authentication refresh
([#&#8203;5170](https://togithub.com/starship/starship/issues/5170))
([297176b](https://togithub.com/starship/starship/commit/297176b0b8b9da34176d7b278837f77f960799b1))
- **azure:** subscription name aliases
([#&#8203;4949](https://togithub.com/starship/starship/issues/4949))
([27ffa37](https://togithub.com/starship/starship/commit/27ffa37cfdf2eff9874e543f88fa389bf5c2dae3))
- **gcloud:** add `detect_env_vars` option
([#&#8203;5166](https://togithub.com/starship/starship/issues/5166))
([d07a8e3](https://togithub.com/starship/starship/commit/d07a8e3668838223aeeb94e810a0b29806e35f78))
- **git_metrics:** add option to ignore submodules
([#&#8203;5052](https://togithub.com/starship/starship/issues/5052))
([ce01423](https://togithub.com/starship/starship/commit/ce014231521c981260ff7c1018acf694c65c97fe))
- **golang:** adding `mod_version` variable
([#&#8203;5177](https://togithub.com/starship/starship/issues/5177))
([351bf9d](https://togithub.com/starship/starship/commit/351bf9d0b382adcc3e073c1a293fd815bb623f37))
- **nodejs:** Add `expected_version` variable
([#&#8203;5081](https://togithub.com/starship/starship/issues/5081))
([70d2014](https://togithub.com/starship/starship/commit/70d2014f3447e616fb45b63b2793b256e19aa631))

##### Bug Fixes

- bump libz-ng-sys
([#&#8203;5218](https://togithub.com/starship/starship/issues/5218))
([6ab8f40](https://togithub.com/starship/starship/commit/6ab8f4061fe816a78a310c01a993a5a4690369ff))
- **config:** Make print-config not panic without a config
([#&#8203;5001](https://togithub.com/starship/starship/issues/5001))
([ce7f984](https://togithub.com/starship/starship/commit/ce7f984932a97b4ad3cd6e6ece8e1c3b6022ba99))
- ensure nested style variables are processed during formatting
([e5cec9e](https://togithub.com/starship/starship/commit/e5cec9ea50963a45bb1c209abc747ee1983dcabd))
- **presets:** Added ($style) to format in module 'sudo' in Bracketed
Segments Preset
([#&#8203;5146](https://togithub.com/starship/starship/issues/5146))
([1bd6db5](https://togithub.com/starship/starship/commit/1bd6db58307c1945c3b0cabec8d6663730394377))
- **snap:** Update snapcraft.yaml to add personal-files interface
([#&#8203;5131](https://togithub.com/starship/starship/issues/5131))
([b3ccc0f](https://togithub.com/starship/starship/commit/b3ccc0f05e451ada800d233613ef32756682249f))
- **style:** ensure nested style variables are processed during
formatting
([#&#8203;5120](https://togithub.com/starship/starship/issues/5120))
([e5cec9e](https://togithub.com/starship/starship/commit/e5cec9ea50963a45bb1c209abc747ee1983dcabd))
- update of presets and default configuration to reflect changes in Nerd
Fonts 3.0
([#&#8203;5162](https://togithub.com/starship/starship/issues/5162))
([2558c45](https://togithub.com/starship/starship/commit/2558c4588b5bcc404df474c948de0b72b109be01))

</details>

<details>
<summary>twpayne/chezmoi</summary>

###
[`v2.34.1`](https://togithub.com/twpayne/chezmoi/releases/tag/v2.34.1)

[Compare
Source](https://togithub.com/twpayne/chezmoi/compare/v2.34.0...v2.34.1)

#### What's Changed

- chore: Build with Go 1.20.5 by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3030](https://togithub.com/twpayne/chezmoi/pull/3030)
- feat: Add git.commitMessageTemplate configuration variable by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3032](https://togithub.com/twpayne/chezmoi/pull/3032)

**Full Changelog**:
https://github.com/twpayne/chezmoi/compare/v2.34.0...v2.34.1

###
[`v2.34.0`](https://togithub.com/twpayne/chezmoi/releases/tag/v2.34.0)

[Compare
Source](https://togithub.com/twpayne/chezmoi/compare/v2.33.6...v2.34.0)

#### What's Changed

- feat: Add support for .chezmoidata directory by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3009](https://togithub.com/twpayne/chezmoi/pull/3009)
- chore(deps): bump github/codeql-action from 2.3.3 to 2.3.5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/twpayne/chezmoi/pull/3010](https://togithub.com/twpayne/chezmoi/pull/3010)
- chore(deps): bump actions/setup-go from 4.0.0 to 4.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/twpayne/chezmoi/pull/3012](https://togithub.com/twpayne/chezmoi/pull/3012)
- chore: Misc fixes by [@&#8203;twpayne](https://togithub.com/twpayne)
in
[https://github.com/twpayne/chezmoi/pull/3019](https://togithub.com/twpayne/chezmoi/pull/3019)
- chore: Update dependencies by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3018](https://togithub.com/twpayne/chezmoi/pull/3018)
- chore(deps): bump sigstore/cosign-installer from 3.0.3 to 3.0.5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/twpayne/chezmoi/pull/3011](https://togithub.com/twpayne/chezmoi/pull/3011)
- chore: Bump golangci-lint to version 1.53.1 by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3020](https://togithub.com/twpayne/chezmoi/pull/3020)
- fix: Fix init --debug flag by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3021](https://togithub.com/twpayne/chezmoi/pull/3021)
- feat: Add get.chezmoi.io/lb and chezmoi.io/getlb install scripts by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3024](https://togithub.com/twpayne/chezmoi/pull/3024)
- chore: Update dependencies by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3026](https://togithub.com/twpayne/chezmoi/pull/3026)
- fix: Fix parsing of flags to secret keyring delete command by
[@&#8203;twpayne](https://togithub.com/twpayne) in
[https://github.com/twpayne/chezmoi/pull/3027](https://togithub.com/twpayne/chezmoi/pull/3027)

**Full Changelog**:
https://github.com/twpayne/chezmoi/compare/v2.33.6...v2.34.0

</details>

<details>
<summary>weaveworks/eksctl</summary>

###
[`v0.144.0`](https://togithub.com/weaveworks/eksctl/releases/tag/v0.144.0):
eksctl 0.144.0 (permalink)

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.143.0...0.144.0)

### Release v0.144.0

#### 🚀 Features

- Allow creating subnets with resource-based hostnames
([#&#8203;6651](https://togithub.com/weaveworks/eksctl/issues/6651))

#### 🎯 Improvements

- Updated IAM policy statement for loadbalancer controller
([#&#8203;6655](https://togithub.com/weaveworks/eksctl/issues/6655))
- Port Add ready plugin to CoreDNS and use health.lameduck for a safer
shutdown to 1.25, 1.26 and 1.27
([#&#8203;6630](https://togithub.com/weaveworks/eksctl/issues/6630))

#### 🐛 Bug Fixes

- Only retry on appropriate API Errors when calling `eks:DescribeUpdate`
([#&#8203;6645](https://togithub.com/weaveworks/eksctl/issues/6645))
- Clean up ALBs using `spec.ingressClassName` and ALB security groups
([#&#8203;6389](https://togithub.com/weaveworks/eksctl/issues/6389))
- Set default Windows volume name to /dev/sda1
([#&#8203;6638](https://togithub.com/weaveworks/eksctl/issues/6638))

#### 🧰 Maintenance

- Fix logging stack events logic for Trainium and Inferentia integration
tests
([#&#8203;6649](https://togithub.com/weaveworks/eksctl/issues/6649))
- Bump schemer from v0.0.0-2021 to v0.0.0-2023
([#&#8203;6646](https://togithub.com/weaveworks/eksctl/issues/6646))

#### 📝 Documentation

- Generated ATTRIBUTIONS.md file
([#&#8203;6647](https://togithub.com/weaveworks/eksctl/issues/6647))

#### Acknowledgments

Weaveworks would like to sincerely thank:
[@&#8203;aaroniscode](https://togithub.com/aaroniscode),
[@&#8203;joneidaws](https://togithub.com/joneidaws) and
[@&#8203;wind0r](https://togithub.com/wind0r)

###
[`v0.143.0`](https://togithub.com/weaveworks/eksctl/releases/tag/v0.143.0):
eksctl 0.143.0 (permalink)

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.142.0...0.143.0)

### Release v0.143.0

#### 🚀 Features

- Add support for EKS 1.27
([#&#8203;6639](https://togithub.com/weaveworks/eksctl/issues/6639))

#### 🎯 Improvements

- Enforce IMDSv2 by default
([#&#8203;6631](https://togithub.com/weaveworks/eksctl/issues/6631))

#### 🐛 Bug Fixes

- Fix readiness probe in HTTP test
([#&#8203;6628](https://togithub.com/weaveworks/eksctl/issues/6628))

###
[`v0.142.0`](https://togithub.com/weaveworks/eksctl/releases/tag/v0.142.0):
eksctl 0.142.0 (permalink)

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.141.0...0.142.0)

### Release v0.142.0

#### 🎯 Improvements

- Add TagResource perm to EFS wellknown policy
([#&#8203;6611](https://togithub.com/weaveworks/eksctl/issues/6611))

#### 🧰 Maintenance

- Update config file examples to reflect that amiFamily is required with
custom AMI
([#&#8203;6617](https://togithub.com/weaveworks/eksctl/issues/6617))
- Bump dependencies and update build image
([#&#8203;6613](https://togithub.com/weaveworks/eksctl/issues/6613))

#### Acknowledgments

Weaveworks would like to sincerely thank:
[@&#8203;jimmythedog](https://togithub.com/jimmythedog)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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://togithub.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://app.renovatebot.com/dashboard#github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExNS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support aliases deeper than top level, e.g. gh pr co

4 participants