Releases: argoproj/argo-cd
v3.2.1
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.1/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.1/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
- 6dd5e7a: fix(ui): add null-safe handling for assignedWindows in status panel (cherry-pick #25128 for 3.2) (#25180) (@argo-cd-cherry-pick-bot[bot])
- dabdf39: fix(ui): overlapping UI elements and add resource units to tooltips (cherry-pick #24717 for 3.2) (#25225) (@choejwoo)
- cd8df17: fix: Allow the ISVC to be healthy when the Stopped Condition is False (cherry-pick #25312 for 3.2) (#25318) (@argo-cd-cherry-pick-bot[bot])
- 27c5065: fix: revert #24197 (cherry-pick #25294 for 3.2) (#25314) (@argo-cd-cherry-pick-bot[bot])
- 29f869c: fix: the concurrency issue with git detached processing in Repo Server (#25101) (cherry-pick #25127 for 3.2) (#25448) (@dudinea)
- 7bd02d7: fix:(ui) don't render ApplicationSelector unless the panel is showing (cherry-pick #25201 for 3.2) (#25208) (@argo-cd-cherry-pick-bot[bot])
Documentation
- c11e67d: docs: Document usage of ?. in notifications triggers and fix examples (#25352) (cherry-pick #25418 for 3.2) (#25421) (@argo-cd-cherry-pick-bot[bot])
- a0a1843: docs: Improve switch to annotation tracking docs, clarifying that a new Git commit may be needed to avoid orphan resources - (cherry-pick #25309 for 3.2) (#25338) (@reggie-k)
- 86c9994: docs: update user content for deleting applications (cherry-pick #25124 for 3.2) (#25174) (@argo-cd-cherry-pick-bot[bot])
Other work
- 1545390: fix(cherry-pick): bump gitops-engine ssd regression (#25226) (@pjiang-dev)
Full Changelog: v3.2.0...v3.2.1
v3.2.0
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.0/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.0/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.
Please note that users operating large monorepos may encounter repo-server lock contention requiring pod restarts. A fix is under review and will be included in the next patch release.
Changelog
Features
- be8e79e: feat(appset): add pprof endpoints (cherry-pick #25044 for 3.2) (#25051) (@rumstead)
- 79f152c: feat(appset): deleting applications in order when Progressive sync enabled on applicationSet (#23465) (@ranakan19)
- b1a9fab: feat(appset): enhance ApplicationSet status debugging logs (#23869) (@somln)
- a5c6898: feat(appset): increase concurrent reconcile maximum to max int64 (#23721) (@rumstead)
- 6a20776: feat(cli): Support Server-Side Diff CLI (#23978) (@pjiang-dev)
- 69f7d39: feat(cli): add 'get-resource' command (#23196) (#23609) (@cjcocokrisp)
- 853b8dd: feat(cli): support password prompt input when --password is not provided in bcrypt cli (#23906) (@gyu-young-park)
- 5a8b427: feat(controller): Permit using newer revision when retrying failed sync (#11494) (#23038) (@olivergondza)
- 5c9a5ef: feat(health): Add healthCheck for CRD DatadogMetric (#23464) (@Nicolas-Richard)
- d3de443: feat(health): CronJob health and suspend, resume and terminate Job actions (#23991) (@agaudreault)
- 36f1a59: feat(health): add health checks for GitOps Promoter (#23663) (@crenshaw-dev)
- 99fea7c: feat(helm): upgrade to 3.18.3 (#23618) (@crenshaw-dev)
- e8e39a9: feat(helm): upgrading helm to 3.18.4 (#23724) (@mubarak-j)
- 6f6c39d: feat(hydrator): Commit message templating (#23679) (#24204) (@pbhatnagar-oss)
- e85e353: feat(hydrator): Credential template to source hydrator (#23999) (@pbhatnagar-oss)
- 562194b: feat(hydrator): add .gitattributes file to hydrated repo root (#23678) (#23725) (@FourFifthsCode)
- 8b2799c: feat(hydrator): parallelize repo-server calls (#24451) (#24436) (@crenshaw-dev)
- a6a78ef: feat(kustomize): upgrade to 5.7.0 (#23619) (@crenshaw-dev)
- d954789: feat(server): 3scale health checks (#24327) (#24326) (@ammachado)
- 5b8e4b5: feat(server): pass authenticated userId as header to extensions (#24356) (@agaudreault)
- 2229f9d: feat(ui): Add hydration in status to dashboard application tiles (#24319) (@adityaraj178)
- 13c47ee: feat(ui): Added repo connection state message (#24175) (@surajyadav1108)
- 72d054d: feat(ui): Requests info for Cpu and Mem added to Pod details (#20637) (@surajyadav1108)
- 762114c: feat(ui): Sort by application-sync-order in the list page (#23521) (#24191) (@downfa11)
- 97af89a: feat(ui): add prune option to application rollback (#23861) (#23932) (@anthisfan)
- 8d018bb: feat(ui): add sortable columns to application list (#24213) (#24535) (@downfa11)
- 6212ea2: feat(ui): adjust line-height and spacing for multi-line text in details row (#24173) (@jiwlee97)
- 26b970b: feat: Add gRPC health check in argocd-server (#24276) (@krapie)
- dcf1965: feat: Add health checks for Coralogix (#23853) (@daniel-leinov)
- 4e63bc7: feat: Adding ExtensionService health-check (#23576) (@solomon-kibret)
- be042c4: feat: AppSet PR generator return 0 results upon repo not found instead of failing (#23447) (@reggie-k)
- 3401d3b: feat: Export metrics to track number of users (#20801) (#23343) (@sathiya06)
- c447628: feat: Implement Altinity clickhouse-operator CRD health checks (#24017) (@acze)
- 6028dea: feat: add OpenTelemetry trace context propagation for HTTP requests (#23029) (@yafeiaa)
- 3af3a05: feat: add sso-host flag for OAuth2 login configuration (#22738) (#22784) (@PaleHazy)
- feab307: feat: add status.resourcesCount field to appset and change limit default (#24698) (#24711) (@alexmt)
- 29df864: feat: add title matching filter for Pull Request Generator (#23569) (@nitishfy)
- fca42e3: feat: log a warning instead of debug when repository webhook does not match an application (#23939) (@fernandocarletti)
- 7ae14c8: feat: preserve non-hydrated files during hydration (#24129) (@nitishfy)
- c012702: feat: read argocd password from stdin (#23520) (@nitishfy)
- 07bd5e0: feat: show operation state UI (#23589) (@Aaron-9900)
- 14a22ad: feat: update unpause action for Numaproj CRDs (#24036) (@dpadhiar)
Bug fixes
- 48a7030: fix(UI): Add missing icon colors to auto-sync (#23962) (@surajyadav1108)
- aff3ae3: fix(api):
app create --upsertshould not error on invalid current destination (#23922) (@agaudreault) - fb94cad: fix(applications): update application navigation URLs (#22671) (#23285) (@Ruby-rc)
- 460111f: fix(applicationset): Git generator: Don't append default object to literal empty json array (#23500) (#23513) (@ChristianCiach)
- ac4ae17: fix(appset): When Appset is deleted, the controller should reconcile applicationset #23723 (#23823) (@sangdammad)
- 31e0f42: fix(appset): add applicationset leader election to roles and clean up (#14369) (#23976) (@rumstead)
- d269e6f: fix(appset): add applicationsets to the built-in readonly role (#24190) (#24318) (@crenshaw-dev)
- 6ec1aa1: fix(appset): do not remove progressive sync conditions (#23506) (@agaudreault)
- 03ac864: fix(cli): avoid panic in configure command when no local config exists (#23085) (#23967) (@krapie)
- 7f5ef5c: fix(cli): correct typo in bcrypt error message (#23849) (@gyu-young-park)
- 70c8f46: fix(cli): honor ALL_PROXY and other proxy environment variables (#24177) (@SinnoLn)
- f13aa46: fix(cli): respect refresh type when running with specified revision (#22463) (#22462) (@thejoeejoee)
- c4d99bb: fix(controller): expose ARGOCD_SYNC_WAVE_DELAY as configurable parameter (#24536) (@u-kai)
- e981167: fix(controller): get commit server url from env (#23536) (@nobbs)
- 83d553c: fix(controller): impersonation with destination name (#23309) (#23504) (@crenshaw-dev)
- e0f4b00: fix(darwin): remove the need for cgo when building a darwin binary on linux (#23507) (@rumstead)
- d7364b4: fix(dashboard): Allow quantile label as float and integer (#24087) (@adberger)
- b20fd43: fix(discovery): add missing lua syntax and return to discovery (fixes #24257) (#24262) (@jan-mrm)
- 614c85c: fix(docs): fix applicationsetcontroller.enable.github.api.metrics to false in docs cm (#23516) (@reggie-k)
- 4501ebb: fix(docs): include v3.1 upgrade docs (#23529) (@mubarak-j)
- 786b24e: fix(health): CRD health check message (#23690) (#23691) (@crenshaw-dev)
- f4c4c66: fix(health): add logic for disabled policies (#21347) (@dhaiducek)
- 91b8bba: fix(health): custom resource health for flux helm repository of type oci (#24294) (@adberger)
- 35e3897: fix(health): incorrect reason in PullRequest script (cherry-pick #24826 for 3.2) (#24828) (@argo-cd-cherry-pick-bot[bot])
- 8fa3e47: fix(heal...
v2.14.21
Important
END OF LIFE NOTICE
This is the final release of the 2.14.x release series. As of November 4, 2025, this version has reached end of life and will no longer receive bug fixes or security updates.
Action Required: Please upgrade to a supported version (v3.0 or higher).
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.21/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.14.21/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.
Upgrading
If upgrading from a different minor version, be sure to read the upgrading documentation.
Changelog
Bug fixes
- 8b31544: fix: make webhook payload handlers recover from panics (cherry-pick #24862 for 2.14) (#24926) (@jake-ciolek)
Dependency updates
- 9b7bf3e: chore(deps): bump redis from 7.0.14 to 7.2.11 to address vuln (release-2.14) (#24892) (@carlosrodfern)
Full Changelog: v2.14.20...v2.14.21
v3.2.0-rc4
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.0-rc4/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.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
- d1251f4: fix(health): use promotion resource Ready condition regardless of reason (cherry-pick #24971 for 3.2) (#24973) (@argo-cd-cherry-pick-bot[bot])
- b227ef1: fix: don't show error about missing appset (cherry-pick #24995 for 3.2) (#24997) (@argo-cd-cherry-pick-bot[bot])
- 3db95b1: fix: make webhook payload handlers recover from panics (cherry-pick #24862 for 3.2) (#24912) (@argo-cd-cherry-pick-bot[bot])
Dependency updates
- 7628473: chore(deps): bump redis from 8.2.1 to 8.2.2 to address vuln (release-3.2) (#24891) (@carlosrodfern)
Full Changelog: v3.2.0-rc3...v3.2.0-rc4
v3.1.9
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.9/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.9/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
- 1904de5: fix(server): ensure resource health status is inferred on application retrieval (#24832) (cherry-pick #24851 for 3.1) (#24867) (@argo-cd-cherry-pick-bot[bot])
- a419e47: fix: don't show error about missing appset (cherry-pick #24995 for 3.1) (#24996) (@argo-cd-cherry-pick-bot[bot])
- e53196f: fix: make webhook payload handlers recover from panics (cherry-pick #24862 for 3.1) (#24914) (@argo-cd-cherry-pick-bot[bot])
Dependency updates
- 16ba5f9: chore(deps): bump redis from 7.2.7 to 7.2.11 to address vuln (release-3.1) (#24886) (@carlosrodfern)
Full Changelog: v3.1.8...v3.1.9
v3.0.20
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.20/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.20/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
- 3e09844: fix(server): ensure resource health status is inferred on application retrieval (#24832) (cherry-pick #24851 for 3.0) (#24945) (@vr009)
- bdab094: fix: make webhook payload handlers recover from panics (cherry-pick #24862 for 3.0) (#24913) (@argo-cd-cherry-pick-bot[bot])
Dependency updates
- a7a88fd: chore(deps): bump redis from 7.2.7 to 7.2.11 to address vuln (release-3.0) (#24890) (@carlosrodfern)
Full Changelog: v3.0.19...v3.0.20
v3.2.0-rc3
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.0-rc3/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.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
- 35e3897: fix(health): incorrect reason in PullRequest script (cherry-pick #24826 for 3.2) (#24828) (@argo-cd-cherry-pick-bot[bot])
- 1ba3929: fix(server): ensure resource health status is inferred on application retrieval (#24832) (cherry-pick #24851 for 3.2) (#24865) (@argo-cd-cherry-pick-bot[bot])
- a1f4248: fix: hydration errors not set on applications (#24755) (#24809) (@agaudreault)
Documentation
- dc309cb: docs: fix typo in hydrator commit message template documentation (cherry-pick #24822 for 3.2) (#24827) (@argo-cd-cherry-pick-bot[bot])
Other work
- a42ccae: chore: bump gitops engine (#24864) (@pjiang-dev)
- d75bcfd: fix(cherry-pick): server-side diff shows duplicate containerPorts (#24842) (@pjiang-dev)
Full Changelog: v3.2.0-rc2...v3.2.0-rc3
v3.2.0-rc2
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.0-rc2/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.2.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
- feab307: feat: add status.resourcesCount field to appset and change limit default (#24698) (#24711) (@alexmt)
Bug fixes
- 4821d71: fix(health): typo in PromotionStrategy health.lua (cherry-pick #24726 for 3.2) (#24760) (@argo-cd-cherry-pick-bot[bot])
- 50531e6: fix(oci): loosen up layer restrictions (cherry-pick #24640 for 3.2) (#24648) (@argo-cd-cherry-pick-bot[bot])
- 001bfda: fix: #24781 update crossplane healthchecks to V2 version (cherry-pick #24782 for 3.2) (#24784) (@argo-cd-cherry-pick-bot[bot])
- ef8ac49: fix: Clear ApplicationSet applicationStatus when ProgressiveSync is disabled (cherry-pick #24587 for 3.2 (#24716) (@aali309)
- 1453367: fix: Progress Sync Unknown in UI (cherry-pick #24202 for 3.2) (#24641) (@argo-cd-cherry-pick-bot[bot])
- f3c8e1d: fix: limit number of resources in appset status (#24690) (#24697) (@alexmt)
- 28510cd: fix: resolve argocdService initialization issue in notifications CLI (cherry-pick #24664 for 3.2) (#24680) (@argo-cd-cherry-pick-bot[bot])
- 087378c: fix: update ExternalSecret discovery.lua to also include the refreshPolicy (cherry-pick #24707 for 3.2) (#24713) (@argo-cd-cherry-pick-bot[bot])
- bf9f927: fix: use informer in webhook handler to reduce memory usage (cherry-pick #24622 for 3.2) (#24623) (@argo-cd-cherry-pick-bot[bot])
Documentation
- ee0de13: docs: Delete dangling word in Source Hydrator docs (cherry-pick #24601 for 3.2) (#24604) (@argo-cd-cherry-pick-bot[bot])
Other work
- 46409ae: Merge commit from fork (@crenshaw-dev)
- 722036d: Merge commit from fork (@crenshaw-dev)
- 8f8a1ec: Merge commit from fork (@thevilledev)
- 5f5d46c: Merge commit from fork (@crenshaw-dev)
- cd87a13: chore(ci): update github runners to oci gh arc runners (3.2) (#24632) (#24653) (@crenshaw-dev)
- 4ac3f92: chore: bumps redis version to 8.2.1 (cherry-pick #24523 for 3.2) (#24582) (@argo-cd-cherry-pick-bot[bot])
- 6a2df43: ci(release): only set latest release in github when latest (cherry-pick #24525 for 3.2) (#24686) (@argo-cd-cherry-pick-bot[bot])
Full Changelog: v3.2.0-rc1...v3.2.0-rc2
v3.1.8
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.8/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.1.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
- c63c2d8: fix(docs): include v3.1 upgrade docs (#23529) [backport] (#24799) (@SJrX)
- b2fa7dc: fix: #24781 update crossplane healthchecks to V2 version (cherry-pick #24782 for 3.1) (#24783) (@argo-cd-cherry-pick-bot[bot])
- 41eac62: fix: Clear ApplicationSet applicationStatus when ProgressiveSync is d… (#24715) (@aali309)
- 38808d0: fix: allow for backwards compatibility of durations defined in days (cherry-pick #24769 for 3.1) (#24771) (@argo-cd-cherry-pick-bot[bot])
- 54bab39: fix: update ExternalSecret discovery.lua to also include the refreshPolicy (cherry-pick #24707 for 3.1) (#24712) (@argo-cd-cherry-pick-bot[bot])
Other work
- 5c466a4: Merge commit from fork (@crenshaw-dev)
- 1a023f1: Merge commit from fork (@crenshaw-dev)
- 761fc27: Merge commit from fork (@crenshaw-dev)
- e20828f: Merge commit from fork (@thevilledev)
Full Changelog: v3.1.7...v3.1.8
v3.0.19
Quick Start
Non-HA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.19/manifests/install.yamlHA:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.0.19/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
- a731ea6: fix: allow for backwards compatibility of durations defined in days (cherry-pick #24769 for 3.0) (#24770) (@argo-cd-cherry-pick-bot[bot])
Other work
- 3070736: Merge commit from fork (@crenshaw-dev)
- 93ab7e4: Merge commit from fork (@crenshaw-dev)
- f60a944: Merge commit from fork (@crenshaw-dev)
- 2aaace8: Merge commit from fork (@thevilledev)
Full Changelog: v3.0.18...v3.0.19
