Releases: argoproj/argo-cd
v3.4.0-rc4
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc4/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc4/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- ed4c63b: fix: controller incorrectly detecting diff during app normalization (cherry-pick #27002 for 3.4) (#27014) (@argo-cd-cherry-pick-bot[bot])
- 249b91d: fix: wrong installation id returned from cache (cherry-pick #26969 for 3.4) (#27028) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.4.0-rc3...v3.4.0-rc4
v3.3.6
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.6/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.6/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 4a823fe: fix: controller incorrectly detecting diff during app normalization (cherry-pick #27002 for 3.3) (#27013) (@argo-cd-cherry-pick-bot[bot])
- c5d7748: fix: wrong installation id returned from cache (cherry-pick #26969 for 3.3) (#27027) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.3.5...v3.3.6
v3.4.0-rc3
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc3/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc3/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 5ed403c: fix(server): fix find container logic for terminal (cherry-pick #26858 for 3.4) (#26933) (@argo-cd-cherry-pick-bot[bot])
- aced2b1: fix(ui): Improve message on self-healing disabling panel (#26977) (cherry-pick #26978 for 3.4) (#26980) (@argo-cd-cherry-pick-bot[bot])
- b66dea4: fix: Hook resources not created at PostSync when configured with PreDelete PostDelete hooks (cherry-pick #26996 for 3.4) (#26998) (@argo-cd-cherry-pick-bot[bot])
Dependency updates
- ea71adb: chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (cherry-pick #26886 for 3.4) (#26952) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.4.0-rc2...v3.4.0-rc3
v3.3.5
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.5/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.5/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- e53c10c: fix(UI): show RollingSync step clearly when labels match no step (cherry-pick #26877 for 3.3) (#26884) (@argo-cd-cherry-pick-bot[bot])
- 03dda41: fix(ci): add .gitkeep to images dir (cherry-pick #26892 for 3.3) (#26911) (@argo-cd-cherry-pick-bot[bot])
- ff207a4: fix(server): fix find container logic for terminal (cherry-pick #26858 for 3.3) (#26934) (@argo-cd-cherry-pick-bot[bot])
- 06d960d: fix(ui): Improve message on self-healing disabling panel (#26977) (cherry-pick #26978 for 3.3) (#26981) (@argo-cd-cherry-pick-bot[bot])
- 0dc0a66: fix(ui): include _-prefixed dirs in embedded assets (cherry-pick #26589 for 3.3) (#26910) (@argo-cd-cherry-pick-bot[bot])
- 494b44c: fix: Hook resources not created at PostSync when configured with PreDelete PostDelete hooks (cherry-pick #26996 for 3.3) (#26999) (@argo-cd-cherry-pick-bot[bot])
- 422cabb: fix: stack overflow when processing circular ownerrefs in resource graph (#26783) (cherry-pick #26790 for 3.3) (#26879) (@argo-cd-cherry-pick-bot[bot])
Dependency updates
- 476800e: chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.79.3 for release-3.3 (#26886) (#26953) (@dudinea)
Other work
- ea8a881: ci: test against k8s 1.35.0 (cherry-pick #26062 for 3.3) (#26860) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.3.4...v3.3.5
v3.2.8
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.8/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.8/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 65378e6: fix(UI): show RollingSync step clearly when labels match no step (cherry-pick #26877 for 3.2) (#26883) (@argo-cd-cherry-pick-bot[bot])
- 1515e91: fix: controller incorrectly detecting diff during app normalization (cherry-pick #27002 for 3.2) (#27012) (@argo-cd-cherry-pick-bot[bot])
- 5fca1ce: fix: mitigation of grpc-go CVE-2026-33186 for release-3.2 (#26983) (@dudinea)
Other work
- e7d33de: chore: use base ref for cherry-pick prs (cherry-pick #26551 for 3.2) (#26554) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.2.7...v3.2.8
v3.1.13
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.13/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.13/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 7a7dd4e: fix(UI): show RollingSync step clearly when labels match no step (cherry-pick #26877 for 3.1) (#26885) (@argo-cd-cherry-pick-bot[bot])
- beb9860: fix: mitigation of grpc-go CVE-2026-33186 for release-3.1 (#26982) (@dudinea)
Dependency updates
Other work
- 12c8d42: chore: use base ref for cherry-pick prs (cherry-pick #26551 for 3.1) (#26555) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.1.12...v3.1.13
v3.4.0-rc2
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc2/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc2/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Features
- 3157fb1: feat(helm): support wildcard glob patterns for
valueFiles(cherry-pick #26768 for 3.4) (#26919) (@argo-cd-cherry-pick-bot[bot])
Bug fixes
- 21e13a6: fix(UI): show RollingSync step clearly when labels match no step (cherry-pick #26877 for 3.4) (#26882) (@argo-cd-cherry-pick-bot[bot])
- e70034a: fix(ci): add .gitkeep to images dir (cherry-pick #26892 for 3.4) (#26912) (@argo-cd-cherry-pick-bot[bot])
- 5deef68: fix(ui): include _-prefixed dirs in embedded assets (cherry-pick #26589 for 3.4) (#26909) (@argo-cd-cherry-pick-bot[bot])
- 226178c: fix: stack overflow when processing circular ownerrefs in resource graph (#26783) (cherry-pick #26790 for 3.4) (#26878) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.4.0-rc1...v3.4.0-rc2
v3.4.0-rc1
Important
Following Helm 3.19.0 change in how Helm interprets K8s cluster version, this Argo CD release contains a change that aligns how Argo CD interprets K8s cluster version with Helm behavior.
Impact: Application Sets with Cluster Generators, that fetch clusters based on their Kubernetes version and use argocd.argoproj.io/auto-label-cluster-info on the cluster secret, need to be updated to use argocd.argoproj.io/kubernetes-version with the vMajor.Minor.Patch format instead of the previous Major.Minor format.
More details here: https://argo-cd.readthedocs.io/en/release-3.4/operator-manual/upgrading/3.3-3.4/#cluster-version-format-change
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc1/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.4.0-rc1/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Features
- 05504d6: feat(appset): add Health field to ApplicationSet status (#25753) (@pjiang-dev)
- f83906d: feat(appset): optimize appset controller performance when grabbing cluster secrets (#25624) (#25577) (@rumstead)
- ed6d2c5: feat(controller): Annotation to pause reconciliation for a specific cluster (#26442) (@drewbailey)
- 5072899: feat(hydrator): making configurable authorName/Email used for hydration commit (#22847) (#25746) (@adityaraj178)
- 8ed52b2: feat(notification): add appProject access to notification templates (#26437) (#26470) (@adityaraj178)
- e1aeb79: feat(ui): AppSet Slide Out Summary (#26490) (@pjiang-dev)
- 5ab598e: feat(ui): add annotation filtering support to applications list (#25590) (@zc149)
- 1391e2f: feat(ui): add appset tree-view details page (#26262) (@pjiang-dev)
- 7208578: feat(ui): appset list page and filters (#25837) (@pjiang-dev)
- ff45972: feat(ui): enable hydrator support in app create panel (#26485) (@jwinters01)
- 1214946: feat(ui): support hydrator properties in summary tab (#26152) (@jwinters01)
- b414432: feat: Add application filter for operation status to UI (#25636) (@schlags)
- 408e99e: feat: Allow custom User-Agent headers for Helm repository requests (#25473) (@yugannkt)
- 19b41b9: feat: ApplicationSet watch API (#26409) (@pjiang-dev)
- b442167: feat: Document and expose K8S API client environment variables(#8527) (#25145) (@gosarami)
- 7a3d6f1: feat: Implement nmstate health checks (#26506) (#26507) (@sandert-k8s)
- 5859065: feat: add ApplicationSet listResourceEvents API (#25537) (@pjiang-dev)
- 2793097: feat: add OTEL instrumentation for authentication and handlers (#25296) (@devopsjedi)
- b7e2027: feat: add Prune and Delete as application level sync option (#23370) (@MrFreezeex)
- 73b4d98: feat: add
--no-install-recommendsinargocd-base#25841 (#25852) (@zeraye) - 13bc5ae: feat: add argocd account session-token command (#15277) (#24638) (@alexef)
- d8635ca: feat: add clear-all button to applications list filters (#26007) (@choejwoo)
- c2e594c: feat: disable gRPC service config DNS TXT lookups by default (#26077) (@vstoican)
- 3cb4955: feat: expose notifications controller processors count via cmd params (#26798) (@kirillbilchenko)
- c0a2a57: feat: implement application cache synchronization in appset controller (#26578) (@alexmt)
- ef75a2e: feat: limit max certificates and known hosts in stream parsing (#25777) (@ankit98040)
- f85ad11: feat: remove unused reposFilter from Applications list (#24667) (@choejwoo)
- 6f0de8b: feat: update health checks for Numaflow resources (#25698) (@dpadhiar)
Bug fixes
- ede9229: fix(actions): Use correct annotation for CNPG suspend/resume (#26711) (@rouke-broersma)
- f45ee22: fix(appset): change appset resource status count to 5000 by default (#26249) (@pjiang-dev)
- bb894e8: fix(appset): do not trigger reconciliation on appsets not part of allowed namespaces when updating a cluster secret (#25622) (@OpenGuidou)
- 330077c: fix(appset): fix post-generator selector ignoring labels in GoTemplate mode (#26717) (@thejoeejoee)
- bdc3447: fix(appset): update appset resources after creation (#26511) (@pjiang-dev)
- 59f229b: fix(ci): Add missing git-lfs installer checksum for ppc64le (#26835) (@olivergondza)
- cbc7ecd: fix(ci): Inconsistent use of IMAGE_REGISTRY and IMAGE_NAMESPACE Makefile variables (#25846) (#25860) (@dudinea)
- 2253481: fix(ci): Remove stale label when Issue/PR is updated (#26452) (@Kevinjoeharris)
- 4a5d3a7: fix(ci): add gitops-engine unit tests to CI (#25863) (@pjiang-dev)
- 92c5389: fix(ci): ensure cherry-pick commits include DCO sign-off (#26124) (@anaghaaaaa9)
- aadf2af: fix(ci): fix deleting files on linux in make build-ui (#26134) (#26135) (@dudinea)
- 946a3ab: fix(ci): fix make image DEV_IMAGE=true on non-amd64 architecture (#25897) (#25898) (@dudinea)
- 956a6a1: fix(controller): handle comma-separated hook annotations for PreDelete/PostDelete hooks (#26420) (@linghaoSu)
- af05c56: fix(dashboards): Correct job label for the Controller Telemetry Panel (#26548) (@dacbd)
- 986cdf0: fix(dev): skip Tilt rebuild on test file changes (#26624) (@nitishfy)
- 63698bd: fix(dex): run as user 1001 (#26726) (#26757) (@crenshaw-dev)
- 8a507b7: fix(dex): run as user 1001 (#26726) (#26775) (@crenshaw-dev)
- 3eeebd8: fix(docs): PR title guide from refactor to chore and reformat json (#26450) (@choejwoo)
- d66ad45: fix(docs): update other sections of feature maturity to match feature status in overview (#26411) (@ranakan19)
- 1dc85e5: fix(engine): always preserve sync status for hooks (#25692) (@agaudreault)
- a1d68ca: fix(engine): correctly set prune confirmation message in setRunningPhase (#25915) (@MrFreezeex)
- 95d19f2: fix(engine): improve operation phase messages (#25668) (@agaudreault)
- 8259711: fix(health): app missing health only when all resources are missing (#23995) (#25962) (@agaudreault)
- a22f33d: fix(health): configconnectorcontext and configconnector (#26308) (#26309) (@solidnerd)
- 6eea558: fix(health): use note.drySha when available (#26698) (@crenshaw-dev)
- afdf99f: fix(helm): Improve error message when helm cmd fails (#26159) (@olivergondza)
- 2283784: fix(hooks): always remove finalizers (#23226) (#25916) (@agaudreault)
- 67712c1: fix(hydrator): .gitattributes include deeply nested files (#25870) (#26011) (@crenshaw-dev)
- 3453367: fix(hydrator): Fix compilation error (#26024) (@olivergondza)
- ef40ba8: fix(hydrator): empty links for failed operation (#25025) (#26014) (@crenshaw-dev)
- 6f21978: fix(hydrator): git fetch needs creds (#25727) (#25738) (@crenshaw-dev)
- a439c6c: fix(hydrator): hydrated sha missing on no-ops (#25694) (#25695) (@crenshaw-dev)
- 6994a42: fix(hydrator): pass destination.namespace to manifest rendering (#25478) (#25699) (@seankhliao)
- 0a2ae95: fix(hydrator): race when pushing notes (#25700) (@crenshaw-dev)
- e5e00d3: fix(hydrator): use refresh paths from drySource when source hydration is enabled (#25516) (@FourFifthsCode)
- fe...
v3.3.4
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.4/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.4/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 182e4c6: fix(ci): Add missing git-lfs installer checksum for ppc64le (cherry-pick #26835 for 3.3) (#26836) (@argo-cd-cherry-pick-bot[bot])
- 2fcc40a: fix: skip token refresh threshold parsing in unrelated components (cherry-pick 3.3) (#26806) (@gdsoumya)
Documentation
- 01b86e7: docs: clarify cluster version change impact for ClusterGenerator, CMP Plugins and migration (#26851) (@reggie-k)
Other work
- e164f8c: chore: bump otel-sdk (release-3.3) (#26808) (@blakepettersson)
Full Changelog: v3.3.3...v3.3.4
v3.3.3
Important
Following Helm 3.19.0 change in how Helm interprets K8s cluster version, Argo CD 3.3.3 release contains a change that aligns how Argo CD interprets K8s cluster version with Helm behavior.
Impact: Application Sets with Cluster Generators, that fetch clusters based on their Kubernetes version and use argocd.argoproj.io/auto-label-cluster-info on the cluster secret, need to be updated to use argocd.argoproj.io/kubernetes-version with the vMajor.Minor.Patch format instead of the previous Major.Minor format.
More details here: https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/3.2-3.3/#cluster-version-format-change
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.3/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.3.3/manifests/ha/install.yamlRelease Signatures and Provenance
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the documentation on how to verify.
Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the official blog post
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 6224d67: fix(actions): Use correct annotation for CNPG suspend/resume (cherry-pick #26711 for 3.3) (#26727) (@argo-cd-cherry-pick-bot[bot])
- 968c633: fix(controller): handle comma-separated hook annotations for PreDelete/PostDelete hooks (cherry-pick #26420 for 3.3) (#26586) (@argo-cd-cherry-pick-bot[bot])
- 4411801: fix(health): use note.drySha when available (cherry-pick #26698 for 3.3) (#26750) (@argo-cd-cherry-pick-bot[bot])
- 3d3760f: fix(ui): standard resource icons are not displayed properly.#26216 (cherry-pick #26228 for 3.3) (#26380) (@argo-cd-cherry-pick-bot[bot])
- c6df35d: fix: consistency of kubeversion with helm version 3 3 (#26744) (@ppapapetrou76)
- 5e19021: fix: multi-level cross-namespace hierarchy traversal for cluster-scop… (#26640) (@agaudreault)
Other work
- c61c593: chore: use base ref for cherry-pick prs (cherry-pick #26551 for 3.3) (#26553) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.3.2...v3.3.3
