What Is New in Helm 2.9 (summary table)
| Category | Highlights |
|---|---|
| New Features |
|
| Improvements |
|
| Bug Fixes |
|
| Security |
|
| Deprecated / Removed |
|
What are the major change groups in Helm 2.9?
Authentication & Repository Enhancements
Helm now supports authenticated access to remote chart repositories, including basic auth and bearer tokens. This matters because many enterprises host private charts behind a login wall, and the CLI can now pull them without manual workarounds.
Hook Lifecycle Controls
Two new hook policies – hook-delete-policy and before-hook-creation – give operators fine‑grained control over when hook resources are removed. In practice this prevents stale resources from accumulating across releases.
CLI Usability Improvements
New flags such as --set-string, output format selectors (json/yaml), and support for .yml templates reduce friction when scripting deployments. The --replicas flag also simplifies setting up a highly‑available Tiller.
Stability & Compatibility Fixes
Numerous bug fixes address RBAC deployment, watch handling, Windows path quirks, and test output leaks. These changes make Helm more reliable on diverse clusters and CI environments.
Deprecations & Clean‑ups
Obsolete flags and internal reflection code were removed, and the grpc dial timeout flag was deprecated. Cleaning up old APIs reduces maintenance overhead and clarifies the supported command surface.
FAQ
How do I force a value to be treated as a string?
Use the new --set-string flag when invoking helm install or helm upgrade. It forces the supplied value to stay a string even if it looks like a number.
Can Helm pull charts from a private repository that requires authentication?
Yes. Helm 2.9 adds support for basic auth and bearer token credentials stored in the repository definition. The credentials are automatically used for install, upgrade, and fetch commands.
What hook policies are available and when should I use them?hook-delete-policy lets you specify when a hook resource should be deleted (e.g., on success or failure). before-hook-creation forces Helm to delete an existing hook before creating a new one, preventing duplicate resources during repeated upgrades.
How can I get Helm command output in JSON for automation?
Most list‑type commands now accept --output json (or yaml) to emit structured data. This is handy for CI pipelines that need to parse release information.
Is there a way to run a highly‑available Tiller?
Use the new --replicas flag with helm init to deploy multiple Tiller pods. Helm will automatically load‑balance requests across them.