3.1.3

Latest release in branch 3.1
Released 22 Apr 2020 (6 years ago)

SoftwareHelm
Branch3.1
Status
End of life
Initial release3.1.0
13 Feb 2020 (6 years ago)
Latest patch release3.1.3
22 Apr 2020 (6 years ago)
Supported
Kubernetes versions
1.16.x - 1.13.x
Active support end22 Apr 2020 (Ended 6 years ago)
Release noteshttps://github.com/helm/helm/releases/tag/v3.1.3
Source codehttps://github.com/helm/helm/tree/v3.1.3
Downloadhttps://github.com/helm/helm/releases/tag/v3.1.3
Helm 3.1 ReleasesView full list

What Is New in Helm 3.1?

Category Highlights
New Features
  • Post‑render hooks let a script or program modify the final manifest.
  • Re‑added --description flag for custom release notes.
  • Short flag -A for --all-namespaces.
  • Each binary download now ships a .sha256sum file for verification.
Improvements
  • Shell autocompletion rewritten in Go – no longer depends on kubectl.
  • helm lint accepts packaged .tar.gz charts.
  • s390x binaries restored as generated releases.
  • Templates can now reference the release name directly.
  • Manifest ordering respects file path order before internal sorting.
Bug Fixes
  • Corrected recursion limits in template rendering.
  • Fixed shasum files to work with both shasum and sha256sum.
  • Resolved broken completion for the --output flag.
  • Namespace handling fixed for helm template and memory driver.
  • Various CRD, chart‑lock, and install‑order issues addressed.
Security None specific to this release; existing verification mechanisms (GPG signatures, shasums) remain unchanged.
Deprecated No features were deprecated in this version.

For a full list of changes, see the official release notes.

What are the major change groups in Helm 3.1?

Post‑render hooks

Hooks run after the normal rendering phase, allowing you to pipe the output through an external program. This is handy for injecting custom annotations or performing policy checks before the resources hit the cluster.

CLI ergonomics

The command line got cleaner: -A for all namespaces, restored --description, and a Go‑based completion engine that no longer pulls in kubectl. Autocompletion is faster and works out‑of‑the‑box on all supported shells.

Template engine enhancements

Templates can now reference the release name directly, and the rendering order follows the file system layout before any internal sorting. Recursion limits were tightened to avoid runaway loops.

Packaging and linting

helm lint accepts a packaged .tar.gz chart, making CI pipelines simpler. Each binary download includes a .sha256sum file, so you can verify integrity with a single command.

Bug‑fix focus

Numerous edge‑case bugs were squashed: namespace handling for helm template, memory driver consistency, CRD processing, and chart‑lock digest mismatches. These fixes improve stability across diverse environments.

FAQ

How do I enable post‑render hooks in my chart?
Define a hook of type post-render in templates/ and point the helm install command to an executable with --post-renderer. The renderer receives the full manifest on stdin and must write the transformed manifest to stdout.

Can I still use kubectl for shell completion?
Yes, but it is no longer required. Helm now ships its own Go‑based completion scripts for Bash, Zsh, and Fish, which you can source directly from the binary.

What does the restored --description flag do?
It lets you attach an arbitrary text note to a release. The description appears in helm history and can be queried with helm status --output json.

Is the new .sha256sum file compatible with my CI tools?
Absolutely. Run sha256sum -c helm-v3.1.0-linux-amd64.tar.gz.sha256sum (or shasum -a 256 -c on macOS) to verify the download before extracting.

Do the template recursion fixes affect existing charts?
Only charts that relied on deep recursive includes will see a stricter limit. Most charts are unaffected, but if you hit a max recursion depth exceeded error, refactor the includes to be shallower.

Releases In Branch 3.1

VersionRelease date
3.1.322 Apr 2020
(6 years ago)
3.1.013 Feb 2020
(6 years ago)