-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Fix null YAML values being replaced by "null"
#5519
Fix null YAML values being replaced by "null"
#5519
Conversation
|
Welcome @matthewhughes934! |
Hi @matthewhughes934. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This PR has multiple commits, and the default merge method is: merge. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
kyaml/yaml/fns.go
Outdated
@@ -725,7 +728,7 @@ func (s FieldSetter) Filter(rn *RNode) (*RNode, error) { | |||
} | |||
|
|||
// Clear the field if it is empty, or explicitly null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering why this change was necessarily. I tried it out and it was because otherwise the nil we so carefully preserved would be cleared. Can we update the comment though, maybe adding "...unless it is our KeepNull marker" (though admittedly this makes the IsTaggedNull / "explicitly null" sort of confusing)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering why this change was necessarily. I tried it out and it was because otherwise the nil we so carefully preserved would be cleared. Can we update the comment though, maybe adding "...unless it is our KeepNull marker" (though admittedly this makes the IsTaggedNull / "explicitly null" sort of confusing)
Good call, I tried to express the my understanding with c18fcbc
I applied this patch locally and verified that it fixed the null -> "null" problem for me. I also verified that if we don't have the I don't think I have approval rights, but I may be able to mark this as... /ok-to-test |
/cc
|
An alternative (I think possibly nicer) approach that preserves the value of the diff --git a/kyaml/yaml/fns.go b/kyaml/yaml/fns.go
index c0bfbe609..2a2f5f2b3 100644
--- a/kyaml/yaml/fns.go
+++ b/kyaml/yaml/fns.go
@@ -734,7 +734,8 @@ func (s FieldSetter) Filter(rn *RNode) (*RNode, error) {
// 1. Persisting 'null' values passed by the user (see issue #4628)
// 2. Avoiding producing noisy documents that add any field defaulting to
// 'nil' even if they weren't present in the source document
- if (s.Value == nil || s.Value.IsTaggedNull()) && s.Value != KeepNullNode {
+ // Clear the field if it is empty, or explicitly null
+ if s.Value == nil || (s.Value.IsTaggedNull() && !s.Value.ShouldKeep) {
return rn.Pipe(Clear(s.Name))
}
diff --git a/kyaml/yaml/merge2/merge2.go b/kyaml/yaml/merge2/merge2.go
index 4942092ad..585a48096 100644
--- a/kyaml/yaml/merge2/merge2.go
+++ b/kyaml/yaml/merge2/merge2.go
@@ -66,7 +66,9 @@ func (m Merger) VisitMap(nodes walk.Sources, s *openapi.ResourceSchema) (*yaml.R
// If Origin is missing, preserve explicitly set null in Dest ("null", "~", etc)
if nodes.Origin().IsNil() && !nodes.Dest().IsNil() && len(nodes.Dest().YNode().Value) > 0 {
- return yaml.KeepNullNode, nil
+ n := yaml.NewScalarRNode(nodes.Dest().YNode().Value)
+ n.ShouldKeep = true
+ return n, nil
}
return nodes.Origin(), nil
diff --git a/kyaml/yaml/rnode.go b/kyaml/yaml/rnode.go
index bf3b5347f..8bdb9e8bd 100644
--- a/kyaml/yaml/rnode.go
+++ b/kyaml/yaml/rnode.go
@@ -214,6 +214,9 @@ type RNode struct {
// object root: object root
value *yaml.Node
+ // Whether we should keep this node, even if otherwise we would clear it
+ ShouldKeep bool
+
Match []string
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi there, @matthewhughes934! 👋🏻
Thank you very much for your contribution!
This is looking good.
However, could you please also add a test case that covers the current scenario (a null value being replaced by the word "null"
), so we have some coverage to avoid regressions?
/label tide/merge-method-squash |
c18fcbc
to
c431be9
Compare
Thanks for the review. The added test just noting: I've updated things to use the approach I mentioned in a comment just above (because I found this was clearer), and squashed all the commits down |
Hi there, @matthewhughes934! 👋🏻 I was looking for an explicit test that fails when the resulting YAML has the string Thanks for squashing your commits! |
/remove-label tide/merge-method-squash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Related issues: * kubernetes-sigs#5031 * kubernetes-sigs#5171 After noting this behaviour was not present in d89b448 a `git bisect` pointed to the change 1b7db20. The issue with that change is that upon seeing a `null` node it would replace it with a node whose value was equivalent but without a `!!null` tag. This meant that one application of a patch would have the desired approach: the result would be `null` in the output, but on a second application of a similar patch the field would be rendered as `"null"`. To avoid this, define a new attribute on `RNode`s that is checked before clearing any node we should keep. The added `TestApplySmPatch_Idempotency` test verifies this behaviour. See also kubernetes-sigs#5365 for an alternative approach
c431be9
to
8aafbac
Compare
👍 since I think it wasn't clear, I've added a comment noting that it is the regression test for that issue (just squashed it into the latest change which I've also rebased on master) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix @matthewhughes934! The changes look good to me!
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: matthewhughes934, varshaprasad96 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [GoogleContainerTools/skaffold](https://togithub.com/GoogleContainerTools/skaffold) | minor | `v2.10.1` -> `v2.11.0` | | [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry) | minor | `v4.155.1` -> `v4.158.0` | | [bitnami-labs/sealed-secrets](https://togithub.com/bitnami-labs/sealed-secrets) | patch | `v0.26.1` -> `v0.26.2` | | [cli/cli](https://togithub.com/cli/cli) | minor | `v2.46.0` -> `v2.47.0` | | [cue-lang/cue](https://togithub.com/cue-lang/cue) | patch | `v0.8.0` -> `v0.8.1` | | [dprint/dprint](https://togithub.com/dprint/dprint) | patch | `0.45.0` -> `0.45.1` | | [gruntwork-io/terragrunt](https://togithub.com/gruntwork-io/terragrunt) | minor | `v0.55.20` -> `v0.56.2` | | [junegunn/fzf](https://togithub.com/junegunn/fzf) | minor | `0.48.1` -> `0.49.0` | | [kubernetes-sigs/kustomize](https://togithub.com/kubernetes-sigs/kustomize) | minor | `v5.3.0` -> `v5.4.1` | | [nektos/act](https://togithub.com/nektos/act) | patch | `v0.2.60` -> `v0.2.61` | | [rhysd/hgrep](https://togithub.com/rhysd/hgrep) | patch | `v0.3.4` -> `v0.3.5` | | [simulot/immich-go](https://togithub.com/simulot/immich-go) | patch | `0.13.1` -> `0.13.2` | | [snyk/cli](https://togithub.com/snyk/cli) | minor | `v1.1286.1` -> `v1.1287.0` | | [starship/starship](https://togithub.com/starship/starship) | patch | `v1.18.1` -> `v1.18.2` | | [twpayne/chezmoi](https://togithub.com/twpayne/chezmoi) | patch | `v2.47.2` -> `v2.47.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>GoogleContainerTools/skaffold (GoogleContainerTools/skaffold)</summary> ### [`v2.11.0`](https://togithub.com/GoogleContainerTools/skaffold/blob/HEAD/CHANGELOG.md#v2110-Release---04022024) [Compare Source](https://togithub.com/GoogleContainerTools/skaffold/compare/v2.10.1...v2.11.0) **Linux amd64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.11.0/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **Linux arm64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.11.0/skaffold-linux-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **macOS amd64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.11.0/skaffold-darwin-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **macOS arm64** `curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.11.0/skaffold-darwin-arm64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin` **Windows** https://storage.googleapis.com/skaffold/releases/v2.11.0/skaffold-windows-amd64.exe **Docker image** `gcr.io/k8s-skaffold/skaffold:v2.11.0` Note: This release comes with a new config version, `v4beta10`. To upgrade your skaffold.yaml, use `skaffold fix`. If you choose not to upgrade, skaffold will auto-upgrade as best as it can. Highlights: New Features and Additions: - feat: Support Bazel platform mappings [#​9300](https://togithub.com/GoogleContainerTools/skaffold/pull/9300) - feat: new repo resolver logic to fetch info from a gcbrepov2 [#​9283](https://togithub.com/GoogleContainerTools/skaffold/pull/9283) - feat: extracted kaniko copyTimeout and copyMaxRetries into config [#​9267](https://togithub.com/GoogleContainerTools/skaffold/pull/9267) - feat(tar): added logs to CreateTar func [#​9271](https://togithub.com/GoogleContainerTools/skaffold/pull/9271) Fixes: - fix: revert cache lookup changes [#​9313](https://togithub.com/GoogleContainerTools/skaffold/pull/9313) - fix(lookupRemote): fixed lookup.go lookupRemote to compare remote and cached digests [#​9278](https://togithub.com/GoogleContainerTools/skaffold/pull/9278) - fix(helm): use secrets helm plugin to render when useHelmSecrets is true [#​9295](https://togithub.com/GoogleContainerTools/skaffold/pull/9295) Updates and Refactors: - chore: upgrade cosign from 2.0.3-0.20230523133326-0544abd8fc8a to 2.2.1 [#​9369](https://togithub.com/GoogleContainerTools/skaffold/pull/9369) - chore: bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 [#​9333](https://togithub.com/GoogleContainerTools/skaffold/pull/9333) - chore: bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 [#​9242](https://togithub.com/GoogleContainerTools/skaffold/pull/9242) - chore: bump flask from 3.0.1 to 3.0.2 in /integration/examples [#​9297](https://togithub.com/GoogleContainerTools/skaffold/pull/9297) - chore: bump rack from 2.2.6.4 to 2.2.8.1 in /examples/ruby/backend [#​9328](https://togithub.com/GoogleContainerTools/skaffold/pull/9328) - chore: bump rack from 2.2.6.4 to 2.2.8.1 in /integration/examples/ruby/backend [#​9329](https://togithub.com/GoogleContainerTools/skaffold/pull/9329) - chore: bump github/codeql-action from 3.24.8 to 3.24.9 [#​9354](https://togithub.com/GoogleContainerTools/skaffold/pull/9354) - chore: bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /integration/examples/grpc-e2e-tests/cloud-spanner-bootstrap [#​9339](https://togithub.com/GoogleContainerTools/skaffold/pull/9339) - chore: bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/grpc-e2e-tests/cloud-spanner-bootstrap [#​9341](https://togithub.com/GoogleContainerTools/skaffold/pull/9341) - chore: bump github.com/docker/docker from 25.0.3+incompatible to 25.0.5+incompatible [#​9366](https://togithub.com/GoogleContainerTools/skaffold/pull/9366) - chore: bump moby/buildkit and opencontainers/runc versions, upgrade go to 1.22 [#​9364](https://togithub.com/GoogleContainerTools/skaffold/pull/9364) - chore: updating google api and opentelemetry version [#​9352](https://togithub.com/GoogleContainerTools/skaffold/pull/9352) - feat: extend `skaffold inspect config-dependencies add` to support GCB Repo v2 [#​9349](https://togithub.com/GoogleContainerTools/skaffold/pull/9349) - chore: bump github/codeql-action from 3.24.0 to 3.24.8 [#​9348](https://togithub.com/GoogleContainerTools/skaffold/pull/9348) - chore: bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /integration/examples/grpc-e2e-tests/service [#​9342](https://togithub.com/GoogleContainerTools/skaffold/pull/9342) - chore: new googleCloudBuildRepoV2 field to configure a remote dependency [#​9293](https://togithub.com/GoogleContainerTools/skaffold/pull/9293) - chore: upgrade go to v1.21.6 due to vuls [#​9303](https://togithub.com/GoogleContainerTools/skaffold/pull/9303) - chore: bump github.com/opencontainers/runc from 1.1.7 to 1.1.12 [#​9290](https://togithub.com/GoogleContainerTools/skaffold/pull/9290) - chore: bump flask from 3.0.1 to 3.0.2 in /examples [#​9298](https://togithub.com/GoogleContainerTools/skaffold/pull/9298) - chore: bump actions/upload-artifact from 4.3.0 to 4.3.1 [#​9299](https://togithub.com/GoogleContainerTools/skaffold/pull/9299) - chore: bump github/codeql-action from 3.23.1 to 3.24.0 [#​9296](https://togithub.com/GoogleContainerTools/skaffold/pull/9296) - chore: generate schema v4beta9 [#​9287](https://togithub.com/GoogleContainerTools/skaffold/pull/9287) Docs, Test, and Release Updates: Huge thanks goes out to all of our contributors for this release: - Angel Montero - Aran Donohue - Benjamin Kaplan - Renzo Rojas - dependabot\[bot] - ericzzzzzzz - idsulik </details> <details> <summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary> ### [`v4.158.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.158.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.157.0...v4.158.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.158.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.158.0) | aquaproj/aqua-registry@v4.157.0...v4.158.0 #### 🎉 New Packages [#​21584](https://togithub.com/aquaproj/aqua-registry/issues/21584) [getporter/porter/porter](https://togithub.com/getporter/porter): Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command [@​air-hand](https://togithub.com/air-hand) [#​21576](https://togithub.com/aquaproj/aqua-registry/issues/21576) [termkit/gama](https://togithub.com/termkit/gama): Manage your GitHub Actions from Terminal with great UI [@​ponkio-o](https://togithub.com/ponkio-o) [#​21531](https://togithub.com/aquaproj/aqua-registry/issues/21531) [watchexec/cargo-watch](https://togithub.com/watchexec/cargo-watch): Watches over your Cargo project's source [@​ryoppippi](https://togithub.com/ryoppippi) #### Fixes [#​21558](https://togithub.com/aquaproj/aqua-registry/issues/21558) exoscale/cli: Regenerate the setting [#​21620](https://togithub.com/aquaproj/aqua-registry/issues/21620) golang/tools/guru guru was deleted at v0.20.0 - golang/tools@1f580da - [https://github.com/golang/go/issues/65880](https://togithub.com/golang/go/issues/65880) > RIP guru, Go's LSP server before LSP was invented. ### [`v4.157.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.157.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.156.0...v4.157.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.157.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.157.0) | aquaproj/aqua-registry@v4.156.0...v4.157.0 #### 🎉 New Packages [#​21505](https://togithub.com/aquaproj/aqua-registry/issues/21505) [kyoshidajp/dep-doctor](https://togithub.com/kyoshidajp/dep-doctor): Diagnose whether your software dependency libraries are maintained [@​chaspy](https://togithub.com/chaspy) [#​21500](https://togithub.com/aquaproj/aqua-registry/issues/21500) [moby/buildkit](https://togithub.com/moby/buildkit): concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit [@​ponkio-o](https://togithub.com/ponkio-o) ### [`v4.156.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.156.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.155.1...v4.156.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.156.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.156.0) | aquaproj/aqua-registry@v4.155.1...v4.156.0 #### 🎉 New Packages [#​21293](https://togithub.com/aquaproj/aqua-registry/issues/21293) [#​21301](https://togithub.com/aquaproj/aqua-registry/issues/21301) [charmbracelet/freeze](https://togithub.com/charmbracelet/freeze): Generate images of code and terminal output [#​21486](https://togithub.com/aquaproj/aqua-registry/issues/21486) [fe3dback/go-arch-lint](https://togithub.com/fe3dback/go-arch-lint): GoLang architecture linter (checker) tool. Will check all project import path and compare with arch rules defined in yml file. Useful for hexagonal / onion / ddd / mvc and other architectural patterns. Tool can by used in your CI #### Bug Fixes [#​21287](https://togithub.com/aquaproj/aqua-registry/issues/21287) lxc/incus: Fix the bug that the different binary (incus-migrate) is installed on linux #### Fixes [#​21410](https://togithub.com/aquaproj/aqua-registry/issues/21410) commercialhaskell/stack: Regenerate the setting </details> <details> <summary>bitnami-labs/sealed-secrets (bitnami-labs/sealed-secrets)</summary> ### [`v0.26.2`](https://togithub.com/bitnami-labs/sealed-secrets/blob/HEAD/RELEASE-NOTES.md#v0262) [Compare Source](https://togithub.com/bitnami-labs/sealed-secrets/compare/v0.26.1...v0.26.2) ##### Changelog - fix: update dependencies and version for CVE-2023-45288 ([#​1501](https://togithub.com/bitnami-labs/sealed-secrets/pull/1501)) - fix(helm): role binding annotations ([#​1494](https://togithub.com/bitnami-labs/sealed-secrets/pull/1494)) - chore: update cosign version ([#​1495](https://togithub.com/bitnami-labs/sealed-secrets/pull/1495)) - chore: Bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.17.1 ([#​1497](https://togithub.com/bitnami-labs/sealed-secrets/pull/1497)) - chore: Bump k8s.io/client-go from 0.29.2 to 0.29.3 ([#​1486](https://togithub.com/bitnami-labs/sealed-secrets/pull/1486)) - chore: Bump k8s.io/code-generator from 0.29.2 to 0.29.3 ([#​1488](https://togithub.com/bitnami-labs/sealed-secrets/pull/1488)) - chore: Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 ([#​1489](https://togithub.com/bitnami-labs/sealed-secrets/pull/1489)) - chore: Bump k8s.io/apimachinery from 0.29.2 to 0.29.3 ([#​1490](https://togithub.com/bitnami-labs/sealed-secrets/pull/1490)) - chore: Update security contact and other references DL to the new team one ([#​1500](https://togithub.com/bitnami-labs/sealed-secrets/pull/1500)) </details> <details> <summary>cli/cli (cli/cli)</summary> ### [`v2.47.0`](https://togithub.com/cli/cli/releases/tag/v2.47.0): GitHub CLI 2.47.0 [Compare Source](https://togithub.com/cli/cli/compare/v2.46.0...v2.47.0) #### What's Changed - Fix typo in auth switch help example by [@​ihommani](https://togithub.com/ihommani) in [https://github.com/cli/cli/pull/8870](https://togithub.com/cli/cli/pull/8870) - Bump go-gh to 2.7.0 by [@​williammartin](https://togithub.com/williammartin) in [https://github.com/cli/cli/pull/8884](https://togithub.com/cli/cli/pull/8884) - gh-attestation cmd integration by [@​malancas](https://togithub.com/malancas) in [https://github.com/cli/cli/pull/8698](https://togithub.com/cli/cli/pull/8698) - Upgrade to Go 1.22 by [@​yanskun](https://togithub.com/yanskun) in [https://github.com/cli/cli/pull/8836](https://togithub.com/cli/cli/pull/8836) - Rely on go.mod go version in all workflows by [@​williammartin](https://togithub.com/williammartin) in [https://github.com/cli/cli/pull/8911](https://togithub.com/cli/cli/pull/8911) - build(deps): bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8902](https://togithub.com/cli/cli/pull/8902) - build(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8903](https://togithub.com/cli/cli/pull/8903) - Fix segfault in error handling of `gh repo rename` by [@​satoqz](https://togithub.com/satoqz) in [https://github.com/cli/cli/pull/8888](https://togithub.com/cli/cli/pull/8888) - build(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8912](https://togithub.com/cli/cli/pull/8912) - build(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8913](https://togithub.com/cli/cli/pull/8913) - build(deps): bump github.com/google/go-containerregistry from 0.19.0 to 0.19.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8914](https://togithub.com/cli/cli/pull/8914) - build(deps): bump github.com/sigstore/protobuf-specs from 0.3.0 to 0.3.1 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/cli/cli/pull/8923](https://togithub.com/cli/cli/pull/8923) - Bump glamour to v0.7.0 and go mod tidy by [@​williammartin](https://togithub.com/williammartin) in [https://github.com/cli/cli/pull/8920](https://togithub.com/cli/cli/pull/8920) #### New Contributors - [@​ihommani](https://togithub.com/ihommani) made their first contribution in [https://github.com/cli/cli/pull/8870](https://togithub.com/cli/cli/pull/8870) - [@​malancas](https://togithub.com/malancas) made their first contribution in [https://github.com/cli/cli/pull/8698](https://togithub.com/cli/cli/pull/8698) - [@​satoqz](https://togithub.com/satoqz) made their first contribution in [https://github.com/cli/cli/pull/8888](https://togithub.com/cli/cli/pull/8888) **Full Changelog**: cli/cli@v2.46.0...v2.47.0 </details> <details> <summary>cue-lang/cue (cue-lang/cue)</summary> ### [`v0.8.1`](https://togithub.com/cue-lang/cue/releases/tag/v0.8.1) [Compare Source](https://togithub.com/cue-lang/cue/compare/v0.8.0...v0.8.1) This release includes a number of fixes detailed below: [CL 1186144](https://cuelang.org/cl/1186144) fixes a number of evaluator panics which could be triggered by calling the `cue.Value.Expr` method, which also happened when using the OpenAPI encoder. [CL 1173100](https://cuelang.org/cl/1173100) fixes `cue get go` panics which might occur when any Go packages are vendored or use imported alias declarations. [CL 1185281](https://cuelang.org/cl/1185281) fixes a regression introduced in `v0.8.0` which led to some incorrect failures in `tools/flow` and `cue cmd`. <details> <summary><b>Full list of changes since v0.8.0</b></summary> - internal/cueversion: bump for v0.8.1 by [@​mvdan](https://togithub.com/mvdan) in [`95bed3d`](https://togithub.com/cue-lang/cue/commit/95bed3d42cda04c2e5a43c408195781adddce51e) - cue: adjust Environment for comprehensions by [@​mpvl](https://togithub.com/mpvl) in [`4cdb317`](https://togithub.com/cue-lang/cue/commit/4cdb3175b889b0ce9d198b26e0699d313d4156ab) - Revert "tools/flow: check and return errors from task values" by [@​rogpeppe](https://togithub.com/rogpeppe) in [`0630a37`](https://togithub.com/cue-lang/cue/commit/0630a37c42b56133b247d31c100cb145a5244699) - cmd/cue: find packages by canonical path in get go by [@​uhthomas](https://togithub.com/uhthomas) in [`773ab2d`](https://togithub.com/cue-lang/cue/commit/773ab2d76c513381d6c732397c866d16e4219776) </details> </details> <details> <summary>dprint/dprint (dprint/dprint)</summary> ### [`v0.45.1`](https://togithub.com/dprint/dprint/releases/tag/0.45.1) [Compare Source](https://togithub.com/dprint/dprint/compare/0.45.0...0.45.1) #### Changes - perf: lazily create ureq agents ([#​836](https://togithub.com/dprint/dprint/issues/836)) dprint on Mac now starts up faster. Before: % dprint -v 0.45.0 % time dprint check --incremental=false ./data/package-template.json 0.173s total After: % dprint -v 0.45.1 % time dprint --incremental=false ./data/package-template.json 0.023s total #### Install Run `dprint upgrade` or see https://dprint.dev/install/ #### Checksums |Artifact|SHA-256 Checksum| |:--|:--| |dprint-x86\_64-apple-darwin.zip|83cce6b82d8674dbdddaf911bc117f1c866aaa4712aa381e54ab9466526026aa| |dprint-aarch64-apple-darwin.zip|be6e4bcf9aafeb4ef34f27385717004cc0dfd06f8bce8e67b18937b53285d436| |dprint-x86\_64-pc-windows-msvc.zip|71fef42ad86017a50bee977836dfd387d8584d6a9c4c03354d62977eaa1f135b| |dprint-x86\_64-pc-windows-msvc-installer.exe|6db6148387b9e2e0434d0eaef3624bc1a401c85175e4863c220143d6151857a0| |dprint-x86\_64-unknown-linux-gnu.zip|4e0c1d4f0f9f41efc08d929616c9f73abea7e57b9658a8f5f478a26e165c331c| |dprint-x86\_64-unknown-linux-musl.zip|eaf2690b7414d11bc33fb2a81898f285748a7a6a7983f965b569e536fb67b815| |dprint-aarch64-unknown-linux-gnu.zip|828133ac7a7591a2d9e63d5f10a70751f558152b20653383ae32ce76199662ad| |dprint-aarch64-unknown-linux-musl.zip|c05d839d1f187d68d55effc60add4e66afb373015a1d1126c310b5c8669a8563| </details> <details> <summary>gruntwork-io/terragrunt (gruntwork-io/terragrunt)</summary> ### [`v0.56.2`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.56.2) [Compare Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.56.1...v0.56.2) #### Updated CLI args, config attributes and blocks - `json-render` - `remote_state` #### Description - Adjusted logging level for S3 bucket encryption warnings - Added CLI flag `--terragrunt-json-disable-dependent-modules` to disable identification of root modules during `render-json` #### Special thanks Special thanks to [@​kaden-l-nelson](https://togithub.com/kaden-l-nelson) for their contribution! #### Related links - [https://github.com/gruntwork-io/terragrunt/pull/2918](https://togithub.com/gruntwork-io/terragrunt/pull/2918) - [https://github.com/gruntwork-io/terragrunt/pull/2878](https://togithub.com/gruntwork-io/terragrunt/pull/2878) ### [`v0.56.1`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.56.1) [Compare Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.56.0...v0.56.1) #### Updated CLI args, config attributes and blocks - `terragrunt-info` #### Description - Updated `terragrunt-info` to return parsed info data in case of error. #### Related links - [https://github.com/gruntwork-io/terragrunt/pull/2901](https://togithub.com/gruntwork-io/terragrunt/pull/2901) ### [`v0.56.0`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.56.0) [Compare Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.55.21...v0.56.0) #### Description - Updated officially supported versions of OpenTofu and Terraform - Updated CICD tests to run integration tests using Terraform 1.5 and latest Terraform (1.7.x) #### Related links - [https://github.com/gruntwork-io/terragrunt/pull/2754](https://togithub.com/gruntwork-io/terragrunt/pull/2754) - [https://github.com/gruntwork-io/terragrunt/pull/3035](https://togithub.com/gruntwork-io/terragrunt/pull/3035) ### [`v0.55.21`](https://togithub.com/gruntwork-io/terragrunt/releases/tag/v0.55.21) [Compare Source](https://togithub.com/gruntwork-io/terragrunt/compare/v0.55.20...v0.55.21) #### Updated CLI args, config attributes and blocks - `remote_state` #### Description - Updated remote state creation/update errors to include bucket name. #### Related links - [https://github.com/gruntwork-io/terragrunt/pull/3032](https://togithub.com/gruntwork-io/terragrunt/pull/3032) </details> <details> <summary>junegunn/fzf (junegunn/fzf)</summary> ### [`v0.49.0`](https://togithub.com/junegunn/fzf/blob/HEAD/CHANGELOG.md#0490) [Compare Source](https://togithub.com/junegunn/fzf/compare/0.48.1...0.49.0) - Ingestion performance improved by around 40% (more or less depending on options) - `--info=hidden` and `--info=inline-right` will no longer hide the horizontal separator by default. This gives you more flexibility in customizing the layout. ```sh fzf --border --info=inline-right fzf --border --info=inline-right --separator ═ fzf --border --info=inline-right --no-separator fzf --border --info=hidden fzf --border --info=hidden --separator ━ fzf --border --info=hidden --no-separator ``` - Added two environment variables exported to the child processes - `FZF_PREVIEW_LABEL` - `FZF_BORDER_LABEL` ```sh ``` ### Use the current value of $FZF_PREVIEW_LABEL to determine which actions to perform git ls-files | fzf --header 'Press CTRL-P to change preview mode' \ --bind='ctrl-p:transform:[[ $FZF_PREVIEW_LABEL =~ cat ]] \ && echo "change-preview(git log --color=always \{})+change-preview-label([[ log ]])" \ || echo "change-preview(bat --color=always \{})+change-preview-label([[ cat ]])"' ``` - Renamed `track` action to `track-current` to highlight the difference between the global tracking state set by `--track` and a one-off tracking action - `track` is still available as an alias - Added `untrack-current` and `toggle-track-current` actions - `*-current` actions are no-op when the global tracking state is set - Bug fixes and minor improvements </details> <details> <summary>kubernetes-sigs/kustomize (kubernetes-sigs/kustomize)</summary> ### [`v5.4.1`](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.4.1) [Compare Source](https://togithub.com/kubernetes-sigs/kustomize/compare/kustomize/v5.4.0...kustomize/v5.4.1) This is a patch of kustomize v5.4.0 and should fix the `kustomize version` subcommand issues in its assets. ### kustomize v5.4.1 [https://github.com/kubernetes-sigs/kustomize/pull/5644](https://togithub.com/kubernetes-sigs/kustomize/pull/5644): fix version subcommand is not working after release build ### kustomize v5.4.0 #### Breaking changes [https://github.com/kubernetes-sigs/kustomize/pull/5519](https://togithub.com/kubernetes-sigs/kustomize/pull/5519): Fix null YAML values being replaced by "null" #### Features [#​5411](https://togithub.com/kubernetes-sigs/kustomize/issues/5411): Add --load-restrictor completion [#​5467](https://togithub.com/kubernetes-sigs/kustomize/issues/5467): feat: edit set secret ##### More better error handling - [https://github.com/kubernetes-sigs/kustomize/pull/5539](https://togithub.com/kubernetes-sigs/kustomize/pull/5539): Include exec plugin stderr with wrapped error - [https://github.com/kubernetes-sigs/kustomize/pull/5542](https://togithub.com/kubernetes-sigs/kustomize/pull/5542): fix: improve accumulation failure message - [https://github.com/kubernetes-sigs/kustomize/pull/5550](https://togithub.com/kubernetes-sigs/kustomize/pull/5550): use Strict unmarshal when read TransformerConfig #### Bug fixes/performance improvements [#​5234](https://togithub.com/kubernetes-sigs/kustomize/issues/5234): fix edit set image to parse both tag and digest [#​5621](https://togithub.com/kubernetes-sigs/kustomize/issues/5621): Use require for Error and NoError #### Dependencies [#​5479](https://togithub.com/kubernetes-sigs/kustomize/issues/5479): Revert "Switch to json-patch v5" [#​5541](https://togithub.com/kubernetes-sigs/kustomize/issues/5541): Use canonical json-patch v4 import [#​5615](https://togithub.com/kubernetes-sigs/kustomize/issues/5615): update dependencies google.golang.org/protobuf@v1.33.0 ##### update internal Dependencies [#​5639](https://togithub.com/kubernetes-sigs/kustomize/issues/5639): Update kyaml to v0.17.0 [#​5640](https://togithub.com/kubernetes-sigs/kustomize/issues/5640): Update cmd/config to v0.14.0 [#​5641](https://togithub.com/kubernetes-sigs/kustomize/issues/5641): Update api to v0.17.0 ##### cleanup Dependencies [#​5044](https://togithub.com/kubernetes-sigs/kustomize/issues/5044): Remove non-essential dependency `imdario/mergo` [#​5567](https://togithub.com/kubernetes-sigs/kustomize/issues/5567): fix 'golang.org/x/exp/slices' dependencies [#​5627](https://togithub.com/kubernetes-sigs/kustomize/issues/5627): Remove klog/v1 dependencies #### chore [#​5495](https://togithub.com/kubernetes-sigs/kustomize/issues/5495): chore: move removetest.go to the internal package [#​5518](https://togithub.com/kubernetes-sigs/kustomize/issues/5518): Update owners file [#​5622](https://togithub.com/kubernetes-sigs/kustomize/issues/5622): Pin tool versions with hack/go.mod ### [`v5.4.0`](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.4.0) [Compare Source](https://togithub.com/kubernetes-sigs/kustomize/compare/kustomize/v5.3.0...kustomize/v5.4.0) #### Breaking changes [https://github.com/kubernetes-sigs/kustomize/pull/5519](https://togithub.com/kubernetes-sigs/kustomize/pull/5519): Fix null YAML values being replaced by "null" #### Features [#​5411](https://togithub.com/kubernetes-sigs/kustomize/issues/5411): Add --load-restrictor completion [#​5467](https://togithub.com/kubernetes-sigs/kustomize/issues/5467): feat: edit set secret ##### More better error handling - [https://github.com/kubernetes-sigs/kustomize/pull/5539](https://togithub.com/kubernetes-sigs/kustomize/pull/5539): Include exec plugin stderr with wrapped error - [https://github.com/kubernetes-sigs/kustomize/pull/5542](https://togithub.com/kubernetes-sigs/kustomize/pull/5542): fix: improve accumulation failure message - [https://github.com/kubernetes-sigs/kustomize/pull/5550](https://togithub.com/kubernetes-sigs/kustomize/pull/5550): use Strict unmarshal when read TransformerConfig #### Bug fixes/performance improvements [#​5234](https://togithub.com/kubernetes-sigs/kustomize/issues/5234): fix edit set image to parse both tag and digest [#​5621](https://togithub.com/kubernetes-sigs/kustomize/issues/5621): Use require for Error and NoError #### Dependencies [#​5479](https://togithub.com/kubernetes-sigs/kustomize/issues/5479): Revert "Switch to json-patch v5" [#​5541](https://togithub.com/kubernetes-sigs/kustomize/issues/5541): Use canonical json-patch v4 import [#​5615](https://togithub.com/kubernetes-sigs/kustomize/issues/5615): update dependencies google.golang.org/protobuf@v1.33.0 ##### update internal Dependencies [#​5639](https://togithub.com/kubernetes-sigs/kustomize/issues/5639): Update kyaml to v0.17.0 [#​5640](https://togithub.com/kubernetes-sigs/kustomize/issues/5640): Update cmd/config to v0.14.0 [#​5641](https://togithub.com/kubernetes-sigs/kustomize/issues/5641): Update api to v0.17.0 ##### cleanup Dependencies [#​5044](https://togithub.com/kubernetes-sigs/kustomize/issues/5044): Remove non-essential dependency `imdario/mergo` [#​5567](https://togithub.com/kubernetes-sigs/kustomize/issues/5567): fix 'golang.org/x/exp/slices' dependencies [#​5627](https://togithub.com/kubernetes-sigs/kustomize/issues/5627): Remove klog/v1 dependencies #### chore [#​5495](https://togithub.com/kubernetes-sigs/kustomize/issues/5495): chore: move removetest.go to the internal package [#​5518](https://togithub.com/kubernetes-sigs/kustomize/issues/5518): Update owners file [#​5622](https://togithub.com/kubernetes-sigs/kustomize/issues/5622): Pin tool versions with hack/go.mod </details> <details> <summary>nektos/act (nektos/act)</summary> ### [`v0.2.61`](https://togithub.com/nektos/act/releases/tag/v0.2.61) [Compare Source](https://togithub.com/nektos/act/compare/v0.2.60...v0.2.61) #### Changelog ##### Bug fixes - [`f825e42`](https://togithub.com/nektos/act/commit/f825e42) fix: cache adjust restore order of exact key matches ([#​2267](https://togithub.com/nektos/act/issues/2267)) - [`119ceb8`](https://togithub.com/nektos/act/commit/119ceb8) fix: rootless permission bits (new actions cache) ([#​2242](https://togithub.com/nektos/act/issues/2242)) - [`75e4ad9`](https://togithub.com/nektos/act/commit/75e4ad9) fix: docker buildx cache restore not working ([#​2236](https://togithub.com/nektos/act/issues/2236)) ##### Other - [`361b7e9`](https://togithub.com/nektos/act/commit/361b7e9) chore: bump VERSION to 0.2.61 - [`d9a19c8`](https://togithub.com/nektos/act/commit/d9a19c8) Trivial: reduce log spam. ([#​2256](https://togithub.com/nektos/act/issues/2256)) - [`3949d74`](https://togithub.com/nektos/act/commit/3949d74) chore: remove repetitive words ([#​2259](https://togithub.com/nektos/act/issues/2259)) - [`b9382a2`](https://togithub.com/nektos/act/commit/b9382a2) Support overwriting caches ([#​2265](https://togithub.com/nektos/act/issues/2265)) - [`f56dd65`](https://togithub.com/nektos/act/commit/f56dd65) test: use ping to improve network test ([#​2266](https://togithub.com/nektos/act/issues/2266)) - [`069720a`](https://togithub.com/nektos/act/commit/069720a) build(deps): bump github.com/docker/docker ([#​2252](https://togithub.com/nektos/act/issues/2252)) - [`8c83d57`](https://togithub.com/nektos/act/commit/8c83d57) build(deps): bump golang.org/x/term from 0.17.0 to 0.18.0 ([#​2244](https://togithub.com/nektos/act/issues/2244)) - [`352ad41`](https://togithub.com/nektos/act/commit/352ad41) fix function name in comment ([#​2240](https://togithub.com/nektos/act/issues/2240)) - [`934b13a`](https://togithub.com/nektos/act/commit/934b13a) build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 ([#​2235](https://togithub.com/nektos/act/issues/2235)) </details> <details> <summary>rhysd/hgrep (rhysd/hgrep)</summary> ### [`v0.3.5`](https://togithub.com/rhysd/hgrep/blob/HEAD/CHANGELOG.md#v035---31-Mar-2024) [Compare Source](https://togithub.com/rhysd/hgrep/compare/v0.3.4...v0.3.5) - Add `HGREP_DEFAULT_OPTS` environment variable to set the default command line options. For example, the following configuration enables `ayu-dark` theme and background colors by default. See [the document](https://togithub.com/rhysd/hgrep?tab=readme-ov-file#set-default-command-options) for more details. ```sh export HGREP_DEFAULT_OPTS='--theme ayu-dark --background' ``` - Detect the terminal color support from `TERM` environment variable in addition to `COLORTERM` environment variable. For example, `xterm-256color` enables 256 colors support. See [the document](https://togithub.com/rhysd/hgrep?tab=readme-ov-file#terminal-color-support-detection) to know the logic of the color support detection. - Update the themes bundle to the latest. - Update cargo dependencies including syntect v5.2. \[Changes]\[v0.3.5] </details> <details> <summary>simulot/immich-go (simulot/immich-go)</summary> ### [`v0.13.2`](https://togithub.com/simulot/immich-go/releases/tag/0.13.2) [Compare Source](https://togithub.com/simulot/immich-go/compare/0.13.1...0.13.2) #### Changelog - [`6634a2a`](https://togithub.com/simulot/immich-go/commit/6634a2a) Simulot/issue205 ([#​206](https://togithub.com/simulot/immich-go/issues/206)) - [`9c62473`](https://togithub.com/simulot/immich-go/commit/9c62473) Version 0.13.0 not working as expected ([#​200](https://togithub.com/simulot/immich-go/issues/200)) - [`159e381`](https://togithub.com/simulot/immich-go/commit/159e381) immich-go appears to retain/cache an API key Fixes [#​211](https://togithub.com/simulot/immich-go/issues/211) </details> <details> <summary>snyk/cli (snyk/cli)</summary> ### [`v1.1287.0`](https://togithub.com/snyk/cli/releases/tag/v1.1287.0) [Compare Source](https://togithub.com/snyk/cli/compare/v1.1286.4...v1.1287.0) ##### Features - upgrade snyk-iac-test to v0.51.3 ([#​5127](https://togithub.com/snyk/snyk/issues/5127)) ([0fd8fa6](https://togithub.com/snyk/snyk/commit/0fd8fa6063f35f208c36fdcbd04c8c4732d32af4)) ### [`v1.1286.4`](https://togithub.com/snyk/cli/releases/tag/v1.1286.4) [Compare Source](https://togithub.com/snyk/cli/compare/v1.1286.3...v1.1286.4) ##### Bug Fixes - upgrade iac custom rules extension to address vulns \[IAC-2921] ([#​5149](https://togithub.com/snyk/snyk/issues/5149)) ([6b96473](https://togithub.com/snyk/snyk/commit/6b96473e3c07a93fdc5da2f10bb39ea6f5a222d7)) ### [`v1.1286.3`](https://togithub.com/snyk/cli/releases/tag/v1.1286.3) [Compare Source](https://togithub.com/snyk/cli/compare/v1.1286.2...v1.1286.3) ##### Bug Fixes - always finish progress when auto-fixing in language server ([#​5145](https://togithub.com/snyk/snyk/issues/5145)) ([f645bbe](https://togithub.com/snyk/snyk/commit/f645bbe4b439a9523fcd16cc9857786bd25898b4)) - avoid potentially outputting very large JSON objects ([#​5147](https://togithub.com/snyk/snyk/issues/5147)) ([84b5e8b](https://togithub.com/snyk/snyk/commit/84b5e8bf390d4e68665c79efa57a4a7ed7cb3600)) ### [`v1.1286.2`](https://togithub.com/snyk/cli/releases/tag/v1.1286.2) [Compare Source](https://togithub.com/snyk/cli/compare/v1.1286.1...v1.1286.2) ##### Bug Fixes - enhance sbt output width, fixing false positives vulns ([#​5130](https://togithub.com/snyk/snyk/issues/5130)) ([2011b90](https://togithub.com/snyk/snyk/commit/2011b90704582654560d6d64819fe8d3cdfc91fd)) </details> <details> <summary>starship/starship (starship/starship)</summary> ### [`v1.18.2`](https://togithub.com/starship/starship/releases/tag/v1.18.2) [Compare Source](https://togithub.com/starship/starship/compare/v1.18.1...v1.18.2) ##### Bug Fixes - replace unmaintained crates `yaml-rust`, `dirs-next` ([#​5887](https://togithub.com/starship/starship/issues/5887)) ([796a411](https://togithub.com/starship/starship/commit/796a411602c9ca4e5103c54247440f4efe892918)) ##### Reverts - "build(deps): update rust crate gix to 0.61.1" ([#​5878](https://togithub.com/starship/starship/issues/5878)) ([eb80dba](https://togithub.com/starship/starship/commit/eb80dbab99e38b5018aa3fb70b06ae9e4d793b24)) </details> <details> <summary>twpayne/chezmoi (twpayne/chezmoi)</summary> ### [`v2.47.3`](https://togithub.com/twpayne/chezmoi/releases/tag/v2.47.3) [Compare Source](https://togithub.com/twpayne/chezmoi/compare/v2.47.2...v2.47.3) #### Changelog ##### Fixes - [`2e4236c`](https://togithub.com/twpayne/chezmoi/commit/2e4236c71) fix: Don't traverse into ignored directories when adding files - [`8a83dcc`](https://togithub.com/twpayne/chezmoi/commit/8a83dcc1d) fix: Skip adding entries in external dirs instead of erroring - [`b366d0e`](https://togithub.com/twpayne/chezmoi/commit/b366d0e1c) fix: Fix panic when adding children in exact\_ dirs - [`ad77158`](https://togithub.com/twpayne/chezmoi/commit/ad771580c) fix: Increase range of types accepted by promptChoice template function </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone America/Los_Angeles, 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://developer.mend.io/github/scottames/dots). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [kustomize](https://togithub.com/kubernetes-sigs/kustomize) | minor | `5.3.0` -> `5.4.1` | --- ### Release Notes <details> <summary>kubernetes-sigs/kustomize (kustomize)</summary> ### [`v5.4.1`](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.4.1) [Compare Source](https://togithub.com/kubernetes-sigs/kustomize/compare/kustomize/v5.4.0...kustomize/v5.4.1) This is a patch of kustomize v5.4.0 and should fix the `kustomize version` subcommand issues in its assets. ### kustomize v5.4.1 [https://github.com/kubernetes-sigs/kustomize/pull/5644](https://togithub.com/kubernetes-sigs/kustomize/pull/5644): fix version subcommand is not working after release build ### kustomize v5.4.0 #### Breaking changes [https://github.com/kubernetes-sigs/kustomize/pull/5519](https://togithub.com/kubernetes-sigs/kustomize/pull/5519): Fix null YAML values being replaced by "null" ##### kustomize requires Go 1.21 or higher at build [#​5567](https://togithub.com/kubernetes-sigs/kustomize/issues/5567): fix 'golang.org/x/exp/slices' dependencies #### Features [#​5411](https://togithub.com/kubernetes-sigs/kustomize/issues/5411): Add --load-restrictor completion [#​5467](https://togithub.com/kubernetes-sigs/kustomize/issues/5467): feat: edit set secret ##### More better error handling - [https://github.com/kubernetes-sigs/kustomize/pull/5539](https://togithub.com/kubernetes-sigs/kustomize/pull/5539): Include exec plugin stderr with wrapped error - [https://github.com/kubernetes-sigs/kustomize/pull/5542](https://togithub.com/kubernetes-sigs/kustomize/pull/5542): fix: improve accumulation failure message - [https://github.com/kubernetes-sigs/kustomize/pull/5550](https://togithub.com/kubernetes-sigs/kustomize/pull/5550): use Strict unmarshal when read TransformerConfig #### Bug fixes/performance improvements [#​5234](https://togithub.com/kubernetes-sigs/kustomize/issues/5234): fix edit set image to parse both tag and digest [#​5621](https://togithub.com/kubernetes-sigs/kustomize/issues/5621): Use require for Error and NoError #### Dependencies [#​5479](https://togithub.com/kubernetes-sigs/kustomize/issues/5479): Revert "Switch to json-patch v5" [#​5541](https://togithub.com/kubernetes-sigs/kustomize/issues/5541): Use canonical json-patch v4 import [#​5615](https://togithub.com/kubernetes-sigs/kustomize/issues/5615): update dependencies google.golang.org/protobuf@v1.33.0 ##### update internal Dependencies [#​5639](https://togithub.com/kubernetes-sigs/kustomize/issues/5639): Update kyaml to v0.17.0 [#​5640](https://togithub.com/kubernetes-sigs/kustomize/issues/5640): Update cmd/config to v0.14.0 [#​5641](https://togithub.com/kubernetes-sigs/kustomize/issues/5641): Update api to v0.17.0 ##### cleanup Dependencies [#​5044](https://togithub.com/kubernetes-sigs/kustomize/issues/5044): Remove non-essential dependency `imdario/mergo` [#​5567](https://togithub.com/kubernetes-sigs/kustomize/issues/5567): fix 'golang.org/x/exp/slices' dependencies [#​5627](https://togithub.com/kubernetes-sigs/kustomize/issues/5627): Remove klog/v1 dependencies #### chore [#​5495](https://togithub.com/kubernetes-sigs/kustomize/issues/5495): chore: move removetest.go to the internal package [#​5518](https://togithub.com/kubernetes-sigs/kustomize/issues/5518): Update owners file [#​5622](https://togithub.com/kubernetes-sigs/kustomize/issues/5622): Pin tool versions with hack/go.mod ### [`v5.4.0`](https://togithub.com/kubernetes-sigs/kustomize/releases/tag/kustomize/v5.4.0) [Compare Source](https://togithub.com/kubernetes-sigs/kustomize/compare/kustomize/v5.3.0...kustomize/v5.4.0) ##### Known issue: The `kustomize version` command was broken in this release. Please use more new releases. #### Breaking changes [https://github.com/kubernetes-sigs/kustomize/pull/5519](https://togithub.com/kubernetes-sigs/kustomize/pull/5519): Fix null YAML values being replaced by "null" #### Features [#​5411](https://togithub.com/kubernetes-sigs/kustomize/issues/5411): Add --load-restrictor completion [#​5467](https://togithub.com/kubernetes-sigs/kustomize/issues/5467): feat: edit set secret ##### More better error handling - [https://github.com/kubernetes-sigs/kustomize/pull/5539](https://togithub.com/kubernetes-sigs/kustomize/pull/5539): Include exec plugin stderr with wrapped error - [https://github.com/kubernetes-sigs/kustomize/pull/5542](https://togithub.com/kubernetes-sigs/kustomize/pull/5542): fix: improve accumulation failure message - [https://github.com/kubernetes-sigs/kustomize/pull/5550](https://togithub.com/kubernetes-sigs/kustomize/pull/5550): use Strict unmarshal when read TransformerConfig #### Bug fixes/performance improvements [#​5234](https://togithub.com/kubernetes-sigs/kustomize/issues/5234): fix edit set image to parse both tag and digest [#​5621](https://togithub.com/kubernetes-sigs/kustomize/issues/5621): Use require for Error and NoError #### Dependencies [#​5479](https://togithub.com/kubernetes-sigs/kustomize/issues/5479): Revert "Switch to json-patch v5" [#​5541](https://togithub.com/kubernetes-sigs/kustomize/issues/5541): Use canonical json-patch v4 import [#​5615](https://togithub.com/kubernetes-sigs/kustomize/issues/5615): update dependencies google.golang.org/protobuf@v1.33.0 ##### update internal Dependencies [#​5639](https://togithub.com/kubernetes-sigs/kustomize/issues/5639): Update kyaml to v0.17.0 [#​5640](https://togithub.com/kubernetes-sigs/kustomize/issues/5640): Update cmd/config to v0.14.0 [#​5641](https://togithub.com/kubernetes-sigs/kustomize/issues/5641): Update api to v0.17.0 ##### cleanup Dependencies [#​5044](https://togithub.com/kubernetes-sigs/kustomize/issues/5044): Remove non-essential dependency `imdario/mergo` [#​5567](https://togithub.com/kubernetes-sigs/kustomize/issues/5567): fix 'golang.org/x/exp/slices' dependencies [#​5627](https://togithub.com/kubernetes-sigs/kustomize/issues/5627): Remove klog/v1 dependencies #### chore [#​5495](https://togithub.com/kubernetes-sigs/kustomize/issues/5495): chore: move removetest.go to the internal package [#​5518](https://togithub.com/kubernetes-sigs/kustomize/issues/5518): Update owners file [#​5622](https://togithub.com/kubernetes-sigs/kustomize/issues/5622): Pin tool versions with hack/go.mod </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ykzts-technology/mastodon-infra). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Related issues:
After noting this behaviour was not present in
d89b448 a
git bisect
pointed to thechange 1b7db20. The issue with that
change is that upon seeing a
null
node it would replace it with a nodewhose value was equivalent but without a
!!null
tag. This meant thatone application of a patch would have the desired approach: the result
would be
null
in the output, but on a second application of a similarpatch the field would be rendered as
"null"
.To avoid this, define a new attribute on
RNode
s that is checked beforeclearing any node we should keep. The added
TestApplySmPatch_Idempotency
test verifies this behaviour.See also #5365 for an
alternative approach