Skip to content

Releases: argoproj/argo-cd

v1.5.2

15 Apr 19:05

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.2/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.2/manifests/ha/install.yaml

Bug Fixes

v1.4.3

15 Apr 19:09

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.3/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.3/manifests/ha/install.yaml

Bug Fixes

v1.5.1

06 Apr 16:35

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.1/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.1/manifests/ha/install.yaml

Bug Fixes

  • fix: return 401 error code if username does not exist (#3369)
  • fix: Do not panic while running hooks with short revision (#3368)
  • fix: Increase HAProxy check interval to prevent intermittent failures (#3356)
  • fix: Helm v3 CRD are not deployed (#3345)

v1.5.0

02 Apr 18:49

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0/manifests/ha/install.yaml

1.5 Release blog post

Better Performance

Significant performance improvements for large Argo CD instances ( with hundreds of apps on it ). The performance improvement has been achieved by introducing read-write locks into the cluster state caching. The read-write locks enabled concurrent access for read-only operations that eliminated lock contention and improved reconciliation performance.

Helm Integration Enhancements - Helm 3 Support And More

Introduced native support Helm3 charts. For backward compatibility Helm 2 charts are still rendered using Helm 2 CLI. Argo CD inspects the Charts.yaml file and choose the right binary based on apiVersion value.

Following enhancement were implemented in addition to Helm 3:

  • The --api-version flag is passed to the helm template command during manifest generation.
  • The --set-file flag can be specified in the application specification.
  • Fixed bug that prevents automatically update Helm chart when new version is published (#3193)

Local accounts

The local accounts had been introduced additional to admin user and SSO integration. The feature is useful for creating authentication
tokens with limited permissions to automate Argo CD management. Local accounts also could be used small by teams when SSO integration is overkill.
This enhancement also allows to disable admin user and enforces only SSO logins.

Redis HA Proxy mode

As part of this release, the bundled Redis was upgraded to version 4.3.4 with enabled HAProxy.
The HA proxy replaced the sentinel and provides more reliable Redis connection.

After publishing 1.5.0 release we've discovered that default HAProxy settings might cause intermittent failures.
See argo-cd#3358

Enhancements

  • feat: support helm3 (#2383) (#3178)
  • feat: Argo CD Service Account / Local Users #3185
  • feat: Disable Admin Login (fixes #3019) (#3179)
  • feat(ui): add docs to sync policy options present in create application panel (Close #3098) (#3203)
  • feat: add "service-account" flag to "cluster add" command (#3183) (#3184)
  • feat: Supports the validate-false option at an app level. Closes #1063 (#2542)
  • feat: add dest cluster and namespace in the Events (#3093)
  • feat: Rollback disables auto sync issue #2441 (#2591)
  • feat: allow ssh and http repository references in bitbucketserver webhook #2773 (#3036)
  • feat: Add helm --set-file support (#2751)
  • feat: Include resource group for Event's InvolvedObject.APIVersion
  • feat: Add argocd cmd for Windows #2121 (#3015)

Bug Fixes

  • fix: app reconciliation fails with panic: index out of (#3233)
  • fix: upgrade argoproj/pkg version to fix leaked sensitive information in logs (#3230)
  • fix: set MaxCallSendMsgSize to MaxGRPCMessageSize for the GRPC caller (#3117)
  • fix: stop caching helm index (#3193)
  • fix: dex proxy should forward request to dex preserving the basehref (#3165)
  • fix: set default login redirect to baseHRef (#3164)
  • fix: don't double-prepend basehref to redirect URLs (fixes #3137)
  • fix: ui referring to /api/version using absolute path (#3092)
  • fix: Unhang UI on long app info items by using more sane URL match pattern (#3159)
  • fix: Allow multiple hostnames per SSH known hosts entry and also allow IPv6 (#2814) (#3074)
  • fix: argocd-util backup produced truncated backups. import app status (#3096)
  • fix: upgrade redis-ha chart and enable haproxy (#3147)
  • fix: make dex server deployment init container resilient to restarts (#3136)
  • fix: reduct secret values of manifests stored in git (#3088)
  • fix: labels not being deleted via UI (#3081)
  • fix: HTTP|HTTPS|NO_PROXY env variable reading #3055 (#3063)
  • fix: Correct usage text for repo add command regarding insecure repos (#3068)
  • fix: Ensure SSH private key is written out with a final newline character (#2890) (#3064)
  • fix: Handle SSH URLs in 'git@server:org/repo' notation correctly (#3062)
  • fix sso condition when several sso connectors has been configured (#3057)
  • fix: Fix bug where the same pointer is used. (#3059)
  • fix: Opening in new tab bad key binding on Linux (#3020)
  • fix: K8s secrets for repository credential templates are not deleted when credential template is deleted (#3028)
  • fix: SSH credential template not working #3016
  • fix: Unable to parse kubectl pre-release version strings (#3034)
  • fix: Jsonnet TLA parameters of same type are overwritten (#3022)
  • fix: Replace aws-iam-authenticator to support IRSA (#3010)
  • fix: Hide bindPW in dex config (#3025)
  • fix: SSH repo URL with a user different from git is not matched correctly when resolving a webhook (#2988)
  • fix: JWT invalid => Password for superuser has changed since token issued (#2108)

Known issues

Last-minute bugs that will be addressed in 1.5.1 shortly:

Breaking Changes

The argocd_app_sync_status, argocd_app_health_status and argocd_app_created_time prometheus metrics are deprecated in favor of additional labels
to argocd_app_info metric. The deprecated labels are still available can be re-enabled using ARGOCD_LEGACY_CONTROLLER_METRICS=true environment variable.
The legacy example Grafana dashboard is available at examples/dashboard-legacy.json.

Contributors

  • alexandrfox
  • alexec
  • alexmt
  • bergur88
  • CBytelabs
  • dbeal-wiser
  • dnascimento
  • Elgarni
  • eSamS
  • gpaul
  • haoshuwei
  • jannfis
  • jdmulloy
  • machgo
  • masa213f
  • matthyx
  • rayanebel
  • shelby-moore
  • Subreptivus
  • tomcruise81
  • wecger
  • zeph

v1.5.0-rc3

30 Mar 22:42

Choose a tag to compare

v1.5.0-rc3 Pre-release
Pre-release

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc3/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc3/manifests/ha/install.yaml

Bug Fixes

  • fix: avoid nil pointer dereference in badge handler (#3316)
  • fix: pass APIVersions value to manifest generation request during app validation and during app manifests loading (#3312)
  • fix: update help info about argcd account can-i (#3310)
  • fix: fix possible panic when generating Dex config from malformed YAML (#3303)
  • fix: SSO user unable to change local account password (#3297) (#3298)
  • fix: use pagination while loading initial cluster state to avoid memory spikes (#3299)
  • fix: fix Cannot read property 'length' of undefined error (#3296)

v1.5.0-rc2

26 Mar 06:12

Choose a tag to compare

v1.5.0-rc2 Pre-release
Pre-release

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc2/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc2/manifests/ha/install.yaml

Bug Fixes

  • fix: implement workaround for helm/helm#6870 bug (#3290)
  • fix: increase max connections count to support clusters with very large number of CRDs (#3278)
  • fix: remove app name and project labels from reconcliation histogram to reduce cardinality (#3271)

v1.5.0-rc1

20 Mar 23:02

Choose a tag to compare

v1.5.0-rc1 Pre-release
Pre-release

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc1/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.5.0-rc1/manifests/ha/install.yaml

Better Performance

Significant performance improvements for large Argo CD instances ( with hundreds of apps on it ). The performance improvement has been achieved by introducing read-write locks into the cluster state caching. The read-write locks enabled concurrent access for read-only operations that eliminated lock contention and improved reconciliation performance.

Helm Integration Enhancements - Helm 3 Support And More

Introduced native support Helm3 charts. For backward compatibility Helm 2 charts are still rendered using Helm 2 CLI. Argo CD inspects the Charts.yaml file and choose the right binary based on apiVersion value.

Following enhancement were implemented in addition to Helm 3:

  • The --api-version flag is passed to the helm template command during manifest generation.
  • The --set-file flag can be specified in the application specification.
  • Fixed bug that prevents automatically update Helm chart when new version is published (#3193)

Local accounts

The local accounts had been introduced additional to admin user and SSO integration. The feature is useful for creating authentication
tokens with limited permissions to automate Argo CD management. Local accounts also could be used small by teams when SSO integration is overkill.
This enhancement also allows to disable admin user and enforce only SSO logins.

Enhancements

  • feat: support helm3 (#2383) (#3178)
  • feat: Argo CD Service Account / Local Users #3185
  • feat: Disable Admin Login (fixes #3019) (#3179)
  • feat(ui): add docs to sync policy options present in create application panel (Close #3098) (#3203)
  • feat: add "service-account" flag to "cluster add" command (#3183) (#3184)
  • feat: Supports the validate-false option at an app level. Closes #1063 (#2542)
  • feat: add dest cluster and namespace in the Events (#3093)
  • feat: Rollback disables auto sync issue #2441 (#2591)
  • feat: allow ssh and http repository references in bitbucketserver webhook #2773 (#3036)
  • feat: Add helm --set-file support (#2751)
  • feat: Include resource group for Event's InvolvedObject.APIVersion
  • feat: Add argocd cmd for Windows #2121 (#3015)

Bug Fixes

  • fix: app reconciliation fails with panic: index out of (#3233)
  • fix: upgrade argoproj/pkg version to fix leaked sensitive information in logs (#3230)
  • fix: set MaxCallSendMsgSize to MaxGRPCMessageSize for the GRPC caller (#3117)
  • fix: stop caching helm index (#3193)
  • fix: dex proxy should forward request to dex preserving the basehref (#3165)
  • fix: set default login redirect to baseHRef (#3164)
  • fix: don't double-prepend basehref to redirect URLs (fixes #3137)
  • fix: ui referring to /api/version using absolute path (#3092)
  • fix: Unhang UI on long app info items by using more sane URL match pattern (#3159)
  • fix: Allow multiple hostnames per SSH known hosts entry and also allow IPv6 (#2814) (#3074)
  • fix: argocd-util backup produced truncated backups. import app status (#3096)
  • fix: upgrade redis-ha chart and enable haproxy (#3147)
  • fix: make dex server deployment init container resilient to restarts (#3136)
  • fix: reduct secret values of manifests stored in git (#3088)
  • fix: labels not being deleted via UI (#3081)
  • fix: HTTP|HTTPS|NO_PROXY env variable reading #3055 (#3063)
  • fix: Correct usage text for repo add command regarding insecure repos (#3068)
  • fix: Ensure SSH private key is written out with a final newline character (#2890) (#3064)
  • fix: Handle SSH URLs in 'git@server:org/repo' notation correctly (#3062)
  • fix sso condition when several sso connectors has been configured (#3057)
  • fix: Fix bug where the same pointer is used. (#3059)
  • fix: Opening in new tab bad key binding on Linux (#3020)
  • fix: K8s secrets for repository credential templates are not deleted when credential template is deleted (#3028)
  • fix: SSH credential template not working #3016
  • fix: Unable to parse kubectl pre-release version strings (#3034)
  • fix: Jsonnet TLA parameters of same type are overwritten (#3022)
  • fix: Replace aws-iam-authenticator to support IRSA (#3010)
  • fix: Hide bindPW in dex config (#3025)
  • fix: SSH repo URL with a user different from git is not matched correctly when resolving a webhook (#2988)
  • fix: JWT invalid => Password for superuser has changed since token issued (#2108)

Contributors

  • alexandrfox
  • alexec
  • alexmt
  • bergur88
  • CBytelabs
  • dbeal-wiser
  • dnascimento
  • Elgarni
  • eSamS
  • gpaul
  • jannfis
  • jdmulloy
  • machgo
  • masa213f
  • matthyx
  • rayanebel
  • shelby-moore
  • tomcruise81
  • wecger
  • zeph

v1.4.2

24 Jan 01:18

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.2/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.2/manifests/ha/install.yaml

Bug Fixes

  • fix: correctly replace cache in namespace isolation mode (#3023)

v1.4.1

22 Jan 23:10

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.1/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.1/manifests/ha/install.yaml

Bug Fixes

  • fix: impossible to config RBAC if group name includes ',' (#3013)

v1.4.0

18 Jan 06:12

Choose a tag to compare

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.0/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v1.4.0/manifests/ha/install.yaml

The v1.4.0 is a stability release that brings multiple bug fixes, security, performance enhancements, and multiple usability improvements.

New Features

Security

A number of security enhancements and features have been implemented (thanks to @jannfis for driving it! ):

  • Repository Credential Templates Management UI/CLI. Now you can use Argo CD CLI or UI to configure
    credentials template for multiple repositories!
  • X-Frame-Options header on serving static assets. The X-Frame-Options prevents third party sites to trick users into interacting with the application.
  • Tighten AppProject RBAC enforcement. We've improved the enforcement of access rules specified in the
    application project configuration.

Namespace Isolation

With the namespace isolation feature, you are no longer have to give full read-only cluster access to the Argo CD. Instead, you can give access only to selected namespaces with-in
the cluster:

argocd cluster add <mycluster> --namespace <mynamespace1> --namespace <mynamespace2>

This feature is useful if you don't have full cluster access but still want to use Argo CD to manage some cluster namespaces. The feature also improves performance if Argo CD is
used to manage a few namespaces of a large cluster.

Reconciliation Performance

The Argo CD no longer fork/exec kubectl to apply resource changes in the target cluster or convert resource manifest to the required manifest version. This reduces
CPU and Memory usage of large Argo CD instances.

Resources Health based Hook Status

The existing Argo CD resource hooks feature allows running custom logic during the syncing process. You can mark
any Kubernetes resource as a hook and Argo CD assess hook status if resource is a Pod, Job or Argo Workflow. In the v1.4.0 release Argo CD is going to leverage resource
health assessment to get sync hook status. This allows using any custom CRD as a sync hook and leverage custom health
check logic.

Manifest Generation

  • Track Helm Charts By Semantic Version. You've been able to track charts hosted in Git repositories using branches to tags. This is now possible for Helm charts. You no longer
    need to choose the exact version, such as v1.4.0 ,instead you can use a semantic version constraint such as v1.4.* and the latest version that matches will be installed.
  • Build Environment Variables. Feature allows config management tool to get access to app details during manifest generation via
    environment variables.
  • Git submodules. Argo CD is going to automatically fetch sub-modules if your repository has .gitmodules directory.

UI and CLI

  • Improved Resource Tree View. The Application details page got even prettier. The resource view was tuned to fit more resources into the screen, include more information about
    each resource and don't lose usability at the same time.
  • New Account Management CLI Command. The CLI allows to check which actions are allowed for your account: argocd account can-i sync applications '*'

Maintenance Tools

The team put more effort into building tools that help to maintain Argo CD itself:

  • Bulk Project Editing. The argocd-util allows to add and remove permissions defined in multiple project roles using one command.
  • More Prometheus Metrics. A set of additional metrics that contains useful information managed clusters is exposed by application controller.

More documentation and tools are coming in patch releases.

Breaking Changes

The Argo CD deletes all in-flight hooks if you terminate running sync operation. The hook state assessment change implemented in this release the Argo CD enables detection of
an in-flight state for all Kubernetes resources including Deployment, PVC, StatefulSet, ReplicaSet etc. So if you terminate the sync operation that has, for example,
StatefulSet hook that is Progressing it will be deleted. The long-running jobs are not supposed to be used as a sync hook and you should consider using
Sync Waves instead.

Enhancements

  • feat: Add custom healthchecks for cert-manager v0.11.0 (#2689)
  • feat: add git submodule support (#2495)
  • feat: Add repository credential management API and CLI (addresses #2136) (#2207)
  • feat: add support for --additional-headers cli flag (#2467)
  • feat: Add support for ssh-with-port repo url (#2866) (#2948)
  • feat: Add Time to ApplicationCondition. (#2417)
  • feat: Adds argocd auth can-i command. Close #2255
  • feat: Adds revision history limit. Closes #2790 (#2818)
  • feat: Adds support for ARGO_CD_[TARGET_REVISION|REVISION] and pass to Custom Tool/Helm/Jsonnet
  • feat: Adds support for Helm charts to be a semver range. Closes #2552 (#2606)
  • feat: Adds tracing to key external invocations. (#2811)
  • feat: argocd-util should allow editing project policies in bulk (#2615)
  • feat: Displays controllerrevsion's revision in the UI. Closes #2306 (#2702)
  • feat: Issue #2559 - Add gauge Prometheus metric which represents the number of pending manifest requests. (#2658)
  • feat: Make ConvertToVersion maybe 1090% faster on average (#2820)
  • feat: namespace isolation (#2839)
  • feat: removes redundant mutex usage in controller cache and adds cluster cache metrics (#2898)
  • feat: Set X-Frame-Options on serving static assets (#2706) (#2711)
  • feat: Simplify using Argo CD without users/SSO/UI (#2688)
  • feat: Template Out Data Source in Grafana Dashboard (#2859)
  • feat: Updates UI icons. Closes #2625 and #2757 (#2653)
  • feat: use editor arguments in InteractiveEditor (#2833)
  • feat: Use kubectl apply library instead of forking binary (#2861)
  • feat: use resource health for hook status evaluation (#2938)

Bug Fixes

  • fix: Adds support for /api/v1/account* via HTTP. Fixes #2664 (#2701)
  • fix: Allow '@'-character in SSH usernames when connecting a repository (#2612)
  • fix: Allow dot in project policy. Closes #2724 (#2755)
  • fix: Allow you to sync local Helm apps. Fixes #2741 (#2747)
  • fix: Allows Helm parameters that contains arrays or maps. (#2525)
  • fix: application-controller doesn't deal with rm/add same cluster gracefully (x509 unknown) (#2389)
  • fix: diff local ignore kustomize build options (#2942)
  • fix: Ensures that Helm charts are correctly resolved before sync. Fixes #2758 (#2760)
  • fix: Fix 'Open application' link when using basehref (#2729)
  • fix: fix a bug with cluster add when token secret is not first in list. (#2744)
  • fix: fix bug where manifests are not cached. Fixes #2770 (#2771)
  • fix: Fixes bug whereby retry does not work for CLI. Fixes #2767 (#2768)
  • fix: git contention leads applications into Unknown state (#2877)
  • fix: Issue #1944 - Gracefully handle missing cached app state (#2464)
  • fix: Issue #2668 - Delete a specified context (#2669)
  • fix: Issue #2683 - Make sure app update don't fail due to concurrent modification (#2852)
  • fix: Issue #2721 Optimize helm repo querying (#2816)
  • fix: Issue #2853 - Improve application env variables/labels editing (#2856)
  • fix: Issue 2848 - Application Deployment history panel shows incorrect info for recent releases (#2849)
  • fix: Make BeforeHookCreation the default. Fixes #2754 (#2759)
  • fix: No error on argocd app create in CLI if --revision is omitted #2665
  • fix: Only delete resources during app delete cascade if permitted to (fixes #2693) (#2695)
  • fix: prevent user from seeing/deleting resources not permitted in project (#2908) (#2910)
  • fix: self-heal should retry syncing an application after specified delay
  • fix: stop logging dex config secrets #(2904) (#2937)
  • fix: stop using jsondiffpatch on clientside to render resource difference (#2869)
  • fix: Target Revision truncated #2736
  • fix: UI should re-trigger SSO login if SSO JWT token expires (#2891)
  • fix: update argocd-util import was not working properly (#2939)

Contributors

  • Aalok Ahluwalia
  • Aananth K
  • Abhishek Jaisingh
  • Adam Johnson
  • Alan Tang
  • Alex Collins
  • Alexander Matyushentsev
  • Andrew Waters
  • Byungjin Park
  • Christine Banek
  • Daniel Helfand
  • David Hong
  • David J. M. Karlsen
  • David Maciel
  • Devan Goodwin
  • Devin Stein
  • dthomson25
  • Gene Liverman
  • Gregor Krmelj
  • Guido Maria Serra
  • Ilir Bekteshi
  • Imran Ismail
  • INOUE BANJI
  • Isaac Gaskin
  • jannfis
  • Jeff Hastings
  • Jesse Suen
  • John Girvan
  • Konstantin
  • Lev Aminov
  • Manatsawin Hanmongkolchai
  • Marco Schmid
  • Masayuki Ishii
  • Michael Bridgen
  • Naoki Oketani
  • niqdev
  • nitinpatil1992
  • Olivier Boukili
  • Olivier Lemasle
  • Omer Kahani
  • Paul Brit
  • Qingbo Zhou
  • Saradhi Sreegiriraju
  • Scott Cabrinha
  • shlo
  • Simon Behar
  • stgarf
  • Yujun Zhang
  • Zoltán Reegn