What Is New in Helm 4.0?
| Category | Key Changes |
|---|---|
| New Features |
|
| Improvements |
|
| Deprecations |
|
How have the core components evolved in Helm 4.0?
Plugin System Overhaul
The plugin architecture now runs WebAssembly modules, giving developers language‑agnostic extensions. This matters because plugins can be sandboxed and distributed as tiny binaries.
Post‑Renderers as First‑Class Plugins
Post‑renderers are no longer a special case; they are loaded through the same plugin loader. In practice, this simplifies custom manifest transformations and aligns them with other extensions.
Server‑Side Apply Integration
Helm can now delegate object reconciliation to the Kubernetes server‑side apply engine. This reduces client‑side diff complexity and leverages native field‑management semantics.
Enhanced Resource Watching
Waiting for resources now uses kstatus to interpret conditions more accurately. Users see faster, more reliable rollout checks.
Local Content‑Based Caching
Charts are cached based on their content hash, cutting down repeated downloads and improving CI/CD speed.
Slog‑Based Logging
The logging layer switched to Go’s slog, allowing seamless integration with modern observability stacks.
Reproducible Chart Archives
Chart packaging now produces deterministic archives, which helps with verification and supply‑chain security.
SDK API Expansion
The Helm SDK now supports multiple chart API versions, preparing the ecosystem for the upcoming experimental v3 chart format.
FAQ
Can existing Helm v3 charts be used without modification?
Yes. Charts with apiVersion: v2 install, upgrade, and render unchanged. Only features that depend on server‑side apply or new plugins need explicit opt‑in.
How do I write a WebAssembly plugin for Helm 4?
Compile your code to a WASM binary, place it in $HELM_PLUGIN_DIR, and expose the required entry points as defined in the Helm plugin spec. The runtime loads the module securely.
What changes are required for CI pipelines that use helm template?
The command still exists, but flag names have been tidied. Updating scripts to the new flag set and ensuring the CI runner has a Helm 4 binary are the only steps.
Is server‑side apply enabled by default?
No. You must enable it with the --server-side-apply flag on install/upgrade. This avoids unexpected behavior for users who rely on client‑side diff.
How does the new caching mechanism affect chart versioning?
Caching is keyed on the chart’s content hash, not the version string. Identical content across versions will hit the cache, while any change forces a fresh download.