NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #3044 by repository stars
Last release 6 days ago
01 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
1349 releases · first in 2020
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This minor release comes with various bug fixes and improvements.
Release date: 2024-09-27
This minor release comes with various bug fixes and improvements.
kustomize-controller in sharded deployment configuration now supports cross-shard dependency check. This allows a Kustomization to depend on other Kustomizations managed by different controller shards.
In addition, the Kubernetes dependencies have been updated to v1.31.1 and various other controller dependencies have been updated to their latest version. The controller is now built with Go 1.23.
Fixes:
Improvements:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Remove deprecated aad pod identity from API docs #1152
Release date: 2024-05-06
This minor release comes with new features, improvements and bug fixes.
The controller has been updated to Kustomize v5.4, please see the
kubernetes-sigs/kustomize changelog
for more details.
The Flux Kustomization API gains two optional fields .spec.namePrefix and .spec.nameSuffix
that can be used to specify a prefix and suffix to be added to the names
of all managed resources.
The controller now supports the --feature-gates=StrictPostBuildSubstitutions=true
flag, when enabled the post-build substitutions will fail if a
variable without a default value is declared in files but is
missing from the input vars.
When using variable substitution with values that are numbers or booleans, it is now possible to covert the values to strings, for more details see the post-build documentation.
In addition, the controller dependencies have been updated to Kubernetes v1.30 and controller-runtime v0.18. Various other dependencies have also been updated to their latest version to patch upstream CVEs.
Lastly, the controller is now built with Go 1.22.
Improvements:
StrictPostBuildSubstitutions feature flag
#1130fluxcd/pkg/apis
#1144Fixes:
This patch release comes with various bug fixes and improvements.
Release date: 2024-02-01
This patch release comes with various bug fixes and improvements.
Reconciling empty directories and directories without Kubernetes manifests no longer results in an error. This regressing bug was introduced with the controller upgrade to Kustomize v5.3 and has been fixed in this patch release.
The regression due to which the namespaced objects without a namespace specified
resulted in not found error instead of namespace not specified has also been
fixed. And the regression due to which Roles and ClusterRoles were reconciled
over and over due to the normalization of Roles and ClusterRoles has also been
fixed.
In addition, the Kubernetes dependencies have been updated to v1.28.6. Various other dependencies have also been updated to their latest version to patch upstream CVEs.
Lastly, the controller is now built with Go 1.21.
Improvements:
This patch release comes with improvements in logging to provide faster feedback on any HTTP errors encountered while fetching source artifacts.
Release date: 2023-12-14
This patch release comes with improvements in logging to provide faster feedback on any HTTP errors encountered while fetching source artifacts.
In addition, the status condition messages are now trimmed to respect the size limit defined by the API.
Improvements:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This minor release comes with performance improvements, bug fixes and several new features.
Release date: 2023-12-11
This minor release comes with performance improvements, bug fixes and several new features.
The controller has been updated from Kustomize v5.0 to v5.3, please the see
kubernetes-sigs/kustomize changelog
for a more details.
Starting with this version, the controller will automatically perform a cleanup of the Pods belonging to stale Kubernetes Jobs after a force apply.
A new controller flag --override-manager has been added to extend the Field Managers disallow list.
Using this flag, cluster administrators can configure the controller to undo changes
made with Lens and other UI tools that directly modify Kubernetes objects on clusters.
In addition, the controller dependencies have been updated, including an update to Kubernetes v1.28. The container base image has been updated to Alpine 3.19.
Improvements:
This patch release contains an improvement to retry the reconciliation of a Kustomization as soon as the source artifact is available in storage. Whic
Release date: 2023-10-11
This patch release contains an improvement to retry the reconciliation of a
Kustomization as soon as the source artifact is available in storage.
Which is particularly useful when the source-controller has just been upgraded.
In addition, the controller can now detect immutable field errors returned by the
Google Cloud k8s-config-connector admission controller and recreate the GCP custom
resources annotated with kustomize.toolkit.fluxcd.io/force: Enabled.
Improvements:
fluxcd/pkg dependencies
#983github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4
#962Fixes:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This minor release comes with performance improvements, bug fixes and several new features.
Release date: 2023-08-23
This minor release comes with performance improvements, bug fixes and several new features.
The apply behaviour has been extended with two policies IfNotPresent and Ignore.
To change the apply behaviour for specific Kubernetes resources, you can annotate them with:
| Annotation | Default | Values | Role |
|---|---|---|---|
kustomize.toolkit.fluxcd.io/ssa |
Override |
- Override<br/>- Merge<br/>- IfNotPresent<br/>- Ignore |
Apply policy |
kustomize.toolkit.fluxcd.io/force |
Disabled |
- Enabled<br/>- Disabled |
Recreate policy |
kustomize.toolkit.fluxcd.io/prune |
Enabled |
- Enabled<br/>- Disabled |
Delete policy |
The IfNotPresent policy instructs the controller to only apply the Kubernetes resources if they are not present on the cluster.
This policy can be used for Kubernetes Secrets and ValidatingWebhookConfigurations managed by cert-manager,
where Flux creates the resources with fields that are later on mutated by other controllers.
This version improves the health checking with fail-fast behaviour by detecting stalled Kubernetes rollouts.
In addition, the controller now stops exporting an object's metrics as soon as the object has been deleted.
Lastly, this release introduces two controller flags:
--concurrent-ssa flag sets the number of concurrent server-side apply operations
performed by the controller. Defaults to 4 concurrent operations per reconciliation.--interval-jitter-percentage flag makes the
controller distribute the load more evenly when multiple objects are set up
with the same interval. The default of this flag is set to 5, which means
that the interval will be jittered by a +/- 5% random value (e.g. if the
interval is 10 minutes, the actual reconciliation interval will be between 9.5
and 10.5 minutes).Improvements:
--concurrent-ssa flag
#948IfNotPresent and Ignore SSA policies
#943fluxcd/pkg/ssa to improve immutable error detection
#932Fixes:
This is a patch release that fixes spurious events emitted for skipped resources.
Release date: 2023-07-10
This is a patch release that fixes spurious events emitted for skipped resources.
Fixes:
Nothing published for this version
Nothing published for this version
Nothing published for this version
This is the first stable release of the controller. From now on, this controller follows the Flux 2 release cadence and support pledge.
Release date: 2023-07-04
This is the first stable release of the controller. From now on, this controller follows the Flux 2 release cadence and support pledge.
Starting with this version, the build, release and provenance portions of the Flux project supply chain provisionally meet SLSA Build Level 3.
This release includes several bug fixes. In addition, dependencies have been updated to their latest version, including an update of Kubernetes to v1.27.3.
For a comprehensive list of changes since v0.35.x, please refer to the
changelog for v1.0.0-rc.1, v1.0.0-rc.2,
v1.0.0-rc.3 and `v1.0.0-rc.4.
Improvements:
Fixes:
Nothing published for this version
⚠️ Note that Kustomize v5 contains breaking changes, please consult their changelog for more details.
Release date: 2023-05-29
This release candidate comes with support for Kustomize v5.0.3.
⚠️ Note that Kustomize v5 contains breaking changes, please consult their changelog for more details.
In addition, the controller dependencies have been updated to Kubernetes v1.27.2 and controller-runtime v0.15.0.
Improvements:
In addition, the controller dependencies have been updated to patch CVE-2023-1732 and the base image has been updated to Alpine 3.18.
Release date: 2023-05-12
This release candidate comes with improved error reporting for when the controller fails to fetch an artifact due to a checksum mismatch.
In addition, the controller dependencies have been updated to patch CVE-2023-1732 and the base image has been updated to Alpine 3.18.
Improvements:
This release candidate fixes secrets decryption when using Azure Key Vault.
Nothing published for this version
The Kustomization kind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.
Release date: 2023-04-03
This release candidate promotes the Kustomization API from v1beta2 to v1.
The controller now supports horizontal scaling using
sharding based on a label selector.
In addition, the controller now supports Workload Identity when decrypting secrets with SOPS and Azure Vault.
This release candidate requires the GitRepository API version v1,
first shipped with source-controller
v1.0.0-rc.1.
The Kustomization kind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.
A new optional field called CommonMetadata was added to the API
for setting labels and/or annotations to all resources part of a Kustomization.
The main difference to the Kustomize
commonLabels and
commonAnnotations,
is that the controller sets the labels and annotations only to the top level metadata field,
without patching the Kubernetes Deployment spec.template or the Service spec.selector.
The kustomizations.kustomize.toolkit.fluxcd.io CRD contains the following versions:
The Kustomization v1 API is backwards compatible with v1beta2, except for the following:
.spec.validation was removed.spec.patchesStrategicMerge was removed (replaced by .spec.patches).spec.patchesJson6902 was removed (replaced by .spec.patches)To upgrade from v1beta2, after deploying the new CRD and controller,
set apiVersion: kustomize.toolkit.fluxcd.io/v1 in the YAML files that contain
Kustomization definitions and remove the deprecated fields if any.
Bumping the API version in manifests can be done gradually.
It is advised to not delay this procedure as the beta versions will be removed after 6 months.
Starting with this release, the controller can be configured with
--watch-label-selector, after which only objects with this label will
be reconciled by the controller.
This allows for horizontal scaling, where kustomize-controller can be deployed multiple times with a unique label selector which is used as the sharding key.
Improvements:
kustomize.toolkit.fluxcd.io/v1
#822controllers to internal/controllers
#820This prerelease comes with a fix to error reporting. The controller will now reveal validation errors when force applying resources with immutable fie
Release date: 2023-03-20
This prerelease comes with a fix to error reporting. The controller will now reveal validation errors when force applying resources with immutable field changes.
In addition, the controller dependencies have been updated to their latest versions.
Improvements:
This prerelease adds support for disabling the cache of the kstatus status poller, which is used to determine the health of the resources applied by t
Release date: 2023-03-08
This prerelease adds support for disabling the cache of the kstatus status
poller, which is used to determine the health of the resources applied by the
controller. To disable the cache, configure the Deployment of the controller
with --feature-gates=DisableStatusPollerCache=true.
This may have a positive impact on memory usage on large clusters with many objects, at the cost of an increased number of API calls.
In addition, klog has been configured to log using the same logger as the
rest of the controller (providing a consistent log format).
Lastly, the controller is now built using Go 1.20, and the dependencies have
been updated to their latest versions.
Improvements:
Nothing published for this version
Nothing published for this version
This prerelease adds support for parsing the RFC-0005 revision format produced by source-controller >=v0.35.0.
This prerelease comes with support for recreating immutable resources (e.g. Kubernetes Jobs) by annotating or labeling them with kustomize.toolkit.flu
Release date: 2023-02-01
This prerelease comes with support for recreating immutable resources (e.g. Kubernetes Jobs)
by annotating or labeling them with kustomize.toolkit.fluxcd.io/force: enabled.
The caching of Secret and ConfigMap resources has been disabled to improve memory usage.
To opt-out from this behavior, start the controller with: --feature-gates=CacheSecretsAndConfigMaps=true.
In addition, the controller dependencies have been updated to Kubernetes v1.26.1 and controller-runtime v0.14.2. The controller base image has been updated to Alpine 3.17 (which contains CVE fixes for OS packages).
Improvements:
This prerelease comes with experimental support for Kustomize components.
Release date: 2022-12-20
This prerelease comes with experimental support for Kustomize components.
In addition, the AWS and Google Cloud KMS dependencies have been updated to match the latest stable release from upstream.
Improvements:
This prerelease comes with improvements to the manifests generation component. The Kustomize overlay build logic has been factored out into github.com
Release date: 2022-11-18
This prerelease comes with improvements to the manifests
generation component. The Kustomize overlay build logic has been
factored out into github.com/fluxcd/pkg/kustomize so that both
the controller and the Flux CLI (flux buid kustomization)
share the same code base.
In addition, the controller dependencies have been updated to Kubernetes v1.25.4 and controller-runtime v0.13.1. The Azure Vault SDK used for secrets decryption has been updated to match the latest stable release from upstream.
Improvements:
flux/pkg/kustomize
#763keyvault/azkeys Azure SDK to v0.9.0
#759Fixes:
This prerelease comes with new status condition named Reconciling which improves the observability for the actions performed by the controller during
Release date: 2022-10-21
This prerelease comes with new status condition named Reconciling which improves
the observability for the actions performed by the controller during a reconciliation run.
The Kustomization.status.conditions have been aligned with Kubernetes
standard conditions and kstatus.
In addition, the controller memory usage was reduced by 90% when performing artifact operations and can now better handle the reconciliation of large sources in-parallel.
Improvements:
fluxcd/pkg/http/fetch
#743fluxcd/pkg/runtime/client
#742h unit for timeouts
#749This prerelease comes with strict validation rules for API fields which define a (time) duration. Effectively, this means values without a time unit (
Release date: 2022-09-29
This prerelease comes with strict validation rules for API fields which define a
(time) duration. Effectively, this means values without a time unit (e.g. ms,
s, m, h) will now be rejected by the API server. To stimulate sane
configurations, the units ns, us and µs can no longer be configured, nor
can h be set for fields defining a timeout value.
In addition, the controller dependencies have been updated to Kubernetes controller-runtime v0.13.
:warning: Breaking changes:
.spec.interval new validation pattern is "^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$".spec.retryInterval new validation pattern is "^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$".spec.timeout new validation pattern is "^([0-9]+(\\.[0-9]+)?(ms|s|m))+$"Improvements:
Fixes:
Nothing published for this version
:warning: Breaking change: The controller logs have been aligned with the Kubernetes structured logging. For more details on the new logging structure…
Release date: 2022-09-12
This prerelease comes with improvements to reconciling Kubernetes class type objects, SOPS decryption and fuzzing. In addition, the controller dependencies have been updated to Kubernetes controller-runtime v0.12.
:warning: Breaking change: The controller logs have been aligned with the Kubernetes structured logging. For more details on the new logging structure please see: fluxcd/flux2#3051.
Improvements:
Your coding agent can read these notes before it upgrades. Set up the MCP server →