Flux

Developer Tools

Open and extensible continuous delivery for Kubernetes.

Latest v2.9.3 · by Flux projectWebsitefluxcd/flux2

Release activity

Release activity — 10 releases across 9 days since Mar 16, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Mar 16, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 20261 release on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
Tuesday1 release on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 20261 release on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 20261 release on Jun 30, 20261 release on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 20261 release on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 20261 release on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

10 releases since Mar 16, 2026, busiest day 2

Changelog

v2.9.3

Added 1
  • Include source-watcher in the OCI flux-manifests artifact
Changed 1
  • Update fluxcd/pkg dependencies
Fixed 3
  • Fix empty lines vanishing from rendered chart manifests
  • Fix HasBeenTested for all corner cases where a release could be marked as tested although its Helm test hooks never ran
  • Fix spec.images entry setting only some image fields discarding the remaining fields already declared for the same image in kustomization.yaml
Highlights

Flux v2.9.3 is a patch release. It fixes empty lines vanishing from rendered Helm chart manifests, HelmReleases being marked as tested when their Helm test hooks never ran, and spec.images entries that set only some image fields discarding the remaining fields already declared for the same image in the kustomization.yaml. The latter affects both kustomize-controller and the flux build|diff kustomization commands. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix empty lines vanishing from rendered chart manifests (helm-controller)
  • Fix HasBeenTested for all corner cases, where a release could be marked as tested although its Helm test hooks never ran (helm-controller)
  • Fix a spec.images entry setting only some of the image fields discarding the remaining fields already declared for the same image in the kustomization.yaml at spec.path, e.g. overriding only newName produced an untagged image reference (kustomize-controller, flux CLI)

Improvements:

  • Update fluxcd/pkg dependencies
  • Include source-watcher in the OCI flux-manifests artifact
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3

View originalPermalink
How v2.9.3 went

v2.9.2

Changed 1
  • Update fluxcd/pkg dependencies
Fixed 4
  • Fix a regression where a Kustomization with openapi.path pointing to a URL failed to reconcile with failed to read OpenAPI schema
  • Fix the HelmChart CRD description for .status.url, which pointed users at BucketStatus.Artifact instead of HelmChartStatus.Artifact
  • Fix the ImageRepository CRD description for .status.observedExclusionList, which referred to spec.lastScanResult instead of status.lastScanResult
  • Fix the ImageUpdateAutomation CRD description for .status.observedSourceRevision, which had a stray Go struct declaration leaking into it
Highlights

Flux v2.9.2 is a patch release. The main fix addresses a regression introduced in v2.9.1 where a Kustomization with openapi.path pointing to a URL failed to reconcile with failed to read OpenAPI schema. This release also corrects several CRD field descriptions that contained inaccurate or leaked content. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix a regression where a Kustomization with openapi.path pointing to a URL failed to reconcile with failed to read OpenAPI schema (kustomize-controller)
  • Fix the HelmChart CRD description for .status.url, which pointed users at BucketStatus.Artifact instead of HelmChartStatus.Artifact (source-controller)
  • Fix the ImageRepository CRD description for .status.observedExclusionList, which referred to spec.lastScanResult instead of status.lastScanResult (image-reflector-controller)
  • Fix the ImageUpdateAutomation CRD description for .status.observedSourceRevision, which had a stray Go struct declaration leaking into it (image-automation-controller)

Improvements:

  • Update fluxcd/pkg dependencies
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2

View originalPermalink
How v2.9.2 went

v2.9.1

Changed 2
  • Cache the registry authorization token during Notation verification so it is fetched once per verification instead of once per request in source-controller
  • Update fluxcd/pkg dependencies
Fixed 4
  • Disable Flux variable substitution on all Flux CRDs by annotating them with kustomize.toolkit.fluxcd.io/substitute: disabled to prevent post-build substitution from corrupting CRD schemas that contain ${...} sequences
  • Update SOPS dependency to fix .ini file decryption in kustomize-controller
  • Fix a dry-run error where applying a resource with a strategic merge patch could fail with is invalid in kustomize-controller
  • Fix a breaking change in the in-memory Kustomization build in Flux CLI
Highlights

