tree fc5213e91a6839f3a5d599517b04001c9681684d
parent 6f8e8b4d04bc24e10ff7472fc8c7ffdd0607e5ad
author renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> 1713567219 +0000
committer GitHub <noreply@github.com> 1713567219 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmIvXzCRC1aQ7uu5UhlAAAVvAQAEEMwf5/jPCHroQsLG0coHg1
 qxKxoyFqVXV7VgfE5FB+cDgCUsuifoOtChC8/RkAQGRFcZJvrmjE4gqJRWFErK6R
 2D94lUJevJpS9U51V6i/9drP5EIXWiRVpcM7i96sOY9Dgp2N+QRMcXq0dquAxtQI
 yDkV1mTs5GZbdAwx80C/ydccSwLHjS7o4VmwBmx1XkSnQemGzl3OXOtevPwBMs34
 41xhZiIt4sFXRw0HkNlG/BwlHslXuMvMZ2g04IiX+YZSOcJysJBL5r7BiH1lqOTt
 UpPvE8OmJ5BfC+Wwrqz0LwAmjGqn0ec9Ket/W06JuzVqste+aXNIEOT4pSivRq3U
 VaCS2ufVUV6NEkBEsdsaer7VOicxLupV0KZU6YaRJhvfVtbF/xwsZ9fxnAAO2xnE
 7DxpwY5Jj5ZMZPkQt3AakbUrGapa6yC0yJ9/jdEVDDVbHgpc1KC1xHNRHJWvV8aU
 /cbeyI5FX7VstbpDhLxDjtsrqo+Q7Wp2VSJBBIJm/f38ThsK2FtJQfSsKmFTVcPN
 Fnnf4J0cQNlmjTcnKKJNF86hMj06TUhh3AU2mSpwJuTOF0j5dnDxhHej2V7wakoW
 501o8orlBTt7fDCWkHGjQAHkQ1cZGg7Y6wFFktK0um6s9ViCrdZ2hTvB4ZnPeVN+
 aqzkWO/lCjUE/PEqow6W
 =t9At
 -----END PGP SIGNATURE-----
 

