github.com/argoproj/argo-cd@v1.8.7/CHANGELOG.md (about)

     1  # Changelog
     2  
     3  ## v1.8.0 (Unreleased)
     4  
     5  ### Mono-Repository Improvements
     6  
     7  Enhanced performance during manifest generation from mono-repository - the repository that represents the
     8  desired state of the whole cluster and contains hundreds of applications. The improved argocd-repo-server
     9  now able to concurrently generate manifests from the same repository and for the same commit SHA. This
    10  might provide 10x performance improvement of manifests generation.
    11  
    12  ### Annotation Based Path Detection
    13  
    14  The feature that allows specifying which source repository directories influence the application manifest generation
    15  using the `argocd.argoproj.io/manifest-generate-paths` annotation. The annotation improves the Git webhook handler
    16  behavior. The webhook avoids related applications reconciliation if no related files have been changed by the Git commit
    17  and even allows to skip manifests generation for new commit by re-using generation manifests for the previous commit.
    18  
    19  ### Horizontal Controller Scaling
    20  
    21  This release allows scaling the `argocd-application-controller` horizontally. This allows you to manage as many Kubernetes clusters
    22  as needed using a single Argo CD instance.
    23  
    24  ## New Core Functionality Features
    25  
    26  Besides performance improvements, Argo CD got a lot of usability enhancements and new features:
    27  
    28  * Namespace and CRD creation [#4354](https://github.com/argoproj/argo-cd/issues/4354)
    29  * Unknown fields of built-in K8S types [#1787](https://github.com/argoproj/argo-cd/issues/1787)
    30  * Endpoints Diffing [#1816](https://github.com/argoproj/argo-cd/issues/1816)
    31  * Better compatibility with Helm Hooks [#1816](https://github.com/argoproj/argo-cd/issues/1816)
    32  * App-of-Apps Health Assessment [#3781](https://github.com/argoproj/argo-cd/issues/3781)
    33  
    34  ## Global Projects
    35  
    36  This release makes it easy to manage an Argo CD that has hundreds of Projects. Instead of duplicating the same organization-wide rules in all projects
    37  you can put such rules into one project and make this project “global” for all other projects. Rules defined in the global project are inherited by all
    38  other projects and therefore don’t have to be duplicated. The sample below demonstrates how you can create a global project and specify which project should
    39  inherit global project rules using Kubernetes labels. 
    40  
    41  ## User Interface Improvements
    42  
    43  The Argo CD user interface is an important part of a project and we keep working hard on improving the user experience. Here is an incomplete list of implemented improvements:
    44  
    45  * Improved Applications Filters [#4622](https://github.com/argoproj/argo-cd/issues/4622)
    46  * Git tags and branches autocompletion [#4713](https://github.com/argoproj/argo-cd/issues/4713)
    47  * Project Details Page [#4400](https://github.com/argoproj/argo-cd/issues/4400)
    48  * New version information panel [#4376](https://github.com/argoproj/argo-cd/issues/4376)
    49  * Progress Indicators [#4411](https://github.com/argoproj/argo-cd/issues/4411)
    50  * External links annotations [#4380](https://github.com/argoproj/argo-cd/issues/4380) and more!
    51  
    52  ## Config Management Tools Enhancements
    53  
    54  * OCI Based Repositories [#4018](https://github.com/argoproj/argo-cd/issues/4018)
    55  * Configurable Helm Versions [#4111](https://github.com/argoproj/argo-cd/issues/4111)
    56  
    57  ## Bug fixes and under the hood changes
    58  
    59  In addition to new features and enhancements, we’ve fixed more than 50 bugs and upgraded third-party components and libraries that Argo CD relies on.
    60  
    61  ## v1.7.9 (2020-11-17)
    62  
    63  - fix: improve commit verification tolerance (#4825)
    64  - fix: argocd diff --local should not print data of local secrets (#4850)
    65  - fix(ui): stack overflow crash of resource tree view for large applications (#4685)
    66  - chore: Update golang to v1.14.12 [backport to release-1.7] (#4834)
    67  - chore: Update redis to 5.0.10 (#4767)
    68  - chore: Replace deprecated GH actions directives for integration tests (#4589)
    69  
    70  ## v1.7.8 (2020-10-15)
    71  
    72  - fix(logging.go): changing marshaler for JSON logging to use gogo (#4319)
    73  - fix: login with apiKey capability (#4557)
    74  - fix: api-server should not try creating default project it is exists already (#4517)
    75  - fix: JS error on application list page if app has no namespace (#4499)
    76  
    77  
    78  ## v1.7.7 (2020-09-28)
    79  
    80  - fix: Support transition from a git managed namespace to auto create (#4401)
    81  - fix: reduce memory spikes during cluster cache refresh (#4298)
    82  - fix: No error/warning condition if application destination namespace not monitored by Argo CD (#4329)
    83  - fix: Fix local diff/sync of apps using cluster name (#4201)
    84  
    85  ## v1.7.6 (2020-09-18)
    86  
    87  - fix: Added cluster authentication to AKS clusters (#4265)
    88  - fix: swagger UI stuck loading (#4377)
    89  - fix: prevent 'argocd app sync' hangs if sync is completed too quickly (#4373)
    90  - fix: argocd app wait/sync might stuck (#4350)
    91  - fix: failed syncs are not retried soon enough (#4353)
    92  
    93  ## v1.7.5 (2020-09-15)
    94  
    95  - fix: app create with -f should not ignore other options (#4322)
    96  - fix: limit concurrent list requests accross all clusters (#4328)
    97  - fix: fix possible deadlock in /v1/api/stream/applications and /v1/api/application APIs (#4315)
    98  - fix: WatchResourceTree does not enforce RBAC (#4311)
    99  - fix: app refresh API should use app resource version (#4303)
   100  - fix: use informer instead of k8s watch to ensure app is refreshed (#4290)
   101  
   102  
   103  ## v1.7.4 (2020-09-04)
   104  
   105  - fix: automatically stop watch API requests when page is hidden (#4269)
   106  - fix: upgrade gitops-engine dependency (issues #4242, #1881) (#4268)
   107  - fix: application stream API should not return 'ADDED' events if resource version is provided (#4260)
   108  - fix: return parsing error (#3942)
   109  - fix: JS error when using cluster filter in the /application view (#4247)
   110  - fix: improve applications list page client side performance (#4244)
   111  
   112  ## v1.7.3 (2020-09-01)
   113  
   114  - fix: application details page crash when app is deleted (#4229)
   115  - fix: api-server unnecessary normalize projects on every start (#4219)
   116  - fix: load only project names in UI (#4217)
   117  - fix: Re-create already initialized ARGOCD_GNUPGHOME on startup (#4214) (#4223)
   118  - fix: Add openshift as a dex connector type which requires a redirectURI (#4222)
   119  - fix: Replace status.observedAt with redis pub/sub channels for resource tree updates (#1340) (#4208)
   120  - fix: cache inconsistency of child resources (#4053) (#4202)
   121  - fix: do not include kube-api check in application liveness flow (#4163)
   122  
   123  ## v1.7.2 (2020-08-27)
   124  
   125  - fix: Sync hangs with cert-manager on latest RC (#4105)
   126  - fix: support for PKCE for cli login (#2932)
   127  
   128  ## v1.7.2 (2020-08-25)
   129  
   130  - fix: Unable to create project JWT token on K8S v1.15 (#4165)
   131  - fix: Argo CD does not exclude creationTimestamp from diffing (#4157)
   132  
   133  ## v1.7.0 (2020-08-24)
   134  
   135  ### GnuPG Signature Verification
   136  
   137  The feature allows to only sync against commits that are signed in Git using GnuPG. The list of public 
   138  GPG keys required for verification is configured at the system level and can be managed using Argo CD CLI or Web user interface.
   139  The keys management is integrated with Argo CD SSO and access control system (e.g. `argocd gpg add --from <path-to-key>`)
   140  
   141  The signature verification is enabled on the project level. The ApplicationProject CRD has a new signatureKeys field that includes
   142  a list of imported public GPG keys. Argo CD will verify the commit signature by these keys for every project application.
   143  
   144  ### Cluster Management Enhancements
   145  
   146  The feature allows using the cluster name instead of the URL to specify the application destination cluster.
   147  Additionally, the cluster CLI and Web user interface have been improved. Argo CD operators now can view and edit cluster
   148  details using the Cluster Details page. The page includes cluster settings details as well as runtime information such
   149  as the number of monitored Kubernetes resources.
   150  
   151  ### Diffing And Synchronization Usability
   152  
   153  * **Diffing logic improvement** Argo CD performs client-side resource diffing to detect deviations and present detected
   154  differences in the UI and CLI. The 1.7 release aligns a comparison algorithm with server-side Kubernetes implementation
   155  and removes inaccuracies in some edge cases.
   156  
   157  * **Helm Hooks Compatibility** The improvement removes the discrepancy between the way how Argo CD and Helm deletes
   158  hooks resources. This significantly improves the compatibility and enables additional use cases.
   159  
   160  * **Namespace Auto-Creation** With a new option for applications Argo CD will ensure that namespace specified as the
   161  application destination exists in the destination cluster. 
   162  
   163  * **Failed Sync Retry** This feature enables retrying of failed synchronization attempts during both manually-triggered
   164  and automated synchronization.
   165  
   166  ### Orphaned Resources Monitoring Enhancement
   167  
   168  The enhancement allows configuring an exception list in Orphaned Resources settings to avoid false alarms.
   169  
   170  ## v1.6.2 (2020-08-01)
   171  
   172  - feat: adding validate for app create and app set (#4016)
   173  - fix: use glob matcher in casbin built-in model (#3966)
   174  - fix: Normalize Helm chart path when chart name contains a slash (#3987)
   175  - fix: allow duplicates when using generateName (#3878)
   176  - fix: nil pointer dereference while syncing an app (#3915)
   177  
   178  ## v1.6.1 (2020-06-18)
   179  
   180  - fix: User unable to generate project token even if account has appropriate permissions (#3804)
   181  
   182  ## v1.6.0 (2020-06-16)
   183  
   184  [1.6 Release blog post](https://blog.argoproj.io/argo-cd-v1-6-democratizing-gitops-with-gitops-engine-5a17cfc87d62)
   185  
   186  ### GitOps Engine
   187  
   188  As part of 1.6 release, the core Argo CD functionality has been moved into [GitOps Engine](https://github.com/argoproj/gitops-engine).
   189  GitOps Engine is a reusable library that empowers you to quickly build specialized tools that implement specific GitOps
   190  use cases, such as bootstrapping a Kubernetes cluster, or decentralized management of namespaces.
   191  
   192  #### Enhancements
   193  
   194  - feat: upgrade kustomize to v3.6.1 version (#3696)
   195  - feat: Add build support for ARM images (#3554)
   196  - feat: CLI: Allow setting Helm values literal (#3601) (#3646)
   197  - feat: argocd-util settings resource-overrides list-actions (#3616)
   198  - feat: adding failure retry (#3548)
   199  - feat: Implement GKE ManagedCertificate CRD health checks (#3600)
   200  - feat: Introduce diff normalizer knobs and allow for ignoring aggregated cluster roles (#2382) (#3076)
   201  - feat: Implement Crossplane CRD health checks (#3581)
   202  - feat: Adding deploy time and duration label (#3563)
   203  - feat: support delete cluster from UI (#3555)
   204  - feat: add button loading status for time-consuming operations (#3559)
   205  - feat: Add --logformat switch to API server, repository server and controller (#3408)
   206  - feat: Add a Get Repo command to see if Argo CD has a repo (#3523)
   207  - feat: Allow selecting TLS ciphers on server (#3524)
   208  - feat: Support additional metadata in Application sync operation (#3747)
   209  - feat: upgrade redis to 5.0.8-alpine (#3783)
   210  
   211  #### Bug Fixes
   212  
   213  - fix: settings manager should invalidate cache after updating repositories/repository credentials (#3672)
   214  - fix: Allow unsetting the last remaining values file (#3644) (#3645)
   215  - fix: Read cert data from kubeconfig during cluster addition and use if present (#3655) (#3667)
   216  - fix: oidc should set samesite cookie (#3632)
   217  - fix: Allow underscores in hostnames in certificate module (#3596)
   218  - fix: apply scopes from argocd-rbac-cm to project jwt group searches (#3508)
   219  - fix: fix nil pointer dereference error after cluster deletion (#3634)
   220  - fix: Prevent possible nil pointer dereference when getting Helm client (#3613)
   221  - fix: Allow CLI version command to succeed without server connection (#3049) (#3550)
   222  - fix: Fix login with port forwarding (#3574)
   223  - fix: use 'git show-ref' to both retrieve and store generated manifests (#3578)
   224  - fix: enable redis retries; add redis request duration metric (#3575)
   225  - fix: Disable keep-alive for HTTPS connection to Git (#3531)
   226  - fix: use uid instead of named user in Dockerfile (#3108)
   227  
   228  #### Other
   229  
   230  - refactoring: Gitops engine (#3066)
   231  
   232  ## v1.5.8 (2020-06-16)
   233  
   234  - fix: upgrade awscli version (#3774)
   235  - fix: html encode login error/description before rendering it (#3773)
   236  - fix: oidc should set samesite cookie (#3632)
   237  - fix: avoid panic in badge handler (#3741)
   238  
   239  ## v1.5.7 (2020-06-09)
   240  
   241  The 1.5.7 patch release resolves issue #3719 . The ARGOCD_ENABLE_LEGACY_DIFF=true should be added to argocd-application-controller deployment.
   242  
   243  - fix: application with EnvoyFilter causes high memory/CPU usage (#3719)
   244  
   245  ## v1.5.6 (2020-06-02)
   246  
   247  - feat: Upgrade kustomize to 3.6.1
   248  - fix: Prevent possible nil pointer dereference when getting Helm client (#3613)
   249  - fix: avoid deadlock in settings manager (#3637)
   250  
   251  ## v1.5.5 (2020-05-16)
   252  
   253  - feat: add Rollout restart action (#3557)
   254  - fix: enable redis retries; add redis request duration metric (#3547)
   255  - fix: when --rootpath is on, 404 is returned when URL contains encoded URI (#3564)
   256  
   257  ## v1.5.4 (2020-05-05)
   258  
   259  - fix: CLI commands with --grpc-web
   260  
   261  ## v1.5.3 (2020-05-01)
   262  
   263  This patch release introduces a set of enhancements and bug fixes. Here are most notable changes:
   264  
   265  #### Multiple Kustomize Versions
   266  
   267  The bundled Kustomize version had been upgraded to v3.5.4. Argo CD allows changing bundled version using
   268  [custom image or init container](https://argoproj.github.io/argo-cd/operator-manual/custom_tools/). 
   269  This [feature](https://argoproj.github.io/argo-cd/user-guide/kustomize/#custom-kustomize-versions)
   270  enables bundling multiple Kustomize versions at the same time and allows end-users to specify the required version per application.
   271  
   272  #### Custom Root Path
   273  
   274  The feature allows accessing Argo CD UI and API using a custom root path(for example https://myhostname/argocd).
   275  This enables running Argo CD behind a proxy that takes care of user authentication (such as Ambassador) or hosting
   276  multiple Argo CD using the same hostname. A set of bug fixes and enhancements had been implemented to makes it easier.
   277  Use new `--rootpath` [flag](https://argoproj.github.io/argo-cd/operator-manual/ingress/#argocd-server-and-ui-root-path-v153) to enable the feature.
   278  
   279  ### Login Rate Limiting
   280  
   281  The feature prevents a built-in user password brute force attack and addresses the known 
   282  [vulnerability](https://argoproj.github.io/argo-cd/security_considerations/#cve-2020-8827-insufficient-anti-automationanti-brute-force).
   283  
   284  ### Settings Management Tools
   285  
   286  A new set of [CLI commands](https://argoproj.github.io/argo-cd/operator-manual/troubleshooting/) that simplify configuring Argo CD.
   287  Using the CLI you can test settings changes offline without affecting running Argo CD instance and have ability to troubleshot diffing
   288  customizations, custom resource health checks, and more.
   289  
   290  ### Other
   291  
   292  * New Project and Application CRD settings ([#2900](https://github.com/argoproj/argo-cd/issues/2900), [#2873](https://github.com/argoproj/argo-cd/issues/2873)) that allows customizing Argo CD behavior.
   293  * Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with Openshift.
   294  
   295  
   296  #### Enhancements
   297  
   298  * feat: added --grpc-web-root-path for CLI. (#3483)
   299  * feat: limit the maximum number of concurrent login attempts (#3467)
   300  * feat: upgrade kustomize version to 3.5.4 (#3472)
   301  * feat: upgrade dex to 2.22.0 (#3468)
   302  * feat: support user specified account token ids (#3425)
   303  * feat: support separate Kustomize version per application (#3414)
   304  * feat: add support for dex prometheus metrics (#3249)
   305  * feat: add settings troubleshooting commands to the 'argocd-util' binary (#3398)
   306  * feat: Let user to define meaningful unique JWT token name (#3388)
   307  * feat: Display link between OLM ClusterServiceVersion and it's OperatorGroup (#3390)
   308  * feat: Introduce sync-option SkipDryRunOnMissingResource=true (#2873) (#3247)
   309  * feat: support normalizing CRD fields that use known built-in K8S types (#3357)
   310  * feat: Whitelisted namespace resources (#2900)
   311  
   312  #### Bug Fixes
   313  
   314  * fix: added path to cookie (#3501)
   315  * fix: 'argocd sync' does not take into account IgnoreExtraneous annotation (#3486)
   316  * fix: CLI renders flipped diff results (#3480)
   317  * fix: GetApplicationSyncWindows API should not validate project permissions (#3456)
   318  * fix: argocd-util kubeconfig should use RawRestConfig to export config (#3447)
   319  * fix: javascript error on accounts list page (#3453)
   320  * fix: support both <group>/<kind> as well as <kind> as a resource override key (#3433)
   321  * fix: Updating to jsonnet v1.15.0 fix issue #3277 (#3431)
   322  * fix for helm repo add with flag --insecure-skip-server-verification (#3420)
   323  * fix: app diff --local support for helm repo. #3151 (#3407)
   324  * fix: Syncing apps incorrectly states "app synced", but this is not true (#3286)
   325  * fix: for jsonnet when it is localed in nested subdirectory and uses import (#3372)
   326  * fix: Update 4.5.3 redis-ha helm manifest (#3370)
   327  * fix: return 401 error code if username does not exist (#3369)
   328  * fix: Do not panic while running hooks with short revision (#3368)
   329  
   330  ## v1.5.2 (2020-04-20)
   331  
   332  #### Critical security fix
   333  
   334  This release contains a critical security fix. Please refer to the
   335  [security document](https://argoproj.github.io/argo-cd/security_considerations/#CVE-2020-5260-possible-git-credential-leak)
   336  for more information.
   337  
   338  **Upgrading is strongly recommended**
   339  
   340  ## v1.4.3 (2020-04-20)
   341  
   342  #### Critical security fix
   343  
   344  This release contains a critical security fix. Please refer to the
   345  [security document](https://argoproj.github.io/argo-cd/security_considerations/#CVE-2020-5260-possible-git-credential-leak)
   346  for more information.
   347  
   348  ## v1.5.1 (2020-04-06)
   349  
   350  #### Bug Fixes
   351  
   352  * fix: return 401 error code if username does not exist (#3369)
   353  * fix: Do not panic while running hooks with short revision (#3368)
   354  * fix: Increase HAProxy check interval to prevent intermittent failures (#3356)
   355  * fix: Helm v3 CRD are not deployed (#3345)
   356  
   357  ## v1.5.0 (2020-04-02)
   358  
   359  #### Helm Integration Enhancements - Helm 3 Support And More
   360  
   361  Introduced native support Helm3 charts. For backward compatibility Helm 2 charts are still rendered using Helm 2 CLI. Argo CD inspects the
   362  Charts.yaml file and choose the right binary based on `apiVersion` value.
   363  
   364  Following enhancement were implemented in addition to Helm 3:
   365  * The `--api-version` flag is passed to the `helm template` command during manifest generation.
   366  * The `--set-file` flag can be specified in the application specification.
   367  * Fixed bug that prevents automatically update Helm chart when new version is published (#3193)
   368  
   369  #### Better Performance and Improved Metrics
   370  
   371   If you are running Argo CD instances with several hundred applications on it, you should see a
   372   huge performance boost and significantly less Kubernetes API server load.
   373  
   374   The Argo CD controller Prometheus metrics have been reworked to enable a richer Grafana dashboard.
   375   The improved dashboard is available at [examples/dashboard.json](https://github.com/argoproj/argo-cd/blob/master/examples/dashboard.json).
   376   You can set `ARGOCD_LEGACY_CONTROLLER_METRICS=true` environment variable and use [examples/dashboard-legacy.json](https://github.com/argoproj/argo-cd/blob/master/examples/dashboard-legacy.json)
   377   to keep using old dashboard.
   378  
   379  #### Local accounts
   380  
   381  The local accounts had been introduced additional to `admin` user and SSO integration. The feature is useful for creating authentication
   382  tokens with limited permissions to automate Argo CD management. Local accounts also could be used small by teams when SSO integration is overkill.
   383  This enhancement also allows to disable admin user and enforce only SSO logins.
   384  
   385  #### Redis HA Proxy mode
   386  
   387  As part of this release, the bundled Redis was upgraded to version 4.3.4 with enabled HAProxy.
   388  The HA proxy replaced the sentinel and provides more reliable Redis connection.
   389  
   390  > After publishing 1.5.0 release we've discovered that default HAProxy settings might cause intermittent failures.
   391  > See [argo-cd#3358](https://github.com/argoproj/argo-cd/issues/3358)
   392  
   393  #### Windows CLI
   394  
   395  Windows users deploy to Kubernetes too! Now you can use Argo CD CLI on Linux, Mac OS, and Windows. The Windows compatible binary is available 
   396  in the release details page as well as on the Argo CD Help page.
   397  
   398  #### Breaking Changes
   399  
   400  The `argocd_app_sync_status`, `argocd_app_health_status` and `argocd_app_created_time` prometheus metrics are deprecated in favor of additional labels
   401  to `argocd_app_info` metric. The deprecated labels are still available can be re-enabled using `ARGOCD_LEGACY_CONTROLLER_METRICS=true` environment variable.
   402  The legacy example Grafana dashboard is available at [examples/dashboard-legacy.json](https://github.com/argoproj/argo-cd/blob/master/examples/dashboard-legacy.json). 
   403  
   404  ####  Known issues
   405  Last-minute bugs that will be addressed in 1.5.1 shortly:
   406   
   407  * https://github.com/argoproj/argo-cd/issues/3336
   408  * https://github.com/argoproj/argo-cd/issues/3319
   409  * https://github.com/argoproj/argo-cd/issues/3339
   410  * https://github.com/argoproj/argo-cd/issues/3358
   411  
   412  #### Enhancements
   413  * feat: support helm3 (#2383) (#3178)
   414  * feat: Argo CD Service Account / Local Users #3185
   415  * feat: Disable Admin Login (fixes #3019) (#3179)
   416  * feat(ui): add docs to sync policy options present in create application panel (Close #3098) (#3203)
   417  * feat: add "service-account" flag to "cluster add" command (#3183) (#3184)
   418  * feat: Supports the validate-false option at an app level. Closes #1063 (#2542)
   419  * feat: add dest cluster and namespace in the Events (#3093)
   420  * feat: Rollback disables auto sync issue #2441 (#2591)
   421  * feat: allow ssh and http repository references in bitbucketserver webhook #2773 (#3036)
   422  * feat: Add helm --set-file support (#2751)
   423  * feat: Include resource group for Event's InvolvedObject.APIVersion
   424  * feat: Add argocd cmd for Windows #2121 (#3015)
   425  
   426  #### Bug Fixes
   427  
   428  - fix: app reconciliation fails with panic: index out of (#3233)
   429  - fix: upgrade argoproj/pkg version to fix leaked sensitive information in logs (#3230)
   430  - fix: set MaxCallSendMsgSize to MaxGRPCMessageSize for the GRPC caller (#3117)
   431  - fix: stop caching helm index (#3193)
   432  - fix: dex proxy should forward request to dex preserving the basehref (#3165)
   433  - fix: set default login redirect to baseHRef (#3164)
   434  - fix: don't double-prepend basehref to redirect URLs (fixes #3137)
   435  - fix: ui referring to /api/version using absolute path (#3092)
   436  - fix: Unhang UI on long app info items by using more sane URL match pattern (#3159)
   437  - fix: Allow multiple hostnames per SSH known hosts entry and also allow IPv6 (#2814) (#3074)
   438  - fix: argocd-util backup produced truncated backups. import app status (#3096)
   439  - fix: upgrade redis-ha chart and enable haproxy (#3147)
   440  - fix: make dex server deployment init container resilient to restarts (#3136)
   441  - fix: reduct secret values of manifests stored in git (#3088)
   442  - fix: labels not being deleted via UI (#3081)
   443  - fix: HTTP|HTTPS|NO_PROXY env variable reading #3055 (#3063)
   444  - fix: Correct usage text for repo add command regarding insecure repos (#3068)
   445  - fix: Ensure SSH private key is written out with a final newline character (#2890) (#3064)
   446  - fix: Handle SSH URLs in 'git@server:org/repo' notation correctly (#3062)
   447  - fix sso condition when several sso connectors has been configured (#3057)
   448  - fix: Fix bug where the same pointer is used. (#3059)
   449  - fix: Opening in new tab bad key binding on Linux (#3020)
   450  - fix: K8s secrets for repository credential templates are not deleted when credential template is deleted (#3028)
   451  - fix: SSH credential template not working #3016
   452  - fix: Unable to parse kubectl pre-release version strings (#3034)
   453  - fix: Jsonnet TLA parameters of same type are overwritten (#3022)
   454  - fix: Replace aws-iam-authenticator to support IRSA (#3010)
   455  - fix: Hide bindPW in dex config (#3025)
   456  - fix: SSH repo URL with a user different from `git` is not matched correctly when resolving a webhook (#2988)
   457  - fix: JWT invalid => Password for superuser has changed since token issued (#2108)
   458  
   459  #### Contributors
   460  * alexandrfox
   461  * alexec
   462  * alexmt
   463  * bergur88
   464  * CBytelabs
   465  * dbeal-wiser 
   466  * dnascimento
   467  * Elgarni
   468  * eSamS
   469  * gpaul
   470  * jannfis
   471  * jdmulloy
   472  * machgo
   473  * masa213f
   474  * matthyx
   475  * rayanebel
   476  * shelby-moore
   477  * tomcruise81
   478  * wecger
   479  * zeph
   480  
   481  ## v1.4.2 (2020-01-24)
   482  
   483  - fix: correctly replace cache in namespace isolation mode (#3023)
   484  
   485  ## v1.4.1 (2020-01-23)
   486  
   487  - fix: impossible to config RBAC if group name includes ',' (#3013)
   488  
   489  ## v1.4.0 (2020-01-17)
   490  
   491  The v1.4.0 is a stability release that brings multiple bug fixes, security, performance enhancements, and multiple usability improvements.
   492  
   493  #### New Features
   494  
   495  #### Security
   496  A number of security enhancements and features have been implemented (thanks to [@jannfis](https://github.com/jannfis) for driving it! ):
   497  * **Repository Credential Templates Management UI/CLI**. Now you can use Argo CD CLI or UI to configure
   498  [credentials template](https://argoproj.github.io/argo-cd/user-guide/private-repositories/#credential-templates) for multiple repositories!
   499  * **X-Frame-Options header on serving static assets**. The X-Frame-Options prevents third party sites to trick users into interacting with the application.
   500  * **Tighten AppProject RBAC enforcement**. We've improved the enforcement of access rules specified in the
   501  [application project](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#projects) configuration.
   502  
   503  #### Namespace Isolation
   504  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
   505  the cluster:
   506  
   507  ```bash
   508  argocd cluster add <mycluster> --namespace <mynamespace1> --namespace <mynamespace2>
   509  ```
   510  
   511  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
   512  used to manage a few namespaces of a large cluster.
   513  
   514  #### Reconciliation Performance
   515  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
   516  CPU and Memory usage of large Argo CD instances.
   517  
   518  #### Resources Health based Hook Status
   519  The existing Argo CD [resource hooks](https://argoproj.github.io/argo-cd/user-guide/resource_hooks/) feature allows running custom logic during the syncing process. You can mark
   520  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
   521  [health assessment](https://argoproj.github.io/argo-cd/operator-manual/health/) to get sync hook status. This allows using any custom CRD as a sync hook and leverage custom health
   522  check logic.
   523  
   524  #### Manifest Generation
   525  * **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
   526   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.
   527  * **Build Environment Variables**. Feature allows config management tool to get access to app details during manifest generation via
   528  [environment variables](https://argoproj.github.io/argo-cd/user-guide/build-environment/).
   529  * **Git submodules**. Argo CD is going to automatically fetch sub-modules if your repository has `.gitmodules` directory.
   530  
   531  #### UI and CLI
   532  * **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
   533  each resource and don't lose usability at the same time.
   534  * **New Account Management CLI Command**. The CLI allows to check which actions are allowed for your account: `argocd account can-i sync applications '*'`
   535  
   536  #### Maintenance Tools
   537  The team put more effort into building tools that help to maintain Argo CD itself:
   538  * **Bulk Project Editing**. The `argocd-util` allows to add and remove permissions defined in multiple project roles using one command.
   539  * **More Prometheus Metrics**. A set of additional metrics that contains useful information managed clusters is exposed by application controller.
   540  
   541  More documentation and tools are coming in patch releases.
   542  
   543  #### Breaking Changes
   544  
   545  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 
   546  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,
   547  `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
   548  [Sync Waves](https://argoproj.github.io/argo-cd/user-guide/sync-waves/) instead.
   549  
   550  #### Enhancements
   551  * feat: Add custom healthchecks for cert-manager v0.11.0 (#2689) 
   552  * feat: add git submodule support (#2495)
   553  * feat: Add repository credential management API and CLI (addresses #2136) (#2207)
   554  * feat: add support for --additional-headers cli flag (#2467)
   555  * feat: Add support for ssh-with-port repo url (#2866) (#2948)
   556  * feat: Add Time to ApplicationCondition. (#2417)
   557  * feat: Adds `argocd auth can-i` command. Close #2255
   558  * feat: Adds revision history limit. Closes #2790 (#2818)
   559  * feat: Adds support for ARGO_CD_[TARGET_REVISION|REVISION] and pass to Custom Tool/Helm/Jsonnet 
   560  * feat: Adds support for Helm charts to be a semver range. Closes #2552 (#2606)
   561  * feat: Adds tracing to key external invocations. (#2811)
   562  * feat: argocd-util should allow editing project policies in bulk  (#2615)
   563  * feat: Displays controllerrevsion's revision in the UI. Closes #2306 (#2702)
   564  * feat: Issue #2559 - Add gauge Prometheus metric which represents the number of pending manifest requests. (#2658)
   565  * feat: Make ConvertToVersion maybe 1090% faster on average (#2820)
   566  * feat: namespace isolation (#2839)
   567  * feat: removes redundant mutex usage in controller cache and adds cluster cache metrics (#2898)
   568  * feat: Set X-Frame-Options on serving static assets (#2706) (#2711)
   569  * feat: Simplify using Argo CD without users/SSO/UI (#2688)
   570  * feat: Template Out Data Source in Grafana Dashboard (#2859) 
   571  * feat: Updates UI icons. Closes #2625 and #2757 (#2653)
   572  * feat: use editor arguments in InteractiveEditor (#2833)
   573  * feat: Use kubectl apply library instead of forking binary (#2861)
   574  * feat: use resource health for hook status evaluation (#2938)
   575  
   576  #### Bug Fixes
   577  
   578  - fix: Adds support for /api/v1/account* via HTTP. Fixes #2664 (#2701)
   579  - fix: Allow '@'-character in SSH usernames when connecting a repository (#2612)
   580  - fix: Allow dot in project policy. Closes #2724 (#2755)
   581  - fix: Allow you to sync local Helm apps.  Fixes #2741 (#2747)
   582  - fix: Allows Helm parameters that contains arrays or maps. (#2525)
   583  - fix: application-controller doesn't deal with rm/add same cluster gracefully (x509 unknown) (#2389)
   584  - fix: diff local ignore kustomize build options (#2942)
   585  - fix: Ensures that Helm charts are correctly resolved before sync. Fixes #2758 (#2760)
   586  - fix: Fix 'Open application' link when using basehref (#2729)
   587  - fix: fix a bug with cluster add when token secret is not first in list. (#2744)
   588  - fix: fix bug where manifests are not cached. Fixes #2770 (#2771)
   589  - fix: Fixes bug whereby retry does not work for CLI. Fixes #2767 (#2768)
   590  - fix: git contention leads applications into Unknown state (#2877)
   591  - fix: Issue #1944 - Gracefully handle missing cached app state (#2464)
   592  - fix: Issue #2668 - Delete a specified context (#2669)
   593  - fix: Issue #2683 - Make sure app update don't fail due to concurrent modification (#2852)
   594  - fix: Issue #2721 Optimize helm repo querying (#2816)
   595  - fix: Issue #2853 - Improve application env variables/labels editing (#2856)
   596  - fix: Issue 2848 - Application Deployment history panel shows incorrect info for recent releases (#2849)
   597  - fix: Make BeforeHookCreation the default. Fixes #2754 (#2759)
   598  - fix: No error on `argocd app create` in CLI if `--revision` is omitted #2665
   599  - fix: Only delete resources during app delete cascade if permitted to (fixes #2693) (#2695)
   600  - fix: prevent user from seeing/deleting resources not permitted in project (#2908) (#2910)
   601  - fix: self-heal should retry syncing an application after specified delay
   602  - fix: stop logging dex config secrets #(2904) (#2937)
   603  - fix: stop using jsondiffpatch on clientside to render resource difference  (#2869)
   604  - fix: Target Revision truncated #2736
   605  - fix: UI should re-trigger SSO login if SSO JWT token expires (#2891)
   606  - fix: update argocd-util import was not working properly (#2939)
   607  
   608  #### Contributors
   609  
   610  * Aalok Ahluwalia
   611  * Aananth K
   612  * Abhishek Jaisingh
   613  * Adam Johnson
   614  * Alan Tang
   615  * Alex Collins
   616  * Alexander Matyushentsev
   617  * Andrew Waters
   618  * Byungjin Park
   619  * Christine Banek
   620  * Daniel Helfand
   621  * David Hong
   622  * David J. M. Karlsen
   623  * David Maciel
   624  * Devan Goodwin
   625  * Devin Stein
   626  * dthomson25
   627  * Gene Liverman
   628  * Gregor Krmelj
   629  * Guido Maria Serra
   630  * Ilir Bekteshi
   631  * Imran Ismail
   632  * INOUE BANJI
   633  * Isaac Gaskin
   634  * jannfis
   635  * Jeff Hastings
   636  * Jesse Suen
   637  * John Girvan
   638  * Konstantin
   639  * Lev Aminov
   640  * Manatsawin Hanmongkolchai
   641  * Marco Schmid
   642  * Masayuki Ishii
   643  * Michael Bridgen
   644  * Naoki Oketani
   645  * niqdev
   646  * nitinpatil1992
   647  * Olivier Boukili
   648  * Olivier Lemasle
   649  * Omer Kahani
   650  * Paul Brit
   651  * Qingbo Zhou
   652  * Saradhi Sreegiriraju
   653  * Scott Cabrinha
   654  * shlo
   655  * Simon Behar
   656  * stgarf
   657  * Yujun Zhang
   658  * Zoltán Reegn
   659  
   660  ## v1.3.4 (2019-12-05)
   661  - #2819 Fixes logging of tracing option in CLI
   662  
   663  ## v1.3.3 (2019-12-05)
   664  - #2721 High CPU utilisation (5 cores) and spammy logs
   665  
   666  ## v1.3.2 (2019-12-03)
   667  - #2797 Fix directory traversal edge case and enhance tests
   668  
   669  ## v1.3.1 (2019-12-02)
   670  - #2664 update account password from API resulted 404
   671  - #2724 Can't use `DNS-1123` compliant app name when creating project role
   672  - #2726 App list does not show chart for Helm app
   673  - #2741 argocd local sync cannot parse kubernetes version
   674  - #2754 BeforeHookCreation should be the default hook
   675  - #2767 Fix bug whereby retry does not work for CLI
   676  - #2770 Always cache miss for manifests
   677  - #1345 argocd-application-controller: can not retrieve list of objects using index : Index with name namespace does not exist
   678  
   679  ## v1.3.0 (2019-11-13)
   680  
   681  #### New Features
   682  
   683  ##### Helm 1st-Class Support
   684  
   685  We know that for many of our users, they want to deploy existing Helm charts using Argo CD. Up until now that has required you to create an Argo CD app in a Git repo that does nothing but point to that chart. Now you can use a Helm chart repository is the same way as a Git repository.
   686  
   687  On top of that, we've improved support for Helm apps. The most common types of Helm hooks such as `pre-install` and `post-install` are supported as well as a the delete policy `before-hook-creation` which makes it easier to work with hooks.
   688  
   689  https://youtu.be/GP7xtrnNznw
   690  
   691  ##### Orphan Resources
   692  
   693  Some users would like to make sure that resources in a namespace are managed only by Argo CD. So we've introduced the concept of an "orphan resource" - any resource that is in namespace associated with an app, but not managed by Argo CD. This is enabled in the project settings. Once enabled, Argo CD will show in the app view any resources in the app's namespace that is not managed by Argo CD. 
   694  
   695  https://youtu.be/9ZoTevVQf5I
   696  
   697  ##### Sync Windows
   698  
   699  There may be instances when you want to control the times during which an Argo CD app can sync. Sync Windows now gives you the capability to create windows of time in which apps are either allowed or denied the ability to sync. This can apply to both manual and auto-sync, or just auto-sync. The windows are configured at the project level and assigned to apps using app name, namespace or cluster. Wildcards are supported for all fields.
   700  
   701  #### Enhancements
   702  
   703  * [UI] Add application labels to Applications list and Applications details page (#1099)
   704  * Helm repository as first class Argo CD Application source (#1145)
   705  * Ability to generate a warn/alert when a namespace deviates from the expected state (#1167)
   706  * Improve diff support for resource requests/limits (#1615)
   707  * HTTP API should allow JWT to be passed via Authorization header (#1642)
   708  * Ability to create & upsert projects from spec (#1852)
   709  * Support for in-line block from helm chart values (#1930)
   710  * Request OIDC groups claim if groups scope is not supported (#1956)
   711  * Add a maintenance window for Applications with automated syncing (#1995)
   712  * Support `argocd.argoproj.io/hook-delete-policy: BeforeHookCreation` (#2036)
   713  * Support setting Helm string parameters using CLI/UI (#2078)
   714  * Config management plugin environment variable UI/CLI support (#2203)
   715  * Helm: auto-detect URLs (#2260)
   716  * Helm: UI improvements (#2261)
   717  * Support `helm template --kube-version ` (#2275)
   718  * Use community icons for resources (#2277)
   719  * Make `group` optional for `ignoreDifferences` config (#2298)
   720  * Update Helm docs (#2315)
   721  * Add cluster information into Splunk (#2354)
   722  * argocd list command should have filter options like by project (#2396)
   723  * Add target/current revision to status badge (#2445)
   724  * Update tooling to use Kustomize v3 (#2487)
   725  * Update root `Dockerfile` to use the `hack/install.sh` (#2488)
   726  * Support and document using HPA for repo-server (#2559)
   727  * Upgrade Helm  (#2587)
   728  * UI fixes for "Sync Apps" panel. (#2604)
   729  * Upgrade kustomize from v3.1.0 to v3.2.1 (#2609)
   730  * Map helm lifecycle hooks to ArgoCD pre/post/sync hooks (#355)
   731  * [UI] Enhance app creation page with Helm parameters overrides (#1059)
   732  
   733  #### Bug Fixes
   734  
   735  - failed parsing on parameters with comma (#1660)
   736  - Statefulset with OnDelete Update Strategy stuck progressing (#1881)
   737  - Warning during secret diffing (#1923)
   738  - Error message "Unable to load data: key is missing" is confusing (#1944)
   739  - OIDC group bindings are truncated (#2006)
   740  - Multiple parallel app syncs causes OOM (#2022)
   741  - Unknown error when setting params with argocd app set on helm app (#2046)
   742  - Endpoint is no longer shown as a child of services (#2060)
   743  - SSH known hosts entry cannot be deleted if contains shell pattern in name (#2099)
   744  - Application 404s on names with periods (#2114)
   745  - Adding certs for hostnames ending with a dot (.) is not possible (#2116)
   746  - Fix `TestHookDeleteBeforeCreation` (#2141)
   747  - v1.2.0-rc1 nil pointer dereference when syncing (#2146)
   748  - Replacing services failure (#2150)
   749  - 1.2.0-rc1 - Authentication Required error in Repo Server (#2152)
   750  - v1.2.0-rc1 Applications List View doesn't work (#2174)
   751  - Manual sync does not trigger Presync hooks (#2185)
   752  - SyncError app condition disappears during app reconciliation (#2192)
   753  - argocd app wait\sync prints 'Unknown' for resources without health (#2198)
   754  - 1.2.0-rc2 Warning during secret diffing (#2206)
   755  - SSO redirect url is incorrect if configured Argo CD URL has trailing slash (#2212)
   756  - Application summary diff page shows hooks (#2215)
   757  - An app with a single resource and Sync hook remains progressing (#2216)
   758  - CONTRIBUTING documentation outdated (#2231)
   759  - v1.2.0-rc2 does not retrieve http(s) based git repository behind the proxy (#2243)
   760  - Intermittent "git ls-remote" request failures should not fail app reconciliation (#2245)
   761  - Result of ListApps operation for Git repo is cached incorrectly (#2263)
   762  - ListApps does not utilize cache (#2287)
   763  - Controller panics due to nil pointer error (#2290)
   764  - The Helm --kube-version support does not work on GKE: (#2303)
   765  - Fixes bug that prevents you creating repos via UI/CLI.  (#2308)
   766  - The 'helm.repositories' settings is dropped without migration path (#2316)
   767  - Badge response does not contain cache control header (#2317)
   768  - Inconsistent sync result from UI and CLI (#2321)
   769  - Failed edit application with plugin type requiring environment (#2330)
   770  - AutoSync doesn't work anymore (#2339)
   771  - End-to-End tests not working with Kubernetes v1.16 (#2371)
   772  - Creating an application from Helm repository should select "Helm" as source type (#2378)
   773  - The parameters of ValidateAccess GRPC method should not be logged  (#2386)
   774  - Maintenance window meaning is confusing (#2398)
   775  - UI bug when targetRevision is omitted (#2407)
   776  - Too many vulnerabilities in Docker image (#2425)
   777  - proj windows commands not consistent with other commands (#2443)
   778  - Custom resource actions cannot be executed from the UI (#2448)
   779  - Application controller sometimes accidentally removes duplicated/excluded resource warning condition (#2453)
   780  - Logic that checks sync windows state in the cli is incorrect (#2455)
   781  - UI don't allow to create window with `* * * * *` schedule (#2475)
   782  - Helm Hook is executed twice if annotated with both pre-install and pre-upgrade annotations (#2480)
   783  - Impossible to edit chart name using App details page (#2484)
   784  - ArgoCD does not provide CSRF protection (#2496)
   785  - ArgoCD failing to install CRDs in master from Helm Charts (#2497)
   786  - Timestamp in Helm package file name causes error in Application with Helm source (#2549)
   787  - Attempting to create a repo with password but not username panics (#2567)
   788  - UI incorrectly mark resources as `Required Pruning` (#2577)
   789  - argocd app diff prints only first difference (#2616)
   790  - Bump min client cache version (#2619)
   791  - Cluster list page fails if any cluster is not reachable (#2620)
   792  - Repository type should be mandatory for repo add command in CLI (#2622)
   793  - Repo server executes unnecessary ls-remotes (#2626)
   794  - Application list page incorrectly filter apps by label selector (#2633)
   795  - Custom actions are disabled in Argo CD UI (#2635)
   796  - Failure of `argocd version` in the self-building container image (#2645)
   797  - Application list page is not updated automatically anymore (#2655)
   798  - Login regression issues (#2659)
   799  - Regression: Cannot return Kustomize version for 3.1.0 (#2662)
   800  - API server does not allow creating role with action `action/*` (#2670)
   801  - Application controller `kubectl-parallelism-limit` flag is broken (#2673)
   802  - Annoying toolbar flickering (#2691)
   803  
   804  ## v1.2.5 (2019-10-29)
   805  
   806  - Issue #2339 - Don't update `status.reconciledAt` unless compared with latest git version (#2581)
   807  
   808  ## v1.2.4 (2019-10-23)
   809  
   810  - Issue #2185 - Manual sync don't trigger hooks (#2477)
   811  - Issue #2339 - Controller should compare with latest git revision if app has changed (#2543)
   812  - Unknown child app should not affect app health (#2544)
   813  - Redact secrets in dex logs (#2538)
   814  
   815  ## v1.2.3 (2019-10-1)
   816  * Make argo-cd docker images openshift friendly (#2362) (@duboisf)
   817  * Add dest-server and dest-namespace field to reconciliation logs (#2354)
   818  - Stop loggin /repository.RepositoryService/ValidateAccess parameters (#2386)
   819  
   820  ## v1.2.2 (2019-09-26)
   821  + Resource action equivalent to `kubectl rollout restart` (#2177)
   822  - Badge response does not contain cache-control header (#2317) (@greenstatic)
   823  - Make sure the controller uses the latest git version if app reconciliation result expired (#2339)
   824  
   825  ## v1.2.1 (2019-09-12)
   826  + Support limiting number of concurrent kubectl fork/execs (#2022)
   827  + Add --self-heal flag to argocd cli (#2296)
   828  - Fix degraded proxy support for http(s) git repository (#2243)
   829  - Fix nil pointer dereference in application controller (#2290)
   830  
   831  ## v1.2.0 (2019-09-05)
   832  
   833  ### New Features
   834  
   835  #### Server Certificate And Known Hosts Management
   836  
   837  The Server Certificate And Known Hosts Management feature makes it really easy to connect private Git repositories to Argo CD. Now Argo CD provides UI and CLI which
   838  enables managing certificates and known hosts which are used to access Git repositories. It is also possible to configure both hosts and certificates in a declarative manner using
   839  [argocd-ssh-known-hosts-cm](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-ssh-known-hosts-cm.yaml) and 
   840  [argocd-tls-certs-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-tls-certs-cm.yaml) config maps.
   841  
   842  #### Self-Healing
   843  
   844  The existing Automatic Sync feature allows to automatically apply any new changes in Git to the target Kubernetes cluster. However, Automatic Sync does not cover the case when the
   845  application is out of sync due to the unexpected change in the target cluster. The Self-Healing feature fills this gap. With Self-Healing enabled Argo CD automatically pushes the desired state from Git into the cluster every time when state deviation is detected.
   846  
   847  **Anonymous access** - enable read-only access without authentication to anyone in your organization.
   848  
   849  Support for Git LFS enabled repositories - now you can store Helm charts as tar files and enable Git LFS in your repository.
   850  
   851  **Compact diff view** - compact diff summary of the whole application in a single view.
   852  
   853  **Badge for application status** - add badge with the health and sync status of your application into README.md of your deployment repo.
   854  
   855  **Allow configuring google analytics tracking** - use Google Analytics to check how many users are visiting UI or your Argo CD instance.
   856  
   857  #### Backward Incompatible Changes
   858  - Kustomize v1 support is removed. All kustomize charts are built using the same Kustomize version
   859  - Kustomize v2.0.3 upgraded to v3.1.0 . We've noticed one backward incompatible change: https://github.com/kubernetes-sigs/kustomize/issues/42 . Starting v2.1.0 namespace prefix feature works with CRD ( which might cause renaming of generated resource definitions)
   860  - Argo CD config maps must be annotated with `app.kubernetes.io/part-of: argocd` label. Make sure to apply updated `install.yaml` manifest in addition to changing image version.
   861  
   862  
   863  #### Enhancements
   864  + Adds a floating action button with help and chat links to every page.… (#2124)
   865  + Enhances cookie warning with actual length to help users fix their co… (#2134)
   866  + Added 'SyncFail' to possible HookTypes in UI (#2147)
   867  + Support for Git LFS enabled repositories (#1853)
   868  + Server certificate and known hosts management (#1514)
   869  + Client HTTPS certificates for private git repositories (#1945)
   870  + Badge for application status (#1435)
   871  + Make the health check for APIService a built in (#1841)
   872  + Bitbucket Server and Gogs webhook providers (#1269)
   873  + Jsonnet TLA arguments in ArgoCD CLI (#1626)
   874  + Self Healing (#1736)
   875  + Compact diff view (#1831)
   876  + Allow Helm parameters to force ambiguously-typed values to be strings (#1846)
   877  + Support anonymous argocd access (#1620)
   878  + Allow configuring google analytics tracking (#738)
   879  + Bash autocompletion for argocd (#1798)
   880  + Additional commit metadata (#1219)
   881  + Displays targetRevision in app dashboards. (#1239)
   882  + Local path syncing (#839)
   883  + System level `kustomize build` options (#1789)
   884  + Adds support for `argocd app set` for Kustomize. (#1843)
   885  + Allow users to create tokens for projects where they have any role. (#1977)
   886  + Add Refresh button to applications table and card view (#1606)
   887  + Adds CLI support for adding and removing groups from project roles. (#1851)
   888  + Support dry run and hook vs. apply strategy during sync (#798)
   889  + UI should remember most recent selected tab on resource info panel (#2007)
   890  + Adds link to the project from the app summary page. (#1911)
   891  + Different icon for resources which require pruning (#1159)
   892  
   893  #### Bug Fixes
   894  
   895  - Do not panic if the type is not api.Status (an error scenario) (#2105)
   896  - Make sure endpoint is shown as a child of service (#2060)
   897  - Word-wraps app info in the table and list views. (#2004)
   898  - Project source/destination removal should consider wildcards (#1780)
   899  - Repo whitelisting in UI does not support wildcards (#2000)
   900  - Wait for CRD creation during sync process (#1940)
   901  - Added a button to select out of sync items in the sync panel (#1902)
   902  - Proper handling of an excluded resource in an application (#1621)
   903  - Stop repeating logs on stoped container (#1614)
   904  - Fix git repo url parsing on application list view (#2174)
   905  - Fix nil pointer dereference error during app reconciliation (#2146)
   906  - Fix history api fallback implementation to support app names with dots (#2114)
   907  - Fixes some code issues related to Kustomize build options. (#2146)
   908  - Adds checks around valid paths for apps (#2133)
   909  - Endpoint incorrectly considered top level managed resource (#2060)
   910  - Allow adding certs for hostnames ending on a dot (#2116)
   911  
   912  #### Other
   913  * Upgrade kustomize to v3.1.0 (#2068)
   914  * Remove support for Kustomize 1. (#1573)
   915  
   916  #### Contributors
   917  
   918  * [alexec](https://github.com/alexec)
   919  * [alexmt](https://github.com/alexmt)
   920  * [dmizelle](https://github.com/dmizelle)
   921  * [lcostea](https://github.com/lcostea)
   922  * [jutley](https://github.com/jutley)
   923  * [masa213f](https://github.com/masa213f)
   924  * [Rayyis](https://github.com/Rayyis)
   925  * [simster7](https://github.com/simster7)
   926  * [dthomson25](https://github.com/dthomson25)
   927  * [jannfis](https://github.com/jannfis)
   928  * [naynasiddharth](https://github.com/naynasiddharth)
   929  * [stgarf](https://github.com/stgarf)
   930  
   931  
   932  ## v1.1.2 (2019-07-30)
   933  - 'argocd app wait' should print correct sync status (#2049)
   934  - Check that TLS is enabled when registering DEX Handlers (#2047)
   935  - Do not ignore Argo hooks when there is a Helm hook. (#1952)
   936  
   937  ## v1.1.1 (2019-07-25)
   938  + Support 'override' action in UI/API (#1984)
   939  - Fix argocd app wait message (#1982)
   940  
   941  ## v1.1.0 (2019-07-24)
   942  
   943  ### New Features
   944  
   945  #### Sync Waves
   946  
   947  Sync waves feature allows executing a sync operation in a number of steps or waves. Within each synchronization phase (pre-sync, sync, post-sync) you can have one or more waves,
   948  than allows you to ensure certain resources are healthy before subsequent resources are synced.
   949  
   950  #### Optimized Interaction With Git
   951  
   952  Argo CD needs to execute `git fetch` operation to access application manifests and `git ls-remote` to resolve ambiguous git revision. The `git ls-remote` is executed very frequently
   953  and although the operation is very lightweight it adds unnecessary load on Git server and might cause performance issues. In v1.1 release, the application reconciliation process was
   954  optimized which significantly reduced the number of Git requests. With v1.1 release, Argo CD should send 3x ~ 5x fewer Git requests.
   955  
   956  #### User Defined Application Metadata
   957  
   958  User-defined Application metadata enables the user to define a list of useful URLs for their specific application and expose those links on the UI
   959  (e.g. reference tp a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing
   960  systems by making it easier to find other components inside and outside Argo CD.
   961  
   962  ### Deprecation Notice
   963  
   964  * Kustomize v1.0 is deprecated and support will be removed in the Argo CD v1.2 release.
   965  
   966  #### Enhancements
   967  
   968  - Sync waves [#1544](https://github.com/argoproj/argo-cd/issues/1544)
   969  - Adds Prune=false and IgnoreExtraneous options [#1629](https://github.com/argoproj/argo-cd/issues/1629)
   970  - Forward Git credentials to config management plugins [#1628](https://github.com/argoproj/argo-cd/issues/1628)
   971  - Improve Kustomize 2 parameters UI [#1609](https://github.com/argoproj/argo-cd/issues/1609)
   972  - Adds `argocd logout` [#1210](https://github.com/argoproj/argo-cd/issues/1210)
   973  - Make it possible to set Helm release name different from Argo CD app name.  [#1066](https://github.com/argoproj/argo-cd/issues/1066)
   974  - Add ability to specify system namespace during cluster add operation [#1661](https://github.com/argoproj/argo-cd/pull/1661) 
   975  - Make listener and metrics ports configurable [#1647](https://github.com/argoproj/argo-cd/pull/1647) 
   976  - Using SSH keys to authenticate kustomize bases from git [#827](https://github.com/argoproj/argo-cd/issues/827)
   977  - Adds `argocd app sync APPNAME --async` [#1728](https://github.com/argoproj/argo-cd/issues/1728)
   978  - Allow users to define app specific urls to expose in the UI [#1677](https://github.com/argoproj/argo-cd/issues/1677)
   979  - Error view instead of blank page in UI [#1375](https://github.com/argoproj/argo-cd/issues/1375)
   980  - Project Editor: Whitelisted Cluster Resources doesn't strip whitespace [#1693](https://github.com/argoproj/argo-cd/issues/1693)
   981  - Eliminate unnecessary git interactions for top-level resource changes (#1919)
   982  - Ability to rotate the bearer token used to manage external clusters (#1084)
   983  
   984  #### Bug Fixes
   985  
   986  - Project Editor: Whitelisted Cluster Resources doesn't strip whitespace [#1693](https://github.com/argoproj/argo-cd/issues/1693)
   987  - \[ui small bug\] menu position outside block [#1711](https://github.com/argoproj/argo-cd/issues/1711)
   988  - UI will crash when create application without destination namespace [#1701](https://github.com/argoproj/argo-cd/issues/1701)
   989  - ArgoCD synchronization failed due to internal error [#1697](https://github.com/argoproj/argo-cd/issues/1697)
   990  - Replicasets ordering is not stable on app tree view [#1668](https://github.com/argoproj/argo-cd/issues/1668)
   991  - Stuck processor on App Controller after deleting application with incomplete operation [#1665](https://github.com/argoproj/argo-cd/issues/1665)
   992  - Role edit page fails with JS error [#1662](https://github.com/argoproj/argo-cd/issues/1662)
   993  - failed parsing on parameters with comma [#1660](https://github.com/argoproj/argo-cd/issues/1660)
   994  - Handle nil obj when processing custom actions [#1700](https://github.com/argoproj/argo-cd/pull/1700)
   995  - Account for missing fields in Rollout HealthStatus [#1699](https://github.com/argoproj/argo-cd/pull/1699) 
   996  - Sync operation unnecessary waits for a healthy state of all resources [#1715](https://github.com/argoproj/argo-cd/issues/1715)
   997  - failed parsing on parameters with comma [#1660](https://github.com/argoproj/argo-cd/issues/1660)
   998  - argocd app sync hangs when cluster is not configured (#1935)
   999  - Do not allow app-of-app child app's Missing status to affect parent (#1954)
  1000  - Argo CD don't handle well k8s objects which size exceeds 1mb (#1685)
  1001  - Secret data not redacted in last-applied-configuration (#897)
  1002  - Running app actions requires only read privileges (#1827)
  1003  - UI should allow editing repo URL (#1763)
  1004  - Make status fields as optional fields (#1779)
  1005  - Use correct healthcheck for Rollout with empty steps list (#1776)
  1006  
  1007  #### Other
  1008  
  1009  - Add Prometheus metrics for git repo interactions (#1912)
  1010  - App controller should log additional information during app syncing (#1909)
  1011  - Make sure api server to repo server grpc calls have timeout (#1820)
  1012  - Forked tool processes should timeout (#1821)
  1013  - Add health check to the controller deployment (#1785)
  1014  
  1015  #### Contributors
  1016  
  1017  * [Aditya Gupta](https://github.com/AdityaGupta1)
  1018  * [Alex Collins](https://github.com/alexec)
  1019  * [Alex Matyushentsev](https://github.com/alexmt)
  1020  * [Danny Thomson](https://github.com/dthomson25)
  1021  * [jannfis](https://github.com/jannfis)
  1022  * [Jesse Suen](https://github.com/jessesuen)
  1023  * [Liviu Costea](https://github.com/lcostea)
  1024  * [narg95](https://github.com/narg95)
  1025  * [Simon Behar](https://github.com/simster7)
  1026  
  1027  See also [milestone v1.1](https://github.com/argoproj/argo-cd/milestone/13)
  1028  
  1029  ## v1.0.0 (2019-05-16)
  1030  
  1031  ### New Features
  1032  
  1033  #### Network View
  1034  
  1035  A new way to visual application resources had been introduced to the Application Details page. The Network View visualizes connections between Ingresses, Services and Pods
  1036  based on ingress reference service, service's label selectors and labels. The new view is useful to understand the application traffic flow and troubleshot connectivity issues.
  1037  
  1038  #### Custom Actions
  1039  
  1040  Argo CD introduces Custom Resource Actions to allow users to provide their own Lua scripts to modify existing Kubernetes resources in their applications. These actions are exposed in the UI to allow easy, safe, and reliable changes to their resources.  This functionality can be used to introduce functionality such as suspending and enabling a Kubernetes cronjob, continue a BlueGreen deployment with Argo Rollouts, or scaling a deployment. 
  1041  
  1042  #### UI Enhancements & Usability Enhancements
  1043  
  1044  * New color palette intended to highlight unhealthily and out-of-sync resources more clearly.
  1045  * The health of more resources is displayed, so it easier to quickly zoom to unhealthy pods, replica-sets, etc.
  1046  * Resources that do not have health no longer appear to be healthy. 
  1047  * Support for configuring Git repo credentials at a domain/org level
  1048  * Support for configuring requested OIDC provider scopes and enforced RBAC scopes
  1049  * Support for configuring monitored resources whitelist in addition to excluded resources
  1050  
  1051  ### Breaking Changes
  1052  
  1053  * Remove deprecated componentParameterOverrides field #1372
  1054  
  1055  ### Changes since v0.12.2
  1056  
  1057  #### Enhancements
  1058  
  1059  * `argocd app wait` should have `--resource` flag like sync #1206
  1060  * Adds support for `kustomize edit set image`. Closes #1275 (#1324)
  1061  * Allow wait to return on health or suspended (#1392)
  1062  * Application warning when a manifest is defined twice #1070
  1063  * Create new documentation website #1390
  1064  * Default view should resource view instead of diff view #1354
  1065  * Display number of errors on resource tab #1477
  1066  * Displays resources that are being deleted as "Progressing". Closes #1410 (#1426)
  1067  * Generate random name for grpc proxy unix socket file instead of time stamp (#1455)
  1068  * Issue #357 - Expose application nodes networking information (#1333)
  1069  * Issue #1404 - App controller unnecessary set namespace to cluster level resources (#1405)
  1070  * Nils health if the resource does not provide it. Closes #1383 (#1408)
  1071  * Perform health assessments on all resource nodes in the tree. Closes #1382 (#1422)
  1072  * Remove deprecated componentParameterOverrides field #1372
  1073  * Shows the health of the application. Closes #1433 (#1434)
  1074  * Surface Service/Ingress external IPs, hostname to application #908
  1075  * Surface pod status to tree view #1358
  1076  * Support for customizable resource actions as Lua scripts #86
  1077  * UI / API Errors Truncated, Time Out #1386
  1078  * UI Enhancement Proposals Quick Wins #1274
  1079  * Update argocd-util import/export to support proper backup and restore (#1328)
  1080  * Whitelisting repos/clusters in projects should consider repo/cluster permissions #1432
  1081  * Adds support for configuring repo creds at a domain/org level. (#1332)
  1082  * Implement whitelist option analogous to `resource.exclusions` (#1490)
  1083  * Added ability to sync specific labels from the command line (#1241)
  1084  * Improve rendering app image information (#1552)
  1085  * Add liveness probe to repo server/api servers (#1546)
  1086  * Support configuring requested OIDC provider scopes and enforced RBAC scopes (#1471)
  1087  
  1088  #### Bug Fixes
  1089  
  1090  - Don't compare secrets in the CLI, since argo-cd doesn't have access to their data (#1459)
  1091  - Dropdown menu should not have sync item for unmanaged resources #1357
  1092  - Fixes goroutine leak. Closes #1381 (#1457)
  1093  - Improve input style #1217
  1094  - Issue #908 - Surface Service/Ingress external IPs, hostname to application (#1347)
  1095  - kustomization fields are all mandatory #1504
  1096  - Resource node details is crashing if live resource is missing $1505
  1097  - Rollback UI is not showing correct ksonnet parameters in preview #1326
  1098  - See details of applications fails with "r.nodes is undefined" #1371
  1099  - UI fails to load custom actions is resource is not deployed #1502
  1100  - Unable to create app from private repo: x509: certificate signed by unknown authority (#1171)
  1101  - Fix hardcoded 'git' user in `util/git.NewClient` (#1555)
  1102  - Application controller becomes unresponsive (#1476)
  1103  - Load target resource using K8S if conversion fails (#1414)
  1104  - Can't ignore a non-existent pointer anymore (#1586)
  1105  - Impossible to sync to HEAD from UI if auto-sync is enabled (#1579)
  1106  - Application controller is unable to delete self-referenced app (#1570)
  1107  - Prevent reconciliation loop for self-managed apps (#1533)
  1108  - Controller incorrectly report health state of self managed application (#1557)
  1109  - Fix kustomize manifest generation crash is manifest has image without version (#1540)
  1110  - Supply resourceVersion to watch request to prevent reading of stale cache (#1605)
  1111  
  1112  ## v0.12.2 (2019-04-22)
  1113  
  1114  ### Changes since v0.12.1
  1115  
  1116  - Fix racing condition in controller cache (#1498)
  1117  - "bind: address already in use" after switching to gRPC-Web (#1451)
  1118  - Annoying warning while using --grpc-web flag (#1420)
  1119  - Delete helm temp directories (#1446)
  1120  - Fix null pointer exception in secret normalization function (#1389)
  1121  - Argo CD should not delete CRDs(#1425)
  1122  - UI is unable to load cluster level resource manifest (#1429)
  1123  
  1124  ## v0.12.1 (2019-04-09)
  1125  
  1126  ### Changes since v0.12.0
  1127  
  1128  - [UI] applications view blows up when user does not have  permissions (#1368)
  1129  - Add k8s objects circular dependency protection to getApp method (#1374)
  1130  - App controller unnecessary set namespace to cluster level resources (#1404)
  1131  - Changing SSO login URL to be a relative link so it's affected by basehref (#101) (@arnarg)
  1132  - CLI diff should take into account resource customizations (#1294)
  1133  - Don't try deleting application resource if it already has `deletionTimestamp` (#1406)
  1134  - Fix invalid group filtering in 'patch-resource' command (#1319)
  1135  - Fix null pointer dereference error in 'argocd app wait' (#1366)
  1136  - kubectl v1.13 fails to convert extensions/NetworkPolicy (#1012)
  1137  - Patch APIs are not audited (#1397)
  1138  
  1139  + 'argocd app wait' should fail sooner if app transitioned to Degraded state (#733)
  1140  + Add mapping to new canonical Ingress API group - kubernetes 1.14 support (#1348) (@twz123)
  1141  + Adds support for `kustomize edit set image`. (#1275)
  1142  + Allow using any name for secrets which store cluster credentials (#1218)
  1143  + Update argocd-util import/export to support proper backup and restore (#1048)
  1144  
  1145  ## v0.12.0 (2019-03-20)
  1146  
  1147  ### New Features
  1148  
  1149  #### Improved UI
  1150  
  1151  Many improvements to the UI were made, including:
  1152  
  1153  * Table view when viewing applications
  1154  * Filters on applications
  1155  * Table view when viewing application resources
  1156  * YAML editor in UI
  1157  * Switch to text-based diff instead of json diff
  1158  * Ability to edit application specs
  1159  
  1160  #### Custom Health Assessments (CRD Health)
  1161  
  1162  Argo CD has long been able to perform health assessments on resources, however this could only
  1163  assess the health for a few native kubernetes types (deployments, statefulsets, daemonsets, etc...).
  1164  Now, Argo CD can be extended to gain understanding of any CRD health, in the form of Lua scripts.
  1165  For example, using this feature, Argo CD now understands the CertManager Certificate CRD and will
  1166  report a Degraded status when there are issues with the cert.
  1167  
  1168  #### Configuration Management Plugins
  1169  
  1170  Argo CD introduces Config Management Plugins to support custom configuration management tools other
  1171  than the set that Argo CD provides out-of-the-box (Helm, Kustomize, Ksonnet, Jsonnet). Using config
  1172  management plugins, Argo CD can be configured to run specified commands to render manifests. This
  1173  makes it possible for Argo CD to support other config management tools (kubecfg, kapitan, shell
  1174  scripts, etc...).
  1175  
  1176  #### High Availability
  1177  
  1178  Argo CD is now fully HA. A set HA of manifests are provided for users who wish to run Argo CD in
  1179  a highly available manner. NOTE: The HA installation will require at least three different nodes due
  1180  to pod anti-affinity roles in the specs.
  1181  
  1182  #### Improved Application Source
  1183  
  1184  * Support for Kustomize 2
  1185  * YAML/JSON/Jsonnet Directories can now be recursed
  1186  * Support for Jsonnet external variables and top-level arguments
  1187  
  1188  #### Additional Prometheus Metrics
  1189  
  1190  Argo CD provides the following additional prometheus metrics:
  1191  * Sync counter to track sync activity and results over time
  1192  * Application reconciliation (refresh) performance to track Argo CD performance and controller activity
  1193  * Argo CD API Server metrics for monitoring HTTP/gRPC requests
  1194  
  1195  #### Fuzzy Diff Logic
  1196  
  1197  Argo CD can now be configured to ignore known differences for resource types by specifying a json
  1198  pointer to the field path to ignore. This helps prevent OutOfSync conditions when a user has no
  1199  control over the manifests. Ignored differences can be configured either at an application level, 
  1200  or a system level, based on a group/kind.
  1201  
  1202  #### Resource Exclusions
  1203  
  1204  Argo CD can now be configured to completely ignore entire classes of resources group/kinds.
  1205  Excluding high-volume resources improves performance and memory usage, and reduces load and
  1206  bandwidth to the Kubernetes API server. It also allows users to fine-tune the permissions that
  1207  Argo CD needs to a cluster by preventing Argo CD from attempting to watch resources of that
  1208  group/kind.
  1209  
  1210  #### gRPC-Web Support
  1211  
  1212  The argocd CLI can be now configured to communicate to the Argo CD API server using gRPC-Web
  1213  (HTTP1.1) using a new CLI flag `--grpc-web`. This resolves some compatibility issues users were
  1214  experiencing with ingresses and gRPC (HTTP2), and should enable argocd CLI to work with virtually
  1215  any load balancer, ingress controller, or API gateway.
  1216  
  1217  #### CLI features
  1218  
  1219  Argo CD introduces some additional CLI commands:
  1220  
  1221  * `argocd app edit APPNAME` - to edit an application spec using preferred EDITOR
  1222  * `argocd proj edit PROJNAME` - to edit an project spec using preferred EDITOR
  1223  * `argocd app patch APPNAME` - to patch an application spec
  1224  * `argocd app patch-resource APPNAME` - to patch a specific resource which is part of an application
  1225  
  1226  
  1227  ### Breaking Changes
  1228  
  1229  #### Label selector changes, dex-server rename
  1230  
  1231  The label selectors for deployments were been renamed to use kubernetes common labels
  1232  (`app.kubernetes.io/name=NAME` instead of `app=NAME`). Since K8s deployment label selectors are
  1233  immutable, during an upgrade from v0.11 to v0.12, the old deployments should be deleted using
  1234  `--cascade=false` which allows the new deployments to be created without introducing downtime.
  1235  Once the new deployments are ready, the older replicasets can be deleted. Use the following
  1236  instructions to upgrade from v0.11 to v0.12 without introducing downtime:
  1237  
  1238  ```
  1239  # delete the deployments with cascade=false. this orphan the replicasets, but leaves the pods running
  1240  kubectl delete deploy --cascade=false argocd-server argocd-repo-server argocd-application-controller
  1241  
  1242  # apply the new manifests and wait for them to finish rolling out
  1243  kubectl apply <new install manifests>
  1244  kubectl rollout status deploy/argocd-application-controller
  1245  kubectl rollout status deploy/argocd-repo-server
  1246  kubectl rollout status deploy/argocd-application-controller
  1247  
  1248  # delete old replicasets which are using the legacy label
  1249  kubectl delete rs -l app=argocd-server
  1250  kubectl delete rs -l app=argocd-repo-server
  1251  kubectl delete rs -l app=argocd-application-controller
  1252  
  1253  # delete the legacy dex-server which was renamed
  1254  kubectl delete deploy dex-server
  1255  ```
  1256  
  1257  #### Deprecation of spec.source.componentParameterOverrides
  1258  
  1259  For declarative application specs, the `spec.source.componentParameterOverrides` field is now
  1260  deprecated in favor of application source specific config. They are replaced with new fields
  1261  specific to their respective config management. For example, a Helm application spec using the
  1262  legacy field:
  1263  
  1264  ```yaml
  1265  spec:
  1266    source:
  1267      componentParameterOverrides:
  1268      - name: image.tag
  1269        value: v1.2
  1270  ```
  1271  
  1272  should move to:
  1273  
  1274  ```yaml
  1275  spec:
  1276    source:
  1277      helm:
  1278        parameters:
  1279        - name: image.tag
  1280          value: v1.2
  1281  ```
  1282  
  1283  Argo CD will automatically duplicate the legacy field values to the new locations (and vice versa)
  1284  as part of automatic migration. The legacy `spec.source.componentParameterOverrides` field will be
  1285  kept around for the v0.12 release (for migration purposes) and will be removed in the next Argo CD
  1286  release.
  1287  
  1288  #### Removal of spec.source.environment and spec.source.valuesFiles
  1289  
  1290  The `spec.source.environment` and `spec.source.valuesFiles` fields, which were deprecated in v0.11,
  1291  are now completely removed from the Application spec.
  1292  
  1293  
  1294  #### API/CLI compatibility
  1295  
  1296  Due to API spec changes related to the deprecation of componentParameterOverrides, Argo CD v0.12
  1297  has a minimum client version of v0.12.0. Older CLI clients will be rejected.
  1298  
  1299  
  1300  ### Changes since v0.11:
  1301  + Improved UI
  1302  + Custom Health Assessments (CRD Health)
  1303  + Configuration Management Plugins
  1304  + High Availability
  1305  + Fuzzy Diff Logic
  1306  + Resource Exclusions
  1307  + gRPC-Web Support
  1308  + CLI features
  1309  + Additional prometheus metrics
  1310  + Sample Grafana dashboard (#1277) (@hartman17)
  1311  + Support for Kustomize 2
  1312  + YAML/JSON/Jsonnet Directories can now be recursed
  1313  + Support for Jsonnet external variables and top-level arguments
  1314  + Optimized reconciliation performance for applications with very active resources (#1267)
  1315  + Support a separate OAuth2 CLI clientID different from server (#1307)
  1316  + argocd diff: only print to stdout, if there is a diff + exit code (#1288) (@marcb1)
  1317  + Detection and handling of duplicated resource definitions (#1284)
  1318  + Support kustomize apps with remote bases in private repos in the same host (#1264)
  1319  + Support patching resource using REST API (#1186)
  1320  * Deprecate componentParameterOverrides in favor of source specific config (#1207)
  1321  * Support talking to Dex using local cluster address instead of public address (#1211)
  1322  * Use Recreate deployment strategy for controller (#1315)
  1323  * Honor os environment variables for helm commands (#1306) (@1337andre)
  1324  * Disable CGO_ENABLED for server/controller binaries (#1286)
  1325  * Documentation fixes and improvements (@twz123, @yann-soubeyrand, @OmerKahani, @dulltz)
  1326  - Fix CRD creation/deletion handling (#1249)
  1327  - Git cloning via SSH was not verifying host public key (#1276)
  1328  - Fixed multiple goroutine leaks in controller and api-server
  1329  - Fix issue where `argocd app set -p` required repo privileges. (#1280)
  1330  - Fix local diff of non-namespaced resources. Also handle duplicates in local diff (#1289)
  1331  - Deprecated resource kinds from 'extensions' groups are not reconciled correctly (#1232)
  1332  - Fix issue where CLI would panic after timeout when cli did not have get permissions (#1209)
  1333  - invalidate repo cache on delete (#1182) (@narg95)
  1334  
  1335  ## v0.11.2 (2019-02-19)
  1336  + Adds client retry. Fixes #959 (#1119)
  1337  - Prevent deletion hotloop (#1115)
  1338  - Fix EncodeX509KeyPair function so it takes in account chained certificates (#1137) (@amarruedo)
  1339  - Exclude metrics.k8s.io from watch (#1128)
  1340  - Fix issue where dex restart could cause login failures (#1114)
  1341  - Relax ingress/service health check to accept non-empty ingress list (#1053)
  1342  - [UI] Correctly handle empty response from repository/<repo>/apps API
  1343  
  1344  ## v0.11.1 (2019-01-18)
  1345  + Allow using redis as a cache in repo-server (#1020)
  1346  - Fix controller deadlock when checking for stale cache (#1044)
  1347  - Namespaces are not being sorted during apply (#1038)
  1348  - Controller cache was susceptible to clock skew in managed cluster
  1349  - Fix ability to unset ApplicationSource specific parameters
  1350  - Fix force resource delete API (#1033)
  1351  - Incorrect PermissionDenied error during app creation when using project roles + user-defined RBAC (#1019)
  1352  - Fix `kubctl convert` issue preventing deployment of extensions/NetworkPolicy (#1012)
  1353  - Do not allow metadata.creationTimestamp to affect sync status (#1021)
  1354  - Graceful handling of clusters where API resource discovery is partially successful (#1018)
  1355  - Handle k8s resources circular dependency (#1016)
  1356  - Fix `app diff --local` command (#1008)
  1357  
  1358  ## v0.11.0 (2019-01-10)
  1359  This is Argo CD's biggest release ever and introduces a completely redesigned controller architecture.
  1360  
  1361  ### New Features
  1362  
  1363  #### Performance & Scalability
  1364  The application controller has a completely redesigned architecture which improved performance and
  1365  scalability during application reconciliation.
  1366  
  1367  This was achieved by introducing an in-memory, live state cache of lightweight Kubernetes object 
  1368  metadata. During reconciliation, the controller no longer performs expensive, in-line queries of app
  1369  related resources in K8s API server, instead relying on the metadata available in the live state 
  1370  cache. This dramatically improves performance and responsiveness, and is less burdensome to the K8s
  1371  API server.
  1372  
  1373  #### Object relationship visualization for CRDs
  1374  With the new controller design, Argo CD is now able to understand ownership relationship between
  1375  *all* Kubernetes objects, not just the built-in types. This enables Argo CD to visualize
  1376  parent/child relationships between all kubernetes objects, including CRDs.
  1377  
  1378  #### Multi-namespaced applications
  1379  During sync, Argo CD will now honor any explicitly set namespace in a manifest. Manifests without a
  1380  namespace will continue deploy to the "preferred" namespace, as specified in app's
  1381  `spec.destination.namespace`. This enables support for a class of applications which install to
  1382  multiple namespaces. For example, Argo CD can now install the
  1383  [prometheus-operator](https://github.com/helm/charts/tree/master/stable/prometheus-operator)
  1384  helm chart, which deploys some resources into `kube-system`, and others into the
  1385  `prometheus-operator` namespace.
  1386  
  1387  #### Large application support
  1388  Full resource objects are no longer stored in the Application CRD object status. Instead, only
  1389  lightweight metadata is stored in the status, such as a resource's sync and health status.
  1390  This change enabled Argo CD to support applications with a very large number of resources 
  1391  (e.g. istio), and reduces the bandwidth requirements when listing applications in the UI.
  1392  
  1393  #### Resource lifecycle hook improvements
  1394  Resource lifecycle hooks (e.g. PreSync, PostSync) are now visible/manageable from the UI.
  1395  Additionally, bare Pods with a restart policy of Never can now be used as a resource hook, as an
  1396  alternative to Jobs, Workflows.
  1397  
  1398  #### K8s recommended application labels
  1399  The tracking label for resources has been changed to use `app.kubernetes.io/instance`, as
  1400  recommended in [Kubernetes recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/),
  1401  (changed from `applications.argoproj.io/app-name`). This will enable applications managed by Argo CD
  1402  to interoperate with other tooling which are also converging on this labeling, such as the
  1403  Kubernetes dashboard. Additionally, Argo CD no longer injects any tracking labels at the
  1404  `spec.template.metadata` level.
  1405  
  1406  #### External OIDC provider support
  1407  Argo CD now supports auth delegation to an existing, external OIDC providers without the need for
  1408  running Dex (e.g. Okta, OneLogin, Auth0, Microsoft, etc...)
  1409  
  1410  The optional, [Dex IDP OIDC provider](https://github.com/dexidp/dex) is still bundled as part of the
  1411  default installation, in order to provide a seamless out-of-box experience, enabling Argo CD to
  1412  integrate with non-OIDC providers, and to benefit from Dex's full range of
  1413  [connectors](https://github.com/dexidp/dex/tree/master/Documentation/connectors).
  1414  
  1415  #### OIDC group bindings to Project Roles
  1416  OIDC group claims from an OAuth2 provider can now be bound to a Argo CD project roles. Previously,
  1417  group claims could only be managed in the centralized ConfigMap, `argocd-rbac-cm`. They can now be
  1418  managed at a project level. This enables project admins to self service access to applications
  1419  within a project.
  1420  
  1421  #### Declarative Argo CD configuration
  1422  Argo CD settings can be now be configured either declaratively, or imperatively. The `argocd-cm`
  1423  ConfigMap now has a `repositories` field, which can reference credentials in a normal Kubernetes
  1424  secret which you can create declaratively, outside of Argo CD.
  1425  
  1426  #### Helm repository support
  1427  Helm repositories can be configured at the system level, enabling the deployment of helm charts
  1428  which have a dependency to external helm repositories.
  1429  
  1430  ### Breaking changes:
  1431  
  1432  * Argo CD's resource names were renamed for consistency. For example, the application-controller
  1433    deployment was renamed to argocd-application-controller. When upgrading from v0.10 to v0.11,
  1434    the older resources should be pruned to avoid inconsistent state and controller in-fighting.
  1435  
  1436  * As a consequence to moving to recommended kubernetes labels, when upgrading from v0.10 to v0.11,
  1437    all applications will immediately be OutOfSync due to the change in tracking labels. This will
  1438    correct itself with another sync of the application. However, since Pods will be recreated, please
  1439    take this into consideration, especially if your applications are configured with auto-sync.
  1440  
  1441  * There was significant reworking of the `app.status` fields to reduce the payload size, simplify
  1442    the datastructure and remove fields which were no longer used by the controller. No breaking
  1443    changes were made in `app.spec`.
  1444  
  1445  * An older Argo CD CLI (v0.10 and below) will not be compatible with Argo CD v0.11. To keep
  1446    CI pipelines in sync with the API server, it is recommended to have pipelines download the CLI
  1447    directly from the API server https://${ARGOCD_SERVER}/download/argocd-linux-amd64 during the CI
  1448    pipeline.
  1449  
  1450  ### Changes since v0.10:
  1451  * Improve Application state reconciliation performance (#806)
  1452  * Refactor, consolidate and rename resource type data structures
  1453  + Declarative setup and configuration of ArgoCD (#536)
  1454  + Declaratively add helm repositories (#747)
  1455  + Switch to k8s recommended app.kubernetes.io/instance label (#857)
  1456  + Ability for a single application to deploy into multiple namespaces (#696)
  1457  + Self service group access to project applications (#742)
  1458  + Support for Pods as a sync hook (#801)
  1459  + Support 'crd-install' helm hook (#355)
  1460  + Use external 'diff' utility to render actual vs target state difference
  1461  + Show sync policy in app list view
  1462  * Remove resources state from application CRD (#758)
  1463  * API server & UI should serve argocd binaries instead of linking to GitHub (#716)
  1464  * Update versions for kubectl (v1.13.1), helm (v2.12.1), ksonnet (v0.13.1)
  1465  * Update version of aws-iam-authenticator (0.4.0-alpha.1)
  1466  * Ability to force refresh of application manifests from git
  1467  * Improve diff assessment for Secrets, ClusterRoles, Roles
  1468  - Failed to deploy helm chart with local dependencies and no internet access (#786)
  1469  - Out of sync reported if Secrets with stringData are used (#763)
  1470  - Unable to delete application in K8s v1.12 (#718)
  1471  
  1472  ## v0.10.6 (2018-11-14)
  1473  - Fix issue preventing in-cluster app sync due to go-client changes (issue #774)
  1474  
  1475  ## v0.10.5 (2018-11-13)
  1476  + Increase concurrency of application controller
  1477  * Update dependencies to k8s v1.12 and client-go v9.0 (#729)
  1478  - add argo cluster permission to view logs (#766) (@conorfennell)
  1479  - Fix issue where applications could not be deleted on k8s v1.12
  1480  - Allow 'syncApplication' action to reference target revision rather then hard-coding to 'HEAD' (#69) (@chrisgarland)
  1481  - Issue #768 - Fix application wizard crash
  1482  
  1483  ## v0.10.4 (2018-11-07)
  1484  * Upgrade to Helm v0.11.0 (@amarrella)
  1485  - Health check is not discerning apiVersion when assessing CRDs (issue #753)
  1486  - Fix nil pointer dereference in util/health (@mduarte)
  1487  
  1488  ## v0.10.3 (2018-10-28)
  1489  * Fix applying TLS version settings
  1490  * Update to kustomize 1.0.10 (@twz123)
  1491  
  1492  ## v0.10.2 (2018-10-25)
  1493  * Update to kustomize 1.0.9 (@twz123)
  1494  - Fix app refresh err when k8s patch is too slow
  1495  
  1496  ## v0.10.1 (2018-10-24)
  1497  
  1498  - Handle case where OIDC settings become invalid after dex server restart (issue #710)
  1499  - git clean also needs to clean files under gitignore (issue #711)
  1500  
  1501  ## v0.10.0 (2018-10-19)
  1502  
  1503  ### Changes since v0.9:
  1504  
  1505  + Allow more fine-grained sync (issue #508)
  1506  + Display init container logs (issue #681)
  1507  + Redirect to /auth/login instead of /login when SSO token is used for authentication (issue #348)
  1508  + Support ability to use a helm values files from a URL (issue #624)
  1509  + Support public not-connected repo in app creation UI (issue #426)
  1510  + Use ksonnet CLI instead of ksonnet libs (issue #626)
  1511  + We should be able to select the order of the `yaml` files while creating a Helm App (#664)
  1512  * Remove default params from app history (issue #556)
  1513  * Update to ksonnet v0.13.0
  1514  * Update to kustomize 1.0.8
  1515  - API Server fails to return apps due to grpc max message size limit  (issue #690)
  1516  - App Creation UI for Helm Apps shows only files prefixed with `values-` (issue #663)
  1517  - App creation UI should allow specifying values files outside of helm app directory bug (issue #658)
  1518  - argocd-server logs credentials in plain text when adding git repositories (issue #653)
  1519  - Azure Repos do not work as a repository (issue #643)
  1520  - Better update conflict error handing during app editing (issue #685)
  1521  - Cluster watch needs to be restarted when CRDs get created (issue #627)
  1522  - Credentials not being accepted for Google Source Repositories (issue #651)
  1523  - Default project is created without permission to deploy cluster level resources (issue #679)
  1524  - Generate role token click resets policy changes (issue #655)
  1525  - Input type text instead of password on Connect repo panel (issue #693)
  1526  - Metrics endpoint not reachable through the metrics kubernetes service (issue #672)
  1527  - Operation stuck in 'in progress' state if application has no resources (issue #682)
  1528  - Project should influence options for cluster and namespace during app creation (issue #592)
  1529  - Repo server unable to execute ls-remote for private repos (issue #639)
  1530  - Resource is always out of sync if it has only 'ksonnet.io/component' label (issue #686)
  1531  - Resource nodes are 'jumping' on app details page (issue #683)
  1532  - Sync always suggest using latest revision instead of target UI bug (issue #669)
  1533  - Temporary ignore service catalog resources (issue #650)
  1534  
  1535  ## v0.9.2 (2018-09-28)
  1536  
  1537  * Update to kustomize 1.0.8
  1538  - Fix issue where argocd-server logged credentials in plain text during repo add (issue #653)
  1539  - Credentials not being accepted for Google Source Repositories (issue #651)
  1540  - Azure Repos do not work as a repository (issue #643)
  1541  - Temporary ignore service catalog resources (issue #650)
  1542  - Normalize policies by always adding space after comma
  1543  
  1544  ## v0.9.1 (2018-09-24)
  1545  
  1546  - Repo server unable to execute ls-remote for private repos (issue #639)
  1547  
  1548  ## v0.9.0 (2018-09-24)
  1549  
  1550  ### Notes about upgrading from v0.8
  1551  * Cluster wide resources should be allowed in default project (due to issue #330):
  1552  
  1553  ```
  1554  argocd project allow-cluster-resource default '*' '*'
  1555  ```
  1556  
  1557  * Projects now provide the ability to allow or deny deployments of cluster-scoped resources
  1558  (e.g. Namespaces, ClusterRoles, CustomResourceDefinitions). When upgrading from v0.8 to v0.9, to
  1559  match the behavior of v0.8 (which did not have restrictions on deploying resources) and continue to
  1560  allow deployment of cluster-scoped resources, an additional command should be run:
  1561  
  1562  ```bash
  1563  argocd proj allow-cluster-resource default '*' '*'
  1564  ```
  1565  
  1566  The above command allows the `default` project to deploy any cluster-scoped resources which matches
  1567  the behavior of v0.8.
  1568  
  1569  * The secret keys in the argocd-secret containing the TLS certificate and key, has been renamed from
  1570    `server.crt` and `server.key` to the standard `tls.crt` and `tls.key` keys. This enables Argo CD
  1571    to integrate better with Ingress and cert-manager. When upgrading to v0.9, the `server.crt` and
  1572    `server.key` keys in argocd-secret should be renamed to the new keys.
  1573  
  1574  ### Changes since v0.8:
  1575  + Auto-sync option in application CRD instance (issue #79)
  1576  + Support raw jsonnet as an application source (issue #540)
  1577  + Reorder K8s resources to correct creation order (issue #102)
  1578  + Redact K8s secrets from API server payloads (issue #470)
  1579  + Support --in-cluster authentication without providing a kubeconfig (issue #527)
  1580  + Special handling of CustomResourceDefinitions (issue #613)
  1581  + Argo CD should download helm chart dependencies (issue #582)
  1582  + Export Argo CD stats as prometheus style metrics (issue #513)
  1583  + Support restricting TLS version (issue #609)
  1584  + Use 'kubectl auth reconcile' before 'kubectl apply' (issue #523)
  1585  + Projects need controls on cluster-scoped resources (issue #330)
  1586  + Support IAM Authentication for managing external K8s clusters (issue #482)
  1587  + Compatibility with cert manager (issue #617)
  1588  * Enable TLS for repo server (issue #553)
  1589  * Split out dex into it's own deployment (instead of sidecar) (issue #555)
  1590  + [UI] Support selection of helm values files in App creation wizard (issue #499)
  1591  + [UI] Support specifying source revision in App creation wizard allow (issue #503)
  1592  + [UI] Improve resource diff rendering (issue #457)
  1593  + [UI] Indicate number of ready containers in pod (issue #539)
  1594  + [UI] Indicate when app is overriding parameters (issue #503)
  1595  + [UI] Provide a YAML view of resources (issue #396)
  1596  + [UI] Project Role/Token management from UI (issue #548)
  1597  + [UI] App creation wizard should allow specifying source revision (issue #562)
  1598  + [UI] Ability to modify application from UI (issue #615)
  1599  + [UI] indicate when operation is in progress or has failed (issue #566)
  1600  - Fix issue where changes were not pulled when tracking a branch (issue #567)
  1601  - Lazy enforcement of unknown cluster/namespace restricted resources (issue #599)
  1602  - Fix controller hot loop when app source contains bad manifests (issue #568)
  1603  - Fix issue where Argo CD fails to deploy when resources are in a K8s list format (issue #584)
  1604  - Fix comparison failure when app contains unregistered custom resource (issue #583)
  1605  - Fix issue where helm hooks were being deployed as part of sync (issue #605)
  1606  - Fix race conditions in kube.GetResourcesWithLabel and DeleteResourceWithLabel (issue #587)
  1607  - [UI] Fix issue where projects filter does not work when application got changed
  1608  - [UI] Creating apps from directories is not obvious (issue #565)
  1609  - Helm hooks are being deployed as resources (issue #605)
  1610  - Disagreement in three way diff calculation (issue #597)
  1611  - SIGSEGV in kube.GetResourcesWithLabel (issue #587)
  1612  - Argo CD fails to deploy resources list (issue #584)
  1613  - Branch tracking not working properly (issue #567)
  1614  - Controller hot loop when application source has bad manifests (issue #568)
  1615  
  1616  ## v0.8.2 (2018-09-12)
  1617  - Downgrade ksonnet from v0.12.0 to v0.11.0 due to quote unescape regression
  1618  - Fix CLI panic when performing an initial `argocd sync/wait`
  1619  
  1620  ## v0.8.1 (2018-09-10)
  1621  + [UI] Support selection of helm values files in App creation wizard (issue #499)
  1622  + [UI] Support specifying source revision in App creation wizard allow (issue #503)
  1623  + [UI] Improve resource diff rendering (issue #457)
  1624  + [UI] Indicate number of ready containers in pod (issue #539)
  1625  + [UI] Indicate when app is overriding parameters (issue #503)
  1626  + [UI] Provide a YAML view of resources (issue #396)
  1627  - Fix issue where changes were not pulled when tracking a branch (issue #567)
  1628  - Fix controller hot loop when app source contains bad manifests (issue #568)
  1629  - [UI] Fix issue where projects filter does not work when application got changed
  1630  
  1631  ## v0.8.0 (2018-09-04)
  1632  
  1633  ### Notes about upgrading from v0.7
  1634  * The RBAC model has been improved to support explicit denies. What this means is that any previous
  1635  RBAC policy rules, need to be rewritten to include one extra column with the effect:
  1636  `allow` or `deny`. For example, if a rule was written like this:
  1637      ```
  1638      p, my-org:my-team, applications, get, */*
  1639      ```
  1640      It should be rewritten to look like this:
  1641      ```
  1642      p, my-org:my-team, applications, get, */*, allow
  1643      ```
  1644  
  1645  ### Changes since v0.7:
  1646  + Support kustomize as an application source (issue #510)
  1647  + Introduce project tokens for automation access (issue #498)
  1648  + Add ability to delete a single application resource to support immutable updates (issue #262)
  1649  + Update RBAC model to support explicit denies (issue #497)
  1650  + Ability to view Kubernetes events related to application projects for auditing
  1651  + Add PVC healthcheck to controller (issue #501)
  1652  + Run all containers as an unprivileged user (issue #528)
  1653  * Upgrade ksonnet to v0.12.0
  1654  * Add readiness probes to API server (issue #522)
  1655  * Use gRPC error codes instead of fmt.Errorf (#532)
  1656  - API discovery becomes best effort when partial resource list is returned (issue #524)
  1657  - Fix `argocd app wait` printing incorrect Sync output (issue #542)
  1658  - Fix issue where argocd could not sync to a tag (#541)
  1659  - Fix issue where static assets were browser cached between upgrades (issue #489)
  1660  
  1661  ## v0.7.2 (2018-08-21)
  1662  - API discovery becomes best effort when partial resource list is returned (issue #524)
  1663  
  1664  ## v0.7.1 (2018-08-03)
  1665  + Surface helm parameters to the application level (#485)
  1666  + [UI] Improve application creation wizard (#459)
  1667  + [UI] Show indicator when refresh is still in progress (#493)
  1668  * [UI] Improve data loading error notification (#446)
  1669  * Infer username from claims during an `argocd relogin` (#475)
  1670  * Expand RBAC role to be able to create application events. Fix username claims extraction
  1671  - Fix scalability issues with the ListApps API (#494)
  1672  - Fix issue where application server was retrieving events from incorrect cluster (#478)
  1673  - Fix failure in identifying app source type when path was '.'
  1674  - AppProjectSpec SourceRepos mislabeled (#490)
  1675  - Failed e2e test was not failing CI workflow
  1676  * Fix linux download link in getting_started.md (#487) (@chocopowwwa)
  1677  
  1678  ## v0.7.0 (2018-07-27)
  1679  + Support helm charts and yaml directories as an application source
  1680  + Audit trails in the form of API call logs
  1681  + Generate kubernetes events for application state changes
  1682  + Add ksonnet version to version endpoint (#433)
  1683  + Show CLI progress for sync and rollback
  1684  + Make use of dex refresh tokens and store them into local config
  1685  + Expire local superuser tokens when their password changes
  1686  + Add `argocd relogin` command as a convenience around login to current context
  1687  - Fix saving default connection status for repos and clusters
  1688  - Fix undesired fail-fast behavior of health check
  1689  - Fix memory leak in the cluster resource watch
  1690  - Health check for StatefulSets, DaemonSet, and ReplicaSets were failing due to use of wrong converters
  1691  
  1692  ## v0.6.2 (2018-07-23)
  1693  - Health check for StatefulSets, DaemonSet, and ReplicaSets were failing due to use of wrong converters
  1694  
  1695  ## v0.6.1 (2018-07-18)
  1696  - Fix regression where deployment health check incorrectly reported Healthy
  1697  + Intercept dex SSO errors and present them in Argo login page
  1698  
  1699  ## v0.6.0 (2018-07-16)
  1700  + Support PreSync, Sync, PostSync resource hooks
  1701  + Introduce Application Projects for finer grain RBAC controls
  1702  + Swagger Docs & UI
  1703  + Support in-cluster deployments internal kubernetes service name
  1704  + Refactoring & Improvements
  1705  * Improved error handling, status and condition reporting
  1706  * Remove installer in favor of kubectl apply instructions
  1707  * Add validation when setting application parameters
  1708  * Cascade deletion is decided during app deletion, instead of app creation
  1709  - Fix git authentication implementation when using using SSH key
  1710  - app-name label was inadvertently injected into spec.selector if selector was omitted from v1beta1 specs
  1711  
  1712  ## v0.5.4 (2018-06-27)
  1713  - Refresh flag to sync should be optional, not required
  1714  
  1715  ## v0.5.3 (2018-06-20)
  1716  + Support cluster management using the internal k8s API address https://kubernetes.default.svc (#307)
  1717  + Support diffing a local ksonnet app to the live application state (resolves #239) (#298)
  1718  + Add ability to show last operation result in app get. Show path in app list -o wide (#297)
  1719  + Update dependencies: ksonnet v0.11, golang v1.10, debian v9.4 (#296)
  1720  + Add ability to force a refresh of an app during get (resolves #269) (#293)
  1721  + Automatically restart API server upon certificate changes (#292)
  1722  
  1723  ## v0.5.2 (2018-06-14)
  1724  + Resource events tab on application details page (#286)
  1725  + Display pod status on application details page (#231)
  1726  
  1727  ## v0.5.1 (2018-06-13)
  1728  - API server incorrectly compose application fully qualified name for RBAC check (#283)
  1729  - UI crash while rendering application operation info if operation failed
  1730  
  1731  ## v0.5.0 (2018-06-12)
  1732  + RBAC access control
  1733  + Repository/Cluster state monitoring
  1734  + Argo CD settings import/export
  1735  + Application creation UI wizard
  1736  + argocd app manifests for printing the application manifests
  1737  + argocd app unset command to unset parameter overrides
  1738  + Fail app sync if prune flag is required (#276)
  1739  + Take into account number of unavailable replicas to decided if deployment is healthy or not #270
  1740  + Add ability to show parameters and overrides in CLI (resolves #240)
  1741  - Repo names containing underscores were not being accepted (#258)
  1742  - Cookie token was not parsed properly when mixed with other site cookies
  1743  
  1744  ## v0.4.7 (2018-06-07)
  1745  - Fix argocd app wait health checking logic
  1746  
  1747  ## v0.4.6 (2018-06-06)
  1748  - Retry argocd app wait connection errors from EOF watch. Show detailed state changes
  1749  
  1750  ## v0.4.5 (2018-05-31)
  1751  + Add argocd app unset command to unset parameter overrides
  1752  - Cookie token was not parsed properly when mixed with other site cookies
  1753  
  1754  ## v0.4.4 (2018-05-30)
  1755  + Add ability to show parameters and overrides in CLI (resolves #240)
  1756  + Add Events API endpoint
  1757  + Issue #238 - add upsert flag to 'argocd app create' command
  1758  + Add repo browsing endpoint (#229)
  1759  + Support subscribing to settings updates and auto-restart of dex and API server
  1760  - Issue #233 - Controller does not persist rollback operation result
  1761  - App sync frequently fails due to concurrent app modification
  1762  
  1763  ## v0.4.3 (2018-05-21)
  1764  - Move local branch deletion as part of git Reset() (resolves #185) (#222)
  1765  - Fix exit code for app wait (#219)
  1766  
  1767  ## v0.4.2 (2018-05-21)
  1768  + Show URL in argocd app get
  1769  - Remove interactive context name prompt during login which broke login automation
  1770  * Rename force flag to cascade in argocd app delete
  1771  
  1772  ## v0.4.1 (2018-05-18)
  1773  + Implemented argocd app wait command
  1774  
  1775  ## v0.4.0 (2018-05-17)
  1776  + SSO Integration
  1777  + GitHub Webhook
  1778  + Add application health status
  1779  + Sync/Rollback/Delete is asynchronously handled by controller
  1780  * Refactor CRUD operation on clusters and repos
  1781  * Sync will always perform kubectl apply
  1782  * Synced Status considers last-applied-configuration annotation
  1783  * Server & namespace are mandatory fields (still inferred from app.yaml)
  1784  * Manifests are memoized in repo server
  1785  - Fix connection timeouts to SSH repos
  1786  
  1787  ## v0.3.2 (2018-05-03)
  1788  + Application sync should delete 'unexpected' resources #139
  1789  + Update ksonnet to v0.10.1
  1790  + Detect unexpected resources
  1791  - Fix: App sync frequently fails due to concurrent app modification #147
  1792  - Fix: improve app state comparator: #136, #132
  1793  
  1794  ## v0.3.1 (2018-04-24)
  1795  + Add new rollback RPC with numeric identifiers
  1796  + New argo app history and argo app rollback command
  1797  + Switch to gogo/protobuf for golang code generation
  1798  - Fix: create .argocd directory during argo login (issue #123)
  1799  - Fix: Allow overriding server or namespace separately (issue #110)
  1800  
  1801  ## v0.3.0 (2018-04-23)
  1802  + Auth support
  1803  + TLS support
  1804  + DAG-based application view
  1805  + Bulk watch
  1806  + ksonnet v0.10.0-alpha.3
  1807  + kubectl apply deployment strategy
  1808  + CLI improvements for app management
  1809  
  1810  ## v0.2.0 (2018-04-03)
  1811  + Rollback UI
  1812  + Override parameters
  1813  
  1814  ## v0.1.0 (2018-03-12)
  1815  + Define app in Github with dev and preprod environment using KSonnet
  1816  + Add cluster Diff App with a cluster Deploy app in a cluster
  1817  + Deploy a new version of the app in the cluster
  1818  + App sync based on Github app config change - polling only
  1819  + Basic UI: App diff between Git and k8s cluster for all environments Basic GUI