github.com/fluxcd/helm-controller
v1.6.3
#2588 most downloaded on Go modules
fluxcd/helm-controller
What this package is like to depend on
Last release 27 days ago
28 Jul 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 109 of 109 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
906 releases · first in 2020
42 releases in the last 12 months
see the full history below
Release timeline
906 releases · Jul 2020 to Jul 2026Releases
latest 60 of 906-
v1.6.323 Jul 2026Release notes
Open source →Changelog
Container images
docker.io/fluxcd/helm-controller:v1.6.3ghcr.io/fluxcd/helm-controller:v1.6.3
Supported architectures:
linux/amd64,linux/arm64andlinux/arm/v7.The container images are built on GitHub hosted runners and are signed with cosign and GitHub OIDC.
To verify the images and their provenance (SLSA level 3), please see the security documentation.Release notes
Open source →Release date: 2026-07-23
This patch release fixes empty lines vanishing from rendered chart manifests, and releases being marked as tested when their Helm test hooks never ran.
Fixes:
Improvements:
- ci: parallelize e2e job to speed it up #1543
-
v1.6.207 Jul 2026Release notes
Open source →Changelog
Container images
docker.io/fluxcd/helm-controller:v1.6.2ghcr.io/fluxcd/helm-controller:v1.6.2
Supported architectures:
linux/amd64,linux/arm64andlinux/arm/v7.The container images are built on GitHub hosted runners and are signed with cosign and GitHub OIDC.
To verify the images and their provenance (SLSA level 3), please see the security documentation.Release notes
Open source →Release date: 2026-07-07
This patch release disables Flux variable substitution on the HelmRelease CRD. The CRD is now annotated with
kustomize.toolkit.fluxcd.io/substitute: disabledso that Kustomizations with post-build substitution enabled no longer corrupt the CRD schema when it contains${...}sequences.Fixes:
- Disable variable substitution in CRDs #1538
-
v1.6.130 Jun 2026Release notes
Open source →Changelog
Container images
docker.io/fluxcd/helm-controller:v1.6.1ghcr.io/fluxcd/helm-controller:v1.6.1
Supported architectures:
linux/amd64,linux/arm64andlinux/arm/v7.The container images are built on GitHub hosted runners and are signed with cosign and GitHub OIDC.
To verify the images and their provenance (SLSA level 3), please see the security documentation.Release notes
Open source →Release date: 2026-06-30
This patch release updates Kubernetes to 1.36.2, Helm to v4.2.2 and the fluxcd/pkg dependencies. It also adds kubectl categories to the HelmRelease CRD and documents the controller's command-line options.
Improvements:
-
v1.6.1-0.20260728081940-6dfc0849abf228 Jul 2026 pre-releaseNothing published for this version
-
v1.6.1-0.20260723121906-83b01ef188bd23 Jul 2026 pre-releaseNothing published for this version
-
v1.6.1-0.20260712192507-f9dfbeba09ad12 Jul 2026 pre-releaseNothing published for this version
-
v1.6.1-0.20260701101235-d72718df8e5601 Jul 2026 pre-releaseNothing published for this version
-
v1.6.1-0.20260629145848-13564d39718329 Jun 2026 pre-releaseNothing published for this version
-
v1.6.1-0.20260623200446-0a8aaf59985523 Jun 2026 pre-releaseNothing published for this version
-
v1.6.017 Jun 2026Release notes
Open source →Changelog
Container images
docker.io/fluxcd/helm-controller:v1.6.0ghcr.io/fluxcd/helm-controller:v1.6.0
Supported architectures:
linux/amd64,linux/arm64andlinux/arm/v7.The container images are built on GitHub hosted runners and are signed with cosign and GitHub OIDC.
To verify the images and their provenance (SLSA level 3), please see the security documentation.Release notes
Open source →Release date: 2026-06-17
This minor release continues aligning Flux with Helm v4, adding support for Helm's post-render strategies along with several new HelmRelease configuration options and improved drift observability.
⚠️ Breaking change: the default post-render strategy is now
combined, to stay aligned with Helm v4.2's default for sending hooks to post-renderers. Users relying on the previous Helm v3 behavior can either enable theUseHelm3Defaultsfeature gate (which switches the default back tonohooks) or pin the behavior per HelmRelease via.spec.postRenderStrategy.HelmRelease
Helm's post-render strategies are now supported through the new
.spec.postRenderStrategyfield, which controls how hooks are passed to post-renderers. The accepted values arenohooks,combinedandseparate. The default iscombinedto stay aligned with Helm v4.2, switching tonohookswhen theUseHelm3Defaultsfeature gate is enabled.A new
.spec.upgrade.chartNameChangeStrategyfield controls what happens when a HelmRelease's chart name changes. The defaultReinstallkeeps the current behavior of uninstalling and reinstalling the release, whileInPlaceUpdateperforms an in-place Helm upgrade instead, re-introducing on an opt-in basis the behavior present before Flux 2.2.valuesFromentries now accept aliteralfield. When set totrue, the referenced value is used verbatim instead of being parsed with Helm's--setsyntax, allowing arbitrary file content (JSON blobs, multi-line YAML, HOCON, etc.) that would otherwise be misinterpreted by the strvals parser.A new
Driftedcondition is now set on the HelmRelease to improve the observability of drift detection.Improvements:
- Add post-render strategy support and conditional defaults #1470
- Support helm release upgrade on helm chart name change #1447
- Add
literalfield tovaluesFrom#1503 - Add
Driftedcondition to HelmRelease #1367 - Migrate
DependencyReferenceto sharedapis/metatype #1502 - Update source-controller API to v1.9.0 #1519
- Various dependency updates #1467, #1472, #1507, #1509, #1513, #1514, #1515, #1517
-
v1.5.520 May 2026Release notes
Open source →Changelog
Container images
docker.io/fluxcd/helm-controller:v1.5.5ghcr.io/fluxcd/helm-controller:v1.5.5
Supported architectures:
linux/amd64,linux/arm64andlinux/arm/v7.The container images are built on GitHub hosted runners and are signed with cosign and GitHub OIDC.
To verify the images and their provenance (SLSA level 3), please see the security documentation.Release notes
Open source →Release date: 2026-05-20
This patch release fixes several reliability issues. HTTP artifact fetches could block indefinitely and stall reconciliations, the Kubernetes client transport accumulated a new retry wrapper on every reconcile causing unbounded memory growth, non-CRD objects placed under a chart's
crds/directory were force-applied, and the Helm test action failed to find releases with names longer than 53 characters. It also moves Helm back to upstream v4.2.0 (off the Flux fork) and updates Kubernetes and fluxcd/pkg dependencies.Fixes:
- Add configurable HTTP timeout for artifact fetching #1497
- Move retryingRoundTripper wrapping to constructor #1487
- Ignore non-CRD objects under crds/ #1496
- Use ShortenName for release name in Test action #1498
Improvements:
-
v1.5.421 Apr 2026Release notes
Open source →Release date: 2026-04-21
This patch release fixes a post-renderer conflict between overlapping hooks and templates, and preserves line endings in
SplitManifestsfor downstream YAML parsers. It also ensures force-replace is ignored when server-side apply is enabled.Fixes:
-
v1.5.316 Mar 2026Release notes
Open source →Release date: 2026-03-16
This patch release fixes templating errors for charts that include
---in the content, e.g. YAML separators, embedded scripts, CAs inside ConfigMaps, etc. Some of the errors that could be encountered due to this issue are:invalid document separator: ---apiVersion: v1wrong node kind
Fixes:
- Fix multi-doc parser of
---for post renderers #1442
-
v1.5.212 Mar 2026Release notes
Open source →Release date: 2026-03-12
This patch release fixes reconciliation queue behavior for source watch events while a HelmRelease is already reconciling the watched revision. It also comes with Helm 4.1.3, which fixes a Go templates bug where the YAML document separator
---could be concatenated toapiVersionas---apiVersion, and introduces theDefaultToRetryOnFailurefeature gate to improve the experience whenCancelHealthCheckOnNewRevisionis enabled by ensuring canceled HelmReleases do not get stuck when no retry strategy is configured.Fixes:
- Fix enqueing the same revision while reconciling #1430
Improvements:
-
v1.5.127 Feb 2026Release notes
Open source →Release date: 2026-02-27
This patch release fixes health check logic for StatefulSets during rolling updates when the Pods are Pending/Unschedulable.
Fixes:
- Fix health check logic for StatefulSets during rolling updates #1424
Improvements:
-
v1.5.1-0.20260617082826-a2e22df877c017 Jun 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260519112306-6d8a55293fc119 May 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260421070942-738a3d5ad20821 Apr 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260316112515-d36a0ca85c8616 Mar 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260312104411-71cda66f49dd12 Mar 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260225110438-c65a9e96352725 Feb 2026 pre-releaseNothing published for this version
-
v1.5.020 Feb 2026Release notes
Open source →Release date: 2026-02-20
This minor release comes with Helm v4 support, server-side apply for Helm releases, and various bug fixes and improvements.
⚠️ The
v2beta2APIs were removed. Before upgrading the CRDs, Flux users must runflux migrateto migrate the cluster storage offv2beta2.HelmRelease
The controller now uses Helm v4, and, with this change, new default behaviors are being introduced (breaking changes) to keep Flux and Helm aligned:
- Apply method is now defaulting to server-side apply for new HelmReleases.
- Health checks now default to using kstatus for assessing readiness and failures of applied resources.
Those defaults can be changed back to Helm v3's defaults by setting the feature gate
UseHelm3Defaults. Alternatively, fine-tuning the apply and health check methods is also possible on a per-HelmRelease basis by using the following fields:.spec.install.serverSideApply(boolean, default defined byUseHelm3Defaults).spec.upgrade.serverSideApply(enabled,disabledorauto, defaults toauto).spec.rollback.serverSideApply(enabled,disabledorauto, defaults toauto).spec.waitStrategy.name(pollerorlegacy, default defined byUseHelm3Defaults)
Note that Helm persists the apply method in the release storage, hence why the
autovalue is an option for upgrade and rollback actions. When set toauto, the controller will reuse the apply method used in the last successful release revision as recorded in the Helm storage, defaulting to client-side apply. This means that existing HelmReleases will continue to use client-side apply until their.specis updated with.spec.{upgrade|rollback}.serverSideApply: enabled.The
pollerhealth check strategy uses kstatus to check the status of applied resources, while thelegacystrategy uses Helm v3's built-in health checking behavior.The controller now can be configured to cancel in-progress health checks when a new reconciliation request is received, reducing the mean time to recovery (MTTR) in case of failed deployments. This feature is enabled by the
CancelHealthCheckOnNewRevisionfeature gate. Note that enabling this feature gate will not cancel apply operations, and will only cancel health checks for managed resources. Waiting for Helm hooks and tests will not be cancelled. Note also that this feature is only available with thepollerhealth check strategy.Still on the health check subject, custom health checks via CEL expressions are now supported for HelmRelease via the
.spec.healthCheckExprsfield, similar to the Kustomization API. Please see the CEL cheatsheet for more information.The
--override-manager=<manager>flag has been added for server-side apply drift detection and correction. This flag can be passed multiple times. Note that drift detection and correction in helm-controller is completely unrelated to Helm v4's server-side apply support, and was implemented long before Helm v4 was released.The
DirectSourceFetchfeature gate has been introduced for bypassing the cache when fetching source objects on reconciliations.For improved observability, inventory tracking has been added via
.status.inventory. Hooks and tests are not tracked in this field. Only resources present in the Helm storage and CRDs are tracked.Also for improved observability, the controller now tracks the action (
install,upgrade,rollback,uninstall,uninstall-remediation) in snapshots:.status.history[].action.General updates
In addition, the Kubernetes dependencies have been updated to v1.35.0, Kustomize has been updated to v5.8.1 and the controller is now built with Go 1.26.
Fixes:
- Fix state when configuration set back to current state following upgrade failure #1369
- Fix waiting and erroring out on garbage-collected Jobs #1402
- Fix controller not reconciling conditions for in-sync release #1411
- Fix postRenderers not causing new upgrade when applied during ongoing upgrade #1412
Improvements:
- Upgrade Helm to v4 #1383 #1403
- Add ServerSideApply field to HelmRelease API #1384
- Add
.status.inventoryto track managed objects #1385 - Add support for custom health checks via CEL expressions #1389
- Add
--override-managerflag for server-side apply drift detection #1365 - Reduce the mean time to recovery (MTTR) in case of failed deployments #1392
- Track action in snapshots #1399
- Add
DirectSourceFetchfeature gate to bypass cache for source objects #1407 - Remove deprecated APIs in group
helm.toolkit.fluxcd.io/v2beta2#1404 - Remove adoption of resources in old API versions #1396
- Remove duplicated struct json tag #1377
- Various dependency updates #1395 #1406 #1408 #1410
-
v1.4.527 Nov 2025Release notes
Open source →Release date: 2025-11-27
This patch release fixes the HelmRelease
.status.historyfilling up etcd when theRetryOnFailurestrategy is used.Fixes:
- Fix history truncation logic for RetryOnFailure #1360
-
v1.4.419 Nov 2025Release notes
Open source →Release date: 2025-11-19
This patch release fixes the error
no URLLoader registeredand Azure Workload Identity in Azure China Cloud. It also adds a feature gate to disable the ConfigMap and Secret watchers,DisableConfigWatchers.Improvements:
-
v1.4.328 Oct 2025Release notes
Open source →Release date: 2025-10-28
This patch release comes with various fixes and improvements.
Fixes:
- Fix status reporting for RetryOnFailure strategy #1338
Improvements:
- Allow fetching charts from a local source-watcher #1341
-
v1.4.208 Oct 2025Release notes
Open source →Release date: 2025-10-08
This patch release comes with various dependency updates.
The controller is now built with Go 1.25.2 which includes fixes for vulnerabilities in the Go stdlib: CVE-2025-58183, CVE-2025-58188 and many others. The full list of security fixes can be found here.
Improvements:
- Update dependencies to Kubernetes v1.34.1 and Go 1.25.2 #1329
-
v1.4.106 Oct 2025Release notes
Open source →Release date: 2025-10-06
This patch release fixes the controller setting the
Readycondition toUnknownredundantly during reconciliation.Fixes:
-
v1.4.1-0.20260220092716-3b6abe1cc2fe20 Feb 2026 pre-releaseNothing published for this version
-
v1.4.1-0.20251125140825-eaf9fe37e18925 Nov 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251119154626-aea3296d0fcd19 Nov 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251119085850-1c7b8cf8bc9819 Nov 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251112081218-4bf05313bb2412 Nov 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251028132438-96f1d9e1e28c28 Oct 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251028095715-cc9ac478b74028 Oct 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251016074207-de97aa9d843c16 Oct 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20251009105017-714ecb17e44a09 Oct 2025 pre-releaseNothing published for this version
-
v1.4.1-0.20250925142754-b0e13c24aed925 Sep 2025 pre-releaseNothing published for this version
-
v1.4.025 Sep 2025Release notes
Open source →Release date: 2025-09-25
This minor release comes with various bug fixes and improvements.
⚠️ The
v2beta1APIs were removed. Before upgrading the CRDs, Flux users must runflux migrateto migrate the cluster storage offv2beta1.The controller now supports ExternalArtifact Helm chart sources under the feature gate
ExternalArtifact.A new
RetryOnFailurestrategy has been added for automatic retries on Helm release failures.Dependencies can now be evaluated using CEL expressions via the new
readyExprfield, providing more flexible and powerful dependency readiness checks.Support for workload identity authentication has been added for remote clusters. This is supported both at the controller and object levels. For object-level, enable the feature gate
ObjectLevelWorkloadIdentity.In addition, the Kubernetes dependencies have been updated to v1.34, Helm has been updated to v3.19 and various other controller dependencies have been updated to their latest version. The controller is now built with Go 1.25.
Fixes:
- Fix continuous drift due to unstable hashing of values #1267
- Fix watch index conflict between HelmChart and OCIRepository kinds #1266
- Fix requeue interval for SourceNotReady #1276
Improvements:
- [RFC-0010] Add workload identity auth for remote clusters #1249
- [RFC-0010] Support all Azure clouds for remote clusters #1262
- [RFC-0010] Add multi-tenancy lockdown for kubeconfig #1284
- [RFC-0010] Add object-level configuration validation #1286
- [RFC-0012] Add ExternalArtifact feature gate and reconciliation support #1293
- [RFC-0012] Add support for ExternalArtifact revision with digest #1296
- Remove deprecated
helm.toolkit.fluxcd.io/v2beta1API group #1280 - Add RetryOnFailure lifecycle management strategy #1281
- Add CEL expressions for dependency readiness checks with
readyExprfield #1271 - Add label selector for watching ConfigMaps and Secrets #1258
- Add common labels and annotations support with Kustomize post-renderer #1223
- Record last Helm release action duration in status #1282
- CI improvements with fluxcd/gha-workflows #1305 #1307
- Various dependency updates #1304 #1247 #1297
-
v1.4.0-rc.110 Sep 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250903164914-251bc85cf8a803 Sep 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250901063034-03c60659a53401 Sep 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250817161735-cf5702068b6e17 Aug 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250813111203-5c7f2c8abff913 Aug 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250811145401-28bf06454e4511 Aug 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250731153945-8555152550f831 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250729052800-183a4f4ae79029 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250721083847-fc12477df07f21 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250719174016-5a28a7610ecb19 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250718072540-3b75b3b8b8ee18 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250717093846-3bb78504830d17 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250715075311-0971d38c41e215 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250714174602-d992a7920f6214 Jul 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250630100627-2bb5c51dfeba30 Jun 2025 pre-releaseNothing published for this version
-
v1.3.1-0.20250528141309-dc9e30967f3428 May 2025 pre-releaseNothing published for this version
-
v1.3.028 May 2025Release notes
Open source →Release date: 2025-05-28
This minor release comes with various bug fixes and improvements.
The controller now supports the
DisableChartDigestTrackingfeature gate, which allows disabling appending the digest of OCI Helm charts to the chart version. This is useful for charts that do not follow Helm's recommendation of using the app version instead of the chart version as a label in the manifests.In addition, the Kubernetes dependencies have been updated to v1.33, Helm has been updated to v3.17.3 and various other controller dependencies have been updated to their latest version. The controller is now built with Go 1.24.
Fixes:
- Fix returning wrong error value in Kubernetes HTTP client #1188
Improvements:
-
v1.2.1-0.20250528123457-b6d8e39ccc8228 May 2025 pre-releaseNothing published for this version
-
v1.2.1-0.20250219094648-25c6bb691df319 Feb 2025 pre-releaseNothing published for this version
-
v1.2.019 Feb 2025Release notes
Open source →Release date: 2025-02-19
This minor release comes with various bug fixes and improvements.
In addition, the Kubernetes dependencies have been updated to v1.32.1, Helm has been updated to v3.17.1 and various other controller dependencies have been updated to their latest version.
Fixes:
- Replace _ with + when verifying the chart version matches the OCI artifact tag #1102
- fix: handle "leader changed" errors #1084
- Make
ValuesReferencean alias for backwards compat #1126 - Fix install and upgrade applying subchart CRDs when condition is false #1123
- fix: use HelmRelease max history for rollback remediation #1169
Improvements:
-
v1.1.1-0.20250218172424-34d0036cbd6f18 Feb 2025 pre-releaseNothing published for this version
-
v1.1.1-0.20241212172833-e8986629e12e12 Dec 2024 pre-releaseNothing published for this version