Flux v2.9.3 was published on July 23, 2026. Its most consequential fix for data and platform teams preserves existing image fields when spec.images supplies only a partial override, preventing a newName only change from producing an untagged image reference.
The full release notes and downloads are on the GitHub release page.
Partial image overrides keep complete references ¶
Flux Kustomizations can use spec.images to change selected fields in image references already declared in the kustomization.yaml under spec.path. Before this patch, an entry that supplied only some image fields could discard the fields it did not replace. The concrete example in the release notes is an override containing only newName, which could leave the rendered manifest with an untagged image reference.
Version v2.9.3 preserves the remaining fields from the original declaration. The correction applies to kustomize-controller and to both flux build kustomization and flux diff kustomization. That shared scope matters for deployment pipelines: local or CI rendering should now apply the same partial image semantics as reconciliation in the cluster.
For operators who use spec.images to promote artifacts between environments, this is the change to verify first. Render a representative Kustomization after the upgrade and confirm that registry, repository, tag, and digest fields remain present where expected.
Helm output and test state become more accurate ¶
The helm-controller update fixes empty lines disappearing from rendered chart manifests. Blank lines rarely change Kubernetes object semantics, but losing them creates needless differences between source output and controller output. That can obscure the meaningful part of a review when generated manifests are archived or compared in CI.
The controller also corrects HasBeenTested handling across corner cases. A HelmRelease could previously be marked as tested even when its Helm test hooks never ran. Any operational check that treats this condition as evidence of completed tests could therefore accept a false success state. The patch makes that status a more reliable input for release gates and incident review.
These are narrow correctness fixes rather than new Helm behavior. They reduce ambiguity in two places that operators inspect directly: rendered content and reconciliation status.
OCI manifests include the source watcher ¶
The OCI flux-manifests artifact now includes source-watcher. Teams that mirror, scan, or inventory that artifact should expect the added component when comparing v2.9.3 with v2.9.2.
The release also updates fluxcd/pkg dependencies and toolkit components. The notes do not identify an operator visible feature from those updates, so they are best treated as maintenance within this patch rather than a reason to change pipeline design.
Upgrade notes ¶
The release does not list a breaking change and it is not a prerelease. For installations moving from Flux v2.6, the project points to the Upgrade Procedure for Flux v2.7+. Follow that sequence instead of treating this patch as a direct jump without intermediate upgrade requirements.
After rollout, compare the output of flux build kustomization or flux diff kustomization for workloads that use partial spec.images entries. Also check HelmReleases whose automation depends on test completion status. Those checks target the behavior changed by this release without turning a patch upgrade into a broad platform validation exercise.
Where to get it ¶
- Flux v2.9.3 release page
- Flux repository
- Tag:
v2.9.3