Flux v2.9.1 is a patch release. The main fix, applied across all controllers, disables Flux variable substitution on the Flux CRDs by annotating them with kustomize.toolkit.fluxcd.io/substitute: disabled, so that Kustomizations with post-build substitution enabled no longer corrupt the CRD schemas when they contain ${...} sequences. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Disable Flux variable substitution on all Flux CRDs, preventing post-build substitution from corrupting CRD schemas that contain ${...} sequences (all controllers)
  • Update SOPS dependency to fix .ini file decryption (kustomize-controller)
  • Fix a dry-run error where applying a resource with a strategic merge patch could fail with <resource> is invalid (kustomize-controller)
  • Fix a breaking change in the in-memory Kustomization build (Flux CLI)

Improvements:

  • Cache the registry authorization token during Notation verification, so it is fetched once per verification instead of once per request (source-controller)
  • Update fluxcd/pkg dependencies
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1

View originalPermalink
How v2.9.1 went

v2.9.0

Added 16
  • Flux CLI Plugin System with the Mirror and Schema plugins via flux plugin command
  • Server-Side Apply field ignore rules for fine-grained drift control in Kustomization
  • SOPS decryption with the Age post-quantum cipher in Kustomization
  • Kubernetes Workload Identity authentication for OpenBao and Vault in Kustomization
  • Helm post-render strategies including chart hooks support in HelmRelease
  • Literal mode for Helm values references mirroring helm --set-literal in HelmRelease
Fixed 3
  • Fix resume exit code
  • Validate --source flag in create kustomization command
  • Handle multiple symlinks to same target in build artifact
Removed 1
  • Remove image.toolkit.fluxcd.io/v1beta2 and notification.toolkit.fluxcd.io/v1beta2 APIs
Highlights

Flux v2.9.0 is a feature release. Users are encouraged to upgrade for the best experience.

For a compressive overview of new features and API changes included in this release, please refer to the Announcing Flux 2.9 GA blog post.

Overview of the new features:

  • Flux CLI Plugin System with the Mirror and Schema plugins (flux plugin)
  • Server-Side Apply field ignore rules for fine-grained drift control (Kustomization)
  • SOPS decryption with the Age post-quantum cipher (Kustomization)
  • Kubernetes Workload Identity authentication for OpenBao and Vault (Kustomization)
  • Helm post-render strategies, including chart hooks support (HelmRelease)
  • Literal mode for Helm values references mirroring helm --set-literal (HelmRelease)
  • Allow empty kind in CEL health check expressions (Kustomization, HelmRelease)
  • Git commit signing and verification with SSH keys (GitRepository, ImageUpdateAutomation)
  • AWS CodeCommit authentication using Workload Identity (GitRepository)
  • Custom Sigstore trusted root for keyless verification in air-gapped environments (OCIRepository)
  • Path pattern directory discovery for monorepos (ArtifactGenerator)
  • Secret-less, OIDC-secured webhook Receivers (Receiver)

❤️ Big thanks to all the Flux contributors that helped us with this release!

Kubernetes compatibility

This release is compatible with the following Kubernetes versions:

Kubernetes versionMinimum required
v1.34>= 1.34.1
v1.35>= 1.35.0
v1.36>= 1.36.0

[!NOTE] Note that the Flux project offers support only for the latest three minor versions of Kubernetes. Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as ControlPlane that provide enterprise support for Flux.

OpenShift compatibility

Flux can be installed on Red Hat OpenShift cluster directly from OperatorHub using Flux Operator. The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.

Upgrade procedure

:warning: The Flux APIs image.toolkit.fluxcd.io/v1beta2 and notification.toolkit.fluxcd.io/v1beta2 have reached end-of-life and have been removed from the CRDs.

Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from older versions of Flux to v2.9.

Components changelog
CLI changelog
New Contributors

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.0...v2.9.0

View originalPermalink
How v2.9.0 went

v2.8.8

Added 1
  • Add support for GCP sovereign cloud artifact registries in source-controller and image-reflector-controller
Changed 2
  • Move Helm back to upstream v4.2.0
  • Upgrade Kubernetes to 1.36.1
Fixed 6
  • Add configurable HTTP timeout for artifact fetching to prevent indefinite blocks in helm-controller
  • Fix unbounded memory growth caused by Kubernetes client transport retry wrapper accumulating on every reconcile in helm-controller
  • Stop force-applying non-CRD objects placed under a chart's crds/ directory in helm-controller
  • Fix Helm test action failing to find releases with names longer than 53 characters in helm-controller
  • Improve path handling in source reconcilers in source-controller
  • Support Helm semver build-metadata encoding in OCIRepository tags in source-controller
Security 1
  • Update go-git to v5.19.1 to fix CVE-2026-45571 and CVE-2026-45570
Highlights

