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

Introduce helpTopics type and reduce duplication across commands #7414

Merged
merged 2 commits into from May 11, 2023

Conversation

williammartin
Copy link
Member

@williammartin williammartin commented May 8, 2023

Description

As I was investigating #5073 I noticed some temporal coupling between commands. Specifically, the reference help topic (introduced in #2223) has to have its long description set after every other command is added to the root. This is required because it needs to stringify data from all the commands to serve as the reference.

This is probably a very minor maintenance burden in practice. That said, I did have to go through the project history to understand the comment "this needs to appear last" because it didn't explain why.

Since I was looking at this code, and am in exploratory mode, it seemed like something I could try to resolve and get feedback on. Think of this more as a means for me to learn, and to start some conversations, rather than because I think this is a real pressing issue to fix!

There is no associated issue to fix but I can create one if that is useful.

Update

I've updated the title and contents of this PR based on this thread highlighting some issues around the Long text being used for documentation.

This PR is now a general reworking to provide some types and comments that I would have found useful initially.

md, err := markdown.Render(cmd.Long,
// Assumes that we want to produce reference text for the entire tree of commands,
// starting from the root.
referenceText := stringifyCmdReference(cmd.Root())
Copy link
Member Author

Choose a reason for hiding this comment

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

This is really the difference maker, by pushing the stringification into the help func, we know that this command has been attached somewhere below the root (at least, if my understanding of cmd.Root() is correct 🌚 ) so we can walk the command tree.

Note that doing this has two consequences:

  • The cmd.Long is not set (but I'm not sure if this was used except to serve as a place to store the markdown to render - THIS IS MY BIG OPEN QUESTION)
  • Markdown rendering would occur each time we call the help func (but I can't think of a reason it would be called multiple times in one CLI invocation)

Copy link
Contributor

Choose a reason for hiding this comment

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

The reason it is important to set cmd.Long is for the auto generating of our online manual. This gets generated at release time here which eventually calls this file. This is not at all obvious from the code and we have fielded questions about how the online docs are generated multiple times. We will need to figure out how to best solve this so that the online manual is not effected.

Copy link
Member Author

Choose a reason for hiding this comment

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

Nice! This is exactly the kind of thing I was hoping to get out of this PR. I'll look into it and see what I can do.

Copy link
Contributor

@mislav mislav May 10, 2023

Choose a reason for hiding this comment

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

Since we control the entrypoint for generation of man pages/HTML manual, which @samcoe pointed to, maybe those scripts could trigger generating a cmd.Long value for the reference command? That way, it wouldn't matter if the reference command was generated last or not.

I wish that Cobra invoked methods instead of relied on struct fields for values like these.

Copy link
Member Author

Choose a reason for hiding this comment

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

It's kind of unfortunate because then we'd diverge on real CLI usage vs the doc generation to produce this, which is maybe more complicated than an explicit comment. Explicit and a bit janky is better than implicit and adding layers of abstraction to make it seem less janky.

I'm inclined to back out the reference specific work and just leave the structural changes in place with an additional comment on what we've discussed here. Does that sound reasonable?

Copy link
Contributor

Choose a reason for hiding this comment

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

I also don't feel like it's very important to remove the temporal coupling of the reference command if it's going to be too large of a pull, especially because there is already a comment explaining why that specific line should remain last. Feel free to reduce the scope of this work if you would.

"mintty": {
"short": "Information about using gh with MinTTY",
"long": heredoc.Doc(`
type helpTopic struct {
Copy link
Member Author

Choose a reason for hiding this comment

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

It seemed reasonable to move this to a strongly typed structure rather than a nested map of strings.

pkg/cmd/root/help_topic.go Show resolved Hide resolved
cmd.SetUsageFunc(func(c *cobra.Command) error {
return helpTopicUsageFunc(ios.ErrOut, c)
})

helpFunc := func() func(*cobra.Command, []string) {
Copy link
Member Author

Choose a reason for hiding this comment

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

I like immediately invoked function expressions to avoid mutating variables, but sometimes people don't like these at all, so let me know.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure what the immediately invoked function expression buys us? We don't tend to use them. I am open to them but if you could explain their purpose a bit more that would be helpful.

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh sure. I feel 2/10 strongly about this, so it's not a big deal. There are sort of three options here:

Zero value then mutate

var helpFunc func(*cobra.Command, []string)
if ht.helpFuncFn != nil {
    helpFunc = ht.helpFuncFn(ios)
} else {
    helpFunc = func(c *cobra.Command, _ []string) {
	helpTopicHelpFunc(ios.Out, c)
   }
}

When I look at this as a maintainer, I am immediately drawn to the zero value. Does it have meaning? Is it definitely set in all branches (if there is more complicated logic than a ternary)?

Default then set

helpFunc := func(c *cobra.Command, _ []string) {
    helpTopicHelpFunc(ios.Out, c)
}

if ht.helpFuncFn != nil {
    helpFunc = ht.helpFuncFn(ios)
} 

This answers my questions about the zero value, and I now know that it's always set to some sensible default. However, in general I tend to favour setting variables exactly once and never changing them again, since when I'm reading code later, it allows for some useful mental heuristics. Additionally, I find that when things get a bit more complex, it's nice to encapsulate it all inside a function so that I know all set up for this variable belongs inside this function and I don't need to look anywhere else, hence I just default to IIFE across the board for ternary and beyond:

IIFE

helpFunc := func() func(*cobra.Command, []string) {
    if ht.helpFuncFn != nil {
        return ht.helpFuncFn(ios)
    }

    return func(c *cobra.Command, _ []string) {
	helpTopicHelpFunc(ios.Out, c)
    }
}()

Idioms

All that said, I think mutation is generally the idiomatic way in Go and since you say we don't use them, I'll just change this and commit to that style to avoid introducing extra pattern complexity.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for taking the time to explain this pattern a bit more. I generally think that you will see the default and set pattern the most in our codebase.

What are your thoughts on something like this:

	helpFunc := func(c *cobra.Command, _ []string) {
		if ht.helpFuncFn != nil {
			ht.helpFuncFn(ios)
			return
		}
		helpTopicHelpFunc(ios.Out, c)
	}

Similar to default and set but all the logic is encapsulated in a function and the variable is set only once.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think that's fine too but I generally like pushing conditionals up the stack in a sense because like mutability, it helps with mental heuristics because once the conditional is evaluated once you never have to think about it again (as opposed to each time the function is called here).

It doesn't really matter in this simple case. Nice suggestion that I hadn't really thought about though!

I'm going to change this to default and set (also, nice that we have a shared language for the pattern now). Cheers.

pkg/cmd/root/help_topic.go Show resolved Hide resolved
topic string
args []string
flags []string
assertion require.ErrorAssertionFunc
Copy link
Member Author

Choose a reason for hiding this comment

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

Something for discussion, providing the assertion here directly instead of a bool pushes the conditional out of the test. I've seen a lot of assert.XYZ without return in my time.

At the least, I don't think there's ever a good time to use assert.Error or assert.NoError instead of require.

Copy link
Contributor

Choose a reason for hiding this comment

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

This makes sense to me in this use case. In other use cases would you create a slice of assertions if there were multiple assertions that need to be made?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, probably not. I think the complexity in the setup would outweigh the benefit in terms of readability. Testify suggests it can be used for comparisons, errors and panics e.g. the example for https://pkg.go.dev/github.com/stretchr/testify/assert#ComparisonAssertionFunc

Like IIFEs, I feel 2/10 strongly about it. I think it's a neat pattern and low risk of causing issues though. Easy to back out if we didn't like the results of experimenting with it.

referenceCmd := NewHelpTopic(f.IOStreams, "reference")
referenceCmd.SetHelpFunc(referenceHelpFn(f.IOStreams))
cmd.AddCommand(referenceCmd)
for _, ht := range HelpTopics {
Copy link
Member Author

Choose a reason for hiding this comment

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

One nice thing about moving this into a slice of helpTopic is that we've reduced the amount of knowledge that existed in two places i.e. the names of the help topics themselves. Similar to my comment above, it's nice to know that if something is in the slice of HelpTopics, it will be in the command list and counter to that, there's no way to reference a meaningless help topic here.

)

func TestNewHelpTopic(t *testing.T) {
func findHelpTopic(t *testing.T, name string) helpTopic {
Copy link
Member Author

Choose a reason for hiding this comment

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

There are some things we could do about this search but I don't think it's really a big deal. It sort of depends on what we're really trying to test here. It seems like maybe the test in this file is about how the NewCmdHelpTopic function uses a helpTopic, rather than environment specifically.

In that case we could just create a helpTopic directly in the test. This would also be nice because we could inject a helpTopic that overrides the helpFunc default. I haven't done this yet just because I already had a few things I wanted to discuss.

Copy link
Member Author

@williammartin williammartin left a comment

Choose a reason for hiding this comment

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

Self-reviewed with some things I want to draw attention to.

From my side, if someone has seen a comment but has nothing to add, it's nice to see 👀 emoji so I know it hasn't been missed, but this is a personal desire so no worries if that doesn't work for whoever reviews this.

Copy link
Member Author

@williammartin williammartin left a comment

Choose a reason for hiding this comment

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

Self-reviewed with some things I want to draw attention to.

From my side, if someone has seen a comment but has nothing to add, it's nice to see 👀 emoji so I know it hasn't been missed, but this is a personal desire so no worries if that doesn't work for whoever reviews this.

@williammartin williammartin marked this pull request as ready for review May 8, 2023 14:36
@williammartin williammartin requested a review from a team as a code owner May 8, 2023 14:36
@williammartin williammartin requested review from vilmibm and removed request for a team May 8, 2023 14:36
@cliAutomation cliAutomation added the external pull request originating outside of the CLI core team label May 8, 2023
@cliAutomation cliAutomation added this to Needs review 🤔 in The GitHub CLI May 8, 2023
@williammartin williammartin removed the external pull request originating outside of the CLI core team label May 8, 2023
@williammartin williammartin removed the request for review from vilmibm May 8, 2023 15:07
samcoe
samcoe previously requested changes May 8, 2023
Copy link
Contributor

@samcoe samcoe left a comment

Choose a reason for hiding this comment

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

@williammartin I love the improvements here, creating the helpTopic struct is really clean. I think the one blocker is around the generating of online docs which I elaborated on in a code level comment.

md, err := markdown.Render(cmd.Long,
// Assumes that we want to produce reference text for the entire tree of commands,
// starting from the root.
referenceText := stringifyCmdReference(cmd.Root())
Copy link
Contributor

Choose a reason for hiding this comment

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

The reason it is important to set cmd.Long is for the auto generating of our online manual. This gets generated at release time here which eventually calls this file. This is not at all obvious from the code and we have fielded questions about how the online docs are generated multiple times. We will need to figure out how to best solve this so that the online manual is not effected.

cmd.SetUsageFunc(func(c *cobra.Command) error {
return helpTopicUsageFunc(ios.ErrOut, c)
})

helpFunc := func() func(*cobra.Command, []string) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not sure what the immediately invoked function expression buys us? We don't tend to use them. I am open to them but if you could explain their purpose a bit more that would be helpful.

topic string
args []string
flags []string
assertion require.ErrorAssertionFunc
Copy link
Contributor

Choose a reason for hiding this comment

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

This makes sense to me in this use case. In other use cases would you create a slice of assertions if there were multiple assertions that need to be made?

Copy link
Contributor

@mislav mislav left a comment

Choose a reason for hiding this comment

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

Thanks for working on this!

md, err := markdown.Render(cmd.Long,
// Assumes that we want to produce reference text for the entire tree of commands,
// starting from the root.
referenceText := stringifyCmdReference(cmd.Root())
Copy link
Contributor

@mislav mislav May 10, 2023

Choose a reason for hiding this comment

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

Since we control the entrypoint for generation of man pages/HTML manual, which @samcoe pointed to, maybe those scripts could trigger generating a cmd.Long value for the reference command? That way, it wouldn't matter if the reference command was generated last or not.

I wish that Cobra invoked methods instead of relied on struct fields for values like these.

@williammartin williammartin changed the title Remove the temporal coupling of the reference help topic Introduce helpTopics type and reduce duplication across commands May 11, 2023
Copy link
Contributor

@mislav mislav left a comment

Choose a reason for hiding this comment

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

Thank you! Looking good, and reference.Long could stay the way it was before.

@williammartin williammartin requested a review from samcoe May 11, 2023 12:57
@williammartin williammartin dismissed samcoe’s stale review May 11, 2023 12:58

Addressed these changes by reverting to using Long and reviewed with Mislav

The GitHub CLI automation moved this from Needs review 🤔 to Needs to be merged 🎉 May 11, 2023
@williammartin williammartin merged commit 07ed1e4 into trunk May 11, 2023
10 checks passed
The GitHub CLI automation moved this from Needs to be merged 🎉 to Pending Release 🥚 May 11, 2023
@williammartin williammartin deleted the wm/avoid-command-coupling branch May 11, 2023 12:59
renovate bot added a commit to scottames/dots that referenced this pull request 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
No open projects
The GitHub CLI
  
Pending Release 🥚
Development

Successfully merging this pull request may close these issues.

None yet

4 participants