Argo CD v2.1.0stable Released Aug 20, 2021
Impact Score: 5/10

Argo CD v2.1.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.1.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)

  • The synchronization process became much much faster and requires significantly less memory.
  • An additional caching that ensures that each repository's target revisions are queried only once per
  • Improved Diffing Customizations: use JQ path expressions to exclude required fields from the diffing.
  • Health assessment support for new CRDs: introduced health assessment of CRDs from trident.netapp.io,
  • feat: add 'argocd-util cluster shards' command that prints shards statistics (#6353)
  • feat: add custom resource health checks for trident.netapp.io/TridentOrchestrator and trident.netapp.io/TridentBackendConfig (Closes [ISSUE #6550]) (#6552)

⚑ Performance & Enhancements (5)

  • Simplified Repository Registration: you no longer need to modify the argocd-cm ConfigMap to register a
  • Enhanced Resource Customizations: the resource.customizations key has been deprecated in favor of
  • Reference secret values from any Kubernetes secret: starting v2.1 you can use sensitive data stored in
  • Simplify parametrization of Argo CD server processes: an additional optional ConfigMap argocd-cmd-params-cm
  • Enhanced and more consistent filters on Applications List and Applications Details pages.

πŸ”§ Bug Fixes & Patches (6)

  • feat: Add Redis SSL support. Fixes #4688 (#6742)
  • feat(ui): Adds resource filter panel. Fixes #6379 #6331 #6081 (#6717)
  • fix: [#5462] ArgoCD UI External links dropdown caret positioned incorrectly in list view (#6668)
  • fix: add client side retry to prevent 'transport is closing' errors (#6402)
  • fix: add generate bearer token option to `argocd-util cluster generate-spec` (#6317)
  • fix: add insecure-skip-tls-verify on helm pull when Creds.InsecureSkipVerify is set to true (#6458)
πŸ“„ View Raw Release Notes (Original Developer Log)
## Quick Start ### Non-HA: ``` kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.1.0/manifests/install.yaml ``` ### HA: ``` kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.1.0/manifests/ha/install.yaml ``` [v2.1 Release Blog](https://blog.argoproj.io/argo-cd-v2-1-first-release-candidate-is-ready-c1aab7795638) ### Argo CDΒ Core Argo CD Core - lightweight Argo CD distribution that packages only core GitOps features and relies on Kubernetes API/RBAC to power UI and CLI. ### Core Features * The synchronization process became much much faster and requires significantly less memory. * An additional caching that ensures that each repository's target revisions are queried only once per reconciliation cycle. This dramatically reduces the number of Git requests. * Improved Diffing Customizations: use JQ path expressions to exclude required fields from the diffing. * Health assessment support for new CRDs: introduced health assessment of CRDs from trident.netapp.io, elasticsearch.k8s.elastic.co, cluster.x-k8s.io, and minio.min.io API groups. ### Improved Settings A set of changes had been implemented to simplify configuring Argo CD. * Simplified Repository Registration: you no longer need to modify the argocd-cm ConfigMap to register a new Git or Helm repository. * Enhanced Resource Customizations: the resource.customizations key has been deprecated in favor of a separate ConfigMap key per resource. * Reference secret values from any Kubernetes secret: starting v2.1 you can use sensitive data stored in any Kubernetes secret to configure Argo CD. * Simplify parametrization of Argo CD server processes: an additional optional ConfigMap argocd-cmd-params-cm has been introduced. ### Refreshed User Interface * Enhanced and more consistent filters on Applications List and Applications Details pages. * Status bar on the Application List page. * The redesigned search box on the Application List page and more. ### The argocd-util CLI deprecation The argocd CLI and now available under argocd admin subcommand. ### Features - feat: add 'argocd-util cluster shards' command that prints shards statistics (#6353) - feat: add custom resource health checks for trident.netapp.io/TridentOrchestrator and trident.netapp.io/TridentBackendConfig (Closes [ISSUE #6550]) (#6552) - feat: add first class support to access repositories using proxy (#5581) (#6286) - feat: Add health-checks for Elasticsearch #6052 (#6052) - feat: add network policies to restrict traffic flow between argocd components (#6156) - feat: add proxy field to repository create form (#6565) - feat: Add Redis SSL support. Fixes #4688 (#6742) - feat: add status bar to applications list, issue #6275 (#6710) - feat: add support to backup applicationsets (#6095) - feat: Add the ability to change user password in the UI (#5444) - feat: allow admins to enable the usage of lua standard library (#6087) - feat: allow argocd-cm to reference K8S Secrets (#4188) (#4342) - feat: allow jq path expressions in diffing customizations (#4320) (#6109) - feat: allow substitutions in plugin env variables (#6097) - feat: Ask for confirmation when adding a cluster (#6172) - feat: cache resolved git/helm repository revisions (#6102) - feat: disable reconciliation if timeout.reconciliation is set to 0 (#6406) - feat: Externalize TLS cert for argocd-server (#6071) - feat: Headless Argo CD (aka GitOps Agent) (#6361) - feat: Ignore preserveUnknownFields in Diff from CRD Spec (#6503) - feat: Implement cluster-api CRD health checks (#5142) - feat: Implement MinIO Tenant CRD health check (#6509) - feat: make http client retryable (#6632) - feat: merge argocd-util into 'argocd admin' subcommand (#6773) - feat: Repository Configuration as Secrets (#6103) - feat: simplify parametrization of Argo CD server processes (#6328) - feat: split resource.customizations into sub keys (#6060) - feat: Support Kustomize --force flags (#6443) - feat: support managing cluster resources in a namespaced mode (#6581) - feat: Supported set metadata annotations with `argocd-util app generate-spec` command (#6633) - feat: Upgrade Helm to v3.6.0 and pass --kube-version to templating (#6359) - feat: use RLock and RUnlock for project to improve performance (#6225) - feat(ui): Add view toggle to hide/show unschedulable node in pod view (#6263) - feat(ui): Adds resource filter panel. Fixes #6379 #6331 #6081 (#6717) - feat(ui): Improved applications list filters (#6091) - feat(ui): Information header for selected resource panel (#5557) - feat(ui): Keyboard shortcuts (#5601) - feat(ui): Persist visibility of apps list filters in local storage (#6748) ### Bug Fixes - fix: [#5462] ArgoCD UI External links dropdown caret positioned incorrectly in list view (#6668) - fix: add client side retry to prevent 'transport is closing' errors (#6402) - fix: add generate bearer token option to `argocd-util cluster generate-spec` (#6317) - fix: add insecure-skip-tls-verify on helm pull when Creds.InsecureSkipVerify is set to true (#6458) - fix: add missing --container flag to 'argocd app logs' command (#6320) - fix: allow argocd-notification ingress to repo-server (#6746) - fix: Allow gRPC connections from gRPC versions >1.17.x (#6577) - fix: app hard refresh should refresh cached app details (#6463) - fix: Application list page filter counts are confusing (#6625) (#6626) - fix: argocd cluster add <context> --in-cluster (#6276) - fix: argocd-server crashes due to nil pointer dereference (#6757) - fix: avoid possible nip pointer dereference during syncing (#6354) - fix: Cannot read property 'forEach' of undefined (#6803) - fix: controller should refresh app before running sync operation (#6294) - fix: display log streaming error in logs viewer (#6100) (#6273) - fix: Don't record the user claims of invalid tokens (#5897) - fix: download Pod Logs button not honouring argocd-server rootpath (#6548) (#6627) - fix: Enable helm OCI to work for lots of different URLs without having to create a repo for each one (#6027) - fix: Fail gracefully when unable to unmarshal cluster secret (#6427) - fix: file descriptor leak (#6064) - fix: grpc web proxy must ensure to read full header (#6319) - fix: gzip static resources if gzip is enabled (#6279) - fix: knative health reporting #6130 (#6131) - fix: label selector is useless when name variable is not set (#5975) - fix: logout redirect URL (#6347) - fix: make application-controller run as nonroot (#5819) - fix: missing live resources without a health check should not affect application health (#6446) - fix: Modify column size for Count field (#6611) - fix: namespace install shouldn't contain namespace in the manifests (#6266) - fix: pods Tooltip runs offscreen #5481 (#6685) - fix: prevent 'cannot read property "filter" of undefined' during nodes filtering (#6453) - fix: re-use same http transport in grpc proxy to avoid goroutine leak (#6444) - fix: remove break for appsCount (#6115) - fix: replace colons in addition to slashes in app tmp directory (#6290) (#6293) - fix: repo-server should reset manifests cache when k8s version/api versions change (#6434) - fix: rewrite Host header in dex reverse proxy (#6183) - fix: run argo-cd repo server as non-root with read-only-root-fs (#5814) - fix: run server as nonroot (#5820) - fix: spark application check fails on missing section (#6036) - fix: The UI crashes when trying to access some application with an empty commit message (#6756) - fix: TypeError: Cannot read property 'group' of undefined (#6755) - fix: unable to delete an Application if its target cluster is deleted, Argo CD enters infinite app deletion reconciliation loop (#6557) - fix: unset --plugin-env should return OK when not found (#6457) - fix: Update redis to 6.2.4 (#6475) - fix: upgrade to kustomize 4.1.2 (#6059) - fix: userinfo /v1/session/userinfo should return authenticated=false if token has expired (#6282) - fix: Version warning banner in docs (#6682) - fix: WebUI failure when loading pod view 't.parentRefs is undefined' (#6490) (#6535) - fix: when resolve dependencies, use repo from project. (#6090) - fix(ui): Crash on application pod view (#6384) - fix(ui): Don't count errored or completed neighbor pods toward resource consumption (#6259) - fix(ui): Hide Diff tab in Application Details when App is synced (#6214) - fix(ui): Resource details panel crashes when resource deleted (#6260) - fix(ui): Show orphaned resources option in list view did not work (#6171) ### Other - refactor: upgrade gitops engine (#6578) (#6606) - refactor: upgrade k8s client to v0.21.0 (#6322) - chore: container did not support setting the timezone via an env var like '-e TZ=Europe/Brussels'; Solution: adding tzdata package solve this issue (#6481) - chore: docker image build compatible with arm64 (#6192) - chore: pre filter groups before enforcing #4296 (#6651) - chore: Update container base image to Ubuntu 21.04 (#6652) - docs: use jq path expression to ignore differences to caBundle mutating webhook (#6470)