Flux v2.8.8 is a patch release that includes CVE fixes via go-git v5.19.1 (source-controller, image-automation-controller), reliability fixes in helm-controller and source-controller, the move of Helm back to upstream v4.2.0, support for GCP sovereign cloud artifact registries, and dependency updates. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Add a configurable HTTP timeout for artifact fetching, preventing fetches that could block indefinitely and stall reconciliations (helm-controller)
  • Fix unbounded memory growth caused by a Kubernetes client transport retry wrapper accumulating on every reconcile (helm-controller)
  • Stop force-applying non-CRD objects placed under a chart's crds/ directory (helm-controller)
  • Fix the Helm test action failing to find releases with names longer than 53 characters (helm-controller)
  • Improve path handling in the source reconcilers (source-controller)
  • Support Helm semver build-metadata encoding in OCIRepository tags (source-controller)

Improvements:

  • Update go-git to v5.19.1 which fixes CVE-2026-45571 and CVE-2026-45570 (source-controller, image-automation-controller)
  • Move Helm back to upstream v4.2.0 (source-controller, helm-controller)
  • Add support for GCP sovereign cloud artifact registries (source-controller, image-reflector-controller)
  • Upgrade Kubernetes to 1.36.1 (source-controller, helm-controller)
  • Update fluxcd/pkg dependencies
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8

View originalPermalink
How v2.8.8 went

v2.8.7

Changed 1
  • Update fluxcd/pkg dependencies
Fixed 1
  • Fix management of objects annotated with kustomize.toolkit.fluxcd.io/ssa: IfNotPresent where non-namespaced resources were being deleted and recreated on each reconciliation
Security 1
  • Update go-git to v5.19.0 which fixes CVE-2026-45022
Highlights

Flux v2.8.7 is a patch release that includes a bug fix in kustomize-controller, a CVE fix in source-controller and image-automation-controller via go-git v5.19.0, and dependency updates. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix management of objects annotated with kustomize.toolkit.fluxcd.io/ssa: IfNotPresent where non-namespaced resources were being deleted and recreated on each reconciliation (kustomize-controller)

Improvements:

  • Update go-git to v5.19.0 which fixes CVE-2026-45022 (source-controller, image-automation-controller)
  • Update fluxcd/pkg dependencies (source-controller, kustomize-controller, image-automation-controller)
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7

View originalPermalink
How v2.8.7 went

v2.8.6

Highlights

Flux v2.8.6 is a patch release that includes bug fixes and improvements across helm-controller, image-automation-controller, kustomize-controller, notification-controller, and source-controller. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix a post-renderer conflict between overlapping hooks and templates (helm-controller)
  • Ignore force replace when server-side apply is enabled (helm-controller)
  • Fix a regression where generic providers would not forward commit status events (notification-controller)
  • Require the audience field on the GCR Receiver secret for tighter verification — will become mandatory in Flux v2.9 (notification-controller)

Improvements:

  • Introduce the MigrateAPIVersion feature gate for migrating the API version of resources in managed field entries (kustomize-controller)
  • Update go-git to v5.18.0 bringing performance improvements for Git operations (source-controller, image-automation-controller)
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6

View originalPermalink
How v2.8.6 went

v2.8.5

Highlights

Flux v2.8.5 is a patch release that includes bug fixes and improvements across kustomize-controller, source-controller, and notification-controller. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix a race condition where a cancelled reconciliation could leave stale data in the cache, causing Kustomizations to get stuck (kustomize-controller)
  • Fix Azure Blob prefix option not being passed to the storage client (source-controller)

Improvements:

  • Improve error message for encrypted SSH keys without password (source-controller)
  • Add optional email and audience fields to the GCR Receiver for tighter verification (notification-controller)
  • Add provider manifest example for Azure Event Hub managed identity authentication (notification-controller)
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5

View originalPermalink
How v2.8.5 went

v2.8.4

Highlights

Flux v2.8.4 is a patch release that includes fixes for the Flux CLI. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix flux build ks and flux diff ks on Windows
  • Fix --source flag validation in create kustomization command
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4

View originalPermalink
How v2.8.4 went

v2.8.3

Highlights

Flux v2.8.3 is a patch release that fixes a regression in helm-controller. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix templating errors for charts that include --- in the content, e.g. YAML separators, embedded scripts, CAs inside ConfigMaps (helm-controller)
Components changelog
CLI changelog

Full Changelog: https://github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3

View originalPermalink
How v2.8.3 went
View all

Discussion