# Flux changelog > Open and extensible continuous delivery for Kubernetes. - Vendor: Flux project - Category: Developer Tools - Official site: https://fluxcd.io - Tracked by: What's New (https://whatsnew.fyi/product/flux) - Harvested from: GitHub (fluxcd/flux2) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v2.9.3 - Date: 2026-07-23 - Version: v2.9.3 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.9.3 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.9.3 - **fixed** — Fix empty lines vanishing from rendered chart manifests - **fixed** — Fix HasBeenTested for all corner cases where a release could be marked as tested although its Helm test hooks never ran - **fixed** — Fix spec.images entry setting only some image fields discarding the remaining fields already declared for the same image in kustomization.yaml - **changed** — Update fluxcd/pkg dependencies - **added** — Include source-watcher in the OCI flux-manifests artifact ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 - kustomize-controller [v1.9.4](https://github.com/fluxcd/kustomize-controller/blob/v1.9.4/CHANGELOG.md) - helm-controller [v1.6.3](https://github.com/fluxcd/helm-controller/blob/v1.6.3/CHANGELOG.md) ##### CLI changelog * [release/v2.9.x] Include source-watcher to oci flux-manifests by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5996 * Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/6006 * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/6011 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.9.2...v2.9.3 ### v2.9.2 - Date: 2026-07-13 - Version: v2.9.2 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.9.2 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.9.2 - **fixed** — Fix a regression where a Kustomization with openapi.path pointing to a URL failed to reconcile with failed to read OpenAPI schema - **fixed** — Fix the HelmChart CRD description for .status.url, which pointed users at BucketStatus.Artifact instead of HelmChartStatus.Artifact - **fixed** — Fix the ImageRepository CRD description for .status.observedExclusionList, which referred to spec.lastScanResult instead of status.lastScanResult - **fixed** — Fix the ImageUpdateAutomation CRD description for .status.observedSourceRevision, which had a stray Go struct declaration leaking into it - **changed** — Update fluxcd/pkg dependencies ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 - source-controller [v1.9.3](https://github.com/fluxcd/source-controller/blob/v1.9.3/CHANGELOG.md) - kustomize-controller [v1.9.3](https://github.com/fluxcd/kustomize-controller/blob/v1.9.3/CHANGELOG.md) - helm-controller [v1.6.2](https://github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md) - notification-controller [v1.9.2](https://github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md) - image-reflector-controller [v1.2.3](https://github.com/fluxcd/image-reflector-controller/blob/v1.2.3/CHANGELOG.md) - image-automation-controller [v1.2.3](https://github.com/fluxcd/image-automation-controller/blob/v1.2.3/CHANGELOG.md) - source-watcher [v2.2.2](https://github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md) ##### CLI changelog * Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5984 * Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5990 * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5994 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.9.1...v2.9.2 ### v2.9.1 - Date: 2026-07-07 - Version: v2.9.1 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.9.1 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.9.1 - **fixed** — 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 - **fixed** — Update SOPS dependency to fix .ini file decryption in kustomize-controller - **fixed** — Fix a dry-run error where applying a resource with a strategic merge patch could fail with is invalid in kustomize-controller - **fixed** — Fix a breaking change in the in-memory Kustomization build in Flux CLI - **changed** — Cache the registry authorization token during Notation verification so it is fetched once per verification instead of once per request in source-controller - **changed** — Update fluxcd/pkg dependencies ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 ` 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 - source-controller [v1.9.2](https://github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md) - kustomize-controller [v1.9.2](https://github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md) - helm-controller [v1.6.2](https://github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md) - notification-controller [v1.9.2](https://github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md) - image-reflector-controller [v1.2.2](https://github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md) - image-automation-controller [v1.2.2](https://github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md) - source-watcher [v2.2.2](https://github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md) ##### CLI changelog * [release/v2.9.x] Fix breaking change in-memory kustomization build by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5971 * Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5977 * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5979 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.9.0...v2.9.1 ### v2.9.0 - Date: 2026-06-30 - Version: v2.9.0 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.9.0 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.9.0 - **added** — Flux CLI Plugin System with the Mirror and Schema plugins via flux plugin command - **added** — Server-Side Apply field ignore rules for fine-grained drift control in Kustomization - **added** — SOPS decryption with the Age post-quantum cipher in Kustomization - **added** — Kubernetes Workload Identity authentication for OpenBao and Vault in Kustomization - **added** — Helm post-render strategies including chart hooks support in HelmRelease - **added** — Literal mode for Helm values references mirroring helm --set-literal in HelmRelease - **added** — Allow empty kind in CEL health check expressions in Kustomization and HelmRelease - **added** — Git commit signing and verification with SSH keys in GitRepository and ImageUpdateAutomation - **added** — AWS CodeCommit authentication using Workload Identity in GitRepository - **added** — Custom Sigstore trusted root for keyless verification in air-gapped environments in OCIRepository - **added** — Path pattern directory discovery for monorepos in ArtifactGenerator - **added** — Secret-less OIDC-secured webhook Receivers - **added** — Add --resolve-symlinks flag to build and push artifact commands - **added** — Add --show-source to flux get ks and flux get hr - **added** — Add flux create secret receiver command - **added** — Add --in-memory-build to flux build ks and flux diff ks - **fixed** — Fix resume exit code - **fixed** — Validate --source flag in create kustomization command - **fixed** — Handle multiple symlinks to same target in build artifact - **removed** — 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](https://fluxcd.io/blog/2026/06/flux-v2.9.0/). 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 version | Minimum 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](https://control-plane.io/enterprise-for-flux-cd/) that provide enterprise support for Flux. ###### OpenShift compatibility Flux can be installed on Red Hat OpenShift cluster directly from OperatorHub using [Flux Operator](https://operatorhub.io/operator/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+](https://github.com/fluxcd/flux2/discussions/5572) for a smooth upgrade from older versions of Flux to v2.9. ##### Components changelog - source-controller [v1.9.1](https://github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md) - kustomize-controller [v1.9.1](https://github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md) - notification-controller [v1.9.1](https://github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md) - helm-controller [v1.6.1](https://github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md) - image-reflector-controller [v1.2.1](https://github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md) - image-automation-controller [v1.2.1](https://github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md) - source-watcher [v2.2.1](https://github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md) ##### CLI changelog * Add backport label for Flux 2.8 by @matheuscscp in https://github.com/fluxcd/flux2/pull/5732 * Remove no longer needed workaround for Flux 2.8 by @matheuscscp in https://github.com/fluxcd/flux2/pull/5733 * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5740 * Add missing things to release notes template by @matheuscscp i _[Truncated at 4000 characters — full notes: https://github.com/fluxcd/flux2/releases/tag/v2.9.0]_ ### v2.8.8 - Date: 2026-05-20 - Version: v2.8.8 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.8 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.8 - **security** — Update go-git to v5.19.1 to fix CVE-2026-45571 and CVE-2026-45570 - **fixed** — Add configurable HTTP timeout for artifact fetching to prevent indefinite blocks in helm-controller - **fixed** — Fix unbounded memory growth caused by Kubernetes client transport retry wrapper accumulating on every reconcile in helm-controller - **fixed** — Stop force-applying non-CRD objects placed under a chart's crds/ directory in helm-controller - **fixed** — Fix Helm test action failing to find releases with names longer than 53 characters in helm-controller - **fixed** — Improve path handling in source reconcilers in source-controller - **fixed** — Support Helm semver build-metadata encoding in OCIRepository tags in source-controller - **changed** — Move Helm back to upstream v4.2.0 - **added** — Add support for GCP sovereign cloud artifact registries in source-controller and image-reflector-controller - **changed** — Upgrade Kubernetes to 1.36.1 ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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](https://github.com/advisories/GHSA-crhj-59gh-8x96) and [CVE-2026-45570](https://github.com/advisories/GHSA-m7cr-m3pv-hgrp) (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 - helm-controller [v1.5.5](https://github.com/fluxcd/helm-controller/blob/v1.5.5/CHANGELOG.md) - image-automation-controller [v1.1.4](https://github.com/fluxcd/image-automation-controller/blob/v1.1.4/CHANGELOG.md) - image-reflector-controller [v1.1.2](https://github.com/fluxcd/image-reflector-controller/blob/v1.1.2/CHANGELOG.md) - source-controller [v1.8.5](https://github.com/fluxcd/source-controller/blob/v1.8.5/CHANGELOG.md) ##### CLI changelog * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5904 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.7...v2.8.8 ### v2.8.7 - Date: 2026-05-12 - Version: v2.8.7 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.7 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.7 - **fixed** — 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** — Update go-git to v5.19.0 which fixes CVE-2026-45022 - **changed** — Update fluxcd/pkg dependencies ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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](https://github.com/advisories/GHSA-389r-gv7p-r3rp) (source-controller, image-automation-controller) - Update fluxcd/pkg dependencies (source-controller, kustomize-controller, image-automation-controller) ##### Components changelog - helm-controller [v1.5.4](https://github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md) - image-automation-controller [v1.1.3](https://github.com/fluxcd/image-automation-controller/blob/v1.1.3/CHANGELOG.md) - kustomize-controller [v1.8.5](https://github.com/fluxcd/kustomize-controller/blob/v1.8.5/CHANGELOG.md) - notification-controller [v1.8.4](https://github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md) - source-controller [v1.8.4](https://github.com/fluxcd/source-controller/blob/v1.8.4/CHANGELOG.md) ##### CLI changelog * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5891 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.6...v2.8.7 ### v2.8.6 - Date: 2026-04-21 - Version: v2.8.6 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.6 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.6 - **fixed** — Fix a post-renderer conflict between overlapping hooks and templates in helm-controller - **fixed** — Ignore force replace when server-side apply is enabled in helm-controller - **fixed** — Fix a regression where generic providers would not forward commit status events in notification-controller - **added** — Introduce the MigrateAPIVersion feature gate for migrating the API version of resources in managed field entries in kustomize-controller - **changed** — Update go-git to v5.18.0 bringing performance improvements for Git operations in source-controller and image-automation-controller - **changed** — Require the audience field on the GCR Receiver secret for tighter verification in notification-controller ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 - helm-controller [v1.5.4](https://github.com/fluxcd/helm-controller/blob/v1.5.4/CHANGELOG.md) - image-automation-controller [v1.1.2](https://github.com/fluxcd/image-automation-controller/blob/v1.1.2/CHANGELOG.md) - kustomize-controller [v1.8.4](https://github.com/fluxcd/kustomize-controller/blob/v1.8.4/CHANGELOG.md) - notification-controller [v1.8.4](https://github.com/fluxcd/notification-controller/blob/v1.8.4/CHANGELOG.md) - source-controller [v1.8.3](https://github.com/fluxcd/source-controller/blob/v1.8.3/CHANGELOG.md) ##### CLI changelog * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5857 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.5...v2.8.6 ### v2.8.5 - Date: 2026-04-07 - Version: v2.8.5 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.5 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.5 - **fixed** — Fix a race condition where a cancelled reconciliation could leave stale data in the cache, causing Kustomizations to get stuck - **fixed** — Fix Azure Blob prefix option not being passed to the storage client - **changed** — Improve error message for encrypted SSH keys without password - **added** — Add optional email and audience fields to the GCR Receiver for tighter verification - **added** — Add provider manifest example for Azure Event Hub managed identity authentication ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 - kustomize-controller [v1.8.3](https://github.com/fluxcd/kustomize-controller/blob/v1.8.3/CHANGELOG.md) - source-controller [v1.8.2](https://github.com/fluxcd/source-controller/blob/v1.8.2/CHANGELOG.md) - notification-controller [v1.8.3](https://github.com/fluxcd/notification-controller/blob/v1.8.3/CHANGELOG.md) ##### CLI changelog * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5822 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.4...v2.8.5 ### v2.8.4 - Date: 2026-04-07 - Version: v2.8.4 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.4 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.4 - **fixed** — Fix `flux build ks` and `flux diff ks` on Windows - **fixed** — Fix `--source` flag validation in `create kustomization` command ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 * Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5796 * [release/v2.8.x] fix: validate --source flag in create kustomization command by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5799 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.3...v2.8.4 ### v2.8.3 - Date: 2026-03-16 - Version: v2.8.3 - Original notes: https://github.com/fluxcd/flux2/releases/tag/v2.8.3 - Permalink: https://whatsnew.fyi/product/flux/releases/v2.8.3 - **fixed** — Fix templating errors for charts that include --- in the content, e.g. YAML separators, embedded scripts, CAs inside ConfigMaps in helm-controller ##### 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+](https://github.com/fluxcd/flux2/discussions/5572) 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 - helm-controller [v1.5.3](https://github.com/fluxcd/helm-controller/blob/v1.5.3/CHANGELOG.md) ##### CLI changelog * [release/v2.8.x] Add target branch name to update branch by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5774 * Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5779 **Full Changelog**: https://github.com/fluxcd/flux2/compare/v2.8.2...v2.8.3