Flux | v2.9.1

Flux v2.9.1 released on 07-07-2026


Flux v2.9.1 is out now. It disables Flux variable substitution on all Flux CRDs to prevent post-build substitution from corrupting CRD schemas that contain ${…} sequences.

See the Flux GitHub release and component changelogs for full details and upgrade guidance (full changelog: https://github.com/fluxcd/flux2/compare/v2.9.0…v2.9.1; upgrade procedure: https://github.com/fluxcd/flux2/discussions/5572).

What’s in this release

  • Disabled Flux variable substitution on all Flux CRDs by annotating them with kustomize.toolkit.fluxcd.io/substitute: disabled to stop CRD schema corruption when CRDs contain ${…} sequences (all controllers).
  • kustomize-controller fixes: SOPS dependency updated to restore correct .ini file decryption, and a dry-run error where applying resources with strategic merge patches could fail with “<resource> is invalid” has been fixed.
  • CLI and component updates: fixed a breaking change in the in-memory Kustomization build; updated fluxcd/pkg dependencies and bumped component versions (source-controller v1.9.2, kustomize-controller v1.9.2, helm-controller v1.6.2, notification-controller v1.9.2, image-* controllers v1.2.2, source-watcher v2.2.2).

Upgrade notes

  • Follow the Upgrade Procedure for Flux v2.7+ when upgrading from v2.6 (https://github.com/fluxcd/flux2/discussions/5572); the release includes a CLI fix for a breaking change in the in-memory Kustomization build.
  • The release does not include specific rollback instructions; follow your usual rollback procedure if you need to revert.

Share any comments on your experience upgrading to v2.9.1 and report issues or observations on the Flux GitHub channels.

Related posts

Local DNS proxy now preserves DNSSEC records

Cloudflare One Client for Windows now leaves DNSSEC records alone, which is exactly the sort of change I like, because it stops the client quietly meddling with answers. I have seen enough broken name...

Cloudflare One Client for macOS DNS search suffixes

Cloudflare One Client for macOS can make a short hostname behave very differently, and most of the pain sits in the suffix list rather than DNS itself. I have seen perfectly sane machines fail because...

Flux | v2.9.1

Flux v2.9.1: disables CRD substitution to prevent schema damage, fixes kustomize SOPS and dry run errors, CLI build fix and upgrade guide, component updates