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

Fixes Readiness Check for statefulsets using partitioned rolling update. #11774

Merged
merged 2 commits into from Mar 30, 2023

Conversation

amannijhawan
Copy link
Contributor

@amannijhawan amannijhawan commented Jan 30, 2023

Fixes #11773

What this PR does / why we need it:
This change updates readiness check in ready.go to correctly account for statefulsets that are utilizing a partitioned upgrade. These statefulsets only upgrade a subset of the managed pods with each call to helm upgrade. This causes the upgrade to legitimately hit the condition where sts.status.CurrentRevision != sts.Status.UpdateRevision which causes helm to mark the upgrade has failed when in fact it is successful.

This change fixes that behavior to only check when partition is unspecified or 0.

Special notes for your reviewer:

If applicable:

  • [*] this PR contains unit tests
  • [*] this PR has been tested for backwards compatibility

Copy link
Contributor

@bhavin192 bhavin192 left a comment

Choose a reason for hiding this comment

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

Note: I'm not a maintainer, but I have modified a line from this code in past, so thought of reviewing this PR.

Can you add test cases for this scenario here

func Test_ReadyChecker_statefulSetReady(t *testing.T) {

Also, follow:

@joejulian joejulian modified the milestones: 3.12.0, 3.11.1 Jan 31, 2023
@gjenkins8
Copy link
Contributor

+1 to @bhavin192 suggestion to add a test

@amannijhawan
Copy link
Contributor Author

Thanks @gjenkins8 @bhavin192 , I will rework the PR to add a test.

@pull-request-size pull-request-size bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 1, 2023
Fixes helm#11773

This change updates readiness check in ready.go to correctly
account for statefulsets that are utilizing a partitioned upgrade.
These statefulsets only upgrade a subset of the managed pods with each call
to helm upgrade. This causes the upgrade to legitimately hit the condition where
sts.status.CurrentRevision != sts.Status.UpdateRevision which causes helm to mark
the upgrade has failed when in fact it is successful.

This change fixes that behavior to only check when partition is unspecified or 0.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>
…tatefulset works.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>
@amannijhawan
Copy link
Contributor Author

Thanks added tests and sign off comments.

@amannijhawan
Copy link
Contributor Author

Hi Helm Maintainers,
We are currently blocked on upgrading our packaged version of helm with yugabyte because of this issue and the existing version 3.8 has open CVEs that are fixed with 3.11.x releases.

Would it be possible to expedite the review so that we can get this into the next patch release.

Thanks
Aman

@amannijhawan
Copy link
Contributor Author

Gentle Bump for this PR.

Copy link
Contributor

@gjenkins8 gjenkins8 left a comment

Choose a reason for hiding this comment

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

LGTMe (non-maintainer; will add to helm dev weekly agenda)

@gjenkins8
Copy link
Contributor

gjenkins8 commented Feb 28, 2023

Couple of extra notes for additional reviewers. Issue #11773 Has additional details too.

Was broken by: #10622
Kubectl logic: https://github.com/kubernetes/kubectl/blob/3ec401449e5821ad954942c7ecec9d2c90ecaaa1/pkg/polymorphichelpers/rollout_status.go#L136-L145

@amannijhawan
Copy link
Contributor Author

Thanks for the help @TerryHowe @gjenkins8 .

@amannijhawan
Copy link
Contributor Author

Gentle bump again for this PR.

@mattfarina mattfarina modified the milestones: 3.11.2, 3.11.3 Mar 8, 2023
@amannijhawan
Copy link
Contributor Author

As discussed verified on kubernetes 1.18 using minikube

[centos@dev-server-anijhawan-4 example]$ ~/helm/bin/helm version
version.BuildInfo{Version:"v3.11+unreleased", GitCommit:"ca9ba308040a27c2a23b9a9efd2325d5b849961c", GitTreeState:"clean", GoVersion:"go1.18.3"}
[centos@dev-server-anijhawan-4 example]$ kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-15T13:40:17Z", GoVersion:"go1.19.7", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:50:46Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.26) and server (1.18) exceeds the supported minor version skew of +/-1

Repro of the bug

[centos@dev-server-anijhawan-4 example]$ kubectl get pods -n repro
NAME  READY  STATUS  RESTARTS  AGE
web-0  1/1   Running  0     79s
web-1  1/1   Running  0     78s
web-2  1/1   Running  0     77s

[centos@dev-server-anijhawan-4 example]$ helm upgrade helm-test ./ --debug --timeout=100s --wait --values=upgrade.yaml -n repro
upgrade.go:144: [debug] preparing upgrade for helm-test
upgrade.go:152: [debug] performing update for helm-test
upgrade.go:324: [debug] creating upgraded release for helm-test
client.go:396: [debug] checking 2 resources for changes
client.go:675: [debug] Looks like there are no changes for Service "nginx"
client.go:684: [debug] Patch StatefulSet "web" in namespace repro
upgrade.go:396: [debug] waiting for release helm-test resources (created: 0 updated: 2 deleted: 0)
wait.go:48: [debug] beginning wait for 2 resources with timeout of 1m40s
ready.go:362: [debug] StatefulSet is not ready: repro/web. update has not yet been observed
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:398: [debug] StatefulSet is not ready: repro/web. currentRevision web-6b4fd5c9f6 does not yet match updateRevision web-98b6f67cf
ready.go:398: [debug] StatefulSet is not ready: repro/web. currentRevision web-6b4fd5c9f6 does not yet match updateRevision web-98b6f67cf
ready.go:398: [debug] StatefulSet is not ready: repro/web. currentRevision web-6b4fd5c9f6 does not yet match updateRevision

upgrade.go:436: [debug] warning: Upgrade "helm-test" failed: timed out waiting for the condition
Error: UPGRADE FAILED: timed out waiting for the condition
helm.go:84: [debug] timed out waiting for the condition
UPGRADE FAILED
main.newUpgradeCmd.func2
	helm.sh/helm/v3/cmd/helm/upgrade.go:203
github.com/spf13/cobra.(*Command).execute
	github.com/spf13/cobra@v1.6.1/command.go:916
github.com/spf13/cobra.(*Command).ExecuteC
	github.com/spf13/cobra@v1.6.1/command.go:1044
github.com/spf13/cobra.(*Command).Execute
	github.com/spf13/cobra@v1.6.1/command.go:968
main.main
	helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
	runtime/proc.go:250
runtime.goexit
	runtime/asm_386.s:1326

Verifying the patch

[centos@dev-server-anijhawan-4 example]$ ~/helm/bin/helm upgrade helm-test ./ --debug --timeout=100s --wait --values=upgrade.yaml -n repro
upgrade.go:142: [debug] preparing upgrade for helm-test
upgrade.go:150: [debug] performing update for helm-test
upgrade.go:322: [debug] creating upgraded release for helm-test
client.go:396: [debug] checking 2 resources for changes
client.go:675: [debug] Looks like there are no changes for Service "nginx"
client.go:684: [debug] Patch StatefulSet "web" in namespace repro
upgrade.go:394: [debug] waiting for release helm-test resources (created: 0 updated: 2 deleted: 0)
wait.go:48: [debug] beginning wait for 2 resources with timeout of 1m40s
ready.go:362: [debug] StatefulSet is not ready: repro/web. update has not yet been observed
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:388: [debug] StatefulSet is not ready: repro/web. 0 out of 1 expected pods have been scheduled
ready.go:404: [debug] StatefulSet is ready: repro/web. 3 out of 3 expected pods are ready
upgrade.go:157: [debug] updating status for upgraded release for helm-test
Release "helm-test" has been upgraded. Happy Helming!
NAME: helm-test
LAST DEPLOYED: Wed Mar 22 23:19:48 2023
NAMESPACE: repro
STATUS: deployed
REVISION: 3
TEST SUITE: None
USER-SUPPLIED VALUES:
replicaCount: 3
resources:
 requests:
  cpu: 100m
  memory: 512Mi
  storage: 2Gi
rollingUpdate:
 partition: 2

COMPUTED VALUES:
replicaCount: 3
resources:
 requests:
  cpu: 100m
  memory: 512Mi
  storage: 2Gi
rollingUpdate:
 partition: 2

HOOKS:
MANIFEST:
---
# Source: example/templates/sts.yaml
apiVersion: v1
kind: Service
metadata:
 name: nginx
 labels:
  app: nginx
spec:
 ports:
 - port: 80
  name: web
 clusterIP: None
 selector:
  app: nginx
---
# Source: example/templates/sts.yaml
apiVersion: apps/v1 # for k8s versions before 1.9.0 use apps/v1beta2 and before 1.8.0 use extensions/v1beta1
kind: StatefulSet
metadata:
 name: web
 labels:
  app: nginx
spec:
 updateStrategy:
  type: "RollingUpdate"
  rollingUpdate:
   partition: 2 
 serviceName: "nginx"
 selector:
  matchLabels:
   app: nginx
 replicas: 3 
 template:
  metadata:
   labels:
    app: nginx
  spec:
   containers:
   - name: nginx
    image: k8s.gcr.io/nginx-slim:0.8
    resources:
     requests:
      memory: 512Mi 
    ports:
    - containerPort: 80
     name: web
    volumeMounts:
    - name: www
     mountPath: /usr/share/nginx/html
 volumeClaimTemplates:
 - metadata:
   name: www
  spec:
   accessModes: [ "ReadWriteOnce" ]
   resources:
    requests:
     storage: 2Gi

[centos@dev-server-anijhawan-4 example]$ kubectl get pods -n repro
NAME  READY  STATUS  RESTARTS  AGE
web-0  1/1   Running  0     79s
web-1  1/1   Running  0     78s
web-2  1/1   Running  0     10s

@technosophos technosophos merged commit eea2f27 into helm:main Mar 30, 2023
@amannijhawan
Copy link
Contributor Author

Thank you all for your help in getting this issue reviewed and merged.

@mattfarina mattfarina added the needs-pick Indicates that a PR needs to be cherry-picked into the next release candidate. label Apr 3, 2023
drewgonzales360 pushed a commit to drewgonzales360/helm that referenced this pull request Apr 6, 2023
…te. (helm#11774)

* Fixes Readiness Check for statefulsets using partitioned rolling update.
Fixes helm#11773

This change updates readiness check in ready.go to correctly
account for statefulsets that are utilizing a partitioned upgrade.
These statefulsets only upgrade a subset of the managed pods with each call
to helm upgrade. This causes the upgrade to legitimately hit the condition where
sts.status.CurrentRevision != sts.Status.UpdateRevision which causes helm to mark
the upgrade has failed when in fact it is successful.

This change fixes that behavior to only check when partition is unspecified or 0.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>

* Adding a unit test to verify that partitioned rolling upgrade for a statefulset works.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>

---------

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>
Co-authored-by: Aman Nijhawan <anijhawan@yugabyte.com>
Signed-off-by: Drew Gonzales <drew.gonzales@datadoghq.com>
mattfarina pushed a commit that referenced this pull request Apr 6, 2023
…te. (#11774)

* Fixes Readiness Check for statefulsets using partitioned rolling update.
Fixes #11773

This change updates readiness check in ready.go to correctly
account for statefulsets that are utilizing a partitioned upgrade.
These statefulsets only upgrade a subset of the managed pods with each call
to helm upgrade. This causes the upgrade to legitimately hit the condition where
sts.status.CurrentRevision != sts.Status.UpdateRevision which causes helm to mark
the upgrade has failed when in fact it is successful.

This change fixes that behavior to only check when partition is unspecified or 0.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>

* Adding a unit test to verify that partitioned rolling upgrade for a statefulset works.

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>

---------

Signed-off-by: Aman Nijhawan <anijhawan@yugabyte.com>
Co-authored-by: Aman Nijhawan <anijhawan@yugabyte.com>
(cherry picked from commit eea2f27)
@mattfarina mattfarina added picked Indicates that a PR has been cherry-picked into the next release candidate. and removed needs-pick Indicates that a PR needs to be cherry-picked into the next release candidate. labels Apr 6, 2023
shosti pushed a commit to shosti/eevans-infra that referenced this pull request Dec 3, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [helm](https://github.com/helm/helm) | minor | `3.11.0` -> `3.13.2` |

---

> ⚠ **Warning**
>
> Some dependencies could not be looked up. Check the warning logs for more information.

---

### Release Notes

<details>
<summary>helm/helm (helm)</summary>

### [`v3.13.2`](https://github.com/helm/helm/releases/tag/v3.13.2): Helm v3.13.2

[Compare Source](https://github.com/helm/helm/compare/v3.13.1...v3.13.2)

Helm v3.13.2 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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.13.2. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.13.2-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-darwin-amd64.tar.gz.sha256sum) / 977c2faa49993aa8baa2c727f8f35a357576d6278d4d8618a5a010a56ad2dbee)
-   [MacOS arm64](https://get.helm.sh/helm-v3.13.2-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-darwin-arm64.tar.gz.sha256sum) / 00f00c66165ba0dcd9efdbef66a5508fb4fe4425991c0e599e0710f8ff7aa02e)
-   [Linux amd64](https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gz.sha256sum) / 55a8e6dce87a1e52c61e0ce7a89bf85b38725ba3e8deb51d4a08ade8a2c70b2d)
-   [Linux arm](https://get.helm.sh/helm-v3.13.2-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-arm.tar.gz.sha256sum) / 06e8436bde78d53ddb5095ba146fe6c7001297c7dceb9ef6b68992c3ecfde770)
-   [Linux arm64](https://get.helm.sh/helm-v3.13.2-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-arm64.tar.gz.sha256sum) / f5654aaed63a0da72852776e1d3f851b2ea9529cb5696337202703c2e1ed2321)
-   [Linux i386](https://get.helm.sh/helm-v3.13.2-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-386.tar.gz.sha256sum) / 7d1307e708d4eb043686c8635df567773221397d5d0151d37000b7c472170b3a)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.13.2-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-ppc64le.tar.gz.sha256sum) / 11d96134cc4ec106c23cd8c163072e9aed6cd73e36a3da120e5876d426203f37)
-   [Linux s390x](https://get.helm.sh/helm-v3.13.2-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.2-linux-s390x.tar.gz.sha256sum) / 3ffc5b4a041e5306dc00905ebe5dfea449e34ada268a713d34c69709afd6a9a2)
-   [Windows amd64](https://get.helm.sh/helm-v3.13.2-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.13.2-windows-amd64.zip.sha256sum) / 1ef931cb40bfa049fa5ee337ec16181345d7d0c8ab863fe9b04abe320fa2ae6e)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.13.3 is a patch release and will be on December 13, 2023.
-   3.14.0 is the next feature release and be on January 17, 2024.

#### Changelog

-   chore(deps): bump google.golang.org/grpc from 1.54.0 to 1.56.3 [`2a2fb3b`](https://github.com/helm/helm/commit/2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243) (dependabot\[bot])
-   Update get-helm-3 [`8f554be`](https://github.com/helm/helm/commit/8f554be39fcd4cbcff47bc4def8bb45ae0ed9d8c) (Marcel Humburg)
-   chore(deps): bump github.com/docker/docker [`00a334c`](https://github.com/helm/helm/commit/00a334c1d913d7582e430ad9c64d0ca14cf465ff) (dependabot\[bot])
-   Fixing release labelling in rollback [`12826e8`](https://github.com/helm/helm/commit/12826e839c3696aa901f0aee99587113ed4de694) (Marcin Chojnacki)
-   Drop filterSystemLabels usage from Query method [`666b199`](https://github.com/helm/helm/commit/666b199dbea63c5cad9235abb74eed66ce9d6cd8) (Dmitry Chepurovskiy)
-   Apply review suggestions [`7e0084a`](https://github.com/helm/helm/commit/7e0084a394fdd2f379d7b21a5477c04f8dd96c84) (Dmitry Chepurovskiy)
-   Allow using label selectors for system labels for sql backend. [`10018ff`](https://github.com/helm/helm/commit/10018ff34bc13cb4cac9e95b03a1c4720717445e) (Dmitry Chepurovskiy)
-   Allow using label selectors for system labels for secrets and configmap backends. [`3b4cacf`](https://github.com/helm/helm/commit/3b4cacf717ab8708b582397b131182ab833687a2) (Dmitry Chepurovskiy)
-   Revert "fix(main): fix basic auth for helm pull or push" [`e785e6c`](https://github.com/helm/helm/commit/e785e6c50c622ed5019fd4020a13509c87a3022d) (Matt Farina)
-   Revert "fix(registry): address anonymous pull issue" [`268dced`](https://github.com/helm/helm/commit/268dcedba6a231b623c8252a3dafa0052d161c6e) (Matt Farina)
-   chore(deps): bump golang.org/x/net from 0.13.0 to 0.17.0 [`99ce118`](https://github.com/helm/helm/commit/99ce118b0ab10bc52d883412381ed9da0f35b14e) (dependabot\[bot])
-   Update get-helm-3 to get version through get.helm.sh [`28f208c`](https://github.com/helm/helm/commit/28f208c3da7cdf4099255e332d2acee957d5abb0) (Ian Zink)

### [`v3.13.1`](https://github.com/helm/helm/releases/tag/v3.13.1): Helm v3.13.1

[Compare Source](https://github.com/helm/helm/compare/v3.13.0...v3.13.1)

Helm v3.13.1 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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.13.1. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.13.1-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-darwin-amd64.tar.gz.sha256sum) / e207e009b931162b0383b463c333a2792355200e91dbcf167c97c150e9f5fedb)
-   [MacOS arm64](https://get.helm.sh/helm-v3.13.1-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-darwin-arm64.tar.gz.sha256sum) / 46596d6d2d9aa545eb74f40684858fac0841df373ca760af1259d3493161d8c9)
-   [Linux amd64](https://get.helm.sh/helm-v3.13.1-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-amd64.tar.gz.sha256sum) / 98c363564d00afd0cc3088e8f830f2a0eeb5f28755b3d8c48df89866374a1ed0)
-   [Linux arm](https://get.helm.sh/helm-v3.13.1-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-arm.tar.gz.sha256sum) / a9c188c1a79d2eb1721aece7c4e7cfcd56fa76d1e37bd7c9c05d3969bb0499b4)
-   [Linux arm64](https://get.helm.sh/helm-v3.13.1-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-arm64.tar.gz.sha256sum) / 8c4a0777218b266a7b977394aaf0e9cef30ed2df6e742d683e523d75508d6efe)
-   [Linux i386](https://get.helm.sh/helm-v3.13.1-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-386.tar.gz.sha256sum) / 384e1f97b6dafad62ccdd856e9453b68143e4dbdc7b9cf9a2a2f79c2aa7c2cc9)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.13.1-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-ppc64le.tar.gz.sha256sum) / f0d4ae95b4db25d03ced987e30d424564bd4727af6a4a0b7fca41f14203306fb)
-   [Linux s390x](https://get.helm.sh/helm-v3.13.1-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.1-linux-s390x.tar.gz.sha256sum) / b657b72b34f568527093dede148ae72fcbc1f2e67d3fd6f2ffa1095637fbddb6)
-   [Windows amd64](https://get.helm.sh/helm-v3.13.1-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.13.1-windows-amd64.zip.sha256sum) / 6e16fbc5e50a5841be2dc725e790234f09aa2a5ebe289493c90f65ecae7b156f)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.13.2 is a patch release and will be on November 08, 2023.
-   3.14.0 is the next feature release and be on January 17, 2024.

#### Changelog

-   Fixing precedence issue with the import of values. [`3547a4b`](https://github.com/helm/helm/commit/3547a4b5bf5edb5478ce352e18858d8a552a4110) (Matt Farina)
-   Add missing with clause to release gh action [`6f9ad87`](https://github.com/helm/helm/commit/6f9ad87ce76183ee4f04c567828d0d1c48fcc162) (Ian Zink)
-   FIX Default ServiceAccount yaml [`bae7b32`](https://github.com/helm/helm/commit/bae7b3293c4c8ce2561874cf93ebae56d490b2f6) (Lars Zimmermann)
-   fix(registry): unswallow error [`06e4fb1`](https://github.com/helm/helm/commit/06e4fb10a66ea984d555905702775aab639f8790) (Hidde Beydals)
-   remove useless print during prepareUpgrade [`0e7ec78`](https://github.com/helm/helm/commit/0e7ec78e56834fff65fe21e6a715601d7dfa5f5a) (b4nks)
-   fix(registry): address anonymous pull issue [`0ac7894`](https://github.com/helm/helm/commit/0ac78941abfed981a47f263fa59931e9123f73a1) (Hidde Beydals)
-   Fix missing run statement on release action [`0901269`](https://github.com/helm/helm/commit/09012691de50da37254d1ef98d97333c4a3e35c5) (Ian Zink)
-   Write latest version to get.helm.sh bucket [`6101393`](https://github.com/helm/helm/commit/6101393668f05c081e8be568d33bd82a1b66076a) (Ian Zink)
-   chore(deps): bump oras.land/oras-go from 1.2.3 to 1.2.4 [`c99a8ac`](https://github.com/helm/helm/commit/c99a8acfdd0c8ad57a9f5dfd2b5da6ed8ca7e7df) (dependabot\[bot])
-   Increased release information key name max length. [`52a029d`](https://github.com/helm/helm/commit/52a029dcde7562d1d652a5b2c841c92c25145f15) (abrarcv170)
-   chore(deps): bump golang.org/x/text from 0.11.0 to 0.13.0 [`ff8e61d`](https://github.com/helm/helm/commit/ff8e61d2cd67cfa24753605aa5b8ce79ea6c89a3) (dependabot\[bot])

### [`v3.13.0`](https://github.com/helm/helm/releases/tag/v3.13.0): Helm v3.13.0

[Compare Source](https://github.com/helm/helm/compare/v3.12.3...v3.13.0)

Helm v3.13.0 is a feature release. 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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Notable Changes

-   The `--dry-run` flag now has multiple options which can enable Helm to connect to a Kubernetes instance. The default, when `--dry-run` is used, is unchanged.
-   Values handling had numerous issues fixed and now consistently has a priority of (1) User specified values (e.g CLI), (2) parent chart values, (3) imported values, and (4) subchart values. Additionally, null can now consistently be used to remove values. Note, there is a regression around this in 3.13.0 that's fixed in 3.13.1.
-   Can work with OCI registries over HTTP using the `--plain-http` flag
-   Helm now adds the OCI creation annotation
-   New `helm get metadata` command
-   The SQL driver now only needs write on the first run or when the schema is updated
-   Added labels support for install and upgrade commands
-   The ability to have index.yaml holding JSON content instead of YAML using the `--json` flag when creating it. JSON is faster to parse and uses less memory which impacts larger files. This is backwards compatible as Helm, all the way back to 3.0.0, parsing can handle JSON content in the index.yaml file.

#### Installation and Upgrading

Download Helm v3.13.0. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.13.0-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-darwin-amd64.tar.gz.sha256sum) / d44aa324ba6b2034e1f9eec34b80ec386a5e2c88a3db47f7276b3b5981ebd2a1)
-   [MacOS arm64](https://get.helm.sh/helm-v3.13.0-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-darwin-arm64.tar.gz.sha256sum) / fda10c694f2e926d8b4195c12001e83413b598fb7a828c8b6751ae4a355e0ca6)
-   [Linux amd64](https://get.helm.sh/helm-v3.13.0-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-amd64.tar.gz.sha256sum) / 138676351483e61d12dfade70da6c03d471bbdcac84eaadeb5e1d06fa114a24f)
-   [Linux arm](https://get.helm.sh/helm-v3.13.0-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-arm.tar.gz.sha256sum) / bb2cdde0d12c55f65e88e7c398e67463e74bc236f68b7f307a73174b35628c2e)
-   [Linux arm64](https://get.helm.sh/helm-v3.13.0-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-arm64.tar.gz.sha256sum) / d12a0e73a7dbff7d89d13e0c6eb73f5095f72d70faea30531941d320678904d2)
-   [Linux i386](https://get.helm.sh/helm-v3.13.0-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-386.tar.gz.sha256sum) / f644910b9eb5f0a8427397c06dc0ddd9412925a0631decf2740363d38a8c9190)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.13.0-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-ppc64le.tar.gz.sha256sum) / d9be0057c21ce5994885630340b4f2725a68510deca6e3c455030d83336e4797)
-   [Linux s390x](https://get.helm.sh/helm-v3.13.0-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.13.0-linux-s390x.tar.gz.sha256sum) / ef0b68f9c55220c31a5071d73e877c27c40965889d9e28234aaed223a5df4730)
-   [Windows amd64](https://get.helm.sh/helm-v3.13.0-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.13.0-windows-amd64.zip.sha256sum) / 8989f94407d31da2697a7354fba5f5c436b27ea193f76de6f1d37a51898a97a1)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.13.1 is the next bug fix release and will be on October 11, 2023.
-   3.14.0 is the next feature release and be on January 17, 2024.

#### Changelog

-   bump version to v3.13.0 [`825e86f`](https://github.com/helm/helm/commit/825e86f6a7a38cef1112bfa606e4127a706749b1) (Matt Farina)
-   Fix leaking goroutines in Install [`169561a`](https://github.com/helm/helm/commit/169561a1b381ae1a6a3974d84c303f19f324ffa0) (Michał Słapek)
-   chore(deps): bump github.com/containerd/containerd from 1.7.3 to 1.7.6 [`417040d`](https://github.com/helm/helm/commit/417040dbd73bb557069e80e68329f06479dfcf05) (dependabot\[bot])
-   chore(deps): bump github/codeql-action from 2.21.5 to 2.21.7 [`610217f`](https://github.com/helm/helm/commit/610217f3448efdcab03f31e6bd3e28fa98f20035) (dependabot\[bot])
-   Update Helm to use k8s 1.28.2 libraries [`c2ab954`](https://github.com/helm/helm/commit/c2ab954ac20f65851e663e66dffdf1ce2d1f0601) (Matt Farina)
-   chore(deps): bump github.com/cyphar/filepath-securejoin [`b9fd7f5`](https://github.com/helm/helm/commit/b9fd7f5ba1cbb54fa408b2c48752779c06ce81a3) (dependabot\[bot])
-   make the dependabot k8s.io group explicit [`ca3a05e`](https://github.com/helm/helm/commit/ca3a05ec4260d2240c0d8bd99e857a86014ee7a8) (Joe Julian)
-   use dependabot's group support for k8s.io dependencies [`04ec71a`](https://github.com/helm/helm/commit/04ec71af5e83113f548f4259efc3e185f6bc1e62) (Joe Julian)
-   chore(deps): bump transparencylog/github-releases-asset-transparency-verify-action [`ebb3168`](https://github.com/helm/helm/commit/ebb316842bb0b7bcaf01a84928af9805d87c40fd) (dependabot\[bot])
-   chore(deps): bump github/codeql-action from 2.21.4 to 2.21.5 [`fa45978`](https://github.com/helm/helm/commit/fa459781c1f8024eceedb923aaeb28cf56b55bfe) (dependabot\[bot])
-   doc:Executing helm rollback release 0 will roll back to the previous release [`e01731d`](https://github.com/helm/helm/commit/e01731d83a8feef6ab73ea3bcc4237909091f8db) (ithrael)
-   fix conflict [`4944acb`](https://github.com/helm/helm/commit/4944acb3410d9baf377a495f41df628115a3ce35) (Maxim Trofimov)
-   add big tests [`6138e10`](https://github.com/helm/helm/commit/6138e101aa4a468f4fdc169b1fda64b6cd32a111) (Maxim Trofimov)
-   fix conflict [`199784f`](https://github.com/helm/helm/commit/199784f7116cd1949aacb6af0b3e1cd473227d75) (Maxim Trofimov)
-   fix [`b786cb4`](https://github.com/helm/helm/commit/b786cb40f09212a2b1c2c337f233a9b9c28122d9) (Maxim Trofimov)
-   add check if all migrations already applied [`df5904d`](https://github.com/helm/helm/commit/df5904d88aed0b7d1d110f17297037811a0dafd4) (Maxim Trofimov)
-   chore(deps): bump github.com/moby/term [`fa89665`](https://github.com/helm/helm/commit/fa896656d908a0f45bcdb31af68c1851e4c095b1) (dependabot\[bot])
-   chore(deps): bump actions/checkout from 3.5.3 to 3.6.0 [`4283b2c`](https://github.com/helm/helm/commit/4283b2cb3d22c21a56ad0c7b7f340a7e50b0330e) (dependabot\[bot])
-   chore(deps): bump golang.org/x/term from 0.10.0 to 0.11.0 [`d82cc90`](https://github.com/helm/helm/commit/d82cc9097b219456ef0e40b96fd98a99ce37070a) (dependabot\[bot])
-   Use labels instead of selectorLabels for pod labels [`479be0c`](https://github.com/helm/helm/commit/479be0c36bfcd96ff49c82b851cec40d21650a36) (Tim Chaplin)
-   fix(helm): fix GetPodLogs, the hooks should be sorted before get the logs of each hook [`4e5e68d`](https://github.com/helm/helm/commit/4e5e68d55c3d4bb385a582e633cfeaa5635981eb) (Bingtan Lu)
-   chore(deps): bump github.com/rubenv/sql-migrate from 1.5.1 to 1.5.2 [`3c26d65`](https://github.com/helm/helm/commit/3c26d6559ef2ed3fb5c96edb3b8241615342a193) (dependabot\[bot])
-   remove blank [`ee1cbed`](https://github.com/helm/helm/commit/ee1cbed6081243be9eab62d3446454279221a545) (ithrael)
-   add blank [`0eb3df6`](https://github.com/helm/helm/commit/0eb3df676c101e5e6e53214b167ea6acf531a3a2) (ithrael)
-   add rollback unit test [`0688046`](https://github.com/helm/helm/commit/0688046df60faee0659984f848198b10e8679ef3) (ithrael)
-   fix: helm rollback err tips [`db9460c`](https://github.com/helm/helm/commit/db9460cc8710c37525e08e7d314c354108d69383) (ithrael)
-   chore(deps): bump github.com/containerd/containerd from 1.7.0 to 1.7.3 [`817e646`](https://github.com/helm/helm/commit/817e646dfe8a9d6abc35f6f3d974e98cfd2ec650) (dependabot\[bot])
-   Add Ian Zink (z4ce) as triage maintainer [`758dc01`](https://github.com/helm/helm/commit/758dc0163013baab18bd72718f7a4eb26a32e8e3) (Ian Zink)
-   chore(deps): bump github/codeql-action from 2.21.3 to 2.21.4 [`04850dc`](https://github.com/helm/helm/commit/04850dc73dc7a5c7e8d66ccc9d10d273c109598f) (dependabot\[bot])
-   chore: HTTPGetter add default timeout [`2011a31`](https://github.com/helm/helm/commit/2011a3191c814ed976b05cb44aa7e9277383422c) (0xff-dev)
-   fix: precedence typo [`bf543d9`](https://github.com/helm/helm/commit/bf543d94e95557cd4cc796ec5313e4548b4d126f) (guoguangwu)
-   Avoid nil dereference if passing a nil resolver [`3607cd7`](https://github.com/helm/helm/commit/3607cd7110a8e62c69ea02900139c1c54534aaa9) (Antonio Gamez Diaz)
-   Add required changes after merge [`197d1de`](https://github.com/helm/helm/commit/197d1defbf8262c22396e061791cf7c4b8559e9b) (Antonio Gamez Diaz)
-   goimports [`5b08985`](https://github.com/helm/helm/commit/5b0898513820e5952e0293b81fd098429f0e394f) (satoru)
-   Fix [#&#8203;3352](https://github.com/helm/helm/issues/3352), add support for --ignore-not-found just like kubectl delete [`48dbda2`](https://github.com/helm/helm/commit/48dbda2fa8d1e8981c271a56fe51bdf8b131fac2) (suzaku)
-   chore(deps): bump github/codeql-action from 2.21.2 to 2.21.3 [`aab4c45`](https://github.com/helm/helm/commit/aab4c4552edea8d8ec617b75b7da667183a2593d) (dependabot\[bot])
-   chore(deps): bump actions/setup-go from 4.0.1 to 4.1.0 [`c3a4122`](https://github.com/helm/helm/commit/c3a4122dc6a8e2ec78a2f82e1aeb380915935205) (dependabot\[bot])
-   Fix helm may identify achieve of the application/x-gzip as application/vnd.ms-fontobject [`5c7a631`](https://github.com/helm/helm/commit/5c7a63138b70f2493be7ea5245791ba40091b9b2) (MR ZHAO)
-   Restore `helm get metadata` command [`0b5e9d3`](https://github.com/helm/helm/commit/0b5e9d37c849df546580f78a387d7d4a3a2a1c8d) (Mikhail Kopylov)
-   Revert "Add `helm get metadata` command" [`e8e6da2`](https://github.com/helm/helm/commit/e8e6da28d1aab2101aaec0f9b517d2be0b3c4d56) (Joe Julian)
-   Update pkg/action/install.go [`735ff8f`](https://github.com/helm/helm/commit/735ff8f92c14256ab8cfaa4dcc1b08af7c63fec0) (Dmitry Chepurovskiy)
-   test: replace `ensure.TempDir` with `t.TempDir` [`2ceebff`](https://github.com/helm/helm/commit/2ceebffc770968733dbf01997cdbcfc29cbb155b) (Eng Zer Jun)
-   chore(deps): bump github/codeql-action from 2.21.0 to 2.21.2 [`95ba0c6`](https://github.com/helm/helm/commit/95ba0c69531bca72b75f07d7fb7f53badfaa5266) (dependabot\[bot])
-   use json api url + report curl/wget error on fail [`9d038a2`](https://github.com/helm/helm/commit/9d038a223f7052f04ae3e3eab92784d95d1d9ad8) (shoce)
-   Added error in case try to supply custom label with name of system label during install/upgrade [`7b13ac9`](https://github.com/helm/helm/commit/7b13ac9914188d69954966e500cbace18e8e9506) (Dmitry Chepurovskiy)
-   Updated per feedback from gjenkins8 [`e8a748d`](https://github.com/helm/helm/commit/e8a748d3003faaa4846d2a9f30f7225d232b76d5) (Matt Farina)
-   fix(main): fix basic auth for helm pull or push [`4a27baa`](https://github.com/helm/helm/commit/4a27baaffc7ae112c2f45e3cd72dd249d9563a5a) (cuisongliu)
-   chore(deps): bump github.com/sirupsen/logrus from 1.9.0 to 1.9.3 [`48cf02b`](https://github.com/helm/helm/commit/48cf02b57f76684501815b200c8223c0fbffe0e4) (dependabot\[bot])
-   cmd: support generating index in JSON format [`2544aa2`](https://github.com/helm/helm/commit/2544aa23a33977d91fe8f59d12dd923dc43be6c5) (Hidde Beydals)
-   repo: detect JSON and unmarshal efficiently [`e21c9cf`](https://github.com/helm/helm/commit/e21c9cf7e243ca30868c2dfdd232168d7c4f744e) (Hidde Beydals)
-   Tweaking new dry-run internal handling [`96e33e2`](https://github.com/helm/helm/commit/96e33e2773bb00a82dc94fcdb73950e08dd4229d) (Matt Farina)
-   chore(deps): bump github/codeql-action from 2.20.3 to 2.21.0 [`2e22395`](https://github.com/helm/helm/commit/2e223956674fd63f44f424003b7e2062fa6751ad) (dependabot\[bot])
-   chore(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.4 [`7d0deb3`](https://github.com/helm/helm/commit/7d0deb35d9694b396c20bb99f991d98c3fd2ada2) (dependabot\[bot])
-   chore(deps): bump github.com/BurntSushi/toml from 1.2.1 to 1.3.2 [`f11e2da`](https://github.com/helm/helm/commit/f11e2dac8d7beb3d01cbdfffa273e1aa2e8fca79) (dependabot\[bot])
-   chore(deps): bump github.com/opencontainers/image-spec [`ef0f3e5`](https://github.com/helm/helm/commit/ef0f3e5c51c79d72e6e6f3a28f85f620607f0962) (dependabot\[bot])
-   bump kubernetes modules to v0.27.3 [`9c4f733`](https://github.com/helm/helm/commit/9c4f73332d084793ce917402679832e84057a08a) (Joe Julian)
-   chore(deps): bump actions/checkout from 3.2.0 to 3.5.3 [`f9e5db3`](https://github.com/helm/helm/commit/f9e5db39c96dcd53635085d80687f64cba53e9fa) (dependabot\[bot])
-   chore(deps): bump actions/setup-go from 3.5.0 to 4.0.1 [`6e2bddd`](https://github.com/helm/helm/commit/6e2bddde6a0c0d8cc54ccb50e602de0e049ac84d) (dependabot\[bot])
-   chore(deps): bump github/codeql-action from 2.1.37 to 2.20.3 [`31e9e54`](https://github.com/helm/helm/commit/31e9e54265bff22dd985eb7d48d52cc2c220cb65) (dependabot\[bot])
-   chore(deps): bump github.com/spf13/cobra from 1.6.1 to 1.7.0 [`87cbd34`](https://github.com/helm/helm/commit/87cbd34280a0e4b7d6f0b7112cd93094b85b6d1e) (dependabot\[bot])
-   chore(deps): bump golang.org/x/crypto from 0.5.0 to 0.11.0 [`91a3f73`](https://github.com/helm/helm/commit/91a3f73b0e76707d9996959f5a1311acfd766c11) (dependabot\[bot])
-   chore(deps): bump golang.org/x/text from 0.9.0 to 0.11.0 [`0ff4b74`](https://github.com/helm/helm/commit/0ff4b746ea329892314e3c6a835fb71a740f38f8) (dependabot\[bot])
-   chore(deps): bump k8s.io/klog/v2 from 2.90.1 to 2.100.1 [`b1fe927`](https://github.com/helm/helm/commit/b1fe927dc5927766555f1fc30d391da712b7720a) (dependabot\[bot])
-   chore(deps): bump github.com/docker/docker [`b262738`](https://github.com/helm/helm/commit/b262738f9c6a40377886a82a5b3aea4698af99a3) (dependabot\[bot])
-   Remove warning for template directory not found. [`9dab6e9`](https://github.com/helm/helm/commit/9dab6e977015cb92bf61c1f93a35316cae5e2462) (James Blair)
-   Add gjenkins8 as triage maintainer [`5840269`](https://github.com/helm/helm/commit/58402691207bd80ef80600315999bf021e41829b) (George Jenkins)
-   Added tests for created OCI annotation time format [`d72b42d`](https://github.com/helm/helm/commit/d72b42da615ede10877fd7d66085e1e6fe5ab546) (Andrew Block)
-   Add created OCI annotation [`c4870d9`](https://github.com/helm/helm/commit/c4870d990cb0f7398d0cb569ee438f4a24e57f22) (Andrew Block)
-   Fix multiple bugs in values handling [`0a5148f`](https://github.com/helm/helm/commit/0a5148faffb7110bab58a466a52be0686a69947c) (Matt Farina)
-   chore: fix a typo in `manager.go` [`15e6066`](https://github.com/helm/helm/commit/15e6066a45cbd2b98023cf07bb1cfb45e18d2d95) (Yarden Shoham)
-   chore(deps): bump github.com/rubenv/sql-migrate from 1.3.1 to 1.5.1 [`d0febd5`](https://github.com/helm/helm/commit/d0febd50befbf826e6c3af3c4b96f1e04f60f780) (dependabot\[bot])
-   add GetRegistryClient method [`c87f846`](https://github.com/helm/helm/commit/c87f846d8869ddf684e5a2d53c343a89f25bdbb5) (wujunwei)
-   chore(deps): bump oras.land/oras-go from 1.2.2 to 1.2.3 [`d8caa67`](https://github.com/helm/helm/commit/d8caa67a0f88b6e6a6d486ed547abd716f2c3dce) (dependabot\[bot])
-   oci: add tests for plain HTTP and insecure HTTPS registries [`6defb96`](https://github.com/helm/helm/commit/6defb96dac59b963c0d19c6d0c89a58821604dd1) (Sanskar Jaiswal)
-   chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 [`2bfc367`](https://github.com/helm/helm/commit/2bfc367b32a269b3a33c564fca407d949dbe7f9d) (dependabot\[bot])
-   oci: Add flag `--plain-http` to enable working with HTTP registries [`2538b92`](https://github.com/helm/helm/commit/2538b927a746cea1ea4d69a321c6e564d7d00e20) (Sanskar Jaiswal)
-   docs: add an example for using the upgrade command with existing values [`e35bf1f`](https://github.com/helm/helm/commit/e35bf1f93924ad7f9b1be732a9f2011f930bdd7c) (Jose Diaz-Gonzalez)
-   Replace `fmt.Fprintf` with `fmt.Fprint` in get_metadata.go [`587c85f`](https://github.com/helm/helm/commit/587c85f2e7a52aa019aa622b3a59bb2b53b0cd33) (Mikhail Kopylov)
-   Replace `fmt.Fprintln` with `fmt.Fprintf` in get_metadata.go [`5eb1e9d`](https://github.com/helm/helm/commit/5eb1e9d0dbe27b0dbe51769777012911564119c5) (Mikhail Kopylov)
-   update kubernetes dependencies from v0.27.0 to v0.27.1 [`54ca3a8`](https://github.com/helm/helm/commit/54ca3a82c289907a691539f8e25c2d92ae068ba3) (Joe Julian)
-   Add ClientOptResolver to test util file [`770c51e`](https://github.com/helm/helm/commit/770c51ef0a4e6c4d1f9d38185971840a56d10ce3) (Antonio Gamez Diaz)
-   Check that missing keys are still handled in tpl [`f235f0f`](https://github.com/helm/helm/commit/f235f0f28564b4391ef8b0b5f06b2d754bc13873) (Graham Reed)
-   chore(deps): bump github.com/docker/distribution [`36dee32`](https://github.com/helm/helm/commit/36dee32fa1c702d58e12b2895f7311f2960fb47d) (dependabot\[bot])
-   tests: change crd golden file to match after [#&#8203;11870](https://github.com/helm/helm/issues/11870) [`126e4f4`](https://github.com/helm/helm/commit/126e4f4af89a6516f17565a45366e620e400c185) (Joe Julian)
-   Adding details on the Factory interface [`8b19f8d`](https://github.com/helm/helm/commit/8b19f8df0ed0df593a4efceddbd3fa85122b6238) (Matt Farina)
-   move Joe Julian to maintainer [`a8cd281`](https://github.com/helm/helm/commit/a8cd2812c007312725e1b1867134bbc6dd230681) (Joe Julian)
-   update autoscaling/v2beta1 to autoscaling/v2 in skeleton chart [`b4a4c7a`](https://github.com/helm/helm/commit/b4a4c7a9d45f80cbc02df8859a23056e5333d6d1) (Dmitry Kamenskikh)
-   chore(deps): bump github.com/Masterminds/squirrel from 1.5.3 to 1.5.4 [`2098f60`](https://github.com/helm/helm/commit/2098f606aaa7fe54fb23b38ef6e3f8ca6e321f47) (dependabot\[bot])
-   chore(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9 [`b750ee6`](https://github.com/helm/helm/commit/b750ee699ea43397c880e04d2a13db4bdc07466a) (dependabot\[bot])
-   chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1 [`1a7981a`](https://github.com/helm/helm/commit/1a7981a3ec22c7b8f1790f604b29c55ed9108251) (dependabot\[bot])
-   bump version to v3.12.0 [`1800554`](https://github.com/helm/helm/commit/1800554452dfb2b548a562325cda627e1119e784) (Matt Farina)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`b7a2d47`](https://github.com/helm/helm/commit/b7a2d47eca70e18b821b415efa5f47971c8a5302) (Tapas Kapadia)
-   Updating the Helm maintainers [`82e132c`](https://github.com/helm/helm/commit/82e132ca1c44c1d3dc8d73a102699dd7e4c54bc8) (Matt Farina)
-   strip trailing newline from Files.Lines [`b3707e6`](https://github.com/helm/helm/commit/b3707e666bc562cae76aad554bde6160644aa837) (Joe Julian)
-   add some test case [`cd2609d`](https://github.com/helm/helm/commit/cd2609d08ed9ae66dee5d3a33cb790935e011f0a) (wujunwei)
-   fix comment grammar error. [`8e1c3d0`](https://github.com/helm/helm/commit/8e1c3d0d397922313e7c3201bd3d01ec1e8747eb) (wujunwei)
-   bugfix:([#&#8203;11391](https://github.com/helm/helm/issues/11391)) helm lint infinite loop  when malformed template object [`316d3fb`](https://github.com/helm/helm/commit/316d3fb56aff92afcf167653399ca7ea57481ed2) (wujunwei)
-   pkg/engine: fix nil-dereference [`2a9594c`](https://github.com/helm/helm/commit/2a9594c0feadf0ab637c4e4c6cf50a931ba1778c) (AdamKorcz)
-   pkg/chartutil: fix nil-dereference [`2f13355`](https://github.com/helm/helm/commit/2f13355e40ca2790bebb19b7182500d312a536de) (AdamKorcz)
-   pkg/action: fix nil-dereference [`6fc815d`](https://github.com/helm/helm/commit/6fc815da5a2951cecf6805d61b25d53bfe0ab980) (AdamKorcz)
-   full source path when output-dir is not provided [`ddf8356`](https://github.com/helm/helm/commit/ddf8356c1f49f454fe4062c32f76c889799129aa) (Craig O'Donnell)
-   Update cmd/helm/upgrade.go [`dafc77d`](https://github.com/helm/helm/commit/dafc77df64e44bad4b552c911cd5725641e835f0) (Dmitry Chepurovskiy)
-   Update cmd/helm/install.go [`98697c7`](https://github.com/helm/helm/commit/98697c7305deb1b4b749c2dc63d951a0a699b98f) (Dmitry Chepurovskiy)
-   added Contributing.md section and ref link in the README [`96ff353`](https://github.com/helm/helm/commit/96ff3537a40e83f083807f41109fba3fa1e1f2c8) (abhiram11)
-   fix: add podLabels [`b441f53`](https://github.com/helm/helm/commit/b441f5341dd796b1ecdfcec0706a38d51cd8efb7) (genofire)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`f9e54b6`](https://github.com/helm/helm/commit/f9e54b6079100510d2956df2cbb70aa4b34ef969) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`25ac62e`](https://github.com/helm/helm/commit/25ac62e153d14b025c1b0460e82e48bf28ac07a6) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`9a0025f`](https://github.com/helm/helm/commit/9a0025f96388bcb45f91b2206e0e9d24b498d339) (Tapas Kapadia)
-   feat(helm): add ability for a dry-run to evaluate lookup functions When a helm command is run with the --dry-run-option=server flag, it will try to connect to the cluster to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`5ec7913`](https://github.com/helm/helm/commit/5ec7913fd41920e117e20b5229676972ebea06a1) (Tapas Kapadia)
-   feat(helm): add ability for a dry-run to evaluate lookup functions When a helm command is run with the --dry-run-option=server flag, it will try to connect to the cluster to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`d66c7db`](https://github.com/helm/helm/commit/d66c7db55a56a88f312ca579f16feaf2b060d7be) (Tapas Kapadia)
-   feat(helm): add ability for a dry-run to evaluate lookup functions When a helm command is run with the --dry-run-option=server flag, it will try to connect to the cluster to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`ddb3358`](https://github.com/helm/helm/commit/ddb33580dbcfd8443208c814cd4df4220b57e8dd) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`be99ebe`](https://github.com/helm/helm/commit/be99ebe8af768b5e83892771c0eccdaa329771d9) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`fc16ea7`](https://github.com/helm/helm/commit/fc16ea7d44e353cc365c6d59031ef8157d2d9865) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions When a helm command is run with the --dry-run flag, it will try to connect to the cluster if the value is 'server' to be able to render lookup functions. Closes [#&#8203;8137](https://github.com/helm/helm/issues/8137) [`4d67dfa`](https://github.com/helm/helm/commit/4d67dfabaa916183297200ed8e6b05f4de261fb1) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions [`51281c1`](https://github.com/helm/helm/commit/51281c195a019d821082021acdc0fa4614dd74d5) (Tapas Kapadia)
-   feat(helm): add ability for --dry-run to do lookup functions [`92a6640`](https://github.com/helm/helm/commit/92a6640f8a56507f27c2f2732115a787d8d1ed6d) (Tapas Kapadia)
-   Add `CHART`, `VERSION` and `APP_VERSION` fields to `get all` command output [`9e118ef`](https://github.com/helm/helm/commit/9e118ef5db46360fcc67d47ffd3b78060b602295) (Mikhail Kopylov)
-   Adjust `get` command description to account metadata [`290397b`](https://github.com/helm/helm/commit/290397beb8b0fcb4f5396a2b5f813a4f362edbc0) (Mikhail Kopylov)
-   fix typo: mountPath [`fc1a5a1`](https://github.com/helm/helm/commit/fc1a5a1123793691a0e6f7e339ab49448fc3be77) (Eugene Zuev)
-   add volumes and volumeMounts in chartutil [`fd44c0f`](https://github.com/helm/helm/commit/fd44c0fc14527fc90749bc15f9d226409c306c07) (Eugene Zuev)
-   Seed a default switch to control `automountServiceAccountToken` [`4f35343`](https://github.com/helm/helm/commit/4f353439fa385886719677fabadb9afef0619807) (Pat Riehecky)
-   Avoid confusing error when passing in '--version X.Y.Z' [`0d9eb13`](https://github.com/helm/helm/commit/0d9eb1341b70955c266936295e6415c12c671280) (Justin Wood)
-   Use errors.Is to compare [`a2b9828`](https://github.com/helm/helm/commit/a2b98281a1f9813a962386030b035b7b62cbdd99) (Xin Ruan)
-   Add `helm get metadata` command [`593dd0a`](https://github.com/helm/helm/commit/593dd0aef1919cec5e6b5f1c4ec450500c1c4473) (Mikhail Kopylov)
-   Use wrapped error so that ErrNoObjectsVisited can be compared after return. [`f01486a`](https://github.com/helm/helm/commit/f01486a0eff51f63d3a71e63cf83e04e62778ed3) (Xin Ruan)
-   Add exact version test. See also [#&#8203;7563](https://github.com/helm/helm/issues/7563) Signed-off-by: Igor Manushin <igor.manushin@gmail.com> [`203f31d`](https://github.com/helm/helm/commit/203f31d57bff8a8b3886be22376dab85603823ef) (Igor Manushin)
-   Update dependabot config to include github actions [`115151b`](https://github.com/helm/helm/commit/115151bc3f914ed26abdd6f1750a4179baa96ad6) (Ashish Kurmi)
-   strict file permissions of repository.yaml [`33121a8`](https://github.com/helm/helm/commit/33121a80ff76cdd51b93b2ecdfab7635aa59ac0b) (shankeerthan-kasilingam)
-   Check redefinition of define and include in tpl [`9fe912f`](https://github.com/helm/helm/commit/9fe912f3c559492daa925a3ecb7b8d4915dcdec3) (Graham Reed)
-   Check that `.Template` is passed through `tpl` [`ebf5e1e`](https://github.com/helm/helm/commit/ebf5e1e2aff56bb15c8edbe209c5ce9da2af9237) (Graham Reed)
-   Make sure empty `tpl` values render empty. [`0a6e7d9`](https://github.com/helm/helm/commit/0a6e7d95aba9a029bf265a080591d1aa828d2144) (Graham Reed)
-   Pick the test improvement out of [PR#8371](https://github.com/PR/helm/issues/8371) [`d1e9a24`](https://github.com/helm/helm/commit/d1e9a242a7bcd829bc4d4036c62839fcb9a9580c) (Graham Reed)
-   [#&#8203;11369](https://github.com/helm/helm/issues/11369) Use the correct index repo cache directory in the `parallelRepoUpdate` method as well [`e844f9c`](https://github.com/helm/helm/commit/e844f9ca9216c92c07d6949c827b6d715ee0bcf7) (Vincent van ’t Zand)
-   [#&#8203;11369](https://github.com/helm/helm/issues/11369) Add a test case to prove the bug and its resolution [`90d204a`](https://github.com/helm/helm/commit/90d204a235e99024bae92e5ee758d7408cb9799d) (Vincent van ’t Zand)
-   ref(helm): export DescriptorPullSummary fields [`62be6f1`](https://github.com/helm/helm/commit/62be6f1af688233075249ea2787d016d0b77880f) (Antonio Gamez Diaz)
-   feat(helm): add 'ClientOptResolver' ClientOption [`80bc7df`](https://github.com/helm/helm/commit/80bc7df7820513e79fc24a1d4bbffd96ef6a9adf) (Antonio Gamez Diaz)
-   Fix flaky TestSQLCreate test by making sqlmock ignore order of sql requests [`28ab648`](https://github.com/helm/helm/commit/28ab648d3c6d9e9ec2b611c5c2c65fba53c8cb97) (Dmitry Chepurovskiy)
-   Fixing tests after adding labels to release fixture [`512970a`](https://github.com/helm/helm/commit/512970ab40b150faef23058452d4849b9d9a4106) (Dmitry Chepurovskiy)
-   Make default release fixture contain custom labels to make tests check that labels are not lost [`2f29ccb`](https://github.com/helm/helm/commit/2f29ccb9d0357c4fcb1f397681da280a4d8288b1) (Dmitry Chepurovskiy)
-   Added support for storing custom labels in SQL storage driver [`68721de`](https://github.com/helm/helm/commit/68721de93de576d9e7c4aba4569d6169a79a67d3) (Dmitry Chepurovskiy)
-   Adding support merging new custom labels with original release labels during upgrade [`f96acb4`](https://github.com/helm/helm/commit/f96acb4fc85f26886142303e14e8b0901dc571dd) (Dmitry Chepurovskiy)
-   Added note to install/upgrade commands that original release labels wouldn't be persisted in upgraded release [`71e55f9`](https://github.com/helm/helm/commit/71e55f9b3600e9d62077dc1e59cee3aef2b04601) (Dmitry Chepurovskiy)
-   Added unit tests for implemented install/upgrade labels logic [`f1700e8`](https://github.com/helm/helm/commit/f1700e86d19aba6fb7db03eb36261fe2fb38461a) (Dmitry Chepurovskiy)
-   Remove redudant types from util_test.go [`083e66f`](https://github.com/helm/helm/commit/083e66fe2bd0a5c709adf51a8551dcfa80a274b7) (Dmitry Chepurovskiy)
-   Added tests for newly introduced util.go functions [`3a2ed70`](https://github.com/helm/helm/commit/3a2ed70bd3ca502340779fb0a3c8b5d5445121b5) (Dmitry Chepurovskiy)
-   Fix broken tests for SQL storage driver [`c7eedbd`](https://github.com/helm/helm/commit/c7eedbd9c583933a483917416d5c86bd6704631d) (Dmitry Chepurovskiy)
-   Fix broken tests for configmap and secret storage drivers [`95bb77c`](https://github.com/helm/helm/commit/95bb77c261f0965dc4e6ecf938cc754a3006939b) (Dmitry Chepurovskiy)
-   Make superseded releases keep labels [`627ec6a`](https://github.com/helm/helm/commit/627ec6a0c66766a7bc1721272c618e9c9eca2c20) (Dmitry Chepurovskiy)
-   Support configmap storage driver for install/upgrade actions --labels argument [`ff3e55f`](https://github.com/helm/helm/commit/ff3e55f65565cd1a7ec5224ab696a821504c3934) (Dmitry Chepurovskiy)
-   Added upgrade --install labels argument support [`6afad6b`](https://github.com/helm/helm/commit/6afad6bb610e5717caa908abc60695033f65d6a2) (Dmitry Chepurovskiy)
-   Add labels support for install action with secret storage backend [`6ef79e4`](https://github.com/helm/helm/commit/6ef79e432b3c7705173a71a32ed54983c084340c) (Dmitry Chepurovskiy)
-   test: added tests to load plugin from home dir with space [`d7a5f54`](https://github.com/helm/helm/commit/d7a5f54b6fb136d507baab53b08c4e822ef64aea) (Suresh Kumar)
-   fix: plugin does not load when helm base dir contains space [`2b49de0`](https://github.com/helm/helm/commit/2b49de086072b24d7b93f9ddbb66b4a933963384) (Suresh Kumar)
-   Add priority class to kind sorter [`f46eaf2`](https://github.com/helm/helm/commit/f46eaf2f1b836129b25d4c4bc747b2e77ea29980) (Stepan Dohnal)
-   Fixes [#&#8203;10566](https://github.com/helm/helm/issues/10566) [`c598a22`](https://github.com/helm/helm/commit/c598a226e9c69113fc7265739b92818d6a2adf37) (alexandr.danilin)
-   test(search): add mixedCase test case [`2ee3beb`](https://github.com/helm/helm/commit/2ee3bebfc7f5c069ea1c5b82bf9881ef9273dbff) (Höhl, Lukas)
-   fix(search): print repo search result in original case [`488add2`](https://github.com/helm/helm/commit/488add2cfe4a4d34ce875d6f89244c6575a834db) (Höhl, Lukas)
-   Adjust error message wrongly claiming that there is a resource conflict [`8613770`](https://github.com/helm/helm/commit/8613770f7825d072f66cffcaab58b9d321dae2d7) (Moritz Clasmeier)
-   Throw an error from jobReady() if the job exceeds its BackoffLimit [`cd04e3f`](https://github.com/helm/helm/commit/cd04e3f4180a76bdc7e07780c484364f2859b6ce) (Rosenberg, Jeff)
-   github: add Asset Transparency action for GitHub releases [`87d40c1`](https://github.com/helm/helm/commit/87d40c126d42b3e266719ef9c529860aeecc782d) (Brandon Philips)

### [`v3.12.3`](https://github.com/helm/helm/releases/tag/v3.12.3): Helm v3.12.3

[Compare Source](https://github.com/helm/helm/compare/v3.12.2...v3.12.3)

Helm v3.12.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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.12.3. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.12.3-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-darwin-amd64.tar.gz.sha256sum) / 1bdbbeec5a12dd0c1cd4efd8948a156d33e1e2f51140e2a51e1e5e7b11b81d47)
-   [MacOS arm64](https://get.helm.sh/helm-v3.12.3-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-darwin-arm64.tar.gz.sha256sum) / 240b0a7da9cae208000eff3d3fb95e0fa1f4903d95be62c3f276f7630b12dae1)
-   [Linux amd64](https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-amd64.tar.gz.sha256sum) / 1b2313cd198d45eab00cc37c38f6b1ca0a948ba279c29e322bdf426d406129b5)
-   [Linux arm](https://get.helm.sh/helm-v3.12.3-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-arm.tar.gz.sha256sum) / 6b67cf5fc441c1fcb4a860629b2ec613d0e6c8ac536600445f52a033671e985e)
-   [Linux arm64](https://get.helm.sh/helm-v3.12.3-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-arm64.tar.gz.sha256sum) / 79ef06935fb47e432c0c91bdefd140e5b543ec46376007ca14a52e5ed3023088)
-   [Linux i386](https://get.helm.sh/helm-v3.12.3-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-386.tar.gz.sha256sum) / cb789c4753bf66c8426f6be4091349c0780aaf996af0a1de48318f9f8d6b7bc8)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.12.3-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-ppc64le.tar.gz.sha256sum) / 8f2182ae53dd129a176ee15a09754fa942e9e7e9adab41fd60a39833686fe5e6)
-   [Linux s390x](https://get.helm.sh/helm-v3.12.3-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.3-linux-s390x.tar.gz.sha256sum) / f5d5c7a4e831dedc8dac5913d4c820e0da10e904debb59dec65bde203fad1af0)
-   [Windows amd64](https://get.helm.sh/helm-v3.12.3-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.12.3-windows-amd64.zip.sha256sum) / f3e2e9d69bb0549876aef6e956976f332e482592494874d254ef49c4862c5712)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.13.0 is the next feature release and be on September 13, 2023.

#### Changelog

-   bump kubernetes modules to v0.27.3 [`3a31588`](https://github.com/helm/helm/commit/3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e) (Joe Julian)
-   Add priority class to kind sorter [`fb74155`](https://github.com/helm/helm/commit/fb7415543b910e5661337e187e2be9d3f383638d) (Stepan Dohnal)

### [`v3.12.2`](https://github.com/helm/helm/releases/tag/v3.12.2): Helm v3.12.2

[Compare Source](https://github.com/helm/helm/compare/v3.12.1...v3.12.2)

Helm v3.12.2  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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.12.2. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.12.2-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-darwin-amd64.tar.gz.sha256sum) / 6e8bfc84a640e0dc47cc49cfc2d0a482f011f4249e2dff2a7e23c7ef2df1b64e)
-   [MacOS arm64](https://get.helm.sh/helm-v3.12.2-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-darwin-arm64.tar.gz.sha256sum) / b60ee16847e28879ae298a20ba4672fc84f741410f438e645277205824ddbf55)
-   [Linux amd64](https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz.sha256sum) / 2b6efaa009891d3703869f4be80ab86faa33fa83d9d5ff2f6492a8aebe97b219)
-   [Linux arm](https://get.helm.sh/helm-v3.12.2-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-arm.tar.gz.sha256sum) / 39cc63757901eaea5f0c30b464d3253a5d034ffefcb9b9d3c9e284887b9bb381)
-   [Linux arm64](https://get.helm.sh/helm-v3.12.2-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-arm64.tar.gz.sha256sum) / cfafbae85c31afde88c69f0e5053610c8c455826081c1b2d665d9b44c31b3759)
-   [Linux i386](https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-386.tar.gz.sha256sum) / ecd4d0f3feb0f8448ed11e182e493e74c36572e1b52d47ecbed3e99919c8390d)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.12.2-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-ppc64le.tar.gz.sha256sum) / fb0313bfd6ec5a08d8755efb7e603f76633726160040434fd885e74b6c10e387)
-   [Linux s390x](https://get.helm.sh/helm-v3.12.2-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.2-linux-s390x.tar.gz.sha256sum) / 63dec602455337a6ec08ba16429ec2b87ab064ea563249c07c01f483c0c4bd4c)
-   [Windows amd64](https://get.helm.sh/helm-v3.12.2-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.12.2-windows-amd64.zip.sha256sum) / 35dc439baad85728dafd2be0edd4721ae5b770c5cf72c3adf9558b1415a9cae6)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.12.3 is the next patch/bug fix release and will be on August 9, 2023.
-   3.13.0 is the next feature release and be on September 13, 2023.

#### Changelog

-   add GetRegistryClient method [`1e210a2`](https://github.com/helm/helm/commit/1e210a2c8cc5117d1055bfaa5d40f51bbc2e345e) (wujunwei)
-   chore(deps): bump oras.land/oras-go from 1.2.2 to 1.2.3 [`cfa7bc6`](https://github.com/helm/helm/commit/cfa7bc68fa131284fb2fafdb43cd0233dcc7a2b7) (dependabot\[bot])

### [`v3.12.1`](https://github.com/helm/helm/releases/tag/v3.12.1): Helm v3.12.1

[Compare Source](https://github.com/helm/helm/compare/v3.12.0...v3.12.1)

Helm v3.12.1 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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Installation and Upgrading

Download Helm v3.12.1. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.12.1-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-darwin-amd64.tar.gz.sha256sum) / f487b5d8132bd2091378258a3029e33ee10f71575b2167cdfeaf6d0144d20938)
-   [MacOS arm64](https://get.helm.sh/helm-v3.12.1-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-darwin-arm64.tar.gz.sha256sum) / e82e0433589b1b5170807d6fec75baedba40620458510bbd30cdb9d2246415fe)
-   [Linux amd64](https://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-amd64.tar.gz.sha256sum) / 1a7074f58ef7190f74ce6db5db0b70e355a655e2013c4d5db2317e63fa9e3dea)
-   [Linux arm](https://get.helm.sh/helm-v3.12.1-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-arm.tar.gz.sha256sum) / 6ae6d1cb3b9f7faf68d5cd327eaa53c432f01e8fd67edba4e4c744dcbd8a0883)
-   [Linux arm64](https://get.helm.sh/helm-v3.12.1-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-arm64.tar.gz.sha256sum) / 50548d4fedef9d8d01d1ed5a2dd5c849271d1017127417dc4c7ef6777ae68f7e)
-   [Linux i386](https://get.helm.sh/helm-v3.12.1-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-386.tar.gz.sha256sum) / 983addced237a8eb921c2c8c953310d92031a6ce4599632edbe7cdb2c95a701e)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.12.1-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-ppc64le.tar.gz.sha256sum) / 32b25dba14549a4097bf3dd62221cf6df06279ded391f7479144e3a215982aaf)
-   [Linux s390x](https://get.helm.sh/helm-v3.12.1-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.1-linux-s390x.tar.gz.sha256sum) / f243b564cf7e4081fffdfe5a39487f6442fc439586a1f50cc59dd801c3e636a5)
-   [Windows amd64](https://get.helm.sh/helm-v3.12.1-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.12.1-windows-amd64.zip.sha256sum) / 9040f8f37c90600a51db4934c04bc9c2adc058cb2161e20b5193b3ba46de10fa)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.12.2 is the next patch/bug fix release and will be on July 12, 2023.
-   3.13.0 is the next feature release and be on September 13, 2023.

#### Changelog

-   add some test case [`f32a527`](https://github.com/helm/helm/commit/f32a527a060157990e2aa86bf45010dfb3cc8b8d) (wujunwei)
-   fix comment grammar error. [`91bb1e3`](https://github.com/helm/helm/commit/91bb1e34e605a2bfc3fbc4de14921e071af84fd7) (wujunwei)
-   bugfix:([#&#8203;11391](https://github.com/helm/helm/issues/11391)) helm lint infinite loop  when malformed template object [`5217482`](https://github.com/helm/helm/commit/5217482c8eab1b44cc07dfcfd669c6ee47f3b9bc) (wujunwei)
-   chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 [`524a0e7`](https://github.com/helm/helm/commit/524a0e745742ebda08fbf8965c2c45587a51ae54) (dependabot\[bot])
-   chore(deps): bump github.com/docker/distribution [`c60cdf6`](https://github.com/helm/helm/commit/c60cdf62ab447ba056e75b5e9d82dd2e2843315a) (dependabot\[bot])
-   update autoscaling/v2beta1 to autoscaling/v2 in skeleton chart [`321f71a`](https://github.com/helm/helm/commit/321f71a161706c1184604602408b05fe0097f6eb) (Dmitry Kamenskikh)
-   test(search): add mixedCase test case [`aca1e44`](https://github.com/helm/helm/commit/aca1e44f64b46a0946e526eeb08e983bf575560d) (Höhl, Lukas)
-   chore(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9 [`c09e93f`](https://github.com/helm/helm/commit/c09e93f82fec544e28a2972b8c06c37441503013) (dependabot\[bot])
-   chore(deps): bump github.com/Masterminds/squirrel from 1.5.3 to 1.5.4 [`8eab82b`](https://github.com/helm/helm/commit/8eab82b0fabe0305d815d352180f0b551fc6c6da) (dependabot\[bot])
-   chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.0 to 3.2.1 [`aa6b8aa`](https://github.com/helm/helm/commit/aa6b8aa0298cab0f7664a00cd32454f1738239ed) (dependabot\[bot])
-   fix(search): print repo search result in original case [`5b19d8e`](https://github.com/helm/helm/commit/5b19d8eedb24691a035f1d1f1d42cb0cdde97813) (Höhl, Lukas)
-   strict file permissions of repository.yaml [`dee1fde`](https://github.com/helm/helm/commit/dee1fde4e821e056a27bebc488cb36f22b322404) (shankeerthan-kasilingam)
-   update kubernetes dependencies from v0.27.0 to v0.27.1 [`4f32150`](https://github.com/helm/helm/commit/4f32150a3f55b920971c0189febc8101f11be630) (Joe Julian)

### [`v3.12.0`](https://github.com/helm/helm/releases/tag/v3.12.0): Helm v3.12.0

[Compare Source](https://github.com/helm/helm/compare/v3.11.3...v3.12.0)

Helm v3.12.0 is a feature release. 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](https://kubernetes.slack.com):
    -   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](https://zoom.us/j/696660622)
-   Test, debug, and contribute charts: [ArtifactHub/packages](https://artifacthub.io/packages/search?kind=0)

#### Notable Changes

-   When charts are pushed to OCI registries, annotations are attached using standard names that other tools can introspect (e.g. version)
-   `--set-literal` command line flag to set a specific string with no escaping
-   `--cascade` flag to specify deletion policy on uninstall

#### Installation and Upgrading

Download Helm v3.12.0. The common platform binaries are here:

-   [MacOS amd64](https://get.helm.sh/helm-v3.12.0-darwin-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-darwin-amd64.tar.gz.sha256sum) / 8223beb796ff19b59e615387d29be8c2025c5d3aea08485a262583de7ba7d708)
-   [MacOS arm64](https://get.helm.sh/helm-v3.12.0-darwin-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-darwin-arm64.tar.gz.sha256sum) / 879f61d2ad245cb3f5018ab8b66a87619f195904a4df3b077c98ec0780e36c37)
-   [Linux amd64](https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gz.sha256sum) / da36e117d6dbc57c8ec5bab2283222fbd108db86c83389eebe045ad1ef3e2c3b)
-   [Linux arm](https://get.helm.sh/helm-v3.12.0-linux-arm.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-arm.tar.gz.sha256sum) / 1d1d3b0b6397825c3f91ec5f5e66eb415a4199ccfaf063ca399d64854897f3f0)
-   [Linux arm64](https://get.helm.sh/helm-v3.12.0-linux-arm64.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-arm64.tar.gz.sha256sum) / 658839fed8f9be2169f5df68e55cb2f0aa731a50df454caf183186766800bbd0)
-   [Linux i386](https://get.helm.sh/helm-v3.12.0-linux-386.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-386.tar.gz.sha256sum) / 3815f4caa054be027ae1d6c17a302ee1fd7ff805d631f7ff75c9d093c41ab389)
-   [Linux ppc64le](https://get.helm.sh/helm-v3.12.0-linux-ppc64le.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-ppc64le.tar.gz.sha256sum) / 252d952b0e1b4ed2013710ddedf687ed5545d9f95a4fd72de0ff9617ff69155c)
-   [Linux s390x](https://get.helm.sh/helm-v3.12.0-linux-s390x.tar.gz) ([checksum](https://get.helm.sh/helm-v3.12.0-linux-s390x.tar.gz.sha256sum) / 727474fb1684aa2349a77c54340c11ff09b19862d972c2403185fb163fec13ae)
-   [Windows amd64](https://get.helm.sh/helm-v3.12.0-windows-amd64.zip) ([checksum](https://get.helm.sh/helm-v3.12.0-windows-amd64.zip.sha256sum) / 52138ba8caec50c358c7aee41aac28d6a8a037878ada3cf5ce6c1049fc772547)

This release was signed with ` 672C 657B E06B 4B30 969C 4A57 4614 49C2 5E36 B98E  ` and can be found at [@&#8203;mattfarina](https://github.com/mattfarina) [keybase account](https://keybase.io/mattfarina). Please use the attached signatures for verifying this release using `gpg`.

The [Quickstart Guide](https://helm.sh/docs/intro/quickstart/) will get you going from there. For **upgrade instructions** or detailed installation notes, check the [install guide](https://helm.sh/docs/intro/install/). You can also use a [script to install](https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3) on any system with `bash`.

#### What's Next

-   3.12.1 is the next patch/bug fix release and will be on June 14, 2023.
-   3.13.0 is the next feature release and be on September 13, 2023.

#### Changelog

-   bump version to v3.12.0 [`c9f554d`](https://github.com/helm/helm/commit/c9f554d75773799f72ceef38c51210f1842a1dea) (Matt Farina)
-   Attach annotations to OCI artifacts [`f900e9f`](https://github.com/helm/helm/commit/f900e9f1b10011372ac2cf8c96813fa38b393332) (Andrew Block)
-   chore: bump k8s.io dependencies to v0.27.1 [`bdd5656`](https://github.com/helm/helm/commit/bdd56569eaa7ddf4ebc97354d08d86432a4271a6) (Yann Soubeyrand)
-   Bump k8s.io deps from v0.26.0 to v0.27.0 [`b936140`](https://github.com/helm/helm/commit/b9361407a36e0f85ba7833b6b2804a21c1a409cc) (Tom Wieczorek)
-   Only run tests once [`3232493`](https://github.com/helm/helm/commit/323249351482b3bbfc9f5004f65d400aa70f9ae7) (Matt Farina)
-   chore(deps): bump golang.org/x/text from 0.7.0 to 0.9.0 [`be14682`](https://github.com/helm/helm/commit/be14682da5790fcd4eac444ffbc7427904bd0ede) (dependabot\[bot])
-   Fix goroutine leak in action install [`7c9d636`](https://github.com/helm/helm/commit/7c9d636f40e751c775cd1baea5ef2fd4f7139f6e) (Matt Farina)
-   fix quiet lint does not fail on non-linting errors [`853c180`](https://github.com/helm/helm/commit/853c18002f51cbdc62011bf14b361362dd6a82d0) (Joe Julian)
-   create failing test for quietly linting a chart that doesn't exist [`f13fa07`](https://github.com/helm/helm/commit/f13fa07793bc89d6c557755d1cf3165e472fec59) (Joe Julian)
-   chore(deps): bump github.com/docker/docker [`aba9bd6`](https://github.com/helm/helm/commit/aba9bd68331fa8e8b61212ff685dfd3f1c16b3f6) (dependabot\[bot])
-   Fixes Readiness Check for statefulsets using partitioned rolling update. ([#&#8203;11774](https://github.com/helm/helm/issues/11774)) [`eea2f27`](https://github.com/helm/helm/commit/eea2f27babb0fddd9fb1907f4d8531c8f5c73c66) (Aman Nijhawan)
-   fix: failed testcase on windows [`878e962`](https://github.com/helm/helm/commit/878e962b23ece82d2fd42fc66f01dcabaa6e8b45) (wujunwei)
-   Fix 32bit-x86 typo in testsuite [`1fc8369`](https://github.com/helm/helm/commit/1fc836935684cd7505b481f2e9f3182ac23814a3) (Dirk Müller)
-   chore(deps): bump github.com/containerd/containerd from 1.6.15 to 1.7.0 [`3994329`](https://github.com/helm/helm/commit/3994329aaed3ec3f43e31ab55ddbedbf3207e184) (dependabot\[bot])
-   Handle failed DNS case for Go 1.20+ [`046646c`](https://github.com/helm/helm/commit/046646c944234c94d292d29e74fa11abdfd01c76) (Matt Farina)
-   Updating the Go version in go.mod [`4e7e939`](https://github.com/helm/helm/commit/4e7e939f19719e056c0f6e47b02068bdca6f420c) (Matt Farina)
-   Bump the Go version [`50c22ed`](https://github.com/helm/helm/commit/50c22ed7f953fadb32755e5881ba95a92da852b2) (Matt Farina)
-   Fix goroutine leak in perform [`11150cd`](https://github.com/helm/helm/commit/11150cdcc6bb69b62ec88faa523d9ff6727e8be7) (willzgli)
-   Properly invalidate client after CRD install [`68f7b1f`](https://github.com/helm/helm/commit/68f7b1f1942669126e3290ff809a4dccc6bd0439) (Hidde Beydals)
-   Provide a helper to set the registryClient in cmd [`11738dd`](https://github.com/helm/helm/commit/11738dde51447c7bfd1ef0c97cd2bd8fb5e3bfa1) (Soule BA)
-   Reimplemented change in httpgetter for insecure TLS option [`c94306f`](https://github.com/helm/helm/commit/c94306f75d73a84a4e81b93ecfbe70ef4ca79998) (Andrew Block)
-   Removed conditional [`ec5e29e`](https://github.com/helm/helm/commit/ec5e29e8012ec062db8a022bb1e8f85c95e38815) (Andrew Block)
-   Added insecure option to login subcommand [`154f37e`](https://github.com/helm/helm/commit/154f37efec5b66cf26b88e018805deb7df2f2029) (Andrew Block)
-   Added support for insecure OCI registries [`08593c8`](https://github.com/helm/helm/commit/08593c8dd6e4b05b1855296f6d7c6247de1d9e6a) (Andrew Block)
-   Enable custom certificates option for OCI [`b0ecb21`](https://github.com/helm/helm/commit/b0ecb210563ccf0441020e8658c7f7e492c6fb0a) (Soule BA)
-   Add testing to default and release branches [`1f26385`](https://github.com/helm/helm/commit/1f263857a0d3c7dd74360bbbefd3f9cff0c6078f) (Matt Farina)
-   Added back CircleCI config.yaml [`e6f7b5a`](https://github.com/helm/he…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
picked Indicates that a PR has been cherry-picked into the next release candidate. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
7 participants