Argo CD v2.9.0stable Released Nov 06, 2023
Impact Score: 5/10

Argo CD v2.9.0 โ€” Release Notes & Engineering Impact

Source available โ€” automated, not human-reviewed

Component: argocd ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Argo CD v2.9.0. Source highlight: kubectl create namespace argocd

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • feat: add retry logic for k8s client #7692 (#16154)
  • feat: grace period for repo errors to prevent aggressive unknown sync state (#16085)
  • feat: add examples to --help output for admin.go file (#16030)
  • feat: add examples to --help ouput for argocd_server.go file (#16032)
  • feat: Allow 'both' option for uibannerposition (#14623)
  • feat: PKCE authentication flow for web logins #9890 (#15889)

โšก Performance & Enhancements (6)

  • docs: improve toolchain/k3d docs (#15913)
  • docs: Improve helm docs #15706 (#15755)
  • docs: improve notifications docs (#15816)
  • docs: Improve RBAC documentation (#15430)
  • chore: improve error logs (#10592) (#15059)
  • chore: improve app destination docstrings (#14836)

๐Ÿ”ง Bug Fixes & Patches (6)

  • feat(kustomize): add patches field (#5114) (#14648)
  • feat: added patch_ms and setop_ms timings to reconciliation logs (#15595)
  • fix(ui): summary: fix sync options block layout (#16152)
  • fix(docs): repo field name in GCP Cloud Source Repositories should be `url` (#16107)
  • fix(server): appset list uses argocd's namespace instead of all (#15429) (#15432)
  • fix(ui): prevent app panel to open on app direct link click (#15040)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## Quick Start ### Non-HA: ```shell kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.9.0/manifests/install.yaml ``` ### HA: ```shell kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.9.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](https://argo-cd.readthedocs.io/en/stable/operator-manual/signed-release-assets) on how to verify. ## Upgrading If upgrading from a different minor version, be sure to read the [upgrading](https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/) documentation. ## Changes This release includes 368 contributions from 144 contributors (147 of them new) with 73 features and 59 bug fixes. ### Features (73) - feat: add retry logic for k8s client #7692 (#16154) - feat: grace period for repo errors to prevent aggressive unknown sync state (#16085) - feat: add examples to --help output for admin.go file (#16030) - feat: add examples to --help ouput for argocd_server.go file (#16032) - feat: Allow 'both' option for uibannerposition (#14623) - feat: PKCE authentication flow for web logins #9890 (#15889) - feat(cli): example for generate-allow-list (#16136) - feat(cli): Add examples to --help output for get KEYID (#16019) - feat(cli): Add examples to --help output for "gpg_list" (#16017) - feat: Add examples to --help output for remaining "create PROJECT ROLE-NAME" (#15983) - feat(cli): Add examples to `argocd proj role` cli family (#15875) - feat(cli): add admin-app-example (#15690) (#15861) - feat(cli): add project flag to avoid permission denied errors on 404 (#16040) - feat: expose notification secrets for request payload templating (#16055) - feat: make git requests configurable (#15646) - feat: add write back to application informer (#15987) - feat(cmp): Print stderr output from command even on success (#15921) (#15973) - feat(cli): Add examples to --help output for "list PROJECT" (#16033) - feat(cli): Add examples to --help output for "gpg add" (#16020) - feat(ui): Recursive Helm Values files detection (#15935) (#15936) - feat: use rate limited queue (#15480) - feat: Add examples to --help output for remaining "get APPNAME" (#15862) - feat(cli): add the repocred-list-example (#15690) (#15869) - feat(cli): add the cluster-list-example (#15690) (#15866) - feat: Add examples to --help output for "delete PROJECT ROLE-NAME" (#15986) - feat(cli): Add examples to projectwindows.go (#15860) - feat(health): add iammanager.keikoproj.io/Iamrole health check (#15899) - feat: Add examples to --help output for "generate-spec PROJECT" (#15871) - feat(cli): add the repo-example (#15690) (#15865) - feat(cli): Add examples to --help output for "set APPNAME" (#15872) - feat(cli): Add examples to --help output for "logs APPNAME" (#15873) - feat(cli): Add example to argocd relogin command (#15839) - feat: Add examples to --help output for all "argocd proj" cmds (#15824) - feat(cli): Added example to --help output for bcrypt (#15838) - feat(appset): fromYaml, fromYamlArray toYaml functions (#15063) - feat(cli): Add example to --help output for app actions (#15822) - feat(cli): Add examples to --help output for remaining "argocd account" (#15814) - feat(cli): Add examples to --help output for remaining "argocd repocreds" cmds (#15846) - feat(cli): Add example to `--help` output 1 (#15782) - feat(cli): Added example to --help output for context (#15809) - feat(ci): retry individual e2e tests (#15696) - feat(appset): ignoreApplicationDifferences (#9101) (#14743) - feat(health): add PushSecret health status and force-sync action (#14375) - feat(health): Implement AnsibleJob CRD health checks (#14483) - feat(kustomize): add patches field (#5114) (#14648) - feat(appset): add Support for AzureDevops Webhooks (#15047) - feat: dynamic rebalancing of clusters across shards (#15036) - feat(cli): tree option in output flag for app sync, app wait and app rollback for tree view (#15572) - feat(extensions): Automatically apply extension configs without restarting API-Server (#15574) - feat: added patch_ms and setop_ms timings to reconciliation logs (#15595) - feat(ui): Add button for wrapping lines in pod logs viewer (#15506) - feat: add option in output flag for app get and app resources cli command for tree view(#13370) (#15386) - feat: appset preserve labels and global preserve fields (#15445) - feat: Enable haproxy metrics through helm Chart (#15459) - feat: added shorthand flags for follow and conatainre in app logs (#15400) - feat: Add ARGOCD_CLUSTER_CACHE_LIST_PAGE_BUFFER_SIZE environment variable (#15159) - feat: auto respect rbac for discovery/sync (#14381) - feat: add Dott to users (#15370) - feat: upgrade notification engine (#15359) - feat: support extra attributes for opentelemetry (#15071) - feat: run refresh from UI in parallel (#15138) - feat(appset): added topic filter for Gitlab SCM (#14965) - feat: add timeout for update cluster info (#14511) - feat(cli): support apply out of sync flag only (#14624) - feat: Add Support for AzureDevops Webhooks (#14969) - feat(appset): Add SCM Provider option for Gitlab generator to filter shared projects from subgroups projects (#14831) - feat: provide short revision in ARGOCD_APP_REVISION_SHORT env variable (#14926) - feat: Adding kubelogin capability to argocd-k8s-auth (#9460) (#10700) - feat(deep-links): alias `application` as `apps` for consistency with notifications engine (#14761) - feat(appset): Restrict scm provider urls (#14286) - feat: adding a autosync_enabled field to the argocd_app_info gauge (#14424) - feat(appset): Add support for self-signed TLS / Certificates for Gitlab Scm Provider (#14348) - feat: respecting rbac for resource exclusions/inclusions proposal (#13479) ### Bug fixes (59) - fix(ui): summary: fix sync options block layout (#16152) - fix(docs): repo field name in GCP Cloud Source Repositories should be `url` (#16107) - fix(server): appset list uses argocd's namespace instead of all (#15429) (#15432) - fix(ui): prevent app panel to open on app direct link click (#15040) - fix api docs (#16186) - fix(ui): Missing data in Sync Status if application never been synced (#16184) - fix(ui): Improve apps tiles view (#16140) - fix(application-controller): convert defaultDeploymentInformerResyncDuration to reflect 10 seconds (#16163) - fix(appset): ignoreApplicationDifferences not working (#15965) - fix: rbac validate command can now take either namespace or policy-file (#15543) - fix: Add timezone to projectwindows list (#15929) - fix(ui): log button behaviors (#15848) (#16098) - fix(banzai/KafkaCluster): Update health.lua (#15962) - fix(docs): proj role list example (#16074) - fix(ui): Dark theme improvements (#15891) - fix: auto-sync fails with 'another operation is already in progress' error (#15638) - fix: ensure appset don't attempt to remove application kind in patch requests (#16056) - fix: list manually provided external urls before generated ones (#13296) - fix: Add ENV variable to configure GRPC Keep Alive Time (#15656) (#15806) - fix(grpcproxy): add GRPCKeepAliveEnforcementMinimum (#15708) - fix: delete event cache deadlock test flakiness (#15964) - fix(ci): unstable integration test (#15976) - fix: update docs for ApplicationService.Get to reflect reality (#15927) - fix: Replace antonmedv/expr with expr-lang/expr (#15879) - fix(notifications): Allow notifications controller to notify on all namespaces (#15702) - fix(cli): Do not error out with no errors (#15688) - fix: codeowners syntax error (#15781) - fix(appset): add option to disable SCM providers entirely (#14246) (#15248) - fix: address nil pointer when controller runs with sts and replicas > 1 (#15770) - fix: only enable dynamic cluster sharding feature explicitly (#15734) - fix(application-controller): Fix panic error when trying to scale application controller shards (#15725) - fix(action): populate all fields of Job from CronJob (#15259) (#15727) - fix(appset): don't emit k8s events for unchanged apps, log at debug (#15659) (#15660) - fix(applicationset): git generator ignores empty files (#15661) - fix(ci): misplaced config option (#15698) - fix(ci): do not fail fast on e2e test failures (#15694) - fix(ci): free up disk space (#15683) - fix: add a not found check for application controller deployment (#15678) - fix(applicationset): cannot validate inherited project permissions (#9298) (#15026) - fix(kustomize): no concurrent processing if Kustomize patches are used (#15654) - fix(cli): get latest app state before printing tree (#15639) - fix: reflect expected integers in swagger doc (#13046) - fix: ApplicationSet deletes Application status (#15514) - fix(cli): fix header in resource-overrides list-actions output (#15375) - fix: Allow retrieving badges in other namespaces (#15468) - fix: failed to add cluster when the cluster server address is ipv6 (#8204) (#15350) - fix: Better enforcement of application namespace restrictions (#15431) - fix(notifications-catalog): Add nil check for on-deployed trigger (#15363) - fix: Cache control 404 asset requests (#15327) - fix(appset): Matrix Generator Override not Working for Booleans (#14498) (#14573) - fix: Updated docs about using a slash in ignoreDifferences (#15144) - fix(cli): add support for components with non-default names (#10200) (#14605) - fix(reposerver): loosen source not permitted helm errors (#14210) - fix: correct the swagger ui link to support --rootpath (#14845) - fix: api server fails to call dex with istio (#14995) - fix: correct discrepancies in generated swagger file (#14813) - fix(notifications-catalog): Add nil check for notifications_catalog triggers (#14795) - fix: manifest generation error with null annotations (#14336) (#14680) - fix(ui): Added rel="noopener noreferrer" to link (#13820) (#14268) ### Documentation (40) - docs: add Axians ACSP to users (#16226) - docs: Ensure consistent proper case of Kubernetes (#16205) - docs: Add Semgrep as a user (#16185) - docs(cmp): Document ConfigManagementPlugin.spec.version more clearly (#15974) - docs(appset): ApplicationSets generators docs to use go templates (#16109) (#16127) - docs: added identity-center.md doc for AWS SSO (#15689) - docs(bounty): proposal for feature to hide annotations on secrets in UI (#15699) - docs: add percona to list of Argo users (#16079) - docs: improve toolchain/k3d docs (#15913) - docs: Improve helm docs #15706 (#15755) - docs: clarify health inheritance (#15799) - docs: improve notifications docs (#15816) - docs: actually all helm hooks are ignored (#15752) - docs: fix list format (#15798) - docs: add `CONTRIBUTING.md` copy at repo root (#14889) - docs: add Mercedes-Benz.io to user list (#15768) - docs: Add documentation for Zitadel SSO integration (#15029) - docs: move self-signed certs gitlab scm docs (#15720) - docs: add dynamic cluster distribution doc in the menu (#15716) - docs: Maintaining Uniformity In Documentation Writing Style (#15713) - docs: Add documentation on how to specify shard number for a cluster in "high availibility" doc (#5348) (#13258) - docs: better command reference titles (#15567) (#15568) - docs: fix kubectl apply in apps-in-any-namespace doc (#15197) - docs: Update Application Set Webhook Instructions (#13764, #11532) (#15527) - docs: Add KPMG to users (#15323) - docs: fix bullets (#15446) - docs: Improve RBAC documentation (#15430) - docs: Fixes a markdown typo in USERS.md (#15362) - docs: Add Twilio Segment to USERS.md (#15267) - docs: clarify argocd-repo-server repo-cache-expiration HA use case (#15239) - docs: remove unnecessary version number (#15198) - docs: Update link to KubeCon China 2021 talk in README.md (#14887) - docs: Update bank vaults link to point to the new org (#15069) - docs(github): comment out notational pieces of PR template (#14888) - docs: Adding native OCI support proposal (#13516) - docs: Feature bounty proposal (Experimental) (#14234) - docs: use consistent password in plugin generator examples (#14837) - docs: Add Documentation for Istio (#14197) - docs(declarative/repo-ssh): url needs git suffix (#13894) - docs: make argocd-cm appliable (#14215) ### Other (184) - Documentation "Annotations and Labels used by Argo CD": fix internal link to `../faq.md#why-is-my-app-out-of-sync-even-after-syncing` (#16236) - chore: update gitops engine version (#16232) - chore: add SECURITY-INSIGHTS.yml (#16135) - chore: Upgrade Redis to redis:7.0.14 (#16164) - Added an example of project scoped cluster (#16210) - chore: specify namespace when restarting deployments in remote e2e tests (#16192) - Remove unnecessary error checking (#16150) - chore(deps): bump slsa-github-generator to 1.9.0 (#16188) - chore(ci): bump cosign version (#16182) - chore(appset): better structured logging for controller (#16149) - chore: fix typo in declarative tests filename (#15934) - chore: let docs approvers approve mkdocs.yml (#16134) - chore(deps): bump kustomize to v5.2.1 (#16054) - added example of using build env vars in your Kustomized Argo CD Application (#16025) - chore: Revert "fix: Replace antonmedv/expr with expr-lang/expr" (#16027) - add example to --help command in argocd_admin_dashboard.md file (#16034) - chore(deps): upgrade k8s version and client-go (#15852) - Added timezone example to sync_windows page (#15926) - bump helm 3.13.1, kustomize 5.1.1 (#15703) - chore(deps): bump github.com/google/go-cmp from 0.5.9 to 0.6.0 (#15919) - chore(deps): bump library/golang from 1.21.1 to 1.21.3 in /test/remote (#15892) - chore(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#15916) - chore(deps): bump google.golang.org/grpc from 1.56.2 to 1.58.3 (#15893) - chore(deps): bump library/golang from 1.21.1 to 1.21.3 (#15895) - chore(deps): bump library/golang in /test/container (#15894) - test(e2e): allow build of argocd-e2e-cluster image for remote tests (#15805) - chore(deps): bump gitops-engine (#15736) - chore: log more fields with error (#15735) - chore: skip server certificate verification for http requests in e2e tests (#15733) - test(e2e): always specify master as the initial git branch (#15662) - chore(ci): fix generate code CI failure (#15828) - test(e2e): update git submodule remote tests to use submodule url (#15701) - test(e2e): do not always include plaintext for account update password (#15665) - fea(cli)t: Add example to --help output for "argocd appset get" (#15808) - chore: Add SCRM Lidl International Hub as users (#15801) - chore(cli): clarify core mode code (#15800) - chore: allow docs approvers to merge USERS.md changes (#15773) - chore: revert codeowners test change (#15777) - chore: don't make argocd-approvers owners of anything (#15774) - test: bump k8s versions for e2e tests (#15766) - chore: set proper struct tag for ApplicationSetTerminalGenerator.Plugin field (#15742) - Fixed Custom Link Text not Hyperlinked (#15747) - Converted italic text to normal text (#15692) - chore(ci): free up disk space (#15674) - chore(deps): bump semver from 5.7.1 to 5.7.2 in /ui-test (#14457) - chore(deps): bump actions/setup-node from 3.8.0 to 3.8.1 (#15108) - chore(deps): bump node version (#15616) - doc: resource tracking custom label configuration (#15587) - Update the supported version policy in Operator Manual Installation doc (#15619) - chore(deps): bump library/golang from `cffaba7` to `2270a40` (#15615) - chore(action): minor lua changes (#15580) - chore: add gdsoumya to reviewers (#15596) - chore(deps): bump library/node from 20.6.1 to 20.7.0 in /test/container (#15585) - chore(deps): bump library/node from 20.6.1 to 20.7.0 in /ui-test (#15583) - chore(deps): bump actions/cache from 3.3.1 to 3.3.2 (#15552) - doc: adds vals-operator to secrets list (#11795) - chore(deps): bump github.com/antonmedv/expr from 1.12.7 to 1.15.2 (#15548) - chore(deps): bump oras.land/oras-go/v2 from 2.2.1 to 2.3.0 (#15549) - chore: add CODEOWNERS (#14693) - chore(deps): bump actions/checkout from 3.5.3 to 4.0.0 (#15348) - chore(deps): bump goreleaser/goreleaser-action from 4.4.0 to 5.0.0 (#15496) - chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.63 to 0.9.67 (#15500) - chore: Add 4data to users (#15531) - chore(deps): bump github.com/go-playground/webhooks/v6 (#15516) - chore: update ordering of support steps (#15508) - chore: adding tests for apiclient package: clientset tests (#15193) - chore(deps): bump actions/upload-artifact from 3.1.2 to 3.1.3 (#15497) - chore(deps): bump github.com/casbin/casbin/v2 from 2.73.0 to 2.77.2 (#15501) - chore(deps): bump library/golang in /test/container (#15502) - Fix broken links for post selectors, fix ordering of args for dig example (#15346) - chore(deps): bump github.com/xanzy/go-gitlab from 0.89.0 to 0.91.1 (#15331) - chore(deps): bump sigstore/cosign-installer from 3.1.1 to 3.1.2 (#15330) - (docs) Add clarification on migration for CMP plugins (#15405) - chore(deps): bump github.com/cyphar/filepath-securejoin (#15401) - chore(deps): bump library/node from 20.5.0 to 20.6.1 (#15454) - chore(deps): bump library/golang from `970907c` to `62e5883` (#15415) - chore(deps): bump library/golang in /test/remote (#15419) - chore(deps): bump argo-ui from `13cea62` to `002d01b` in /ui (#15440) - chore(deps): bump gitpod/workspace-full from `d578722` to `511cecd` (#15453) - chore(deps): bump library/node from 20.6.0 to 20.6.1 in /ui-test (#15452) - chore(deps): bump library/node from 20.6.0 to 20.6.1 in /test/container (#15451) - chore(deps): bump docker/setup-buildx-action from 2.9.1 to 3.0.0 (#15476) - Fix incorrect wording in ApplicationSet git generator docs (#15374) - chore: add Factorial to USERS.md (#15473) - Fix requeue after for Matrix/Merge with SCM or ClusterDecision generators (#15407) - chore: Fix flaky cluster test (#15433) - chore(deps): bump library/node from 20.5.0 to 20.6.0 in /ui-test (#15364) - chore(deps): bump library/node from 20.4.0 to 20.6.0 in /test/container (#15366) - chore(deps): bump library/golang from 1.21.0 to 1.21.1 in /test/remote (#15387) - chore(deps): bump library/golang from 1.21.0 to 1.21.1 (#15391) - chore: remove duplicate function (#15123) - chore: add Kvist to USERS.md (#15240) - chore: better logs for jq expression errors (#15226) - chore: add upsider to USERS.md (#15228) - chore: Add kustomization.yaml for server app RBAC (#15124) - chore: update confusing variable name (#15106) - chore: wrap error objects to include context (#10592) (#15055) - chore: improve error logs (#10592) (#15059) - chore(deps): bump actions/setup-node from 3.7.0 to 3.8.0 (#15054) - chore(deps): bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 (#15053) - chore: add Carrefour Group to USERS.md (#15039) - chore: give context to errors (#15019) - chore: give context to errors (#10592) (#15022) - chore(deps): bump goreleaser/goreleaser-action from 4.3.0 to 4.4.0 (#14996) - chore: upgrade to go 1.21 (#14992) - chore(deps): upgrade nhooyr.io/websocket dependency (#15000) - chore: space in 'Argo CD' (#14987) - chore(deps): bump actions/setup-go from 4.0.1 to 4.1.0 (#14970) - chore: add Jellysmack in USERS.md (#14975) - chore: give context to error logs (#10592) (#14915) - chore(deps): bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#14922) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.312 to 1.44.317 (#14925) - chore: give context to error logs #10592 (#14851) - chore: improve app destination docstrings (#14836) - chore(deps): bump library/node from 20.4.0 to 20.5.0 in /ui-test (#14662) - chore(deps): bump library/node from 20.4.0 to 20.5.0 (#14664) - chore: make `helm template` errors less verbose (#14772) - chore: Add query-scoped cluster URL in Cluster Secret E2E tests (#14446) - chore: add Autodesk to USERS.md (#14778) - chore(deps): bump github.com/casbin/casbin/v2 from 2.72.1 to 2.73.0 (#14783) - chore(deps): bump github.com/xanzy/go-gitlab from 0.88.0 to 0.89.0 (#14784) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.309 to 1.44.312 (#14782) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.305 to 1.44.309 (#14746) - chore(deps): bump github.com/go-git/go-git/v5 from 5.8.0 to 5.8.1 (#14744) - Clean up repeated package import (#13889) - chore: Print in-cluster svr addr disabled warning when server starts (#14553) - chore(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.0 (#14641) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.304 to 1.44.305 (#14632) - chore(deps): bump pygments from 2.7.4 to 2.15.0 in /docs (#14615) - chore(deps): bump github.com/xanzy/go-gitlab from 0.86.0 to 0.88.0 (#14616) - chore(deps): bump github.com/antonmedv/expr from 1.12.6 to 1.12.7 (#14611) - chore(deps): bump github.com/xanzy/go-gitlab from 0.86.0 to 0.87.0 (#14610) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.301 to 1.44.304 (#14609) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.300 to 1.44.301 (#14565) - chore(deps): bump github.com/casbin/casbin/v2 from 2.71.1 to 2.72.1 (#14564) - chore: Print in-cluster svr addr disabled warning during ArgoDB initialization (#14539) - chore: Generate SLSA provenance for SBOM (#14438) (#14507) - chore: Update log level to warn when in-cluster svr addr is disabled but internal addr is used (#14520) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.299 to 1.44.300 (#14510) - chore(deps): bump sigs.k8s.io/structured-merge-diff/v4 (#14509) - chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.61 to 0.9.63 (#14503) - chore(deps): bump github.com/antonmedv/expr from 1.12.5 to 1.12.6 (#14490) - chore(deps): bump docker/setup-buildx-action from 2.9.0 to 2.9.1 (#14492) - chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 (#14489) - added instructions on how to delete a user (#14488) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.298 to 1.44.299 (#14468) - chore(deps): bump library/golang from 1.20.5 to 1.20.6 (#14480) - chore: Add VA.gov to USERS.md (#14401) - chore(deps): bump library/node from 20.3.1 to 20.4.0 (#14450) - chore: Replace `os.Getenv("HOME")` with `os.UserHomeDir()` (#12850) (#14325) - chore: add more logging for when RBAC enforcement fails (#14406) - chore(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /ui (#14417) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.297 to 1.44.298 (#14425) - chore(deps): bump docker/setup-buildx-action from 2.8.0 to 2.9.0 (#14423) - chore(deps): bump google.golang.org/grpc from 1.56.1 to 1.56.2 (#14390) - chore: Replace cacheSrc to cacheSource (#14393) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.296 to 1.44.297 (#14391) - chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.60 to 0.9.61 (#14389) - chore: use `t.Setenv` to set env vars in tests (#14377) - chore(deps): bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#14361) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.295 to 1.44.296 (#14359) - chore(deps): bump oras.land/oras-go/v2 from 2.2.0 to 2.2.1 (#14357) - chore(deps): bump golang.org/x/term from 0.9.0 to 0.10.0 (#14358) - chore(deps): bump actions/setup-node from 3.6.0 to 3.7.0 (#14362) - chore: add gofmt to golangci-lint in Makefile and .github/workflows/ci-build.yaml (#13729) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.294 to 1.44.295 (#14327) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.293 to 1.44.294 (#14313) - chore: add more logging for failures to get label metadata (#14275) - chore: Clean up repo server imports (#14218) - chore: improve reposerver readability (#14112) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.292 to 1.44.293 (#14278) - chore(deps-dev): bump codecov from 3.7.2 to 3.8.3 in /ui (#12745) - chore: remove useless lines from argocd_repo_server.go (#14154) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.290 to 1.44.292 (#14265) - chore(deps): bump github.com/alicebob/miniredis/v2 from 2.30.3 to 2.30.4 (#14264) - chore(deps): bump library/busybox in /test/e2e/multiarch-container (#14263) - chore(deps): bump docker/setup-buildx-action from 2.7.0 to 2.8.0 (#14262) - Unified option format (#11258) - chore: List Flexport as an ArgoCD user (#14260) - chore: Add VietMoney are using ArgoCD (#14247) - chore(deps): bump sigstore/cosign-installer from 3.1.0 to 3.1.1 (#14245) - chore: just use strings.TrimSuffix (#14248) - Unified option format (#11257) - chore(deps): bump github.com/aws/aws-sdk-go from 1.44.289 to 1.44.290 (#14219) ## Changelog **Full Changelog**: https://github.com/argoproj/argo-cd/compare/release-2.8...v2.9.0 <a href="https://argoproj.github.io/cd/"><img src="https://raw.githubusercontent.com/argoproj/argo-site/master/content/pages/cd/gitops-cd.png" width="25%" ></a>