Releases: argoproj/argo-cd
v2.13.8
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.8/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.8/manifests/ha/install.yaml
Release 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.
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
This release fixes a critical security issue: GHSA-2hj5-g64g-fp6p
Bug fixes
- 97fd4ac: fix(appset): generated app errors should use the default requeue (#21887) (cherry-pick #21936) (#22673) (@gcp-cherry-pick-bot[bot])
- 41ab259: fix(test): broken e2e test (cherry-pick #22975) (#23053) (@gcp-cherry-pick-bot[bot])
Other work
- d508e3b: Merge commit from fork (@crenshaw-dev)
- 6612b7b: chore: replace heptio-images with argocd-e2e-container (cherry-pick #23040) (#23056) (@nitishfy)
Full Changelog: v2.13.7...v2.13.8
v3.0.3
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.3/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.3/manifests/ha/install.yaml
Release 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
- af3d926: fix: Account for batch event processing in e2e tests (cherry-pick #22356) (#23070) (@gcp-cherry-pick-bot[bot])
- ddd6df5: fix: infinite reconciliation loop when app is in error (#23067) (@agaudreault)
- 927ed35: fix: remove default
spec.preserveUnknownFields
ignoreDifference for CRD (cherry-pick #22948) (#23044) (@gcp-cherry-pick-bot[bot])
Documentation
- b1cafa9: docs: fix jsonpath in 2.14-3.0 upgrade doc (cherry-pick #23045) (#23046) (@gcp-cherry-pick-bot[bot])
Other work
- 866db14: chore: bump gitops-engine ssd fix (#23071) (@pjiang-dev)
Full Changelog: v3.0.2...v3.0.3
v2.14.12
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.12/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.12/manifests/ha/install.yaml
Release 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.
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- f7ad2ad: fix(ApplicationSet): Check strategy type to verify it's a progressive sync (cherry-pick #22563) (#22833) (@gcp-cherry-pick-bot[bot])
- ced6a78: fix(health): handle nil lastTransitionTime (#22897) (cherry-pick #22900) (#22909) (@gcp-cherry-pick-bot[bot])
- 25235fb: fix(test): broken e2e test (cherry-pick #22975) (#23052) (@gcp-cherry-pick-bot[bot])
- 78e61ba: fix: Only port-forward to ready pods (#10610) (cherry-pick #22794) (#22826) (@mikebryant)
- fe93963: fix: do not normalize resource tracking on live crds (#22722) - cherrypick 2.14 (#22746) (@blakepettersson)
- 5bc6f47: fix: infinite reconciliation loop when app is in error (#23047) (@agaudreault)
- b163de0: fix: remove project from cache key for project scoped credentials (#22816) (@pjiang-dev)
Dependency updates
- efe5d29: chore(deps): resolve CVE GO-2025-3540, GO-2025-3503, GO-2025-3487 within 2.14.10 (#22709) (@nathanlaceyraft)
Other work
- 3a9ab77: fix(commit-server): apply image override (cherry-pick #22916) (#22918) (@gcp-cherry-pick-bot[bot])
Full Changelog: v2.14.11...v2.14.12
v3.0.2
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.2/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.2/manifests/ha/install.yaml
Release 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
- 3fb34b9: fix(haproxy): setting maxconn in haproxy config cherry-pick (#15319) (#18283) (#23037) (@reggie-k)
- cca991a: fix(test): broken e2e test (cherry-pick #22975) (#23017) (@gcp-cherry-pick-bot[bot])
- 90e9d1a: fix: settings request doesn't return default tracking method (#22965) (cherry-pick) (#23034) (@oleksandr-codefresh)
Documentation
- 3d37cfa: docs(server): no resource health when using the list api (cherry-pick #22954) (#22972) (@gcp-cherry-pick-bot[bot])
Full Changelog: v3.0.1...v3.0.2
v3.0.1
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.1/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.1/manifests/ha/install.yaml
Release 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
- edd2358: fix(docs): upgrading 3.0 docs (cherry-pick #22891) (#22894) (@gcp-cherry-pick-bot[bot])
- cb5d6f5: fix(health): handle nil lastTransitionTime (#22897) (cherry-pick #22900) (#22908) (@gcp-cherry-pick-bot[bot])
- 2913d5f: fix: Race condition in
nativeGitClient.LsFiles
(issue #21754) (cherry-pick #22878) (#22906) (@gcp-cherry-pick-bot[bot])
Full Changelog: v3.0.0...v3.0.1
v3.0.0
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0/manifests/ha/install.yaml
Release 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
- 402802b: feat!: Logs rbac enforce by default (#21678) (@reggie-k)
- cca7485: feat!: update compareoptions default values (#22230) (@agaudreault)
- 029927b: feat(appcontroller): store application health status in redis by default (#10312) (#21532) (@rumstead)
- f775e7b: feat(appset): Add values to PR generator (#21557) (@dudo)
- b9131c1: feat(cmp): pass empty env vars to plugins (#18720) (#22096) (@crenshaw-dev)
- ac50d8e: feat(config)!: exclude known interim resources by default (#20013) (#21635) (@agaudreault)
- 910b951: feat(controller): enable batch event processing by default (#22338) (@crenshaw-dev)
- 7edaef5: feat(helm): upgrading helm to 3.17.0 (#21722) (@rumstead)
- 3d2c010: feat(hydrator): handle sourceHydrator fields from webhook (#19397) (cherry-pick #22485) (#22753) (@gcp-cherry-pick-bot[bot])
- 88e43cb: feat(kubectl): upgrading kubectl to 1.32.1 (#21724) (@rumstead)
- c675757: feat(kustomize): support --include-templates for labels (#15283) (#22069) (@crenshaw-dev)
- 6f9389c: feat(log): support match case in pod log search (#21919) (@linghaoSu)
- feb7097: feat(metrics): add more kubectl metrics (#21720) (@crenshaw-dev)
- 606bd5b: feat(rbac)!: disable fine-grained inheritance by default (#19988) (#20671) (@fffinkel)
- e3bd569: feat(server): make deep copies of objects returned by informers (#22173) (#22179) (@rumstead)
- 7296201: feat(ui): Added link to start page in argo logo (#21461) (@surajyadav1108)
- 6d27928: feat(ui): highlight log lines by pod name (#21001) (@aali309)
- b8508f2: feat(ui): rename filter message status on SYNC STATUS view (#21061) (@aali309)
- 55f8a43: feat(ui): split arrays in yaml to fix ambiguous collapse when array items have nested objects (#21064) (@aali309)
- 0fab3cf: feat(ui): support display sync wave (#20614) (@linghaoSu)
- 922c9e9: feat(ui): support filter repo when input (#21451) (@linghaoSu)
- 89c4817: feat: Add support for Azure workload identity for Git and OCI repositories. (#21118) (@jagpreetstamber)
- f9ffb6a: feat: Added env reference objects to manifests for otlp.attrs (#21563) (@almoelda)
- 0973409: feat: Kustomize ignore missing components (#18634) (#21674) (@bradkwadsworth)
- 74b3532: feat: Make certain Status panel items look more 'clickable' (#19698) (#22232) (@keithchong)
- c0b2787: feat: Support kube 1.32 (#21805) (@sivchari)
- d301b40: feat: Upgrade notifications engine (#22273) (@sivchari)
- c9c4068: feat: add AND operator opt-in option for sync windows matches (#16846) (@adriananeci)
- f258c45: feat: add
ARGOCD_APP_PROJECT_NAME
to the build environment (#15185) (#21586) (@MacroPower) - c71dd1a: feat: add a check for user defined role referential integrity (#21065) (@devopsjedi)
- 8044d68: feat: add bearer token auth (#21462) (@reggie-k)
- fa0b5f5: feat: add force promote actions for Numaplane rollouts (#22141) (@dpadhiar)
- e4311d8: feat: add name and labels in cluster metrics (#17870) (#18453) (@flbla)
- ecb9dba: feat: add support for azure workload identity in Microsoft Entra SSO (#21433) (@jagpreetstamber)
- 951d9d3: feat: add the
--redis-compress
as the global flag to set redis compression. (#21786) (@nitishfy) - 561cbef: feat: checking user defined roles and policies for referential integrity (#20825) (#22132) (@devopsjedi)
- d23e6ac: feat: configurable log timestamp format (#21478) (@crenshaw-dev)
- c09e6fa: feat: improve StatefulSet immutable field error messages (#21209) (@aali309)
- 1698370: feat: replace spdy with websocket for portforward and pod exec #21517 (#21518) (@maoqide)
- 3e09f94: feat: resource customization for CustomResourceDefinition (#21416) (@almoelda)
- 6b002a5: feat: upgrade to v1.32.2 (#22168) (@sivchari)
- fbd7f29: feat: use errors.Join for debuggable (#22235) (@sivchari)
- dbdc1e7: feat: use log format config for klog (#5715) (#21458) (@crenshaw-dev)
Bug fixes
- 46bfc10: Revert "fix: Graceful shutdown for the API server (#18642) (#20981)" (#21221) (@pasha-codefresh)
- c6b0000: fix(actions): don't run empty Lua scripts (#22084) (#22161) (@crenshaw-dev)
- e6f94f2: fix(appcontroller): selfhealattemptscount needs to be reset at times (#22095) (@blakepettersson)
- 079341c: fix(applicationset): ApplicationSets with rolling sync stuck in Pending (#20230) (@Fsero)
- f6a84a4: fix(appset): Reconcile appset only once when appset is refreshed (fix 21171) (#21172) (@dacofr)
- f3509d2: fix(appset): dont requeue appsets on status change (#21364) (@rumstead)
- e852142: fix(appset): events not honouring configured namespaces (#21219) (#21241) (@eadred)
- e44ae96: fix(appset): generated app errors should use the default requeue (#21887) (#21936) (@rumstead)
- 922dd77: fix(appset): improve git generator repo credential fallback (#21167) (@blakepettersson)
- 55aab6e: fix(appset): reverted Gitlab SCM HasPath search and consider 404 errors as file not found (#16253) (#21597) (@prune998)
- 37a7231: fix(appset): update gitlab SCM provider to search on parent folder (#16253) (#21491) (@prune998)
- 06bd2ad: fix(ci): all version bump changes go in the PR (#21409) (@crenshaw-dev)
- 2933154: fix(ci): get correct previous version, fail workflow if not (cherry-pick #22376) (#22377) (@gcp-cherry-pick-bot[bot])
- 15046b9: fix(ci): handle major versions in compatibility table generator (cherry-pick #22370) (#22371) (@gcp-cherry-pick-bot[bot])
- 43d2a3d: fix(ci): proto references bump (#21391) (@crenshaw-dev)
- 05c7625: fix(ci): updating action-gh-release after upstream fix (#21407) (@rumstead)
- eb6732e: fix(ci): use pinned Helm version for init-release (#22164) (#22165) (@crenshaw-dev)
- 6e4c8fd: fix(ci): use tags instead of branches (cherry-pick #22372) (#22373) (@gcp-cherry-pick-bot[bot])
- 99cd3c7: fix(cli): add flags to admin import for retrying updates on conflicts and skipping resources with specific labels. (#21694) (@ashutosh16)
- 85684a8: fix(cli): application cannot be refreshed when invalid and hangs (#21615) (@agaudreault)
- eb6dd46: fix(cli): ignored resources should not be pruned during restore (#21894) (@agaudreault)
- 9c443b6: fix(cli): improve performance for admin export/import cmd (#22322) (@agaudreault)
- 546383a: fix(cli): log correct error message when updating a cluster that is not present (#22190) (@nitishfy)
- 613d06d: fix(cli): use correct CA when adding kube-public clusters (#21326) (#21327) (@aminarefzadeh)
- f2ee9a6: fix(cli): wrong variable to store --no-proxy value (#21226) (@the-technat)
- a8ce677: fix(controller): always set health.status.lastTransitionTime (#22665) (cherry-pick #22666) (#22667) (@gcp...
v3.0.0-rc6
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc6/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc6/manifests/ha/install.yaml
Release 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
- a444a05: fix: AppSet PullRequest and SCM generators get 401 from GitHub without tokenRef (cherry-pick #22737) (#22744) (@gcp-cherry-pick-bot[bot])
- f075c5a: fix: Only port-forward to ready pods (#10610) (cherry-pick #22794) (#22825) (@gcp-cherry-pick-bot[bot])
Full Changelog: v3.0.0-rc5...v3.0.0-rc6
v3.0.0-rc5
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc5/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc5/manifests/ha/install.yaml
Release 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
- ebeae20: fix(ui): fix bearerToken validate in helm connect page (cherry-pick #22791) (#22798) (@gcp-cherry-pick-bot[bot])
- ffbf9d5: fix: AppSet PullRequest and SCM generators get 401 from GitHub without tokenRef (manually signed off cherry-pick #22737) (#22763) (@reggie-k)
- b2e8753: fix: do not normalize resource tracking on live crds (cherry-pick #22722) - cherry-pick 3.0 (#22735) (@gcp-cherry-pick-bot[bot])
- 6fea008: fix: remove project from cache key for project scoped credentials (cherry-pick #22712) (#22817) (@gcp-cherry-pick-bot[bot])
Full Changelog: v3.0.0-rc4...v3.0.0-rc5
v3.0.0-rc4
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc4/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.0-rc4/manifests/ha/install.yaml
Release 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
- 3d2c010: feat(hydrator): handle sourceHydrator fields from webhook (#19397) (cherry-pick #22485) (#22753) (@gcp-cherry-pick-bot[bot])
Bug fixes
- a8ce677: fix(controller): always set health.status.lastTransitionTime (#22665) (cherry-pick #22666) (#22667) (@gcp-cherry-pick-bot[bot])
- b6e6104: fix(ui): avoid spurious error on hydration (#22506) (cherry-pick #22711) (#22715) (@gcp-cherry-pick-bot[bot])
- d6a04a3: fix: Check for semver constraint matching in application webhook handler (cherry-pick #21648) (#22507) (@gcp-cherry-pick-bot[bot])
- 5d131c5: fix: do not exclude APIService resources (cherry-pick #22586) (#22587) (@gcp-cherry-pick-bot[bot])
Full Changelog: v3.0.0-rc3...v3.0.0-rc4
v2.14.11
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.11/manifests/install.yaml
HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.11/manifests/ha/install.yaml
Release 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.
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Features
- 91f5445: feat(hydrator): handle sourceHydrator fields from webhook (#19397) (cherry-pick #22485) (#22754) (@gcp-cherry-pick-bot[bot])
Bug fixes
- 0451723: fix(appset): generated app errors should use the default requeue (#21887) (cherry-pick #21936) (#22672) (@gcp-cherry-pick-bot[bot])
- f6f7d29: fix(ui): avoid spurious error on hydration (#22506) (cherry-pick #22711) (#22714) (@gcp-cherry-pick-bot[bot])
Full Changelog: v2.14.10...v2.14.11