chore(deps): update module helm.sh/helm/v3 to v3.14.4 (#1111)

This PR contains the following updates:



Package
Change
Age
Adoption
Passing
Confidence




helm.sh/helm/v3
v3.14.2 -> v3.14.4








WarningSome dependencies could not be looked up. Check the warning logs for more information.


Release Notes

helm/helm (helm.sh/helm/v3)
v3.14.4: Helm v3.14.4
Compare Source
Helm v3.14.4 is a patch release. Users are encouraged to upgrade for the best experience. Users are encouraged to upgrade for the best experience.
The community keeps growing, and we'd love to see you there!

Join the discussion in Kubernetes Slack:

for questions and just to hang out
for discussing PRs, code, and bugs


Hang out at the Public Developer Call: Thursday, 9:30 Pacific via Zoom
Test, debug, and contribute charts: ArtifactHub/packages

Installation and Upgrading
Download Helm v3.14.4. The common platform binaries are here:

MacOS amd64 (checksum / 73434aeac36ad068ce2e5582b8851a286dc628eae16494a26e2ad0b24a7199f9)
MacOS arm64 (checksum / 61e9c5455f06b2ad0a1280975bf65892e707adc19d766b0cf4e9006e3b7b4b6c)
Linux amd64 (checksum / a5844ef2c38ef6ddf3b5a8f7d91e7e0e8ebc39a38bb3fc8013d629c1ef29c259)
Linux arm (checksum / 962297c944c06e1f275111a6e3d80e37c9e9e8fed967d4abec8efcf7fc9fb260)
Linux arm64 (checksum / 113ccc53b7c57c2aba0cd0aa560b5500841b18b5210d78641acfddc53dac8ab2)
Linux i386 (checksum / 2cb3ff032be1c39b7199b324d58d0ae05bc4fe49b9be6aa2fcbeb3fc03f1f9e7)
Linux ppc64le (checksum / d0d625b43f6650ad376428520b2238baa2400bfedb43b2e0f24ad7247f0f59b5)
Linux s390x (checksum / a5750d0cb1ba34ce84ab3be6382a14617130661d15dd2aa1b36630b293437936)
Linux riscv64 (checksum / 925782b159392d52df5ebab88e04e695217325894c6a32a9a779e865b7e32411)
Windows amd64 (checksum / 0b951db3eadd92dfe336b5a9ddb0640e5cd70d39abdbd7d3125e9fb59b22b669)

This release was signed with 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  and can be found at @​mattfarina keybase account. Please use the attached signatures for verifying this release using gpg.
The Quickstart Guide will get you going from there. For upgrade instructions or detailed installation notes, check the install guide. You can also use a script to install on any system with bash.
What's Next

3.15.0 is the next feature release and will be on May 08, 2024.

Changelog

refactor: create a helper for checking if a release is uninstalled 81c902a (Alex Petrov)
fix: reinstall previously uninstalled chart with --keep-history 5a11c76 (Alex Petrov)
chore: remove repetitive words fb3d880 (deterclosed)
chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.33.0 01ac4a2 (dependabot[bot])
chore(deps): bump github.com/docker/docker 138602d (dependabot[bot])
bug: add proxy support for oci getter aa7d953 (Ricardo Maraschini)

v3.14.3: Helm v3.14.3
Compare Source
Helm v3.14.3 is a patch release. Users are encouraged to upgrade for the best experience. Users are encouraged to upgrade for the best experience.
The community keeps growing, and we'd love to see you there!

Join the discussion in Kubernetes Slack:

for questions and just to hang out
for discussing PRs, code, and bugs


Hang out at the Public Developer Call: Thursday, 9:30 Pacific via Zoom
Test, debug, and contribute charts: ArtifactHub/packages

Installation and Upgrading
Download Helm v3.14.3. The common platform binaries are here:

MacOS amd64 (checksum / 4d5d01a94c7d6b07e71690dc1988bf3229680284c87f4242d28c6f1cc99653be)
MacOS arm64 (checksum / dff794152b62b7c1a9ff615d510f8657bcd7a3727c668e0d9d4955f70d5f7573)
Linux amd64 (checksum / 3c90f24e180f8c207b8a18e5ec82cb0fa49858a7a0a86e4ed52a98398681e00b)
Linux arm (checksum / d4ff88f02d6731ec5dbde86a67bf391e673d0d9e87901727fbf62372aff106ec)
Linux arm64 (checksum / 85e1573e76fa60af14ba7e9ec75db2129b6884203be866893fa0b3f7e41ccd5e)
Linux i386 (checksum / af89e5df5cd21efe4dcaa478b19aaf17d22820716f93c1f098b00f1b7cfe1905)
Linux ppc64le (checksum / aab121ca470e2a502cda849a9b3e92eeb9a32e213b0f0a79a95a04e375d26ce7)
Linux s390x (checksum / d64fa8aced3244b549377741dc4e2db8109e5270c0723c11b547a9da5f99ad43)
Linux riscv64 (checksum / f9f4e68bf43632f5df29e6c9fa760813d7e3537ed91d838cfdc2f103f8442b33)
Windows amd64 (checksum / 369c6db1c114ef2a00793e9a587db6d7b2c72a23e37fd905c8deb78e9a8f7af6)

This release was signed with 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  and can be found at @​mattfarina keybase account. Please use the attached signatures for verifying this release using gpg.
The Quickstart Guide will get you going from there. For upgrade instructions or detailed installation notes, check the install guide. You can also use a script to install on any system with bash.
What's Next

3.14.4 will contain only bug fixes and be released on April 10, 2024.
3.15.0 is the next feature release and will be on May 08, 2024.

Changelog

Add a note about --dry-run displaying secrets f03cc04 (Matt Farina)
add error messages 1a7330f (George Jenkins)
Fix: Ignore alias validation error for index load d6acc00 (George Jenkins)
chore(deps): bump github.com/containerd/containerd from 1.7.11 to 1.7.12 b2738fb (dependabot[bot])
chore(deps): bump github.com/DATA-DOG/go-sqlmock from 1.5.0 to 1.5.2 5b0847e (dependabot[bot])
Update architecture detection method 7e18c39 (weidongkl)



Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.


 If you want to rebase/retry this PR, check this box


This PR has been generated by Mend Renovate. View repository job log here.