kubernetes-helm is an open-source package manager that installs and manages Kubernetes applications by rendering templates into manifests and applying them through the Kubernetes API. It runs as a command-line tool on a laptop or inside CI/CD pipelines, and its own README compares it to apt, yum, or Homebrew, but for Kubernetes resources instead of operating-system packages. Applications are packaged as charts, which can be stored locally or pulled from remote chart repositories or OCIOCIOpen Container Initiative standard, maintained by the Linux Foundation, defining the image format and runtime spec that container tools share so images built once run anywhere OCI-compliant. registries, making it useful for platform engineers and application developers who need repeatable, versioned deployments rather than hand-applied manifests. It sits squarely in the deployment and configuration-management space rather than security tooling proper. With over 1,200 contributors, 844 commits in the past year, and a release only 43 days ago, it remains under heavy, active development, currently on major version 4.
Helm is the package manager for Kubernetes that manages Charts, which are packages of pre-configured Kubernetes resources.
What packages do I need to install across my cluster to get this application running the way its maintainers intended?
pulls a chart from a repository or OCI registry, bundling the manifests, defaults, and metadata needed to install it as a unit rather than hand-assembling YAML files
How do I roll out the same application to different environments without maintaining separate copies of every manifest?
renders the chart's templates with environment-specific values into final manifests before applying them through the Kubernetes API
Can I undo a change I just pushed to my cluster?
keeps every install or upgrade as a numbered release revision, so a prior revision's rendered manifests can be reapplied to reverse the change
Which of my releases are still waiting on resources to come up, and where is the slowdown?
reports time spent waiting for resources as a debug log and can stream hook pod logs to the terminal when a hook fails, instead of requiring a separate log lookup
Will a slow or unreachable chart repository stall my deployment pipeline?
lets a timeout be set on repository add, update, and index refresh operations so a stale or high-latency repo fails fast instead of hanging the build
Are two of my chart dependencies about to overwrite each other's files during a build?
supports concurrent dependency builds with atomic file writes, so parallel fetches land without corrupting the resulting dependency lock
56 capabilities
· 3 backed by code, an API document or a real run
Built from kubernetes-helm's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+Template engine capabilitiesshippedExtends the template rendering engine with support for multiple API versions and explicit DNS lookups.22 releases · 2 other sources · first seen Jun 2016▸
Also counts toward: Command-line interface
release
22 total
Adds mustToToml template function for rendering TOML output in chart templates.
v4.2.0 · May 2026
· source
· release history
Adds HTTPRoute from the Kubernetes Gateway API as a template option in helm create, enabling modern ingress scaffolding out of the box.
v3.19.0 · Sep 2025
· source
· release history
Adds toYamlPretty template function for human-readable YAML rendering in chart templates.
v3.17.0 · Jan 2025
· source
· release history
The Helm SDK properties install.EnableDNS, upgrade.EnableDNS, and engine.Engine.EnableDNS default to false, disabling DNS lookups for getHostByName unless explicitly set to true.
v3.11.1 · Feb 2023
· source
· release history
Adds the --enable-dns flag to the helm template, helm install, and helm upgrade commands to allow the getHostByName template function to perform DNS lookups.
v3.11.1 · Feb 2023
· source
· release history
The --enable-dns flag is required for the helm template, helm install, and helm upgrade commands; without it, the getHostByName template function returns an empty string instead of attempting a lookup.
v3.11.1 · Feb 2023
· source
· release history
example
Allow a Helm template to resolve hostnames via DNS during the install process.$ helm install mychart ./mychart --set some.value=true --enable-dns
v3.11.1 · Feb 2023
· source
Render templates using multiple specific API versions (e.g., apps/v1 and networking.k8s.io/v1) in a single command.$ helm template my-app ./my-chart --api-versions apps/v1,networking.k8s.io/v1
v3.11.0 · Jan 2023
· source
+Helm chart packagingverifiedPackages Helm charts into versioned archive files, with options to control the chart API version and produce reproducible archives independent of source file modification times.11 releases · 4 other sources · first seen Jan 2022▸
Also counts toward: Command-line interface
release
11 total
Honors the SOURCE_DATE_EPOCH environment variable when creating chart archives for reproducible builds
v4.3.0 · Sep 2026
· source
· release history
Honors the SOURCE_DATE_EPOCH environment variable when producing chart archives, enabling reproducible builds.
v4.3.0 · Sep 2026
· source
· release history
Supports reproducible builds of chart archives.
v4.0.0 · Nov 2025
· source
· release history
Supports pulling and installing charts by OCI digest, enabling reproducible, immutable deployments.
v3.17.0 · Jan 2025
· source
· release history
The lint command now accepts --kube-version to specify Kubernetes version capabilities and deprecation rules during validation.
v3.14.0 · Jan 2024
· source
· release history
Helm now adds the OCI creation annotation to packaged charts
v3.13.0 · Sep 2023
· source
· release history
docs
Build Reproducible Chart Archives By default, the files inside a packaged chart archive ( .tgz ) carry the modification times of the source files on disk. As a result, repackaging the same chart produces archives that differ from one build to the next.
docs update · Jul 2026
· source
command line
--chart-api-version — chart API version to use (v2 or v3)
v4.2.0-rc.1 · May 2026
· command-line history
example
Produce a reproducible chart archive tied to a specific timestamp for supply-chain verification.$ SOURCE_DATE_EPOCH=1700000000 helm package ./my-chart
v4.3.0 · Sep 2026
· source
Create reproducible chart archives for CI/CD by setting the build timestamp.$ SOURCE_DATE_EPOCH=1609459200 helm package ./my-chart
v4.3.0 · Sep 2026
· source
+Release metadata managementverifiedRetrieves structured release details such as labels, annotations, and dependencies via CLI commands.9 releases · 6 other sources · first seen Aug 2016▸
Also counts toward: Command-line interface
release
9 total
Adds --description flag to helm rollback to record a reason for the rollback (max 256 characters) in the release history.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v4.3.0 · Sep 2026
· source
· release history
Includes annotations and dependencies fields in helm get metadata output.
v3.17.0 · Jan 2025
· source
· release history
Adds helm get metadata command to retrieve release metadata
v3.13.0 · Sep 2023
· source
· release history
Adds labels support for install and upgrade commands
v3.13.0 · Sep 2023
· source
· release history
helm status now displays release description via new flag (or auto-display)
v3.4.0 · Oct 2020
· source
· release history
Adds --template flag to helm get to provide go template formatting for command output
v2.14.0 · May 2019
· source
· release history
command line
values — download the values file for a named release
v3.19.1 · Nov 2025
· command-line history
example
Roll back a release and capture the reason in release history for audit trails.$ helm rollback my-release 2 --description 'Reverting due to latency regression in v1.4.2'
v4.3.0 · Sep 2026
· source
Attach a custom description to a Helm release for better tracking in Kubernetes annotations.$ helm install my-app ./chart --description "Initial deployment by DevOps"
v3.1.0 · Feb 2020
· source
Format the output of helm get using a Go template to extract specific values.$ helm get --template '{{.Name}}' <RELEASE_NAME>
v2.14.0 · May 2019
· source
Specify a description for the release to aid in audit trails or documentation.$ helm install stable/nginx --description 'Production ingress controller'
v2.10.0 · Aug 2018
· source
Parse Helm release data in automation scripts using standard JSON tools like jq.$ helm status my-release -o json | jq '.info.status'
v2.8.0 · Jan 2018
· source
+Chart repository securityshippedSupports client-side SSL/TLS certificates and secure TLS communication between the Helm client and Tiller server for authenticated and encrypted interactions.7 releases · 4 other sources · first seen Feb 2017▸
Also counts toward: Command-line interface
release
7 total
--kube-cafile flag and HELM_KUBECAFILE environment variable override the system-wide certificate authority for Kubernetes API communication.
v3.5.0 · Jan 2021
· source
· release history
Adds --insecure-skip-tls-verify flag to repository commands (e.g., helm repo add) to allow connections to repositories without valid TLS certificates
v3.2.0 · Apr 2020
· source
· release history
Adds --tls-hostname flag to helm init for specifying the Tiller server hostname during TLS verification.
v2.11.0 · Sep 2018
· source
· release history
Enables setting all TLS flags via environment variables.
v2.11.0 · Sep 2018
· source
· release history
Added --tls-hostname flag for Tiller TLS verification
v2.10.0 · Aug 2018
· source
· release history
Supports TLS encryption between helm and tiller (via SSL gRPC) with new flags passed through helm init.
v2.3.0 · Apr 2017
· source
· release history
example
Override the cluster's default CA certificate file using an environment variable to point to a custom CA.$ HELM_KUBECAFILE=/path/to/custom-ca.crt helm upgrade --install myapp .
v3.5.0 · Jan 2021
· source
Add a chart repository hosted over HTTPS that uses a self-signed or untrusted certificate.$ helm repo add my-repo https://charts.example.com --insecure-skip-tls-verify
v3.2.0 · Apr 2020
· source
Configure TLS authentication for Helm and Tiller using environment variables instead of CLI flags.$ export HELM_TLS_CA_CERT=ca.crt HELM_TLS_CERT=cert.crt HELM_TLS_KEY=key.crt helm list --tls
v2.11.0 · Sep 2018
· source
Secure communications between the Helm client and Tiller server using TLS flags during initialization$ helm init --upgrade --tls --tls-ca-cert ca.pem --tls-cert cert.pem --tls-key key.pem
v2.3.0 · Apr 2017
· source
+OCI registry compatibilityshippedSupports storing, retrieving, and validating Helm charts in OCI-compliant registries, including support for insecure HTTP connections.7 releases · 3 other sources · first seen Apr 2018▸
Also counts toward: Command-line interface
release
7 total
Automatic HTTP fallback for OCI registries when HTTPS is unavailable.
v3.18.0 · May 2025
· source
· release history
Adds --digest support for OCI chart installs to pin versions by content hash instead of tag.
v4 Changes Also Backported to v3 · Mar 2025
· source
· release history
Adds --plain-http flag to allow working with OCI registries over HTTP
v3.13.0 · Sep 2023
· source
· release history
Added support for insecure OCI registries
v3.12.0 · May 2023
· source
· release history
OCI registries are supported via the oci:// scheme for pulling chart dependencies, though the feature requires an explicit enablement experiment.
v3.5.0 · Jan 2021
· source
· release history
Adds Sonatype Nexus Repository Manager as a supported Helm repository host
v2.16.7 · May 2020
· source
· release history
example
Install a chart from an OCI registry pinned to a specific digest for reproducible deployments.$ helm install my-app oci://registry.example.com/my-chart --digest sha256:abc123...
v4 Changes Also Backported to v3 · Mar 2025
· source
Push or pull charts from an OCI registry that does not support TLS (e.g., local dev registries).$ helm push ./my-chart oci://localhost:5000 --plain-http
v3.13.0 · Sep 2023
· source
Pull a chart directly from an OCI registry without using Helm's legacy repository management.$ helm pull oci://registry-1.docker.io/bitnamicharts/redis
v3.5.0 · Jan 2021
· source
+Test execution and validationshippedProvides a mechanism to run test suites against deployed releases and validate chart structure before deployment.8 releases · 2 other sources · first seen Feb 2017▸
Also counts toward: Command-line interface
release
8 total
helm lint reports name length errors in templates
v3.4.0 · Oct 2020
· source
· release history
helm lint now checks dependencies for validity and resolution issues
v3.4.0 · Oct 2020
· source
· release history
Introduces new linting capabilities including detection of missing selectors and validation of templated resource names
v3.3.0 · Aug 2020
· source
· release history
helm lint works on charts bundled as a .tar.gz file
v3.1.0 · Feb 2020
· source
· release history
Introduces helm test --max to set the maximum number of parallel test hooks
v2.15.0 · Oct 2019
· source
· release history
helm lint gains --namespace <ns> and --values <file> flags, allowing chart validation against a target namespace and custom values before installation.
v2.8.0 · Jan 2018
· source
· release history
example
Run all tests for a release in parallel to speed up verification.$ helm test my-release --parallel
v2.13.0 · Feb 2019
· source
Validate a chart against a specific namespace and values file during CI to catch errors before deployment.$ helm lint ./my-chart --namespace production --values values-prod.yaml
v2.8.0 · Jan 2018
· source
+Release lifecycle managementverifiedControls release deletion policies and resource ownership acquisition during installation.8 releases · 1 other source · first seen Apr 2018▸
Also counts toward: Command-line interface
release
8 total
Adds ownership verification before deleting resources during uninstall, preventing accidental removal of resources not owned by the release.
v4.3.0 · Sep 2026
· source
· release history
Enables --dry-run=server to correctly respect generateName: in manifests.
v4.2.0 · May 2026
· source
· release history
Supports server-side apply for Kubernetes resource management.
v4.0.0 · Nov 2025
· source
· release history
Improves resource watching for wait operations using kstatus.
v4.0.0 · Nov 2025
· source
· release history
New --take-ownership flag for helm install and helm upgrade allows Helm to adopt resources not currently managed by the release.
v3.17.0 · Jan 2025
· source
· release history
--cascade flag to specify deletion policy on uninstall
v3.12.0 · May 2023
· source
· release history
command line
zsh — generate autocompletion script for zsh
v3.19.1 · Nov 2025
· command-line history
+Post-rendering supportshippedEnables executing external programs after template rendering to modify the resulting manifests.6 releases · 3 other sources · first seen Apr 2017▸
Also counts toward: Command-line interface
release
Promotes post-renderers to first-class plugins.
v4.0.0 · Nov 2025
· source
· release history
Adds hook annotations to stream pod logs to the client on hook error (and success).
v3.18.0 · May 2025
· source
· release history
Adds --post-renderer-args flag to pass arguments to the post renderer
v3.9.0 · May 2022
· source
· release history
Adds post-render hooks enabling a script or application to modify the output of rendered templates
v3.1.0 · Feb 2020
· source
· release history
Adds zsh shell completion via helm completion zsh (bash completion already existed)
v2.4.0 · May 2017
· source
· release history
Allows hooks to be weighted using the helm.sh/hookWeight annotation to control execution order.
v2.3.0 · Apr 2017
· source
· release history
example
Surface hook pod logs directly in the terminal when a hook fails, without having to kubectl logs separately.$ # In your hook manifest, add the annotation: # helm.sh/hook-output-log-policy: hook-failed helm upgrade myrelease ./mychart
v3.18.0 · May 2025
· source
Pass arguments like --arg=value to a post-rendering executable$ helm install my-release ./chart --post-renderer=/usr/bin/postrender --post-renderer-args='--config /etc/config.yaml'
v3.9.0 · May 2022
· source
Configure post-rendering to transform the rendered manifests before sending them to Kubernetes.$ helm install my-app ./chart --post-renderer ./transformer.sh
v3.1.0 · Feb 2020
· source
+Chart dependency managementshippedManages chart dependencies defined in requirements.yaml, including installing and updating dependencies.8 releases · 1 other source · first seen Oct 2016▸
Also counts toward: Command-line interface
release
8 total
Adds a warning when requirements.lock is out of sync with requirements.yaml
v3.15.2 · Jun 2024
· source
· release history
--skip-refresh flag is added to helm dep build to control dependency refresh behavior.
v3.5.0 · Jan 2021
· source
· release history
Adds --skip-refresh option to helm dep build to skip updating dependencies
v3.4.1 · Nov 2020
· source
· release history
Allows aliasing packages in requirements.yaml (experimental)
v2.5.0 · Jun 2017
· source
· release history
Enables hoisting values from child charts to parent charts via requirements.yaml.
v2.3.0 · Apr 2017
· source
· release history
Allows repositories.yaml to reference local file paths for dependencies.
v2.2.0 · Feb 2017
· source
· release history
example
Build dependencies locally without triggering a network registry refresh, useful for offline or constrained environments.$ helm dep build . --skip-refresh
v3.5.0 · Jan 2021
· source
+Kubernetes client tuningshippedAllows configuration of Kubernetes API interaction parameters such as QPS limits and burst control.6 releases · 2 other sources · first seen Oct 2016▸
Also counts toward: Command-line interface
release
Enables concurrent status computation to prevent multi-minute delays on releases with many resources.
v4.3.0 · Sep 2026
· source
· release history
Reports time spent waiting for resources as a debug log.
v3.18.0 · May 2025
· source
· release history
Removes the Kubernetes configuration file permissions check, eliminating upgrade friction in shared environments.
v3.17.0 · Jan 2025
· source
· release history
Introduced HELM_QPS environment parameter to control query-per-second limits for Kubernetes packages.
v3.14.0 · Jan 2024
· source
· release history
Adds --burst-limit flag to configure client-side API throttling burst limits
v3.10.0 · Sep 2022
· source
· release history
Adds the --url parameter to helm serve for specifying a base URL.
v2.3.0 · Apr 2017
· source
· release history
example
Deploy Tiller to specific nodes using custom selectors and output the manifest to a file.$ helm init --node-selectors disktype=ssd --output tiller.yaml
v2.7.0 · Oct 2017
· source
Run Helm commands against a specific Kubernetes context without setting it in kubeconfig defaults.$ helm list --kube-context my-cluster
v2.0.0-beta.1 · Oct 2016
· source
+Release deployment wait statesshippedAllows blocking the CLI until all Kubernetes resources are running or failed, providing a synchronous deployment experience.6 releases · 1 other source · first seen Feb 2017▸
Also counts toward: Command-line interface
release
helm--context sub-options allow fine-grained control over resource waiting behavior
v4.1.1 · Feb 2026
· source
· release history
--wait-for-jobs flag enables waiting for Kubernetes jobs to complete when paired with --wait in deployment commands.
v3.5.0 · Jan 2021
· source
· release history
Adds --atomic flag to helm install and helm upgrade to automatically roll back if a release fails during installation or upgrade.
v2.13.0 · Feb 2019
· source
· release history
helm init --wait pings the Tiller server after deployment and fails if readiness is not confirmed within the timeout period.
v2.8.0 · Jan 2018
· source
· release history
Adds --wait flag to helm install and helm upgrade to wait until all resources are running.
v2.2.0 · Feb 2017
· source
· release history
example
Ensure Tiller is fully ready before proceeding with subsequent Helm commands in a script to avoid race conditions.$ helm init --upgrade --wait
v2.8.0 · Jan 2018
· source
+Repository management timeout controlshippedAllows users to configure timeouts for repository add and update operations to prevent indefinite hangs in CI/CD pipelines.3 releases · 3 other sources · first seen Oct 2016▸
Also counts toward: Command-line interface
release
Adds --timeout flag to helm repo add and helm repo update commands, enabling control over how long Helm waits when contacting a chart repository.
v3.19.1 · Nov 2025
· source
· release history
The repository directory name kubernetes-charts is renamed to stable.
v2.0.0-alpha.5 · Oct 2016
· source
· release history
example
Enforce a timeout on a repo index refresh in CI so the pipeline fails fast instead of blocking.$ helm repo update --timeout 30s
v3.20.0 · Jan 2026
· source
Cap the wait time when refreshing all repos in a CI pipeline where a stale repo shouldn't block the build.$ helm repo update --timeout 15s
v3.19.1 · Nov 2025
· source
Set a custom timeout when adding a slow or remote chart repository to avoid hanging indefinitely.$ helm repo add my-repo https://charts.example.com --timeout 30s
v3.19.1 · Nov 2025
· source
+Diagnostic and profiling capabilitiesshippedProvides tools to diagnose deployment performance and runtime behavior, including CPU/memory profiling and structured logging.5 releases · 1 other source · first seen Mar 2025▸
release
Enables structured logging via slog, allowing SDK logging to integrate with modern loggers.
v4.0.0 · Nov 2025
· source
· release history
Enables CPU and memory profiling via HELM_PPROF environment variable and new profiling flags.
v3.18.0 · May 2025
· source
· release history
Outputs hook logs directly to the client output on error using the new hook annotation.
v4 Changes Also Backported to v3 · Mar 2025
· source
· release history
Logs time spent waiting for resources to be ready in slog format.
v4 Changes Also Backported to v3 · Mar 2025
· source
· release history
Enables CPU and memory profiling via new profiling flags or environment variables.
v4 Changes Also Backported to v3 · Mar 2025
· source
· release history
example
Capture a CPU profile while running a heavyweight install to diagnose slow deployments.$ HELM_PPROF=cpu helm install myrelease ./mychart
v3.18.0 · May 2025
· source
+Value input methodsshippedProvides expanded command-line flags for setting template values, including JSON and literal string inputs.6 releases · first seen Jun 2017▸
Also counts toward: Command-line interface
release
Supports JSON Schema 2020 for chart value validation.
v3.18.0 · May 2025
· source
· release history
--set-literal command line flag to set a specific string with no escaping
v3.12.0 · May 2023
· source
· release history
Adds --set-json flag to allow setting JSON values directly in template overrides
v3.10.0 · Sep 2022
· source
· release history
Adds the --set-string flag to force string values in helm install or helm upgrade commands
v2.9.0 · Apr 2018
· source
· release history
Keys in values.yaml with the literal form "foo[0]" will no longer work because --set now accepts array indices.
v2.5.0 · Jun 2017
· source
· release history
Adds support for array indices in --set syntax (e.g., --set servers[0].port=8080)
v2.5.0 · Jun 2017
· source
· release history
+OCI authentication managementshippedManages credentials for OCI registries using standard Docker CLI-compatible structures.3 releases · 2 other sources · first seen Jun 2021▸
Also counts toward: Command-line interface
release
Adds username/password authentication options to helm push and helm dependency build/helm dependency update subcommands.
v3.17.0 · Jan 2025
· source
· release history
HELHELM_REGISTRY_CONFIG default file for registry config changed to config.json
v3.8.0 · Jan 2022
· source
· release history
Adds --pass-credentials flag to helm repo add and commands accepting --repo
v3.6.1 · Jun 2021
· source
· release history
example
Securely add a repository using a password passed via standard input to avoid logging or shell history exposure.$ helm repo add <name> <url> --password-stdin <<< '<password>'
v3.7.0 · Sep 2021
· source
Forward authentication credentials when a Helm repository URL redirects to a different domain for chart distribution.$ helm repo add stable https://charts.helm.sh/stable --pass-credentials
v3.6.1 · Jun 2021
· source
+Dry-run previewshippedPreviews chart installation or upgrade outputs and debug information without applying changes.4 releases · 1 other source · first seen Dec 2016▸
release
Ported the PostgreSQL SQL storage driver from Helm 2 for use with Helm v3, enabling PostgreSQL as a backend for release history
v3.2.0 · Apr 2020
· source
· release history
Adds --devel flag to helm fetch, helm install, and helm upgrade to allow installing unstable chart versions (e.g., alpha/beta releases)
v2.4.2 · May 2017
· source
· release history
Adds --wait flag to helm install and helm upgrade to wait until all resources are running.
v2.2.0 · Feb 2017
· source
· release history
helm upgrade --dry-run --debug now provides a preview of upgrades with detailed debug output.
v2.1.2 · Dec 2016
· source
· release history
example
Validate a new chart installation by seeing the generated manifest without actually deploying.$ helm install myrelease ./mychart --dry-run --debug
v2.1.2 · Dec 2016
· source
+Release rollbackshippedReverts a release to a previous version or undeletes a previously removed release.3 releases · 1 other source · first seen Oct 2016▸
Adds --cleanup-on-fail flag to helm rollback to allow deletion of new resources created during a failed rollback
v2.14.0 · May 2019
· source
· release history
Adds helm rollback command to revert a release to a previous version, including undeleting releases.
v2.0.0-alpha.5 · Oct 2016
· source
· release history
example
Automatically clean up partially deployed resources if a rollback operation fails.$ helm rollback --cleanup-on-fail <RELEASE_NAME> <REVISION>
v2.14.0 · May 2019
· source
+Environment configuration introspectionshippedProvides commands to inspect and configure environment variables and shell completion settings.4 releases · first seen Apr 2020▸
Also counts toward: Command-line interface
release
helm env <VARIABLE> command added to read a specific Helm environment variable value
v3.4.0 · Oct 2020
· source
· release history
Fish shell completion support added via helm env completion fish or direct sourcing
v3.4.0 · Oct 2020
· source
· release history
Adds helm env subcommands to list and configure environment variables that control Helm's XDG configuration directory locations
v3.3.0 · Aug 2020
· source
· release history
Ported the PostgreSQL SQL storage driver from Helm 2 for use with Helm v3, enabling PostgreSQL as a backend for release history
v3.2.0 · Apr 2020
· source
· release history
+CLI output formattingshippedSupports outputting CLI results in structured formats such as YAML, JSON, or Go templates for programmatic processing.2 releases · 2 other sources · first seen May 2019▸
Also counts toward: Command-line interface, JSON data export
release
Adds --output flag to helm install, helm repo list, and helm search for YAML/JSON output
v2.15.0 · Oct 2019
· source
· release history
Adds --template flag to helm get to provide go template formatting for command output
v2.14.0 · May 2019
· source
· release history
example
Export repository search results as YAML for programmatic processing$ helm search repo <keyword> -o yaml
v2.15.0 · Oct 2019
· source
Format the output of helm get using a Go template to extract specific values.$ helm get --template '{{.Name}}' <RELEASE_NAME>
v2.14.0 · May 2019
· source
+Release history viewingshippedViews the revision history of a specific release to identify when changes occurred.2 releases · 1 other source · first seen Oct 2016▸
Also counts toward: Command-line interface
release
Adds --description flag to helm rollback to attach a human-readable reason to a release rollback entry
v4.3.0 · Sep 2026
· source
· release history
Introduces helm history subcommand to view the revision history of a specific release.
v2.0.0-alpha.5 · Oct 2016
· source
· release history
example
Document the reason for a rollback when rolling back release my-app to revision 2.$ helm rollback my-app 2 --description "Fix broken config map reference"
v4.3.0 · Sep 2026
· source
+Platform distribution supportshippedProvides binary distributions for additional hardware architectures.3 releases · first seen Aug 2018▸
release
Adds Linux loong64 binary distribution support.
v4.2.0 · May 2026
· source
· release history
Adds native darwin/arm64 binary for Apple Silicon support.
v3.6.0 · May 2021
· source
· release history
Added s390x binary releases for the Helm client
v2.10.0 · Aug 2018
· source
· release history
+Release management flagsshippedProvides specific control flags for release lifecycle operations, including waiting for jobs to complete during deployment and ensuring full resource deletion during uninstallation.2 releases · 1 other source · first seen Jan 2021▸
--wait-for-jobs flag enables waiting for Kubernetes jobs to complete when paired with --wait in deployment commands.
v3.5.0 · Jan 2021
· source
· release history
example
Ensure all Kubernetes resources are fully deleted before the command returns.$ helm uninstall <release-name> --wait
v3.7.0 · Sep 2021
· source
+Chart dependency optimizationshippedAllows controlling dependency refresh behavior and building dependencies locally without network access. This includes the `--skip-refresh` flag for dependency builds to prevent registry updates in constrained environments.1 release · 2 other sources · first seen Nov 2020▸
Also counts toward: Command-line interface, Offline mode
release
--skip-refresh flag is added to helm dep build to control dependency refresh behavior.
v3.5.0 · Jan 2021
· source
· release history
example
Build dependencies locally without triggering a network registry refresh, useful for offline or constrained environments.$ helm dep build . --skip-refresh
v3.5.0 · Jan 2021
· source
Build local dependencies without fetching remote updates, useful for offline builds or reproducible CI pipelines.$ helm dep build --skip-refresh .
v3.4.1 · Nov 2020
· source
+Chart repository managementshippedAdds and updates chart repositories in the local client environment, supporting credential management, URL updates, and overwrite controls.2 releases · 1 other source · first seen Sep 2020▸
Also counts toward: Command-line interface
release
The default behavior of helm repo add no longer overwrites existing repository entries; the --no-update flag now does nothing.
v3.3.2 · Sep 2020
· source
· release history
Adds --force-update flag to helm repo add to allow overwriting existing repository entries
v3.3.2 · Sep 2020
· source
· release history
example
Update an existing Helm chart repository URL or credential without removing and re-adding the remote.$ helm repo add stable https://charts.helm.sh/stable --force-update
v3.3.2 · Sep 2020
· source
+Chart signing and verificationshippedCreates signed chart packages with provenance files and verifies their cryptographic integrity.2 releases · 1 other source · first seen Sep 2016▸
Also counts toward: Command-line interface
release
Introduces $HELM_KEY_PASSPHRASE environment variable to configure passphrase for signing Helm charts.
v2.12.0 · Dec 2018
· source
· release history
helm package adds the --sign flag to create signed chart packages with a provenance file.
v2.0.0-alpha.4 · Sep 2016
· source
· release history
example
Sign charts automatically by setting the passphrase environment variable before running Helm commands.$ export HELM_KEY_PASSPHRASE='your-secure-passphrase' && helm sign <chart-path>
v2.12.0 · Dec 2018
· source
+Kubernetes context targetingshippedAllows explicitly setting the Kubernetes context via a global flag or command argument.1 release · 2 other sources · first seen Oct 2016▸
Also counts toward: Command-line interface
release
Added --kubeconfig flag to specify a kubeconfig file
v2.10.0 · Aug 2018
· source
· release history
example
Use a specific kubeconfig file instead of the default location for managing multiple clusters.$ helm install stable/mysql --kubeconfig /path/to/custom/kubeconfig
v2.10.0 · Aug 2018
· source
Run Helm commands against a specific Kubernetes context without setting it in kubeconfig defaults.$ helm list --kube-context my-cluster
v2.0.0-beta.1 · Oct 2016
· source
+Release storage backendshippedStores release data in Kubernetes ConfigMaps for persistence across Tiller restarts.3 releases · first seen Aug 2016▸
previously: Persistent release storage
release
New secrets storage backend for releases (beta)
v2.7.0 · Oct 2017
· source
· release history
Adds two new fields to Chart.yaml: appVersion for specifying application version and deprecated to indicate unmaintained charts.
v2.3.0 · Apr 2017
· source
· release history
Allows Helm client configuration changes: the HELM_HOME storage backend can be set to use Kubernetes ConfigMaps instead of memory.
v2.0.0-alpha.3 · Aug 2016
· source
· release history
+Local artifact cachingshippedImplements local content-based caching for charts and other artifacts to improve performance.2 releases · first seen Aug 2016▸
release
Adds local content-based caching for charts and other artifacts.
v4.0.0 · Nov 2025
· source
· release history
Allows Helm client configuration changes: the HELM_HOME storage backend can be set to use Kubernetes ConfigMaps instead of memory.
v2.0.0-alpha.3 · Aug 2016
· source
· release history
+Resource deletion policy customizationshippedAllows specific resources to be excluded from deletion during chart uninstallation or opt-in for immediate deletion upon uninstall.2 other sources · first seen May 2019▸
example
Ensure all Kubernetes resources are fully deleted before the command returns.$ helm uninstall <release-name> --wait
v3.7.0 · Sep 2021
· source
Prevent specific resources from being deleted when uninstalling a chart.$ apiVersion: v1 kind: Service metadata: name: my-service annotations: helm.sh/resource-policy: delete
v2.14.0 · May 2019
· source
+Kubernetes certificate authority configurationshippedEnables overriding the system-wide CA certificate for Kubernetes API communication via command-line flags or environment variables.1 release · 1 other source · first seen Jan 2021▸
Also counts toward: Command-line interface
release
--kube-cafile flag and HELM_KUBECAFILE environment variable override the system-wide certificate authority for Kubernetes API communication.
v3.5.0 · Jan 2021
· source
· release history
example
Override the cluster's default CA certificate file using an environment variable to point to a custom CA.$ HELM_KUBECAFILE=/path/to/custom-ca.crt helm upgrade --install myapp .
v3.5.0 · Jan 2021
· source
+Repository searchshippedSearches chart repositories for available packages and displays metadata such as version information for repository entries.2 releases · first seen Nov 2019▸
Also counts toward: Command-line interface
release
Updates helm search to support semver pre-version numbers starting with 0
v3.4.1 · Nov 2020
· source
· release history
Search command now displays the proper version for repository entries
v2.16.0 · Nov 2019
· source
· release history
+Release description managementshippedAllows setting and viewing custom descriptions for releases to aid in tracking.1 release · 1 other source · first seen Feb 2020▸
Also counts toward: Command-line interface
release
helm status now displays release description via new flag (or auto-display)
v3.4.0 · Oct 2020
· source
· release history
example
Attach a custom description to a Helm release for better tracking in Kubernetes annotations.$ helm install my-app ./chart --description "Initial deployment by DevOps"
v3.1.0 · Feb 2020
· source
+Repository initialization controlshippedAllows initializing the environment without automatically adding default chart repositories.1 release · 1 other source · first seen Oct 2020▸
release
helm init gains the --skip-repo flag to skip adding the stable and local chart repositories during initialization
v2.17.0 · Oct 2020
· source
· release history
example
Initialize Helm without adding any chart repositories, useful for isolated environments or when managing repos manually$ helm init --skip-repo
v2.17.0 · Oct 2020
· source
+PersistentVolume keep policyshippedAllows keeping PersistentVolumeClaims after helm delete via annotations.2 other sources · first seen Dec 2016▸
example
Prevent specific resources from being deleted when uninstalling a chart.$ apiVersion: v1 kind: Service metadata: name: my-service annotations: helm.sh/resource-policy: delete
v2.14.0 · May 2019
· source
Keep a PersistentVolumeClaim after helm delete by adding the annotation to the PVC template.$ annotations: 'helm.sh/resource-policy': keep
v2.1.0 · Dec 2016
· source
+Atomic release deploymentshippedAutomatically rolls back a release to its previous state if an installation or upgrade fails, ensuring consistent cluster state.1 release · 1 other source · first seen Feb 2019▸
release
Adds --atomic flag to helm install and helm upgrade to automatically roll back if a release fails during installation or upgrade.
v2.13.0 · Feb 2019
· source
· release history
example
Ensure a release is fully rolled back to its previous state if the installation fails.$ helm install --atomic stable/nginx-ingress
v2.13.0 · Feb 2019
· source
+Chart documentation generationshippedGenerates documentation for charts using the helm doc command.2 releases · first seen Dec 2016▸
Also counts toward: Command-line interface
release
Adds chart name validation check to helm lint.
v2.13.0 · Feb 2019
· source
· release history
Adds a helm doc command to generate documentation for charts
v2.1.0 · Dec 2016
· source
· release history
+Plugin system supportshippedAllows external commands written in any language to extend the tool via a plugin system.2 releases · first seen Dec 2016▸
Also counts toward: Plugin API support, Plugin system
release
Added support for reading from stdin when using plugin getters
v2.10.0 · Aug 2018
· source
· release history
Extends Helm with a plugin system via feat(helm): add plugin system backend, allowing external commands written in any language
v2.1.0 · Dec 2016
· source
· release history
+Plugin ecosystem managementshippedEnables the installation, listing, updating, and removal of external plugins to extend the tool's functionality.2 releases · first seen Apr 2017▸
Also counts toward: Command-line interface, Plugin system
release
Introduces a new helm plugin update command for updating installed plugins
v2.5.0 · Jun 2017
· source
· release history
Adds helm plugin install, helm plugin list, and helm plugin remove commands for managing Helm plugins.
v2.3.0 · Apr 2017
· source
· release history
+Template time comparison functionsshippedExtends the template rendering engine with duration-based arithmetic and comparison functions for conditional logic.1 release · first seen Sep 2026▸
release
Adds duration comparison and arithmetic functions (e.g., durationParse, durationSince) to the Helm template engine
v4.3.0 · Sep 2026
· source
· release history
+Gateway API template snippetsshippedIncludes built-in Helm chart template snippets for Kubernetes Gateway API resources such as HTTPRoute.1 release · first seen Mar 2025▸
release
Adds httproute from gateway-api as a built-in Helm chart template snippet.
v4 Changes Also Backported to v3 · Mar 2025
· source
· release history
+CRD extraction capabilitiesshippedAllows extracting Custom Resource Definitions (CRDs) from a chart without installing it, supporting GitOps workflows and documentation generation.1 release · first seen Sep 2021▸
+Template context enrichmentshippedExtends the template engine with new context fields and functions, including `{{ .Chart.IsRoot }}` for conditional logic based on chart type.1 release · first seen Sep 2021▸
release
{{ .Chart.IsRoot }} in the template engine
v3.7.0 · Sep 2021
· source
· release history
+Client impersonation supportshippedEnables the client to impersonate specific users or service accounts for authorization.1 release · first seen Oct 2020▸
Also counts toward: Command-line interface
release
--as flag added to enable impersonation similar to kubectl --as="user"
v3.4.0 · Oct 2020
· source
· release history
+Cross-namespace deployment scopeshippedEnables operating on all namespaces within a cluster rather than a single target namespace.1 release · first seen Feb 2020▸
release
helm upgrade / install adds -A short flag for --all-namespace
v3.1.0 · Feb 2020
· source
· release history
+Library chart supportshippedAllows charts to be defined as libraries that provide resource templates for other charts to include.1 release · first seen Nov 2019▸
release
Adds support for library charts that act as resource libraries for other charts
v3.0.0 · Nov 2019
· source
· release history
+Release configuration inheritanceshippedSupports reusing configuration values from previous releases during upgrades to reduce manual input.1 release · first seen Apr 2017▸
Also counts toward: Command-line interface
release
Adds the --reuse-values flag to helm upgrade to reuse configuration from previous releases.
v2.3.0 · Apr 2017
· source
· release history
+Global value nestingshippedSupports deeply nested maps in chart values files, accessible via dot notation.1 release · first seen Dec 2016▸
release
Globals in chart values files can now contain nested sections (deeply nested maps) instead of being restricted to flat name/value pairs.
v2.1.2 · Dec 2016
· source
· release history
+File object methodsshippedExposes Files.Glob, AsSecrets, and AsConfig methods for easier ConfigMap/Secret generation.1 release · first seen Dec 2016▸
release
Exposes Files.Glob, AsSecrets, and AsConfig methods on the .Files object in templates to generate ConfigMaps and Secrets more easily
v2.1.0 · Dec 2016
· source
· release history
+Semver dependency rangesshippedPermits semver 2 version ranges in requirements.yaml for flexible dependency management.1 release · first seen Dec 2016▸
release
Permits semver 2 version ranges (e.g., >=1.0.0 <2.0.0) in the version field of requirements.yaml dependencies
v2.1.0 · Dec 2016
· source
· release history
+Values file layeringshippedSupports multiple values files via repeated flags to merge configuration.1 release · first seen Dec 2016▸
Also counts toward: Command-line interface
release
Supports multiple -f / --values flags on install/upgrade commands to layer configuration from several files
v2.1.0 · Dec 2016
· source
· release history
+GPG password supportshippedSupports password-locked GPG keys for chart signing via password prompts.1 release · first seen Nov 2016▸
release
Supports password-locked GPG keys via a password prompt
v2.0.0-rc.1 · Nov 2016
· source
· release history
+Replace release name flagshippedAppends to release history instead of failing when a release name exists.1 release · first seen Nov 2016▸
release
Adds --replace flag to helm install to append to release history
v2.0.0-rc.1 · Nov 2016
· source
· release history
+Third-party API supportshippedEnables the use of Kubernetes 3rd Party API objects in charts.1 release · first seen Nov 2016▸
release
Enables Kubernetes 3rd Party API objects
v2.0.0-rc.1 · Nov 2016
· source
· release history
+gRPC tracingshippedProvides optional gRPC tracing in Tiller for debugging purposes.1 release · first seen Oct 2016▸
release
Adds optional gRPC tracing in Tiller for debugging (disabled by default)
v2.0.0-beta.1 · Oct 2016
· source
· release history
+Repository add optimizationshippedAllows adding a repository URL without immediately fetching its index.1 other source · first seen Oct 2016▸
example
Add a repository URL without triggering an immediate index fetch, useful for validating the URL first.$ helm repo add myrepo https://myrepo.example.com --no-update
v2.0.0-beta.1 · Oct 2016
· source
+Tiller deployment configurationshippedAllows Tiller to be installed into any namespace, including kube-system, with appropriate permissions.1 release · first seen Aug 2016▸
previously: Tiller namespace flexibility
release
Enables Tiller to install into kube-system namespace and deploy charts to any namespace it has write access to.
v2.0.0-alpha.3 · Aug 2016
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for kubernetes-helm, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail kubernetes-helm puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in helm/helm, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors94−24 vs prior 12 months
Maintainers8+6 joined · −11 left, last 12 months
Bus factor4committers behind half the commits
Community-filed95%of issues opened, last 12 months
Median time to close122 daysfirst maintainer reply 6.1 days
Open backlog259of 8,498 issues ever filed
Issues opened / month6 · 0communitymaintainers
Open backlog259
Contributors / month2
Commits / month2
Stars30,257
Issue themes, last 12 months
bugs 22%
features 15%
questions 23%
docs 0%
other 40%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.