NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #2942 by repository stars
Last release 3 days ago
18 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
6 years old
468 releases · first in 2020
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This prerelease comes with dependency updates, and improvements around edge-case handling of reconcile result calculations ensuring an object is alway
Release date: 2022-05-03
This prerelease comes with dependency updates, and improvements around edge-case
handling of reconcile result calculations ensuring an object is always requeued
when its Status Conditions equal Ready=False and Stalled!=True.
Improvements:
Fixes:
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 prerelease prevents Reconciling and ArtifactOutdated conditions from being set on a HelmRepository when the checksum of a cached repository index
Release date: 2022-04-28
This prerelease prevents Reconciling and ArtifactOutdated conditions from
being set on a HelmRepository when the checksum of a cached repository index
changes.
Fixes:
Nothing published for this version
Nothing published for this version
This prerelease improves the memory consumption while reconciling a HelmRepository, by only validating the YAML of a fetched index when the checksum o
Release date: 2022-04-26
This prerelease improves the memory consumption while reconciling a
HelmRepository, by only validating the YAML of a fetched index when the
checksum of the retrieved file differs from the current Artifact.
Fixes:
Nothing published for this version
Nothing published for this version
This prerelease fixes a regression bug where the controller would panic in further to be identified edge-case scenarios in which a HelmRepository Arti
Release date: 2022-04-22
This prerelease fixes a regression bug where the controller would panic in
further to be identified edge-case scenarios in which a HelmRepository
Artifact would not have a size.
Fixes:
:warning: Breaking change: From this release on, the RUNTIME_NAMESPACE environment variable is no longer taken into account to configure the advertise…
Release date: 2022-04-19
This prerelease enables the Helm chart dependency manager to make use of the
opt-in memory cache introduced in v0.23.0, revises the file permissions set
by the controller, and updates various dependencies.
:warning: Breaking change: From this release on, the RUNTIME_NAMESPACE
environment variable is no longer taken into account to configure the
advertised HTTP/S address of the storage. Instead, variable
substitution
must be used, as described in the changelog entry for v0.5.2.
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
This prerelease introduces new retention options for Garbage Collection, a new opt-in in-memory cache for HelmRepository index files, improves notific
Release date: 2022-04-12
This prerelease introduces new retention options for Garbage Collection,
a new opt-in in-memory cache for HelmRepository index files, improves
notifications following reconciling failures, brings ways to configure
Key Exchange Algorithms, plus some extra housekeeping awesomeness.
Garbage Collection is enabled by default, and now its retention options
are configurable with the flags: --artifact-retention-ttl (default: 60s)
and --artifact-retention-records (default: 2). They define the minimum
time to live and the maximum amount of artifacts to survive a collection.
A new notification is now emitted to identify recovery from failures. It is triggered when a failed reconciliation is followed by a successful one, and the notification message is the same that's sent in usual successful source reconciliation message about the stored artifact.
The opt-in in-memory cache for HelmRepository addresses issues where the
index file is loaded and unmarshalled in concurrent reconciliation resulting
in a heavy memory footprint. It can be configured using the flags:
--helm-cache-max-size, --helm-cache-ttl, --helm-cache-purge-interval.
The Key Exchange Algorithms used when establishing SSH connections are
based on the defaults configured upstream in go-git and golang.org/x/crypto.
Now this can be overriden with the flag --ssh-kex-algos. Note this applies
to the go-git gitImplementation or the libgit2 gitImplementation but
only when Managed Transport is being used.
Managed Transport for libgit2 now introduces self-healing capabilities,
to recover from failure when long-running connections become stale.
The exponental back-off retry can be configured with the new flags:
--min-retry-delay (default: 750ms) and --max-retry-delay
(default: 15min). Previously the defaults were set to 5ms and 1000s,
which in some cases impaired the controller's ability to self-heal
(e.g. retrying failing SSH connections).
Introduction of a secure directory loader which improves the handling of Helm charts paths.
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
This prerelease improves the Status API of the Source objects to reflect more accurate Status Condition information.
Release date: 2022-03-30
This prerelease improves the Status API of the Source objects to reflect more accurate Status Condition information.
In addition, it also fixes a bug in go-git implementation due to which cloning
public Git repository failed without any credentials since version 0.17.0, and
some general stability improvements in the libgit2 experimental managed
transport.
Improvements:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This prerelease improves on the experimental managed transport overall stability. Changes of note:
Release date: 2022-03-28
This prerelease improves on the experimental managed transport overall stability. Changes of note:
Fixes:
Nothing published for this version
This prerelease fixes a regression bug introduced in v0.22.0, which would cause a GitRepository to end up in a Stalled state if an include did not hav
Release date: 2022-03-25
This prerelease fixes a regression bug introduced in v0.22.0, which would
cause a GitRepository to end up in a Stalled state if an include did not
have an Artifact available.
Fixes:
Nothing published for this version
Nothing published for this version
This prerelease ensures (Kubernetes) Event annotations are prefixed with the FQDN of the Source API Group. For example, revision is now source.toolkit
Release date: 2022-03-23
This prerelease ensures (Kubernetes) Event annotations are prefixed with the
FQDN of the Source API Group. For example, revision is now
source.toolkit.fluxcd.io/revision.
This to facilitate improvements to the notification-controller, where annotations prefixed with the FQDN of the Group of the Involved Object will be transformed into "fields".
Fixes:
Nothing published for this version
Nothing published for this version
This prerelease fixes a regression in which .sourceignore rules for a GitRepository would not be matched correctly.
Release date: 2022-03-23
This prerelease fixes a regression in which .sourceignore rules for a
GitRepository would not be matched correctly.
Fixes:
Nothing published for this version
Nothing published for this version
This prerelease comes with new reconcilers which make use of fluxcd/pkg utilities for common runtime operations, and graduates the API to v1beta2.
Release date: 2022-03-17
This prerelease comes with new reconcilers which make use of fluxcd/pkg
utilities for common runtime operations, and graduates the API to v1beta2.
:warning: It is required to update the source-controller Custom Resource Definitions on your cluster and/or in Git.
Bucket resources do now take the provided etag for object storage items
into account during the calculation of the revision. As a result, items will
no longer be downloaded on every reconcile if none of them have changed.HelmChart resources do now advertise the observed chart name
(.status.observedChartName) and Source (reference) Artifact revision
(.status.observedSourceArtifactRevision) in the Status. The information is
used to more efficiently react to source revision and/or chart changes.The new specifications for the v1beta2 API
have been written in a new format with the aim to be more valuable to a user.
Featuring separate sections with examples, and information on how to write
and work with them.
The size (in bytes) of a tarball Artifact is now advertised in the Size
(.size) field of the Artifact. This can be utilized by users to e.g. quickly
see if .sourceignore rules have an effect, or be displayed in a UI.
Bucket resourcesThe .spec.provider of a Bucket resource can now be set to azure to
instruct the controller to use the
Azure Blob Storage SDK
while fetching objects. This allows for authenticating using Service
Principals, Managed Identities and Shared Keys.
For more information, see the Bucket spec about the Azure provider.
Source API resources will now advertise more explicit Condition types (more
about the types in "API changes"), provide Reconciling and Stalled
Conditions where applicable for
better integration with kstatus,
and record the Observed Generation on the Condition.
For a detailed overview per Source type, refer to the spec:
The Kubernetes Events the controller emits have been reworked to provide a proper reason, and more informative messages. Users making use of the notification-controller will notice this as well, as this same information is used to compose notifications.
libgit2 Git implementationThe libgit2 Git implementation supports a new experimental transport to
improve reliability, adding timeout enforcement for Git network operations.
Opt-in by setting the environment variable EXPERIMENTAL_GIT_TRANSPORT to
true in the controller's Deployment. This will result in the low-level
transport being handled by the controller, instead of libgit2. It may result
in an increased number of timeout messages in the logs, however it will remove
the ability of Git operations to make the controllers hang indefinitely.
The Helm dependency has been updated to v3.8.1, with a patch applied from
https://github.com/helm/helm/pull/10568. Using this patch, the HTTP transports
are now managed by the controller, to prevent the clogging of thousands of open
TCP connections on some instances.
libgit2 Git implementation to v1.3.xThe libgit2 Git implementation has been updated to v1.3.x, allowing us to
provide better error signals for authentication, certificate and transport
failures. Effectively, this means that instead of a unable to clone: User
error string, a descriptive one is now given.
In addition, NO_PROXY settings are now properly taken into account.
rsa-ssh2-256/512The dependency on golang.org/x/crypto has been updated to
v0.0.0-20220315160706-3147a52a75dd, as preparation of support for
rsa-ssh2-256/512. This should theoretically work out of the box for
known_hosts entries and go-git Git provider credentials, but has not been
widely tested.
The source.toolkit.fluxcd.io/v1beta2 API is backwards compatible with v1beta1.
Reconciling and Stalled Condition types for better
integration with kstatus.ArtifactOutdated: indicates the current Artifact of the Source is outdated.SourceVerified: indicates the integrity of the Source has been verified.FetchFailed: indicates a transient or persistent fetch failure of the
upstream Source.BuildFailed: indicates a transient or persistent build failure of a
Source's Artifact.StorageOperationFailed: indicates a transient or persistent failure
related to storage.IncludeUnavailable: indicates an include is not available. For example,
because it does not exist, or does not have an Artifact..status.artifact.size) in the
Artifact object.ObservedChartName (.status.observedChartName) and
ObservedSourceArtifactRevision (.status.observedSourceArtifactRevision)
fields in the HelmChart Status.azure provider implementation for Bucket.Updating the manifests in Git to v1beta2 can be done at any time after the
source-controller upgrade.
v1beta2 API and rewrite reconcilers
#586Nothing 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 prerelease changes the default timeout of GitRepositories and Buckets from 20s to 60s. When using the libgit2 Git implementation, increasing the
Release date: 2022-02-07
This prerelease changes the default timeout of GitRepositories and Buckets from 20s to 60s.
When using the libgit2 Git implementation, increasing the timeout helps avoid
Error waiting on socket intermittent SSH cloning failures.
Improvements:
This prerelease comes with a bug fix to ensure the libgit2 Git implementation respects hostnames with and without port while matching against known_ho
Release date: 2022-01-27
This prerelease comes with a bug fix to ensure the libgit2 Git implementation
respects hostnames with and without port while matching against known_hosts.
Fixes:
Your coding agent can read these notes before it upgrades. Set up the MCP server →