github.com/argoproj/argo-cd/v2@v2.10.9/CHANGELOG.md (about) 1 # Changelog 2 3 ## v2.4.8 (2022-07-29) 4 5 ### Bug fixes 6 7 - feat: support application level extensions (#9923) 8 - feat: support multiple extensions per resource group/kind (#9834) 9 - fix: extensions is not loading for ConfigMap/Pods (#10010) 10 - fix: upgrade moment from 2.29.2 to 2.29.3 (#9330) 11 - fix: skip redirect url validation when it's the base href (#10058) (#10116) 12 - fix: avoid CVE-2022-28948 (#10093) 13 - fix: Set HOST_ARCH for yarn build from platform (#10018) 14 15 ### Other changes 16 17 - chore(deps): bump moment from 2.29.3 to 2.29.4 in /ui (#9897) 18 - docs: add OpenSSH breaking change notes (#10104) 19 - chore: update parse-url (#10101) 20 - docs: add api field example in the appset security doc (#10087) 21 - chore: update redis to 7.0.4 avoid CVE-2022-30065 (#10059) 22 - docs: add argocd-server grpc metric usage (#10007) 23 - chore: upgrade Dex to 2.32.0 (#10036) (#10042) 24 - chore: update redis to avoid CVE-2022-2097 (#10031) 25 - chore: update haproxy to 2.0.29 for redis-ha (#10045) 26 27 ## v2.4.7 (2022-07-18) 28 29 ### Bug fixes 30 31 fix: Support files in argocd.argoproj.io/manifest-generate-paths annotation (#9908) 32 fix: terminal websocket write lock to avoid races (#10011) 33 fix: updated all a tags to Link tags in app summary (#9777) 34 fix: e2e test to use func from clusterauth instead creating one with old logic (#9989) 35 fix: add missing download CLI tool URL response for ppc64le, s390x (#9983) 36 37 ### Other 38 39 chore: upgrade parse-url to avoid SNYK-JS-PARSEURL-2936249 (#9826) 40 docs: use quotes to emphasize that ConfigMap value is a string (#9995) 41 docs: document directory app include/exclude fields (#9997) 42 docs: simplify Docker toolchain docs (#9966) (#10006) 43 docs: supported versions (#9876) 44 45 ## v2.4.6 (2022-07-12) 46 47 ### Features 48 49 * feat: Treat connection reset as a retryable error (#9739) 50 51 ### Bug fixes 52 53 * fix: 'unexpected reserved bits' breaking web terminal (#9605) (#9895) 54 * fix: argocd login just hangs on 2.4.0 #9679 (#9935) 55 * fix: CMP manifest generation fails with ENHANCE_YOUR_CALM if over 40s (#9922) 56 * fix: NotAfter is not set when ValidFor is set (#9911) 57 * fix: add missing download CLI tool link for ppc64le, s390x (#9649) 58 * fix: Check tracking annotation for being self-referencing (#9791) 59 * fix: Make change of tracking method work at runtime (#9820) 60 * fix: argo-cd git submodule is using SSH auth instead of HTTPs (#3118) (#9821) 61 62 ### Other 63 64 * docs: fix typo in Generators-Git.md (#9949) 65 * docs: add terminal documentation (#9948) 66 * test: Use dedicated multi-arch workloads in e2e tests (#9921) 67 * docs: Adding blank line so list is formatted correctly (#9880) 68 * docs: small fix for plugin stream filtering (#9871) 69 * docs: Document the possibility of rendering Helm charts with Kustomize (#9841) 70 * docs: getting started notes on self-signed cert (#9429) (#9784) 71 * test: check for error messages from CI env (#9953) 72 73 ## v2.4.5 (2022-07-12) 74 75 ### Security fixes 76 77 * HIGH: Certificate verification is skipped for connections to OIDC providers ([GHSA-7943-82jg-wmw5](https://github.com/argoproj/argo-cd/security/advisories/GHSA-7943-82jg-wmw5)) 78 * LOW: A leaked API server encryption key can allow XSS for SSO users ([GHSA-pmjg-52h9-72qv](https://github.com/argoproj/argo-cd/security/advisories/GHSA-pmjg-52h9-72qv)) 79 80 ### Potentially-breaking changes 81 82 The fix for GHSA-7943-82jg-wmw5 enables TLS certificate validation by default for connections to OIDC providers. If 83 connections to your OIDC provider fails validation, SSO will be broken for your Argo CD instance. You should test 2.4.5 84 before upgrading it to production. From the new documentation: 85 86 > By default, all connections made by the API server to OIDC providers (either external providers or the bundled Dex 87 > instance) must pass certificate validation. These connections occur when getting the OIDC provider's well-known 88 > configuration, when getting the OIDC provider's keys, and when exchanging an authorization code or verifying an ID 89 > token as part of an OIDC login flow. 90 > 91 > Disabling certificate verification might make sense if: 92 > * You are using the bundled Dex instance **and** your Argo CD instance has TLS configured with a self-signed certificate 93 > **and** you understand and accept the risks of skipping OIDC provider cert verification. 94 > * You are using an external OIDC provider **and** that provider uses an invalid certificate **and** you cannot solve 95 > the problem by setting `oidcConfig.rootCA` **and** you understand and accept the risks of skipping OIDC provider cert 96 > verification. 97 > 98 > If either of those two applies, then you can disable OIDC provider certificate verification by setting 99 > `oidc.tls.insecure.skip.verify` to `"true"` in the `argocd-cm` ConfigMap. 100 101 ### Bug fixes 102 103 * fix: webhook typo in case of error in GetManifests (#9671) 104 105 ## v2.4.4 (2022-07-07) 106 107 ### Bug fixes 108 109 - fix: missing path segments for git file generator (#9839) 110 - fix: make sure api server informer does not stop after setting change (#9842) 111 - fix: support resource logs and exec (#9833) 112 - fix: configurable CMP tar exclusions (#9675) (#9789) 113 - fix: prune any deleted refs before fetching (#9504) 114 115 ### Other 116 117 - test: Remove circular symlinks from testdata (#9886) 118 - docs: custom secret must be labeled (#9835) 119 - docs: update archlinux install with official package (#9718) 120 - docs: explain rightmost git generator path parameter behavior (#9799) 121 122 ## v2.4.3 (2022-06-27) 123 124 ### Bug fixes 125 126 - fix: respect OIDC providers' supported token signing algorithms (#9433) (#9761) 127 - fix websockets for terminal not working on subPath (#9795) 128 - fix: avoid closing and re-opening port of api server settings change (#9778) 129 - fix: [ArgoCD] Fixing webhook typo in case of error in GetManifests (#9671) 130 - fix: overrides should not appear in the manifest cache key (#9601) 131 132 ## v2.4.2 (2022-06-21) 133 134 ### Bug fixes 135 136 * fix: project filter (#9651) (#9709) 137 * fix: broken symlink in Dockerfile (#9674) 138 * fix: updated baseHRefRegex to perform lazy match (#9724) 139 * fix: updated config file permission requirements for windows (#9666) 140 141 ### Other 142 143 * docs: Update sync-options.md (#9687) 144 * test/remote: Allow override of base image (#9734) 145 146 ## v2.4.1 (2022-06-21) 147 148 ### Security fixes 149 150 * CRITICAL: External URLs for Deployments can include javascript ([GHSA-h4w9-6x78-8vrj](https://github.com/argoproj/argo-cd/security/advisories/GHSA-h4w9-6x78-8vrj)) 151 * HIGH: Insecure entropy in PKCE/Oauth2/OIDC params ([GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v)) 152 * MODERATE: DoS through large directory app manifest files ([GHSA-jhqp-vf4w-rpwq](https://github.com/argoproj/argo-cd/security/advisories/GHSA-jhqp-vf4w-rpwq)) 153 * MODERATE: Symlink following allows leaking out-of-bounds YAML files from Argo CD repo-server ([GHSA-q4w5-4gq2-98vm](https://github.com/argoproj/argo-cd/security/advisories/GHSA-q4w5-4gq2-98vm)) 154 155 ### Potentially-breaking changes 156 157 From the [GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v) description: 158 159 > The patch introduces a new `reposerver.max.combined.directory.manifests.size` config parameter, which you should tune before upgrading in production. It caps the maximum total file size of .yaml/.yml/.json files in directory-type (raw manifest) Applications. The default max is 10M per Application. This max is designed to keep any single app from consuming more than 3G of memory in the repo-server (manifests consume more space in memory than on disk). The 300x ratio assumes a maliciously-crafted manifest file. If you only want to protect against accidental excessive memory use, it is probably safe to use a smaller ratio. 160 > 161 > If your organization uses directory-type Applications with very many manifests or very large manifests then check the size of those manifests and tune the config parameter before deploying this change to production. When testing, make sure to do a "hard refresh" in either the CLI or UI to test your directory-type App. That will make sure you're using the new max logic instead of relying on cached manifest responses from Redis. 162 163 ### Other 164 165 * test: directory app manifest generation (#9503) 166 * chore: Implement tests to validate aws auth retry (#9627) 167 * chore: Implement a retry in aws auth command (#9618) 168 * test: Remove temp directories from repo server tests (#9501) 169 * test: Make context tests idempodent (#9502) 170 * test: fix plugin var test for OSX (#9590) 171 * docs: Document how to deploy from the root of the git repository (#9632) 172 * docs: added environment variables documentation (#8680) 173 174 ## v2.4.0 (2022-06-10) 175 176 ### Web Terminal In Argo CD UI 177 178 Feature enables engineers to start a shell in the running application container without leaving the web interface. Just find the required Kubernetes 179 Pod using the Application Details page, click on it and select the Terminal tab. The shell starts automatically and enables you to execute the required 180 commands, and helps to troubleshoot the application state. 181 182 ### Access Control For Pod Logs & Web Terminal 183 184 Argo CD is used to manage the critical infrastructure of multiple organizations, which makes security the top priority of the project. We've listened to 185 your feedback and introduced additional access control settings that control access to Kubernetes Pod logs and the new Web Terminal feature. 186 187 #### Pod Logs UI 188 189 Since 2.4.9, the LOGS tab in pod view is visible in the UI only for users with explicit allow get logs policy. 190 191 #### Known pod logs UI issue prior to 2.4.9 192 193 Upon pressing the "LOGS" tab in pod view by users who don't have an explicit allow get logs policy, the red "unable to load data: Internal error" is received in the bottom of the screen, and "Failed to load data, please try again" is displayed. 194 195 ### OpenTelemetry Tracing Integration 196 197 The new feature allows emitting richer telemetry data that might make identifying performance bottlenecks easier. The new feature is available for argocd-server 198 and argocd-repo-server components and can be enabled using the --otlp-address flag. 199 200 ### Power PC and IBM Z Support 201 202 The list of supported architectures has been expanded, and now includes IBM Z (s390x) and PowerPC (ppc64le). Starting with the v2.4 release the official quay.io 203 repository is going to have images for amd64, arm64, ppc64le, and s390x architectures. 204 205 ### Other Notable Changes 206 207 Overall v2.4 release includes more than 300 hundred commits from nearly 90 contributors. Here is a short sample of the contributions: 208 209 * Enforce the deployment to remote clusters only 210 * Native support of GCP authentication for GKE 211 * Secured Redis connection 212 * ApplicationSet Gitea support 213 214 ## v2.3.7 (2022-07-29) 215 216 ### Notes 217 218 This is mainly a security related release and updates compatibility with Kubernetes 1.24. 219 220 **Attention:** The base image for 2.3.x reached end-of-life on July 14, 2022. This release upgraded the base image to Ubuntu 22.04 LTS. The change should have no effect on the majority of users. But if any of your git providers only supports now-deprecated key hash algorithms, then Application syncing might break. See the [2.2-to-2.3 upgrade notes](https://argo-cd.readthedocs.io/en/latest/operator-manual/upgrading/2.2-2.3/#support-for-private-repo-ssh-keys-using-the-sha-1-signature-hash-algorithm-is-removed-in-237) for details and workaround instructions. 221 222 ### Bug fixes 223 224 - fix: skip redirect url validation when it's the base href (#10058) (#10116) 225 - fix: upgrade moment from 2.29.2 to 2.29.3 (#9330) 226 - fix: avoid CVE-2022-28948 (#10093) 227 - fix: use serviceaccount name instead of struct (#9614) 228 - fix: create serviceaccount token for v1.24 clusters (#9546) 229 230 ### Other changes 231 232 - test: Remove cluster e2e tests not intended for release-2.3 233 - test: Remove circular symlinks from testdata (#9886) 234 - chore(deps): bump moment from 2.29.3 to 2.29.4 in /ui (#9897) 235 - chore: upgrade moment to latest version to fix CVE (#9005) 236 - chore: move dependencies to dev dependencies (#8541) 237 - docs: add OpenSSH breaking change notes (#10104) 238 - chore: update parse-url (#10101) 239 - chore: upgrade base image to 22.04 (#10103) 240 - docs: simplify Docker toolchain docs (#9966) (#10006) 241 - chore: update redis to 6.2.7 avoid CVE-2022-30065/CVE-2022-2097 (#10062) 242 - chore: upgrade Dex to 2.32.0 (#10036) (#10042) 243 - chore: update haproxy to 2.0.29 for redis-ha (#10045) 244 - test: check for error messages from CI env (#9953) 245 246 ## v2.3.6 (2022-07-12) 247 248 ### Security fixes 249 250 * HIGH: Certificate verification is skipped for connections to OIDC providers ([GHSA-7943-82jg-wmw5](https://github.com/argoproj/argo-cd/security/advisories/GHSA-7943-82jg-wmw5)) 251 * LOW: A leaked API server encryption key can allow XSS for SSO users ([GHSA-pmjg-52h9-72qv](https://github.com/argoproj/argo-cd/security/advisories/GHSA-pmjg-52h9-72qv)) 252 253 ### Potentially-breaking changes 254 255 The fix for GHSA-7943-82jg-wmw5 enables TLS certificate validation by default for connections to OIDC providers. If 256 connections to your OIDC provider fails validation, SSO will be broken for your Argo CD instance. You should test 2.3.6 257 before upgrading it to production. From the new documentation: 258 259 > By default, all connections made by the API server to OIDC providers (either external providers or the bundled Dex 260 > instance) must pass certificate validation. These connections occur when getting the OIDC provider's well-known 261 > configuration, when getting the OIDC provider's keys, and when exchanging an authorization code or verifying an ID 262 > token as part of an OIDC login flow. 263 > 264 > Disabling certificate verification might make sense if: 265 > * You are using the bundled Dex instance **and** your Argo CD instance has TLS configured with a self-signed certificate 266 > **and** you understand and accept the risks of skipping OIDC provider cert verification. 267 > * You are using an external OIDC provider **and** that provider uses an invalid certificate **and** you cannot solve 268 > the problem by setting `oidcConfig.rootCA` **and** you understand and accept the risks of skipping OIDC provider cert 269 > verification. 270 > 271 > If either of those two applies, then you can disable OIDC provider certificate verification by setting 272 > `oidc.tls.insecure.skip.verify` to `"true"` in the `argocd-cm` ConfigMap. 273 274 ### Bug fixes 275 276 * fix: webhook typo in case of error in GetManifests (#9671) 277 278 ## v2.3.5 (2022-06-21) 279 280 ### Security fixes 281 282 * CRITICAL: External URLs for Deployments can include javascript ([GHSA-h4w9-6x78-8vrj](https://github.com/argoproj/argo-cd/security/advisories/GHSA-h4w9-6x78-8vrj)) 283 * HIGH: Insecure entropy in PKCE/Oauth2/OIDC params ([GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v)) 284 * MODERATE: DoS through large directory app manifest files ([GHSA-jhqp-vf4w-rpwq](https://github.com/argoproj/argo-cd/security/advisories/GHSA-jhqp-vf4w-rpwq)) 285 * MODERATE: Symlink following allows leaking out-of-bounds YAML files from Argo CD repo-server ([GHSA-q4w5-4gq2-98vm](https://github.com/argoproj/argo-cd/security/advisories/GHSA-q4w5-4gq2-98vm)) 286 287 ### Potentially-breaking changes 288 289 From the [GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v) description: 290 291 > The patch introduces a new `reposerver.max.combined.directory.manifests.size` config parameter, which you should tune before upgrading in production. It caps the maximum total file size of .yaml/.yml/.json files in directory-type (raw manifest) Applications. The default max is 10M per Application. This max is designed to keep any single app from consuming more than 3G of memory in the repo-server (manifests consume more space in memory than on disk). The 300x ratio assumes a maliciously-crafted manifest file. If you only want to protect against accidental excessive memory use, it is probably safe to use a smaller ratio. 292 > 293 > If your organization uses directory-type Applications with very many manifests or very large manifests then check the size of those manifests and tune the config parameter before deploying this change to production. When testing, make sure to do a "hard refresh" in either the CLI or UI to test your directory-type App. That will make sure you're using the new max logic instead of relying on cached manifest responses from Redis. 294 295 ### Bug fixes 296 297 * fix: missing Helm params (#9565) (#9566) 298 299 ### Other 300 301 * test: directory app manifest generation (#9503) 302 * chore: eliminate go-mpatch dependency (#9045) 303 * chore: Make unit tests run on platforms other than amd64 (#8995) 304 * chore: remove obsolete repo-server unit test (#9559) 305 * chore: update golangci-lint (#8988) 306 * fix: test race (#9469) 307 * chore: upgrade golangci-lint to v1.46.2 (#9448) 308 * test: fix ErrorContains (#9445) 309 310 ## v2.3.4 (2022-05-18) 311 312 ### Security fixes 313 314 - CRITICAL: Argo CD will trust invalid JWT claims if anonymous access is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj) 315 - LOW: Login screen allows message spoofing if SSO is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-xmg8-99r8-jc2j) 316 - MODERATE: Symlink following allows leaking out-of-bound manifests and JSON files from Argo CD repo-server (https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h) 317 318 ### Bug Fixes 319 320 - fix: Fix docs build error (#8895) 321 - fix: fix broken monaco editor collapse icons (#8709) 322 - chore: upgrade to go 1.17.8 (#8866) (#9004) 323 - fix: allow cli/ui to follow logs (#8987) (#9065) 324 325 ## v2.3.3 (2022-03-29) 326 327 - fix: prevent excessive repo-server disk usage for large repos (#8845) (#8897) 328 - fix: Set QPS and burst rate for resource ops client (#8915) 329 330 ## v2.3.2 (2022-03-22) 331 332 - fix: application resource APIs must enforce project restrictions 333 334 ## v2.3.1 (2022-03-10) 335 336 - fix: Retry checkbox unchecked unexpectedly; Sync up with YAML (#8682) (#8720) 337 - chore: Bump stable version of application set addon (#8744) 338 - fix: correct jsonnet paths resolution (#8721) 339 - fix(ui): Applications page incorrectly resets to tiles view. Fixes #8702 (#8718) 340 341 ## v2.3.0 (2022-03-05) 342 343 ### Argo CD ApplicationSet and Notifications are now part of Argo CD 344 345 Two popular [Argoproj Labs](https://github.com/argoproj-labs) projects [Argo CD ApplicationSet](https://github.com/argoproj/applicationset) and 346 [Argo CD Notifications](https://github.com/argoproj-labs/argocd-notifications) are now part of Argo CD! The default Argo CD installation manifests now 347 bundle both projects out of the box. Going forward you can expect more tightened integration of these projects into Argo CD. 348 349 ### New sync and diff strategies 350 351 Users can now configure the Application resource to instruct Argo CD to consider the ignore difference setup during the sync process. 352 In order to do so, add the new sync option RespectIgnoreDifferences=true in the Application resource. Once the sync option is added, 353 Argo CD won't change ignored fields during the syncing process. 354 355 Configuring ignored fields is also easier now. Instead of listing fields one by one users can now leverage the 356 managedFields metadata to instruct Argo CD about trusted managers and automatically ignore any fields owned by them. A new diff customization 357 (managedFieldsManagers) is now available allowing users to specify managers the application should trust and to ignore all fields owned by those managers. 358 Read more about these changes at [New sync and diff strategies in ArgoCD](https://blog.argoproj.io/new-sync-and-diff-strategies-in-argocd-44195d3f8b8c) blog post. 359 360 ### ARM Images 361 362 An officially supported ARM 64 image is now available. Enjoy running Argo CD on your Raspberry Pi! Additionally, the image size was reduced by nearly ~50% 363 and is only 200MB now. The ARM version of `argocd` CLI is also available and published as a Github release artifact. 364 365 ### Compact Tree View And Click Application Navigation 366 367 The application details page now supports compact application resources tree visualization. Using the "Group Nodes" button, you can collapse the similar resources 368 into a single group node to remove the clutter and make it easier to understand the state of application resources. You still can get detailed information about the collapsed resources by clicking on the group node. The list of collapsed resources will be available in a sliding panel. Compact resource tree is still too big? 369 You can use the zoom in and zoom out feature to make it smaller - or even larger! 370 371 You no longer need to move back and forth between the application details page and the application list page. Instead you can navigate directly to the required application by clicking the search icon in the application details page title. 372 373 ### Upgraded Config Management Tools 374 375 Both bundled Helm and Kustomize binaries have been upgraded to the latest versions. Kustomize has been upgraded from 4.2.0 to 4.4.1 and Helm has been upgraded from 3.7.1 to 3.8.0. 376 377 ### Bug Fixes and Performance Enhancements 378 379 * Config management tools enhancements: 380 * The skipCrds flag and ability to ignore missing values files for Helm (#8012, #8003) 381 * Additional environment variables for Kustomize (#8096) 382 * Argo CD CLI follows the XDG Base directory standard (#7638) 383 * Redis is no longer used during SSO login (#8241) 384 385 386 ### Features 387 388 - feat: Add app list and details page views to navigation history (#7776) (#7937) 389 - feat: Add skipCrds flag for helm charts (#8012) 390 - feat: Add visual indicator for newly created pods (#8006) 391 - feat: Added a new Helm option ignoreMissingValueFiles (#7767) (#8003) 392 - feat: Allow configuring system wide ignore differences for all resources (#8224) 393 - feat: Allow escaping dollar in Envsubst (#7961) 394 - feat: Allow external links on Application (#3487) (#8231) 395 - feat: Allow selecting application on detail page (#8176) 396 - feat: Bundle applicationset-controller with argocd (#8148) 397 - feat: Enable specifying root ca for oidc (#6712) 398 - feat: Expose ARGOCD_APP_NAME to the `kustomize build` command (#8096) 399 - feat: Ignore differences owned by trusted managers from managedFields (#7869) 400 - feat: New sync option to use ignore diff configs during sync (#8078) 401 - feat: Provide address flag for admin dashboard command (#8095) 402 - feat: Store "Group Nodes" button state in application details preferences (#8036) 403 - feat: Support specifying cluster by name in addition to API server URL in Cluster API (#8077) 404 - feat: Support XDG Base directory standard (#7638) (#7791) 405 - feat: Use encrypted cookie to store OAuth2 state nonce (instead of redis) (#8241) 406 - feat: Build images on PR and conditionally build arm64 image on push (#8108) 407 408 ### Bug Fixes 409 410 - fix: Add "Restarting MinIO" status to MiniO Tenant health check (#8191) 411 - fix: Add all resources in list view (#7295) 412 - fix: Adding pagination to grouped nodes sliding panel#7837 (#7915) 413 - fix: Allow all resources to add external links (#7923) 414 - fix: Always call ValidateDestination (#7976) 415 - fix: Application exist panic when execute api call (#8188) 416 - fix: Application-icons-alignment (#8054) 417 - fix: Controller panics if resource manifest has incorrect annotation (#8022) 418 - fix: Correctly handle project field during partial cluster update (#7994) 419 - fix: Default value for retry validation #8055 (#8064) 420 - fix: Fix a possible crash when parsing RBAC (#8165) 421 - fix: Grouped node list missing resources on Compact resources view #8014 (#8018) 422 - fix: Issue with headless installation (#7958) 423 - fix: Issue with project scoped resources (#8048) 424 - fix: Kubernetes labels normalization for Prometheus (#7925) 425 - fix: Nested Refresh dropdown does not work on Application Details page #1524 (#7950) 426 - fix: Network line colors and menu icon alignment (#8059) 427 - fix: Opening app details shows UI error on some apps (#8016) (#8019) 428 - fix: Parse to correct uint32 type (#8177) 429 - fix: Prevent possible nil-pointer deref in normalizer (#8185) 430 - fix: Prevent possible out-of-bounds access when loading policies (#8186) 431 - fix: Provide a semantic version parsed version for KUBE_VERSION (#8250) 432 - fix: Refreshing label toast (#7979) 433 - fix: Resource details page crashes when resource is not deployed and hide managed fields is selected (#7971) 434 - fix: Retry disabled text (#8004) 435 - fix: Route health check stuck in 'Progressing' (#8170) 436 - fix: Sync window panel is crashed if resource name not contain letters (#8053) 437 - fix: Targetervision compatible without prefix refs/heads or refs/tags (#7939) 438 - fix: Trailing line in Filter Dropdown Menus #7821 (#8001) 439 - fix: Webhook URL matching edge cases (#7981) 440 - fix(ui): Use consistent case for diff modes (#7945) 441 - fix: Use gRPC timeout for sidecar CMPs (#8131) (#8236) 442 443 ### Other 444 445 - chore: Bump go-jsonnet to v0.18.0 (#8011) 446 - chore: Escape proj in regex (#7985) 447 - chore: Exclude argocd-server rbac for core-install (#8234) 448 - chore: Log out the resource triggering reconciliation (#8192) 449 - chore: Migrate to use golang-jwt/jwt v4.2.0 (#8136) 450 - chore: Move resolveRevision from api-server to repo-server (#7966) 451 - chore: Update notifications version (#8267) 452 - chore: Update slack version (#8299) 453 - chore: Update to Redis 6.2.4 (#8157) 454 - chore: Upgrade awscli to 2.4.6 and remove python deps (#7947) 455 - chore: Upgrade base image to ubuntu:21.10 (#8230) 456 - chore: Upgrade dex to v2.30.2 (https://github.com/dexidp/dex/issues/2326) (#8237) 457 - chore: Upgrade gitops engine (#8288) 458 - chore: Upgrade golang to 1.17.6 (#8229) 459 - chore: Upgrade helm to most recent version (v3.7.2) (#8226) 460 - chore: Upgrade k8s client to v1.23 (#8213) 461 - chore: Upgrade kustomize to most recent version (v4.4.1) (#8227) 462 - refactor: Introduce 'byClusterName' secret index to speedup cluster server URL lookup (#8133) 463 - refactor: Move project filtering to server side (#8102) 464 465 ## v2.2.12 (2022-07-29) 466 467 ### Notes 468 469 This is mainly a security related release and updates compatibility with Kubernetes 1.24. 470 471 **Attention:** The base image for 2.2.x reached end-of-life on January 20, 2022. This release upgraded the base image to Ubuntu 22.04 LTS. The change should have no effect on the majority of users. But if any of your git providers only supports now-deprecated key hash algorithms, then Application syncing might break. See the [2.1-to-2.2 upgrade notes](https://argo-cd.readthedocs.io/en/latest/operator-manual/upgrading/2.1-2.2/#support-for-private-repo-ssh-keys-using-the-sha-1-signature-hash-algorithm-is-removed-in-2212) for details and workaround instructions. 472 473 ### Bug fixes 474 475 - fix: create serviceaccount token for v1.24 clusters (#9546) 476 - fix: upgrade moment from 2.29.2 to 2.29.3 (#9330) 477 - fix: avoid CVE-2022-28948 (#10093) 478 479 ### Other changes 480 481 - chore: Remove deprecated K8s versions from test matrix 482 - chore: Go mod tidy 483 - test: Remove circular symlinks from testdata (#9886) 484 - test: Fix e2e tests for release-2.2 branch 485 - chore: bump redoc vesion to avoid CVE-2021-23820 (#8604) 486 - chore(deps): bump moment from 2.29.3 to 2.29.4 in /ui (#9897) 487 - chore: upgrade moment to latest version to fix CVE (#9005) 488 - chore: move dependencies to dev dependencies (#8541) 489 - docs: add OpenSSH breaking change notes (#10104) 490 - chore: update parse-url (#10101) 491 - chore: fix codegen 492 - chore: fix codegen 493 - chore: upgrade base image to 22.04 (#10105) 494 - docs: simplify Docker toolchain docs (#9966) (#10006) 495 - chore: update redis to 6.2.7 avoid CVE-2022-30065/CVE-2022-2097 (#10068) 496 - chore: upgrade Dex to 2.32.0 (#10036) (#10042) 497 - chore: update haproxy to 2.0.29 for redis-ha (#10045) 498 - test: check for error messages from CI env (#9953) 499 500 ## v2.2.11 (2022-07-12) 501 502 ### Security fixes 503 504 * HIGH: Certificate verification is skipped for connections to OIDC providers ([GHSA-7943-82jg-wmw5](https://github.com/argoproj/argo-cd/security/advisories/GHSA-7943-82jg-wmw5)) 505 * LOW: A leaked API server encryption key can allow XSS for SSO users ([GHSA-pmjg-52h9-72qv](https://github.com/argoproj/argo-cd/security/advisories/GHSA-pmjg-52h9-72qv)) 506 507 ### Potentially-breaking changes 508 509 The fix for GHSA-7943-82jg-wmw5 enables TLS certificate validation by default for connections to OIDC providers. If 510 connections to your OIDC provider fails validation, SSO will be broken for your Argo CD instance. You should test 2.2.11 511 before upgrading it to production. From the new documentation: 512 513 > By default, all connections made by the API server to OIDC providers (either external providers or the bundled Dex 514 > instance) must pass certificate validation. These connections occur when getting the OIDC provider's well-known 515 > configuration, when getting the OIDC provider's keys, and when exchanging an authorization code or verifying an ID 516 > token as part of an OIDC login flow. 517 > 518 > Disabling certificate verification might make sense if: 519 > * You are using the bundled Dex instance **and** your Argo CD instance has TLS configured with a self-signed certificate 520 > **and** you understand and accept the risks of skipping OIDC provider cert verification. 521 > * You are using an external OIDC provider **and** that provider uses an invalid certificate **and** you cannot solve 522 > the problem by setting `oidcConfig.rootCA` **and** you understand and accept the risks of skipping OIDC provider cert 523 > verification. 524 > 525 > If either of those two applies, then you can disable OIDC provider certificate verification by setting 526 > `oidc.tls.insecure.skip.verify` to `"true"` in the `argocd-cm` ConfigMap. 527 528 ### Features 529 530 * feat: enable specifying root ca for oidc (#6712) 531 532 ### Bug fixes 533 534 * fix: webhook typo in case of error in GetManifests (#9671) 535 536 ## v2.2.10 (2022-06-21) 537 538 ### Security fixes 539 540 * CRITICAL: External URLs for Deployments can include javascript ([GHSA-h4w9-6x78-8vrj](https://github.com/argoproj/argo-cd/security/advisories/GHSA-h4w9-6x78-8vrj)) 541 * HIGH: Insecure entropy in PKCE/Oauth2/OIDC params ([GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v)) 542 * MODERATE: DoS through large directory app manifest files ([GHSA-jhqp-vf4w-rpwq](https://github.com/argoproj/argo-cd/security/advisories/GHSA-jhqp-vf4w-rpwq)) 543 * MODERATE: Symlink following allows leaking out-of-bounds YAML files from Argo CD repo-server ([GHSA-q4w5-4gq2-98vm](https://github.com/argoproj/argo-cd/security/advisories/GHSA-q4w5-4gq2-98vm)) 544 545 ### Potentially-breaking changes 546 547 From the [GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v) description: 548 549 > The patch introduces a new `reposerver.max.combined.directory.manifests.size` config parameter, which you should tune before upgrading in production. It caps the maximum total file size of .yaml/.yml/.json files in directory-type (raw manifest) Applications. The default max is 10M per Application. This max is designed to keep any single app from consuming more than 3G of memory in the repo-server (manifests consume more space in memory than on disk). The 300x ratio assumes a maliciously-crafted manifest file. If you only want to protect against accidental excessive memory use, it is probably safe to use a smaller ratio. 550 > 551 > If your organization uses directory-type Applications with very many manifests or very large manifests then check the size of those manifests and tune the config parameter before deploying this change to production. When testing, make sure to do a "hard refresh" in either the CLI or UI to test your directory-type App. That will make sure you're using the new max logic instead of relying on cached manifest responses from Redis. 552 553 ### Bug fixes 554 555 * fix: missing Helm params (#9565) (#9566) 556 557 ### Other 558 559 * test: directory app manifest generation (#9503) 560 * test: fix erroneous test change 561 * chore: eliminate go-mpatch dependency (#9045) 562 * chore: Make unit tests run on platforms other than amd64 (#8995) 563 * chore: remove obsolete repo-server unit test (#9559) 564 * chore: upgrade golangci-lint to v1.46.2 (#9448) 565 * chore: update golangci-lint (#8988) 566 567 ## v2.2.9 (2022-05-18) 568 569 ### Notes 570 571 This is a security release. We urge all users of the 2.2.z branch to update as soon as possible. Please refer to the _Security fixes_ section below for more details. 572 573 ### Security fixes 574 575 - CRITICAL: Argo CD will trust invalid JWT claims if anonymous access is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj) 576 - LOW: Login screen allows message spoofing if SSO is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-xmg8-99r8-jc2j) 577 - MODERATE: Symlink following allows leaking out-of-bound manifests and JSON files from Argo CD repo-server (https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h) 578 579 ## v2.2.8 (2022-03-22) 580 581 ### Special notes 582 583 This release contains the fix for a security issue with critical severity. We recommend users on the 2.2 release branch to update to this release as soon as possible. 584 585 More information can be found in the related 586 [security advisory](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2f5v-8r3f-8pww). 587 588 ### Changes 589 590 As part of the security fix, the Argo CD UI no longer automatically presents child resources of allow-listed resources unless the child resources are also allow-listed. For example, Pods are not going to show up if only Deployment is added to the allow-list. 591 592 If you have [projects](https://argo-cd.readthedocs.io/en/stable/user-guide/projects/) configured with allow-lists, make sure the allow-lists include all the resources you want users to be able to view/manage through the UI. For example, if your project allows `Deployments`, you would add `ReplicaSets` and `Pods`. 593 594 #### Bug Fixes 595 596 - fix: application resource APIs must enforce project restrictions 597 598 ## v2.2.7 (2022-03-08) 599 600 ### Bug Fixes 601 602 - fix: correct jsonnet paths resolution (#8721) 603 604 ## v2.2.6 (2022-03-06) 605 606 ### Bug Fixes 607 608 - fix: prevent file traversal using helm file values param and application details api (#8606) 609 - fix!: enforce app create/update privileges when getting repo details (#8558) 610 - feat: support custom helm values file schemes (#8535) 611 612 ## v2.2.5 (2022-02-04) 613 614 - fix: Resolve symlinked value files correctly (#8387) 615 616 ## v2.2.4 (2022-02-03) 617 618 ### Special notes 619 620 This release contains the fix for a security issue with high severity. We recommend users on the 2.2 release branch to update to this release as soon as possible. 621 622 More information can be found in the related 623 [security advisory](https://github.com/argoproj/argo-cd/security/advisories/GHSA-63qx-x74g-jcr7) 624 625 ### Bug Fixes 626 627 - fix: Prevent value files outside repository root 628 629 ### Other changes 630 631 - chore: upgrade dex to v2.30.2 (backport of #8237) (#8257) 632 633 ## v2.2.3 (2022-01-18) 634 635 - fix: Application exist panic when execute api call (#8188) 636 - fix: Route health check stuck in 'Progressing' (#8170) 637 - refactor: Introduce 'byClusterName' secret index to speedup cluster server URL lookup (#8133) 638 - chore: Update to Redis 6.2.4 (#8157) (#8158) 639 640 ## v2.2.2 (2021-12-31) 641 642 - fix: Issue with project scoped resources (#8048) 643 - fix: Escape proj in regex (#7985) 644 - fix: Default value for retry validation #8055 (#8064) 645 - fix: Sync window panel is crashed if resource name not contain letters (#8053) 646 - fix: Upgrade github.com/argoproj/gitops-engine to v0.5.2 647 - fix: Retry disabled text (#8004) 648 - fix: Opening app details shows UI error on some apps (#8016) (#8019) 649 - fix: Correctly handle project field during partial cluster update (#7994) 650 - fix: Cluster API does not support updating labels and annotations (#7901) 651 652 ## v2.2.1 (2021-12-16) 653 654 - fix: Resource details page crashes when resource is not deployed and hide managed fields is selected (#7971) 655 - fix: Issue with headless installation (#7958) 656 - fix: Nil pointer (#7905) 657 658 ## v2.2.0 (2021-12-14) 659 660 > [Upgrade instructions](./docs/operator-manual/upgrading/2.1-2.2.md) 661 662 ### Project Scoped repositories and clusters 663 664 The project scoped repositories and clusters is a feature that simplifies registering the repositories and cluster credentials. 665 Instead of requiring operators to set up in advance all clusters and git repositories that can be used, developers can now do 666 this on their own in a self-service manner. 667 668 ### Config Management Plugins V2 669 670 The Config Management Plugins V2 is set of enhancement of the existing config management plugins feature. 671 The list includes improved installation experience, ability to package plugin into a separate image and 672 improved plugin manifests discovery. 673 674 ### Resource tracking 675 676 Argo CD has traditionally tracked the resources it manages by the well-known "app.kubernetes.io/instance" property. 677 While using this property works ok in simple scenarios, it also has several limitations. ArgoCD now allows you to use 678 a new annotation (argocd.argoproj.io/tracking-id) for tracking your resources. Using this annotation is a much more flexible approach 679 as there are no conflicts with other Kubernetes tools, and you can easily install multiple Argo CD instances on the same clusters. 680 681 ### Bug Fixes and Performance Enhancements 682 683 * Argo CD API server caches RBAC checks that significantly improves the GET /api/v1/applications API performance (#7587) 684 * Argo CD RBAC supports regex matches (#7165) 685 * Health check support for KubeVirt (#7176), Cassandra (#7017), Openshift Route (#7112), DeploymentConfig (#7114), Confluent (#6957) and SparkApplication (#7434) CRDs. 686 * Persistent banner (#7312) with custom positioning (#7462) 687 * Cluster name support in project destinations (#7198) 688 * around 30 more features and a total of 84 bug fixes 689 690 ## v2.1.16 (2022-06-21) 691 692 ### Security fixes 693 694 * CRITICAL: External URLs for Deployments can include javascript ([GHSA-h4w9-6x78-8vrj](https://github.com/argoproj/argo-cd/security/advisories/GHSA-h4w9-6x78-8vrj)) 695 * HIGH: Insecure entropy in PKCE/Oauth2/OIDC params ([GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v)) 696 * MODERATE: DoS through large directory app manifest files ([GHSA-jhqp-vf4w-rpwq](https://github.com/argoproj/argo-cd/security/advisories/GHSA-jhqp-vf4w-rpwq)) 697 * MODERATE: Symlink following allows leaking out-of-bounds YAML files from Argo CD repo-server ([GHSA-q4w5-4gq2-98vm](https://github.com/argoproj/argo-cd/security/advisories/GHSA-q4w5-4gq2-98vm)) 698 699 **Note:** This will be the last security fix release in the 2.1.x series. Please [upgrade to a newer minor version](https://argo-cd.readthedocs.io/en/latest/operator-manual/upgrading/overview/) to continue to get security fixes. 700 701 ### Potentially-breaking changes 702 703 From the [GHSA-2m7h-86qq-fp4v](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2m7h-86qq-fp4v) description: 704 705 > The patch introduces a new `reposerver.max.combined.directory.manifests.size` config parameter, which you should tune before upgrading in production. It caps the maximum total file size of .yaml/.yml/.json files in directory-type (raw manifest) Applications. The default max is 10M per Application. This max is designed to keep any single app from consuming more than 3G of memory in the repo-server (manifests consume more space in memory than on disk). The 300x ratio assumes a maliciously-crafted manifest file. If you only want to protect against accidental excessive memory use, it is probably safe to use a smaller ratio. 706 > 707 > If your organization uses directory-type Applications with very many manifests or very large manifests then check the size of those manifests and tune the config parameter before deploying this change to production. When testing, make sure to do a "hard refresh" in either the CLI or UI to test your directory-type App. That will make sure you're using the new max logic instead of relying on cached manifest responses from Redis. 708 709 ### Bug fixes 710 711 * fix: missing Helm params (#9565) (#9566) 712 713 ### Other 714 715 * test: directory app manifest generation (#9503) 716 * test: fix erroneous test change 717 * chore: eliminate go-mpatch dependency (#9045) 718 * chore: Make unit tests run on platforms other than amd64 (#8995) 719 * chore: remove obsolete repo-server unit test (#9559) 720 * chore: upgrade golangci-lint to v1.46.2 (#9448) 721 * chore: update golangci-lint (#8988) 722 * test: fix ErrorContains (#9445) 723 724 ## v2.1.15 (2022-05-18) 725 726 ### Notes 727 728 This is a security release. We urge all users of the 2.1.z branch to update as soon as possible. Please refer to the _Security fixes_ section below for more details. 729 730 ### Security fixes 731 732 - CRITICAL: Argo CD will trust invalid JWT claims if anonymous access is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-r642-gv9p-2wjj) 733 - LOW: Login screen allows message spoofing if SSO is enabled (https://github.com/argoproj/argo-cd/security/advisories/GHSA-xmg8-99r8-jc2j) 734 - MODERATE: Symlink following allows leaking out-of-bound manifests and JSON files from Argo CD repo-server (https://github.com/argoproj/argo-cd/security/advisories/GHSA-6gcg-hp2x-q54h) 735 736 ## v2.1.14 (2022-03-22) 737 738 ### Special notes 739 740 This release contains the fix for a security issue with critical severity. We recommend users on the 2.1 release branch to update to this release as soon as possible. 741 742 More information can be found in the related 743 [security advisory](https://github.com/argoproj/argo-cd/security/advisories/GHSA-2f5v-8r3f-8pww). 744 745 ### Changes 746 747 As part of the security fix, the Argo CD UI no longer automatically presents child resources of allow-listed resources unless the child resources are also allow-listed. For example, Pods are not going to show up if only Deployment is added to the allow-list. 748 749 If you have [projects](https://argo-cd.readthedocs.io/en/stable/user-guide/projects/) configured with allow-lists, make sure the allow-lists include all the resources you want users to be able to view/manage through the UI. For example, if your project allows `Deployments`, you would add `ReplicaSets` and `Pods`. 750 751 #### Bug Fixes 752 753 - fix: application resource APIs must enforce project restrictions 754 755 ## v2.1.13 (2022-03-22) 756 757 Unused release number. 758 759 ## v2.1.12 (2022-03-08) 760 761 ### Bug Fixes 762 763 - fix: correct jsonnet paths resolution (#8721) 764 765 ## v2.1.11 (2022-03-06) 766 767 ### Bug Fixes 768 769 - fix: prevent file traversal using helm file values param and application details api (#8606) 770 - fix!: enforce app create/update privileges when getting repo details (#8558) 771 - feat: support custom helm values file schemes (#8535) 772 773 ## v2.1.10 (2022-02-04) 774 775 ### Bug Fixes 776 777 - fix: Resolve symlinked value files correctly (#8387) 778 779 ## v2.1.9 (2022-02-03) 780 781 ### Special notes 782 783 This release contains the fix for a security issue with high severity. We recommend users on the 2.1 release branch to update to this release as soon as possible. 784 785 More information can be found in the related 786 [security advisory](https://github.com/argoproj/argo-cd/security/advisories/GHSA-63qx-x74g-jcr7) 787 788 ### Bug Fixes 789 790 - fix: Prevent value files outside repository root 791 792 ## v2.1.8 (2021-12-13) 793 794 ### Bug Fixes 795 796 - fix: issue with keepalive (#7861) 797 - fix nil pointer dereference error (#7905) 798 - fix: env vars to tune cluster cache were broken (#7779) 799 - fix: upgraded gitops engine to v0.4.2 (fixes #7561) 800 801 ## v2.1.7 (2021-12-14) 802 803 - fix: issue with keepalive (#7861) 804 - fix nil pointer dereference error (#7905) 805 - fix: env vars to tune cluster cache were broken (#7779) 806 - fix: upgraded gitops engine to v0.4.2 (fixes #7561) 807 808 809 ## v2.1.6 (2021-11-16) 810 811 - fix: don't use revision caching during app creation (#7508) 812 - fix: supporting OCI dependencies. Fixes #6062 (#6994) 813 814 ## v2.1.5 (2021-11-16) 815 816 - fix: Invalid memory address or nil pointer dereference in processRequestedAppOperation (#7501) 817 818 ## v2.1.4 (2021-11-15) 819 820 - fix: Operation has completed with phase: Running (#7482) 821 - fix: Application status panel shows Syncing instead of Deleting (#7486) 822 - fix(ui): Add Error Boundary around Extensions and comply with new Extensions API (#7215) 823 824 825 ## v2.1.3 (2021-10-29) 826 827 - fix: core-install.yaml always refers to latest argocd image (#7321) 828 - fix: handle applicationset backup forbidden error (#7306) 829 - fix: Argo CD should not use cached git/helm revision during app creation/update validation (#7244) 830 831 ## v2.1.2 (2021-10-02) 832 833 - fix: cluster filter popping out of box (#7135) 834 - fix: gracefully shutdown metrics server when dex config changes (#7138) 835 - fix: upgrade gitops engine version to v0.4.1 (#7088) 836 - fix: repository name already exists when multiple helm dependencies (#7096) 837 838 839 ## v2.1.1 (2021-08-25) 840 841 ### Bug Fixes 842 843 - fix: password reset requirements (#7071) 844 - fix: Custom Styles feature is broken (#7067) 845 - fix(ui): Add State to props passed to Extensions (#7045) 846 - fix: keep uid_entrypoint.sh for backward compatibility (#7047) 847 848 ## v2.1.0 (2021-08-20) 849 850 > [Upgrade instructions](./docs/operator-manual/upgrading/2.0-2.1.md) 851 852 ### Argo CD Core 853 854 Argo CD Core - lightweight Argo CD distribution that packages only core GitOps features and relies 855 on Kubernetes API/RBAC to power UI and CLI. 856 857 ### Core Features 858 859 * The synchronization process became much much faster and requires significantly less memory. 860 * An additional caching that ensures that each repository's target revisions are queried only once per 861 reconciliation cycle. This dramatically reduces the number of Git requests. 862 * Improved Diffing Customizations: use JQ path expressions to exclude required fields from the diffing. 863 * Health assessment support for new CRDs: introduced health assessment of CRDs from trident.netapp.io, 864 elasticsearch.k8s.elastic.co, cluster.x-k8s.io, and minio.min.io API groups. 865 866 ### Improved Settings 867 868 A set of changes had been implemented to simplify configuring Argo CD. 869 870 * Simplified Repository Registration: you no longer need to modify the argocd-cm ConfigMap to register a 871 new Git or Helm repository. 872 * Enhanced Resource Customizations: the resource.customizations key has been deprecated in favor of 873 a separate ConfigMap key per resource. 874 * Reference secret values from any Kubernetes secret: starting v2.1 you can use sensitive data stored in 875 any Kubernetes secret to configure Argo CD. 876 * Simplify parametrization of Argo CD server processes: an additional optional ConfigMap argocd-cmd-params-cm 877 has been introduced. 878 879 ### Refreshed User Interface 880 881 * Enhanced and more consistent filters on Applications List and Applications Details pages. 882 * Status bar on the Application List page. 883 * The redesigned search box on the Application List page and more. 884 885 ### The argocd-util CLI deprecation 886 887 The argocd CLI and now available under argocd admin subcommand. 888 889 ## v2.0.5 (2021-07-22) 890 891 * fix: allow argocd-notification ingress to repo-server (#6746) 892 * fix: argocd-server crashes due to nil pointer dereference (#6757) 893 * fix: WebUI failure when loading pod view 't.parentRefs is undefined' (#6490) (#6535) 894 * fix: prevent 'cannot read property "filter" of undefined' during nodes filtering (#6453) 895 * fix: download Pod Logs button not honouring argocd-server rootpath (#6548) (#6627) 896 * fix: Version warning banner in docs (#6682) 897 * fix: upgrade gitops engine to fix workflow health check 898 899 ## v2.0.4 (2021-06-22) 900 901 * fix: typo in networkPolicy definition in manifests (#6532) 902 * fix: Update redis to 6.2.4 (#6475) 903 * fix: allows access to dex metrics from any pod (#6420) 904 * fix: add client side retry to prevent 'transport is closing' errors (#6402) 905 * fix: Update documentation Argocd app CRD health with app of apps (#6281) 906 * fix(ui): Crash on application pod view (#6384) 907 * chore: pin mkdocs version to fix docs build (#6421) 908 * chore: regenerate manifests using codegen (#6422) 909 * refactor: use RLock and RUnlock for project to improve performance (#6225) 910 * chore: Update Golang to v1.16.4 (#6358) 911 912 ## v2.0.3 (2021-05-27) 913 914 ### Bug Fixes 915 916 * fix: add missing --container flag to 'argocd app logs' command (#6320) 917 * fix: grpc web proxy must ensure to read full header (#6319) 918 * fix: controller should refresh app before running sync operation (#6294) 919 920 ## v2.0.2 (2021-05-20) 921 922 ### Bug Fixes 923 924 * fix: enable access to metrics port in embedded network policies (#6277) 925 * fix: display log streaming error in logs viewer (#6100) (#6273) 926 * fix: Don't count errored or completed neighbor pods toward resource consumption (#6259) 927 * fix: Enable kex algo diffie-hellman-group-exchange-sha256 for go-git ssh (#6256) 928 * fix: copy github app key from repocreds (#6140, #6197) 929 * fix(ui): UI crashes after reinstalling ArgoCD (#6218) 930 * fix: add network policies to restrict traffic flow between argocd components (#6156) 931 * fix: Revert "feat: Add health checks for kubernetes-external-secrets (#5435)" 932 * chore: Allow ingress traffic to argocd-server by default (#6179) 933 934 ## v2.0.1 (2021-04-15) 935 936 ### Bug Fixes 937 938 * fix: spark application check fails on missing section (#6036) 939 * fix: Adding explicit bind to redis and sentinel for IPv4 clusters #5957 (#6005) 940 * fix: fix: use correct field for evaluating whether or not GitHub Enterprise is selected (#5987) 941 942 ## v2.0.0 (2021-04-07) 943 944 > [Upgrade instructions](./docs/operator-manual/upgrading/1.8-2.0.md) 945 946 ### Pods View 947 948 Pods View is particularly useful for applications that have hundreds of pods. Instead of visualizing all Kubernetes 949 resources for the application, it only shows Kubernetes pods and closely related resources. The Pods View supports 950 grouping related resources by Parent Resource, Top Level Parent, or by Node. Each way of grouping solves a particular 951 use case. For example grouping by Top Level Parent allows you to quickly find how many pods your application is running 952 and which resources created them. Grouping by Node allows to see how Pods are spread across the nodes and how many 953 resources they requested. 954 955 956 ### Logs Viewer 957 958 Argo CD provides a way to see live logs of pods, which is very useful for debugging and troubleshooting. In the v2.0 959 release, the log visualization has been rewritten to support pagination, filtering, the ability to disable/enable log 960 streaming, and even a dark mode for terminal lovers. Do you want to see aggregated logs of multiple deployment pods? 961 Not a problem! Just click on the parent resource such as Deployment, ReplicaSet, or StatefulSet and navigate 962 to the Logs tab. 963 964 ### Banner Feature 965 966 Want to notify your Argo CD users of upcoming changes? Just specify the notification message and optional URL using the 967 `ui.bannercontent` and `ui.bannerurl` attributes in the `argocd-cm` ConfigMap. 968 969 ### Core Features 970 971 * The new sync option `PrunePropagationPolicy=background` allows using background deletion during syncing 972 * New application finalizer `resources-finalizer.argocd.argoproj.io:background` allows using background deletion when the application is deleted 973 * The new sync option `ApplyOutOfSyncOnly=true` allows skipping syncing resources that are already in the desired state. 974 * The new sync option `PruneLast=true` allows deferring resource pruning until the last synchronization phase after all other resources are synced and healthy. 975 976 ### The argocd-util CLI 977 978 Argo CD Util is a CLI tool that contains useful commands for operators who manage Argo CD. Starting from this release 979 the Argo CD Utility is published with every Argo CD release as a Homebrew installation. 980 981 ## v1.8.7 (2021-02-26) 982 983 ### Important note 984 This release fixed a regression regarding which cluster resources are permitted on the AppProject level. 985 Previous to this fix, after #3960 has been merged, all cluster resources were allowed on project level when neither of 986 the allow or deny lists was defined. However, the correct behavior is to block all resources in this case. 987 988 If you have Projects with empty allow and deny lists, but want the associated applications be able to sync cluster 989 resources, you will have to adapt your cluster resources allow lists to explicitly allow the resources. 990 991 - fix: redact sensitive data in logs (#5662) 992 - fix: Properly escape HTML for error message from CLI SSO (#5563) 993 - fix: Empty resource whitelist allowed all resources (#5540) (#5551) 994 995 ## v1.8.6 (2021-02-26) 996 997 - fix: Properly escape HTML for error message from CLI SSO (#5563) 998 - fix: API server should not print resource body when resource update fails (#5617) 999 - fix: fix memory leak in application controller (#5604) 1000 1001 ## v1.8.5 (2021-02-19) 1002 1003 - fix: 'argocd app wait --suspended' stuck if operation is in progress (#5511) 1004 - fix: Presync hooks stop working after namespace resource is added in a Helm chart #5522 1005 - docs: add the missing rbac resources to the documentation (#5476) 1006 - refactor: optimize argocd-application-controller redis usage (#5345) 1007 1008 ## v1.8.4 (2021-02-05) 1009 1010 - feat: set X-XSS-Protection while serving static content (#5412) 1011 - fix: version info should be available if anonymous access is enabled (#5422) 1012 - fix: disable jwt claim audience validation #5381 (#5413) 1013 - fix: /api/version should not return tools version for unauthenticated requests (#5415) 1014 - fix: account tokens should be rejected if required capability is disabled (#5414) 1015 - fix: tokens keep working after account is deactivated (#5402) 1016 - fix: a request which was using a revoked project token, would still be allowed to perform requests allowed by default policy (#5378) 1017 1018 ## v1.8.3 (2021-01-21) 1019 1020 - fix: make sure JWT token time fields contain only integer values (#5228) 1021 1022 ## v1.8.2 (2021-01-09) 1023 1024 ### Bug Fixes 1025 1026 - fix: updating cluster drops secret (#5220) 1027 - fix: remove invalid assumption about OCI helm chart path (#5179) 1028 - fix: Possible nil pointer dereference in repository API (#5128) 1029 - fix: Possible nil pointer dereference in repocreds API (#5130) 1030 - fix: use json serialization to store cache instead of github.com/vmihailenco/msgpack (#4965) 1031 - fix: add liveness probe to restart repo server if it fails to server tls requests (#5110) (#5119) 1032 - fix: Allow correct SSO redirect URL for CLI static client (#5098) 1033 - fix: add grpc health check (#5060) 1034 - fix: setting 'revision history limit' errors in UI (#5035) 1035 - fix: add api-server liveness probe that catches bad data in informer (#5026) 1036 1037 ### Refactoring 1038 1039 - chore: Update Dex to v2.27.0 (#5058) 1040 - chore: Upgrade gorilla/handlers and gorilla/websocket (#5186) 1041 - chore: Upgrade jwt-go to 4.0.0-preview1 (#5184) 1042 1043 ## v1.8.1 (2020-12-09) 1044 1045 - fix: sync retry is broken for multi-phase syncs (#5017) 1046 1047 ## v1.8.0 (2020-12-09) 1048 1049 ### Mono-Repository Improvements 1050 1051 Enhanced performance during manifest generation from mono-repository - the repository that represents the 1052 desired state of the whole cluster and contains hundreds of applications. The improved argocd-repo-server 1053 now able to concurrently generate manifests from the same repository and for the same commit SHA. This 1054 might provide 10x performance improvement of manifests generation. 1055 1056 ### Annotation Based Path Detection 1057 1058 The feature that allows specifying which source repository directories influence the application manifest generation 1059 using the `argocd.argoproj.io/manifest-generate-paths` annotation. The annotation improves the Git webhook handler 1060 behavior. The webhook avoids related applications reconciliation if no related files have been changed by the Git commit 1061 and even allows to skip manifests generation for new commit by re-using generation manifests for the previous commit. 1062 1063 ### Horizontal Controller Scaling 1064 1065 This release allows scaling the `argocd-application-controller` horizontally. This allows you to manage as many Kubernetes clusters 1066 as needed using a single Argo CD instance. 1067 1068 ## New Core Functionality Features 1069 1070 Besides performance improvements, Argo CD got a lot of usability enhancements and new features: 1071 1072 * Namespace and CRD creation [#4354](https://github.com/argoproj/argo-cd/issues/4354) 1073 * Unknown fields of built-in K8S types [#1787](https://github.com/argoproj/argo-cd/issues/1787) 1074 * Endpoints Diffing [#1816](https://github.com/argoproj/argo-cd/issues/1816) 1075 * Better compatibility with Helm Hooks [#1816](https://github.com/argoproj/argo-cd/issues/1816) 1076 * App-of-Apps Health Assessment [#3781](https://github.com/argoproj/argo-cd/issues/3781) 1077 1078 ## Global Projects 1079 1080 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 1081 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 1082 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 1083 inherit global project rules using Kubernetes labels. 1084 1085 ## User Interface Improvements 1086 1087 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: 1088 1089 * Improved Applications Filters [#4622](https://github.com/argoproj/argo-cd/issues/4622) 1090 * Git tags and branches autocompletion [#4713](https://github.com/argoproj/argo-cd/issues/4713) 1091 * Project Details Page [#4400](https://github.com/argoproj/argo-cd/issues/4400) 1092 * New version information panel [#4376](https://github.com/argoproj/argo-cd/issues/4376) 1093 * Progress Indicators [#4411](https://github.com/argoproj/argo-cd/issues/4411) 1094 * External links annotations [#4380](https://github.com/argoproj/argo-cd/issues/4380) and more! 1095 1096 ## Config Management Tools Enhancements 1097 1098 * OCI Based Repositories [#4018](https://github.com/argoproj/argo-cd/issues/4018) 1099 * Configurable Helm Versions [#4111](https://github.com/argoproj/argo-cd/issues/4111) 1100 1101 ## Bug fixes and under the hood changes 1102 1103 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. 1104 1105 ## v1.7.9 (2020-11-17) 1106 1107 - fix: improve commit verification tolerance (#4825) 1108 - fix: argocd diff --local should not print data of local secrets (#4850) 1109 - fix(ui): stack overflow crash of resource tree view for large applications (#4685) 1110 - chore: Update golang to v1.14.12 [backport to release-1.7] (#4834) 1111 - chore: Update redis to 5.0.10 (#4767) 1112 - chore: Replace deprecated GH actions directives for integration tests (#4589) 1113 1114 ## v1.7.8 (2020-10-15) 1115 1116 - fix(logging.go): changing marshaler for JSON logging to use gogo (#4319) 1117 - fix: login with apiKey capability (#4557) 1118 - fix: api-server should not try creating default project it is exists already (#4517) 1119 - fix: JS error on application list page if app has no namespace (#4499) 1120 1121 1122 ## v1.7.7 (2020-09-28) 1123 1124 - fix: Support transition from a git managed namespace to auto create (#4401) 1125 - fix: reduce memory spikes during cluster cache refresh (#4298) 1126 - fix: No error/warning condition if application destination namespace not monitored by Argo CD (#4329) 1127 - fix: Fix local diff/sync of apps using cluster name (#4201) 1128 1129 ## v1.7.6 (2020-09-18) 1130 1131 - fix: Added cluster authentication to AKS clusters (#4265) 1132 - fix: swagger UI stuck loading (#4377) 1133 - fix: prevent 'argocd app sync' hangs if sync is completed too quickly (#4373) 1134 - fix: argocd app wait/sync might stuck (#4350) 1135 - fix: failed syncs are not retried soon enough (#4353) 1136 1137 ## v1.7.5 (2020-09-15) 1138 1139 - fix: app create with -f should not ignore other options (#4322) 1140 - fix: limit concurrent list requests across all clusters (#4328) 1141 - fix: fix possible deadlock in /v1/api/stream/applications and /v1/api/application APIs (#4315) 1142 - fix: WatchResourceTree does not enforce RBAC (#4311) 1143 - fix: app refresh API should use app resource version (#4303) 1144 - fix: use informer instead of k8s watch to ensure app is refreshed (#4290) 1145 1146 1147 ## v1.7.4 (2020-09-04) 1148 1149 - fix: automatically stop watch API requests when page is hidden (#4269) 1150 - fix: upgrade gitops-engine dependency (issues #4242, #1881) (#4268) 1151 - fix: application stream API should not return 'ADDED' events if resource version is provided (#4260) 1152 - fix: return parsing error (#3942) 1153 - fix: JS error when using cluster filter in the /application view (#4247) 1154 - fix: improve applications list page client side performance (#4244) 1155 1156 ## v1.7.3 (2020-09-01) 1157 1158 - fix: application details page crash when app is deleted (#4229) 1159 - fix: api-server unnecessary normalize projects on every start (#4219) 1160 - fix: load only project names in UI (#4217) 1161 - fix: Re-create already initialized ARGOCD_GNUPGHOME on startup (#4214) (#4223) 1162 - fix: Add openshift as a dex connector type which requires a redirectURI (#4222) 1163 - fix: Replace status.observedAt with redis pub/sub channels for resource tree updates (#1340) (#4208) 1164 - fix: cache inconsistency of child resources (#4053) (#4202) 1165 - fix: do not include kube-api check in application liveness flow (#4163) 1166 1167 ## v1.7.2 (2020-08-27) 1168 1169 - fix: Sync hangs with cert-manager on latest RC (#4105) 1170 - fix: support for PKCE for cli login (#2932) 1171 1172 ## v1.7.2 (2020-08-25) 1173 1174 - fix: Unable to create project JWT token on K8S v1.15 (#4165) 1175 - fix: Argo CD does not exclude creationTimestamp from diffing (#4157) 1176 1177 ## v1.7.0 (2020-08-24) 1178 1179 ### GnuPG Signature Verification 1180 1181 The feature allows to only sync against commits that are signed in Git using GnuPG. The list of public 1182 GPG keys required for verification is configured at the system level and can be managed using Argo CD CLI or Web user interface. 1183 The keys management is integrated with Argo CD SSO and access control system (e.g. `argocd gpg add --from <path-to-key>`) 1184 1185 The signature verification is enabled on the project level. The ApplicationProject CRD has a new signatureKeys field that includes 1186 a list of imported public GPG keys. Argo CD will verify the commit signature by these keys for every project application. 1187 1188 ### Cluster Management Enhancements 1189 1190 The feature allows using the cluster name instead of the URL to specify the application destination cluster. 1191 Additionally, the cluster CLI and Web user interface have been improved. Argo CD operators now can view and edit cluster 1192 details using the Cluster Details page. The page includes cluster settings details as well as runtime information such 1193 as the number of monitored Kubernetes resources. 1194 1195 ### Diffing And Synchronization Usability 1196 1197 * **Diffing logic improvement** Argo CD performs client-side resource diffing to detect deviations and present detected 1198 differences in the UI and CLI. The 1.7 release aligns a comparison algorithm with server-side Kubernetes implementation 1199 and removes inaccuracies in some edge cases. 1200 1201 * **Helm Hooks Compatibility** The improvement removes the discrepancy between the way how Argo CD and Helm deletes 1202 hooks resources. This significantly improves the compatibility and enables additional use cases. 1203 1204 * **Namespace Auto-Creation** With a new option for applications Argo CD will ensure that namespace specified as the 1205 application destination exists in the destination cluster. 1206 1207 * **Failed Sync Retry** This feature enables retrying of failed synchronization attempts during both manually-triggered 1208 and automated synchronization. 1209 1210 ### Orphaned Resources Monitoring Enhancement 1211 1212 The enhancement allows configuring an exception list in Orphaned Resources settings to avoid false alarms. 1213 1214 ## v1.6.2 (2020-08-01) 1215 1216 - feat: adding validate for app create and app set (#4016) 1217 - fix: use glob matcher in casbin built-in model (#3966) 1218 - fix: Normalize Helm chart path when chart name contains a slash (#3987) 1219 - fix: allow duplicates when using generateName (#3878) 1220 - fix: nil pointer dereference while syncing an app (#3915) 1221 1222 ## v1.6.1 (2020-06-18) 1223 1224 - fix: User unable to generate project token even if account has appropriate permissions (#3804) 1225 1226 ## v1.6.0 (2020-06-16) 1227 1228 [1.6 Release blog post](https://blog.argoproj.io/argo-cd-v1-6-democratizing-gitops-with-gitops-engine-5a17cfc87d62) 1229 1230 ### GitOps Engine 1231 1232 As part of 1.6 release, the core Argo CD functionality has been moved into [GitOps Engine](https://github.com/argoproj/gitops-engine). 1233 GitOps Engine is a reusable library that empowers you to quickly build specialized tools that implement specific GitOps 1234 use cases, such as bootstrapping a Kubernetes cluster, or decentralized management of namespaces. 1235 1236 #### Enhancements 1237 1238 - feat: upgrade kustomize to v3.6.1 version (#3696) 1239 - feat: Add build support for ARM images (#3554) 1240 - feat: CLI: Allow setting Helm values literal (#3601) (#3646) 1241 - feat: argocd-util settings resource-overrides list-actions (#3616) 1242 - feat: adding failure retry (#3548) 1243 - feat: Implement GKE ManagedCertificate CRD health checks (#3600) 1244 - feat: Introduce diff normalizer knobs and allow for ignoring aggregated cluster roles (#2382) (#3076) 1245 - feat: Implement Crossplane CRD health checks (#3581) 1246 - feat: Adding deploy time and duration label (#3563) 1247 - feat: support delete cluster from UI (#3555) 1248 - feat: add button loading status for time-consuming operations (#3559) 1249 - feat: Add --logformat switch to API server, repository server and controller (#3408) 1250 - feat: Add a Get Repo command to see if Argo CD has a repo (#3523) 1251 - feat: Allow selecting TLS ciphers on server (#3524) 1252 - feat: Support additional metadata in Application sync operation (#3747) 1253 - feat: upgrade redis to 5.0.8-alpine (#3783) 1254 1255 #### Bug Fixes 1256 1257 - fix: settings manager should invalidate cache after updating repositories/repository credentials (#3672) 1258 - fix: Allow unsetting the last remaining values file (#3644) (#3645) 1259 - fix: Read cert data from kubeconfig during cluster addition and use if present (#3655) (#3667) 1260 - fix: oidc should set samesite cookie (#3632) 1261 - fix: Allow underscores in hostnames in certificate module (#3596) 1262 - fix: apply scopes from argocd-rbac-cm to project jwt group searches (#3508) 1263 - fix: fix nil pointer dereference error after cluster deletion (#3634) 1264 - fix: Prevent possible nil pointer dereference when getting Helm client (#3613) 1265 - fix: Allow CLI version command to succeed without server connection (#3049) (#3550) 1266 - fix: Fix login with port forwarding (#3574) 1267 - fix: use 'git show-ref' to both retrieve and store generated manifests (#3578) 1268 - fix: enable redis retries; add redis request duration metric (#3575) 1269 - fix: Disable keep-alive for HTTPS connection to Git (#3531) 1270 - fix: use uid instead of named user in Dockerfile (#3108) 1271 1272 #### Other 1273 1274 - refactoring: GitOps engine (#3066) 1275 1276 ## v1.5.8 (2020-06-16) 1277 1278 - fix: upgrade awscli version (#3774) 1279 - fix: html encode login error/description before rendering it (#3773) 1280 - fix: oidc should set samesite cookie (#3632) 1281 - fix: avoid panic in badge handler (#3741) 1282 1283 ## v1.5.7 (2020-06-09) 1284 1285 The 1.5.7 patch release resolves issue #3719 . The ARGOCD_ENABLE_LEGACY_DIFF=true should be added to argocd-application-controller deployment. 1286 1287 - fix: application with EnvoyFilter causes high memory/CPU usage (#3719) 1288 1289 ## v1.5.6 (2020-06-02) 1290 1291 - feat: Upgrade kustomize to 3.6.1 1292 - fix: Prevent possible nil pointer dereference when getting Helm client (#3613) 1293 - fix: avoid deadlock in settings manager (#3637) 1294 1295 ## v1.5.5 (2020-05-16) 1296 1297 - feat: add Rollout restart action (#3557) 1298 - fix: enable redis retries; add redis request duration metric (#3547) 1299 - fix: when --rootpath is on, 404 is returned when URL contains encoded URI (#3564) 1300 1301 ## v1.5.4 (2020-05-05) 1302 1303 - fix: CLI commands with --grpc-web 1304 1305 ## v1.5.3 (2020-05-01) 1306 1307 This patch release introduces a set of enhancements and bug fixes. Here are most notable changes: 1308 1309 #### Multiple Kustomize Versions 1310 1311 The bundled Kustomize version had been upgraded to v3.5.4. Argo CD allows changing bundled version using 1312 [custom image or init container](https://argoproj.github.io/argo-cd/operator-manual/custom_tools/). 1313 This [feature](https://argoproj.github.io/argo-cd/user-guide/kustomize/#custom-kustomize-versions) 1314 enables bundling multiple Kustomize versions at the same time and allows end-users to specify the required version per application. 1315 1316 #### Custom Root Path 1317 1318 The feature allows accessing Argo CD UI and API using a custom root path(for example https://myhostname/argocd). 1319 This enables running Argo CD behind a proxy that takes care of user authentication (such as Ambassador) or hosting 1320 multiple Argo CD using the same hostname. A set of bug fixes and enhancements had been implemented to makes it easier. 1321 Use new `--rootpath` [flag](https://argoproj.github.io/argo-cd/operator-manual/ingress/#argocd-server-and-ui-root-path-v153) to enable the feature. 1322 1323 ### Login Rate Limiting 1324 1325 The feature prevents a built-in user password brute force attack and addresses the known 1326 [vulnerability](https://argoproj.github.io/argo-cd/security_considerations/#cve-2020-8827-insufficient-anti-automationanti-brute-force). 1327 1328 ### Settings Management Tools 1329 1330 A new set of [CLI commands](https://argoproj.github.io/argo-cd/operator-manual/troubleshooting/) that simplify configuring Argo CD. 1331 Using the CLI you can test settings changes offline without affecting running Argo CD instance and have ability to troubleshot diffing 1332 customizations, custom resource health checks, and more. 1333 1334 ### Other 1335 1336 * 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. 1337 * Upgraded Dex (v2.22.0) enables seamless [SSO integration](https://www.openshift.com/blog/openshift-authentication-integration-with-argocd) with OpenShift. 1338 1339 1340 #### Enhancements 1341 1342 * feat: added --grpc-web-root-path for CLI. (#3483) 1343 * feat: limit the maximum number of concurrent login attempts (#3467) 1344 * feat: upgrade kustomize version to 3.5.4 (#3472) 1345 * feat: upgrade dex to 2.22.0 (#3468) 1346 * feat: support user specified account token ids (#3425) 1347 * feat: support separate Kustomize version per application (#3414) 1348 * feat: add support for dex prometheus metrics (#3249) 1349 * feat: add settings troubleshooting commands to the 'argocd-util' binary (#3398) 1350 * feat: Let user to define meaningful unique JWT token name (#3388) 1351 * feat: Display link between OLM ClusterServiceVersion and it's OperatorGroup (#3390) 1352 * feat: Introduce sync-option SkipDryRunOnMissingResource=true (#2873) (#3247) 1353 * feat: support normalizing CRD fields that use known built-in K8S types (#3357) 1354 * feat: Whitelisted namespace resources (#2900) 1355 1356 #### Bug Fixes 1357 1358 * fix: added path to cookie (#3501) 1359 * fix: 'argocd sync' does not take into account IgnoreExtraneous annotation (#3486) 1360 * fix: CLI renders flipped diff results (#3480) 1361 * fix: GetApplicationSyncWindows API should not validate project permissions (#3456) 1362 * fix: argocd-util kubeconfig should use RawRestConfig to export config (#3447) 1363 * fix: javascript error on accounts list page (#3453) 1364 * fix: support both <group>/<kind> as well as <kind> as a resource override key (#3433) 1365 * fix: Updating to jsonnet v1.15.0 fix issue #3277 (#3431) 1366 * fix for helm repo add with flag --insecure-skip-server-verification (#3420) 1367 * fix: app diff --local support for helm repo. #3151 (#3407) 1368 * fix: Syncing apps incorrectly states "app synced", but this is not true (#3286) 1369 * fix: for jsonnet when it is located in nested subdirectory and uses import (#3372) 1370 * fix: Update 4.5.3 redis-ha helm manifest (#3370) 1371 * fix: return 401 error code if username does not exist (#3369) 1372 * fix: Do not panic while running hooks with short revision (#3368) 1373 1374 ## v1.5.2 (2020-04-20) 1375 1376 #### Critical security fix 1377 1378 This release contains a critical security fix. Please refer to the 1379 [security document](https://argoproj.github.io/argo-cd/security_considerations/#CVE-2020-5260-possible-git-credential-leak) 1380 for more information. 1381 1382 **Upgrading is strongly recommended** 1383 1384 ## v1.4.3 (2020-04-20) 1385 1386 #### Critical security fix 1387 1388 This release contains a critical security fix. Please refer to the 1389 [security document](https://argoproj.github.io/argo-cd/security_considerations/#CVE-2020-5260-possible-git-credential-leak) 1390 for more information. 1391 1392 ## v1.5.1 (2020-04-06) 1393 1394 #### Bug Fixes 1395 1396 * fix: return 401 error code if username does not exist (#3369) 1397 * fix: Do not panic while running hooks with short revision (#3368) 1398 * fix: Increase HAProxy check interval to prevent intermittent failures (#3356) 1399 * fix: Helm v3 CRD are not deployed (#3345) 1400 1401 ## v1.5.0 (2020-04-02) 1402 1403 #### Helm Integration Enhancements - Helm 3 Support And More 1404 1405 Introduced native support Helm3 charts. For backward compatibility Helm 2 charts are still rendered using Helm 2 CLI. Argo CD inspects the 1406 Charts.yaml file and choose the right binary based on `apiVersion` value. 1407 1408 Following enhancement were implemented in addition to Helm 3: 1409 * The `--api-version` flag is passed to the `helm template` command during manifest generation. 1410 * The `--set-file` flag can be specified in the application specification. 1411 * Fixed bug that prevents automatically update Helm chart when new version is published (#3193) 1412 1413 #### Better Performance and Improved Metrics 1414 1415 If you are running Argo CD instances with several hundred applications on it, you should see a 1416 huge performance boost and significantly less Kubernetes API server load. 1417 1418 The Argo CD controller Prometheus metrics have been reworked to enable a richer Grafana dashboard. 1419 The improved dashboard is available at [examples/dashboard.json](https://github.com/argoproj/argo-cd/blob/master/examples/dashboard.json). 1420 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) 1421 to keep using old dashboard. 1422 1423 #### Local accounts 1424 1425 The local accounts had been introduced additional to `admin` user and SSO integration. The feature is useful for creating authentication 1426 tokens with limited permissions to automate Argo CD management. Local accounts also could be used small by teams when SSO integration is overkill. 1427 This enhancement also allows to disable admin user and enforce only SSO logins. 1428 1429 #### Redis HA Proxy mode 1430 1431 As part of this release, the bundled Redis was upgraded to version 4.3.4 with enabled HAProxy. 1432 The HA proxy replaced the sentinel and provides more reliable Redis connection. 1433 1434 > After publishing 1.5.0 release we've discovered that default HAProxy settings might cause intermittent failures. 1435 > See [argo-cd#3358](https://github.com/argoproj/argo-cd/issues/3358) 1436 1437 #### Windows CLI 1438 1439 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 1440 in the release details page as well as on the Argo CD Help page. 1441 1442 #### Breaking Changes 1443 1444 The `argocd_app_sync_status`, `argocd_app_health_status` and `argocd_app_created_time` prometheus metrics are deprecated in favor of additional labels 1445 to `argocd_app_info` metric. The deprecated labels are still available can be re-enabled using `ARGOCD_LEGACY_CONTROLLER_METRICS=true` environment variable. 1446 The legacy example Grafana dashboard is available at [examples/dashboard-legacy.json](https://github.com/argoproj/argo-cd/blob/master/examples/dashboard-legacy.json). 1447 1448 #### Known issues 1449 Last-minute bugs that will be addressed in 1.5.1 shortly: 1450 1451 * https://github.com/argoproj/argo-cd/issues/3336 1452 * https://github.com/argoproj/argo-cd/issues/3319 1453 * https://github.com/argoproj/argo-cd/issues/3339 1454 * https://github.com/argoproj/argo-cd/issues/3358 1455 1456 #### Enhancements 1457 * feat: support helm3 (#2383) (#3178) 1458 * feat: Argo CD Service Account / Local Users #3185 1459 * feat: Disable Admin Login (fixes #3019) (#3179) 1460 * feat(ui): add docs to sync policy options present in create application panel (Close #3098) (#3203) 1461 * feat: add "service-account" flag to "cluster add" command (#3183) (#3184) 1462 * feat: Supports the validate-false option at an app level. Closes #1063 (#2542) 1463 * feat: add dest cluster and namespace in the Events (#3093) 1464 * feat: Rollback disables auto sync issue #2441 (#2591) 1465 * feat: allow ssh and http repository references in bitbucketserver webhook #2773 (#3036) 1466 * feat: Add helm --set-file support (#2751) 1467 * feat: Include resource group for Event's InvolvedObject.APIVersion 1468 * feat: Add argocd cmd for Windows #2121 (#3015) 1469 1470 #### Bug Fixes 1471 1472 - fix: app reconciliation fails with panic: index out of (#3233) 1473 - fix: upgrade argoproj/pkg version to fix leaked sensitive information in logs (#3230) 1474 - fix: set MaxCallSendMsgSize to MaxGRPCMessageSize for the GRPC caller (#3117) 1475 - fix: stop caching helm index (#3193) 1476 - fix: dex proxy should forward request to dex preserving the basehref (#3165) 1477 - fix: set default login redirect to baseHRef (#3164) 1478 - fix: don't double-prepend basehref to redirect URLs (fixes #3137) 1479 - fix: ui referring to /api/version using absolute path (#3092) 1480 - fix: Unhang UI on long app info items by using more sane URL match pattern (#3159) 1481 - fix: Allow multiple hostnames per SSH known hosts entry and also allow IPv6 (#2814) (#3074) 1482 - fix: argocd-util backup produced truncated backups. import app status (#3096) 1483 - fix: upgrade redis-ha chart and enable haproxy (#3147) 1484 - fix: make dex server deployment init container resilient to restarts (#3136) 1485 - fix: redact secret values of manifests stored in git (#3088) 1486 - fix: labels not being deleted via UI (#3081) 1487 - fix: HTTP|HTTPS|NO_PROXY env variable reading #3055 (#3063) 1488 - fix: Correct usage text for repo add command regarding insecure repos (#3068) 1489 - fix: Ensure SSH private key is written out with a final newline character (#2890) (#3064) 1490 - fix: Handle SSH URLs in 'git@server:org/repo' notation correctly (#3062) 1491 - fix sso condition when several sso connectors has been configured (#3057) 1492 - fix: Fix bug where the same pointer is used. (#3059) 1493 - fix: Opening in new tab bad key binding on Linux (#3020) 1494 - fix: K8s secrets for repository credential templates are not deleted when credential template is deleted (#3028) 1495 - fix: SSH credential template not working #3016 1496 - fix: Unable to parse kubectl pre-release version strings (#3034) 1497 - fix: Jsonnet TLA parameters of same type are overwritten (#3022) 1498 - fix: Replace aws-iam-authenticator to support IRSA (#3010) 1499 - fix: Hide bindPW in dex config (#3025) 1500 - fix: SSH repo URL with a user different from `git` is not matched correctly when resolving a webhook (#2988) 1501 - fix: JWT invalid => Password for superuser has changed since token issued (#2108) 1502 1503 #### Contributors 1504 * alexandrfox 1505 * alexec 1506 * alexmt 1507 * bergur88 1508 * CBytelabs 1509 * dbeal-wiser 1510 * dnascimento 1511 * Elgarni 1512 * eSamS 1513 * gpaul 1514 * jannfis 1515 * jdmulloy 1516 * machgo 1517 * masa213f 1518 * matthyx 1519 * rayanebel 1520 * shelby-moore 1521 * tomcruise81 1522 * wecger 1523 * zeph 1524 1525 ## v1.4.2 (2020-01-24) 1526 1527 - fix: correctly replace cache in namespace isolation mode (#3023) 1528 1529 ## v1.4.1 (2020-01-23) 1530 1531 - fix: impossible to config RBAC if group name includes ',' (#3013) 1532 1533 ## v1.4.0 (2020-01-17) 1534 1535 The v1.4.0 is a stability release that brings multiple bug fixes, security, performance enhancements, and multiple usability improvements. 1536 1537 #### New Features 1538 1539 #### Security 1540 A number of security enhancements and features have been implemented (thanks to [@jannfis](https://github.com/jannfis) for driving it! ): 1541 * **Repository Credential Templates Management UI/CLI**. Now you can use Argo CD CLI or UI to configure 1542 [credentials template](https://argoproj.github.io/argo-cd/user-guide/private-repositories/#credential-templates) for multiple repositories! 1543 * **X-Frame-Options header on serving static assets**. The X-Frame-Options prevents third party sites to trick users into interacting with the application. 1544 * **Tighten AppProject RBAC enforcement**. We've improved the enforcement of access rules specified in the 1545 [application project](https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/#projects) configuration. 1546 1547 #### Namespace Isolation 1548 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 1549 the cluster: 1550 1551 ```bash 1552 argocd cluster add <mycluster> --namespace <mynamespace1> --namespace <mynamespace2> 1553 ``` 1554 1555 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 1556 used to manage a few namespaces of a large cluster. 1557 1558 #### Reconciliation Performance 1559 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 1560 CPU and Memory usage of large Argo CD instances. 1561 1562 #### Resources Health based Hook Status 1563 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 1564 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 1565 [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 1566 check logic. 1567 1568 #### Manifest Generation 1569 * **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 1570 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. 1571 * **Build Environment Variables**. Feature allows config management tool to get access to app details during manifest generation via 1572 [environment variables](https://argoproj.github.io/argo-cd/user-guide/build-environment/). 1573 * **Git submodules**. Argo CD is going to automatically fetch sub-modules if your repository has `.gitmodules` directory. 1574 1575 #### UI and CLI 1576 * **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 1577 each resource and don't lose usability at the same time. 1578 * **New Account Management CLI Command**. The CLI allows to check which actions are allowed for your account: `argocd account can-i sync applications '*'` 1579 1580 #### Maintenance Tools 1581 The team put more effort into building tools that help to maintain Argo CD itself: 1582 * **Bulk Project Editing**. The `argocd-util` allows to add and remove permissions defined in multiple project roles using one command. 1583 * **More Prometheus Metrics**. A set of additional metrics that contains useful information managed clusters is exposed by application controller. 1584 1585 More documentation and tools are coming in patch releases. 1586 1587 #### Breaking Changes 1588 1589 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 1590 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, 1591 `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 1592 [Sync Waves](https://argo-cd.readthedocs.io/en/stable/user-guide/sync-waves/) instead. 1593 1594 #### Enhancements 1595 * feat: Add custom health checks for cert-manager v0.11.0 (#2689) 1596 * feat: add git submodule support (#2495) 1597 * feat: Add repository credential management API and CLI (addresses #2136) (#2207) 1598 * feat: add support for --additional-headers cli flag (#2467) 1599 * feat: Add support for ssh-with-port repo url (#2866) (#2948) 1600 * feat: Add Time to ApplicationCondition. (#2417) 1601 * feat: Adds `argocd auth can-i` command. Close #2255 1602 * feat: Adds revision history limit. Closes #2790 (#2818) 1603 * feat: Adds support for ARGO_CD_[TARGET_REVISION|REVISION] and pass to Custom Tool/Helm/Jsonnet 1604 * feat: Adds support for Helm charts to be a semver range. Closes #2552 (#2606) 1605 * feat: Adds tracing to key external invocations. (#2811) 1606 * feat: argocd-util should allow editing project policies in bulk (#2615) 1607 * feat: Displays controllerrevsion's revision in the UI. Closes #2306 (#2702) 1608 * feat: Issue #2559 - Add gauge Prometheus metric which represents the number of pending manifest requests. (#2658) 1609 * feat: Make ConvertToVersion maybe 1090% faster on average (#2820) 1610 * feat: namespace isolation (#2839) 1611 * feat: removes redundant mutex usage in controller cache and adds cluster cache metrics (#2898) 1612 * feat: Set X-Frame-Options on serving static assets (#2706) (#2711) 1613 * feat: Simplify using Argo CD without users/SSO/UI (#2688) 1614 * feat: Template Out Data Source in Grafana Dashboard (#2859) 1615 * feat: Updates UI icons. Closes #2625 and #2757 (#2653) 1616 * feat: use editor arguments in InteractiveEditor (#2833) 1617 * feat: Use kubectl apply library instead of forking binary (#2861) 1618 * feat: use resource health for hook status evaluation (#2938) 1619 1620 #### Bug Fixes 1621 1622 - fix: Adds support for /api/v1/account* via HTTP. Fixes #2664 (#2701) 1623 - fix: Allow '@'-character in SSH usernames when connecting a repository (#2612) 1624 - fix: Allow dot in project policy. Closes #2724 (#2755) 1625 - fix: Allow you to sync local Helm apps. Fixes #2741 (#2747) 1626 - fix: Allows Helm parameters that contains arrays or maps. (#2525) 1627 - fix: application-controller doesn't deal with rm/add same cluster gracefully (x509 unknown) (#2389) 1628 - fix: diff local ignore kustomize build options (#2942) 1629 - fix: Ensures that Helm charts are correctly resolved before sync. Fixes #2758 (#2760) 1630 - fix: Fix 'Open application' link when using basehref (#2729) 1631 - fix: fix a bug with cluster add when token secret is not first in list. (#2744) 1632 - fix: fix bug where manifests are not cached. Fixes #2770 (#2771) 1633 - fix: Fixes bug whereby retry does not work for CLI. Fixes #2767 (#2768) 1634 - fix: git contention leads applications into Unknown state (#2877) 1635 - fix: Issue #1944 - Gracefully handle missing cached app state (#2464) 1636 - fix: Issue #2668 - Delete a specified context (#2669) 1637 - fix: Issue #2683 - Make sure app update don't fail due to concurrent modification (#2852) 1638 - fix: Issue #2721 Optimize helm repo querying (#2816) 1639 - fix: Issue #2853 - Improve application env variables/labels editing (#2856) 1640 - fix: Issue 2848 - Application Deployment history panel shows incorrect info for recent releases (#2849) 1641 - fix: Make BeforeHookCreation the default. Fixes #2754 (#2759) 1642 - fix: No error on `argocd app create` in CLI if `--revision` is omitted #2665 1643 - fix: Only delete resources during app delete cascade if permitted to (fixes #2693) (#2695) 1644 - fix: prevent user from seeing/deleting resources not permitted in project (#2908) (#2910) 1645 - fix: self-heal should retry syncing an application after specified delay 1646 - fix: stop logging dex config secrets #(2904) (#2937) 1647 - fix: stop using jsondiffpatch on clientside to render resource difference (#2869) 1648 - fix: Target Revision truncated #2736 1649 - fix: UI should re-trigger SSO login if SSO JWT token expires (#2891) 1650 - fix: update argocd-util import was not working properly (#2939) 1651 1652 #### Contributors 1653 1654 * Aalok Ahluwalia 1655 * Aananth K 1656 * Abhishek Jaisingh 1657 * Adam Johnson 1658 * Alan Tang 1659 * Alex Collins 1660 * Alexander Matyushentsev 1661 * Andrew Waters 1662 * Byungjin Park 1663 * Christine Banek 1664 * Daniel Helfand 1665 * David Hong 1666 * David J. M. Karlsen 1667 * David Maciel 1668 * Devan Goodwin 1669 * Devin Stein 1670 * dthomson25 1671 * Gene Liverman 1672 * Gregor Krmelj 1673 * Guido Maria Serra 1674 * Ilir Bekteshi 1675 * Imran Ismail 1676 * INOUE BANJI 1677 * Isaac Gaskin 1678 * jannfis 1679 * Jeff Hastings 1680 * Jesse Suen 1681 * John Girvan 1682 * Konstantin 1683 * Lev Aminov 1684 * Manatsawin Hanmongkolchai 1685 * Marco Schmid 1686 * Masayuki Ishii 1687 * Michael Bridgen 1688 * Naoki Oketani 1689 * niqdev 1690 * nitinpatil1992 1691 * Olivier Boukili 1692 * Olivier Lemasle 1693 * Omer Kahani 1694 * Paul Brit 1695 * Qingbo Zhou 1696 * Saradhi Sreegiriraju 1697 * Scott Cabrinha 1698 * shlo 1699 * Simon Behar 1700 * stgarf 1701 * Yujun Zhang 1702 * Zoltán Reegn 1703 1704 ## v1.3.4 (2019-12-05) 1705 - #2819 Fixes logging of tracing option in CLI 1706 1707 ## v1.3.3 (2019-12-05) 1708 - #2721 High CPU utilisation (5 cores) and spammy logs 1709 1710 ## v1.3.2 (2019-12-03) 1711 - #2797 Fix directory traversal edge case and enhance tests 1712 1713 ## v1.3.1 (2019-12-02) 1714 - #2664 update account password from API resulted 404 1715 - #2724 Can't use `DNS-1123` compliant app name when creating project role 1716 - #2726 App list does not show chart for Helm app 1717 - #2741 argocd local sync cannot parse kubernetes version 1718 - #2754 BeforeHookCreation should be the default hook 1719 - #2767 Fix bug whereby retry does not work for CLI 1720 - #2770 Always cache miss for manifests 1721 - #1345 argocd-application-controller: can not retrieve list of objects using index : Index with name namespace does not exist 1722 1723 ## v1.3.0 (2019-11-13) 1724 1725 #### New Features 1726 1727 ##### Helm 1st-Class Support 1728 1729 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. 1730 1731 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. 1732 1733 https://youtu.be/GP7xtrnNznw 1734 1735 ##### Orphan Resources 1736 1737 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. 1738 1739 https://youtu.be/9ZoTevVQf5I 1740 1741 ##### Sync Windows 1742 1743 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. 1744 1745 #### Enhancements 1746 1747 * [UI] Add application labels to Applications list and Applications details page (#1099) 1748 * Helm repository as first class Argo CD Application source (#1145) 1749 * Ability to generate a warn/alert when a namespace deviates from the expected state (#1167) 1750 * Improve diff support for resource requests/limits (#1615) 1751 * HTTP API should allow JWT to be passed via Authorization header (#1642) 1752 * Ability to create & upsert projects from spec (#1852) 1753 * Support for in-line block from helm chart values (#1930) 1754 * Request OIDC groups claim if groups scope is not supported (#1956) 1755 * Add a maintenance window for Applications with automated syncing (#1995) 1756 * Support `argocd.argoproj.io/hook-delete-policy: BeforeHookCreation` (#2036) 1757 * Support setting Helm string parameters using CLI/UI (#2078) 1758 * Config management plugin environment variable UI/CLI support (#2203) 1759 * Helm: auto-detect URLs (#2260) 1760 * Helm: UI improvements (#2261) 1761 * Support `helm template --kube-version ` (#2275) 1762 * Use community icons for resources (#2277) 1763 * Make `group` optional for `ignoreDifferences` config (#2298) 1764 * Update Helm docs (#2315) 1765 * Add cluster information into Splunk (#2354) 1766 * argocd list command should have filter options like by project (#2396) 1767 * Add target/current revision to status badge (#2445) 1768 * Update tooling to use Kustomize v3 (#2487) 1769 * Update root `Dockerfile` to use the `hack/install.sh` (#2488) 1770 * Support and document using HPA for repo-server (#2559) 1771 * Upgrade Helm (#2587) 1772 * UI fixes for "Sync Apps" panel. (#2604) 1773 * Upgrade kustomize from v3.1.0 to v3.2.1 (#2609) 1774 * Map helm lifecycle hooks to ArgoCD pre/post/sync hooks (#355) 1775 * [UI] Enhance app creation page with Helm parameters overrides (#1059) 1776 1777 #### Bug Fixes 1778 1779 - failed parsing on parameters with comma (#1660) 1780 - StatefulSet with OnDelete Update Strategy stuck progressing (#1881) 1781 - Warning during secret diffing (#1923) 1782 - Error message "Unable to load data: key is missing" is confusing (#1944) 1783 - OIDC group bindings are truncated (#2006) 1784 - Multiple parallel app syncs causes OOM (#2022) 1785 - Unknown error when setting params with argocd app set on helm app (#2046) 1786 - Endpoint is no longer shown as a child of services (#2060) 1787 - SSH known hosts entry cannot be deleted if contains shell pattern in name (#2099) 1788 - Application 404s on names with periods (#2114) 1789 - Adding certs for hostnames ending with a dot (.) is not possible (#2116) 1790 - Fix `TestHookDeleteBeforeCreation` (#2141) 1791 - v1.2.0-rc1 nil pointer dereference when syncing (#2146) 1792 - Replacing services failure (#2150) 1793 - 1.2.0-rc1 - Authentication Required error in Repo Server (#2152) 1794 - v1.2.0-rc1 Applications List View doesn't work (#2174) 1795 - Manual sync does not trigger Presync hooks (#2185) 1796 - SyncError app condition disappears during app reconciliation (#2192) 1797 - argocd app wait\sync prints 'Unknown' for resources without health (#2198) 1798 - 1.2.0-rc2 Warning during secret diffing (#2206) 1799 - SSO redirect url is incorrect if configured Argo CD URL has trailing slash (#2212) 1800 - Application summary diff page shows hooks (#2215) 1801 - An app with a single resource and Sync hook remains progressing (#2216) 1802 - CONTRIBUTING documentation outdated (#2231) 1803 - v1.2.0-rc2 does not retrieve http(s) based git repository behind the proxy (#2243) 1804 - Intermittent "git ls-remote" request failures should not fail app reconciliation (#2245) 1805 - Result of ListApps operation for Git repo is cached incorrectly (#2263) 1806 - ListApps does not utilize cache (#2287) 1807 - Controller panics due to nil pointer error (#2290) 1808 - The Helm --kube-version support does not work on GKE: (#2303) 1809 - Fixes bug that prevents you creating repos via UI/CLI. (#2308) 1810 - The 'helm.repositories' settings is dropped without migration path (#2316) 1811 - Badge response does not contain cache control header (#2317) 1812 - Inconsistent sync result from UI and CLI (#2321) 1813 - Failed edit application with plugin type requiring environment (#2330) 1814 - AutoSync doesn't work anymore (#2339) 1815 - End-to-End tests not working with Kubernetes v1.16 (#2371) 1816 - Creating an application from Helm repository should select "Helm" as source type (#2378) 1817 - The parameters of ValidateAccess GRPC method should not be logged (#2386) 1818 - Maintenance window meaning is confusing (#2398) 1819 - UI bug when targetRevision is omitted (#2407) 1820 - Too many vulnerabilities in Docker image (#2425) 1821 - proj windows commands not consistent with other commands (#2443) 1822 - Custom resource actions cannot be executed from the UI (#2448) 1823 - Application controller sometimes accidentally removes duplicated/excluded resource warning condition (#2453) 1824 - Logic that checks sync windows state in the cli is incorrect (#2455) 1825 - UI don't allow to create window with `* * * * *` schedule (#2475) 1826 - Helm Hook is executed twice if annotated with both pre-install and pre-upgrade annotations (#2480) 1827 - Impossible to edit chart name using App details page (#2484) 1828 - ArgoCD does not provide CSRF protection (#2496) 1829 - ArgoCD failing to install CRDs in master from Helm Charts (#2497) 1830 - Timestamp in Helm package file name causes error in Application with Helm source (#2549) 1831 - Attempting to create a repo with password but not username panics (#2567) 1832 - UI incorrectly mark resources as `Required Pruning` (#2577) 1833 - argocd app diff prints only first difference (#2616) 1834 - Bump min client cache version (#2619) 1835 - Cluster list page fails if any cluster is not reachable (#2620) 1836 - Repository type should be mandatory for repo add command in CLI (#2622) 1837 - Repo server executes unnecessary ls-remotes (#2626) 1838 - Application list page incorrectly filter apps by label selector (#2633) 1839 - Custom actions are disabled in Argo CD UI (#2635) 1840 - Failure of `argocd version` in the self-building container image (#2645) 1841 - Application list page is not updated automatically anymore (#2655) 1842 - Login regression issues (#2659) 1843 - Regression: Cannot return Kustomize version for 3.1.0 (#2662) 1844 - API server does not allow creating role with action `action/*` (#2670) 1845 - Application controller `kubectl-parallelism-limit` flag is broken (#2673) 1846 - Annoying toolbar flickering (#2691) 1847 1848 ## v1.2.5 (2019-10-29) 1849 1850 - Issue #2339 - Don't update `status.reconciledAt` unless compared with latest git version (#2581) 1851 1852 ## v1.2.4 (2019-10-23) 1853 1854 - Issue #2185 - Manual sync don't trigger hooks (#2477) 1855 - Issue #2339 - Controller should compare with latest git revision if app has changed (#2543) 1856 - Unknown child app should not affect app health (#2544) 1857 - Redact secrets in dex logs (#2538) 1858 1859 ## v1.2.3 (2019-10-1) 1860 * Make argo-cd docker images openshift friendly (#2362) (@duboisf) 1861 * Add dest-server and dest-namespace field to reconciliation logs (#2354) 1862 - Stop logging /repository.RepositoryService/ValidateAccess parameters (#2386) 1863 1864 ## v1.2.2 (2019-09-26) 1865 + Resource action equivalent to `kubectl rollout restart` (#2177) 1866 - Badge response does not contain cache-control header (#2317) (@greenstatic) 1867 - Make sure the controller uses the latest git version if app reconciliation result expired (#2339) 1868 1869 ## v1.2.1 (2019-09-12) 1870 + Support limiting number of concurrent kubectl fork/execs (#2022) 1871 + Add --self-heal flag to argocd cli (#2296) 1872 - Fix degraded proxy support for http(s) git repository (#2243) 1873 - Fix nil pointer dereference in application controller (#2290) 1874 1875 ## v1.2.0 (2019-09-05) 1876 1877 ### New Features 1878 1879 #### Server Certificate And Known Hosts Management 1880 1881 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 1882 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 1883 [argocd-ssh-known-hosts-cm](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-ssh-known-hosts-cm.yaml) and 1884 [argocd-tls-certs-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-tls-certs-cm.yaml) config maps. 1885 1886 #### Self-Healing 1887 1888 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 1889 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. 1890 1891 **Anonymous access** - enable read-only access without authentication to anyone in your organization. 1892 1893 Support for Git LFS enabled repositories - now you can store Helm charts as tar files and enable Git LFS in your repository. 1894 1895 **Compact diff view** - compact diff summary of the whole application in a single view. 1896 1897 **Badge for application status** - add badge with the health and sync status of your application into README.md of your deployment repo. 1898 1899 **Allow configuring google analytics tracking** - use Google Analytics to check how many users are visiting UI or your Argo CD instance. 1900 1901 #### Backward Incompatible Changes 1902 - Kustomize v1 support is removed. All kustomize charts are built using the same Kustomize version 1903 - 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) 1904 - 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. 1905 1906 1907 #### Enhancements 1908 + Adds a floating action button with help and chat links to every page.… (#2124) 1909 + Enhances cookie warning with actual length to help users fix their co… (#2134) 1910 + Added 'SyncFail' to possible HookTypes in UI (#2147) 1911 + Support for Git LFS enabled repositories (#1853) 1912 + Server certificate and known hosts management (#1514) 1913 + Client HTTPS certificates for private git repositories (#1945) 1914 + Badge for application status (#1435) 1915 + Make the health check for APIService a built in (#1841) 1916 + Bitbucket Server and Gogs webhook providers (#1269) 1917 + Jsonnet TLA arguments in ArgoCD CLI (#1626) 1918 + Self Healing (#1736) 1919 + Compact diff view (#1831) 1920 + Allow Helm parameters to force ambiguously-typed values to be strings (#1846) 1921 + Support anonymous argocd access (#1620) 1922 + Allow configuring google analytics tracking (#738) 1923 + Bash autocompletion for argocd (#1798) 1924 + Additional commit metadata (#1219) 1925 + Displays targetRevision in app dashboards. (#1239) 1926 + Local path syncing (#839) 1927 + System level `kustomize build` options (#1789) 1928 + Adds support for `argocd app set` for Kustomize. (#1843) 1929 + Allow users to create tokens for projects where they have any role. (#1977) 1930 + Add Refresh button to applications table and card view (#1606) 1931 + Adds CLI support for adding and removing groups from project roles. (#1851) 1932 + Support dry run and hook vs. apply strategy during sync (#798) 1933 + UI should remember most recent selected tab on resource info panel (#2007) 1934 + Adds link to the project from the app summary page. (#1911) 1935 + Different icon for resources which require pruning (#1159) 1936 1937 #### Bug Fixes 1938 1939 - Do not panic if the type is not api.Status (an error scenario) (#2105) 1940 - Make sure endpoint is shown as a child of service (#2060) 1941 - Word-wraps app info in the table and list views. (#2004) 1942 - Project source/destination removal should consider wildcards (#1780) 1943 - Repo whitelisting in UI does not support wildcards (#2000) 1944 - Wait for CRD creation during sync process (#1940) 1945 - Added a button to select out of sync items in the sync panel (#1902) 1946 - Proper handling of an excluded resource in an application (#1621) 1947 - Stop repeating logs on stopped container (#1614) 1948 - Fix git repo url parsing on application list view (#2174) 1949 - Fix nil pointer dereference error during app reconciliation (#2146) 1950 - Fix history api fallback implementation to support app names with dots (#2114) 1951 - Fixes some code issues related to Kustomize build options. (#2146) 1952 - Adds checks around valid paths for apps (#2133) 1953 - Endpoint incorrectly considered top level managed resource (#2060) 1954 - Allow adding certs for hostnames ending on a dot (#2116) 1955 1956 #### Other 1957 * Upgrade kustomize to v3.1.0 (#2068) 1958 * Remove support for Kustomize 1. (#1573) 1959 1960 #### Contributors 1961 1962 * [alexec](https://github.com/alexec) 1963 * [alexmt](https://github.com/alexmt) 1964 * [dmizelle](https://github.com/dmizelle) 1965 * [lcostea](https://github.com/lcostea) 1966 * [jutley](https://github.com/jutley) 1967 * [masa213f](https://github.com/masa213f) 1968 * [Rayyis](https://github.com/Rayyis) 1969 * [simster7](https://github.com/simster7) 1970 * [dthomson25](https://github.com/dthomson25) 1971 * [jannfis](https://github.com/jannfis) 1972 * [naynasiddharth](https://github.com/naynasiddharth) 1973 * [stgarf](https://github.com/stgarf) 1974 1975 1976 ## v1.1.2 (2019-07-30) 1977 - 'argocd app wait' should print correct sync status (#2049) 1978 - Check that TLS is enabled when registering DEX Handlers (#2047) 1979 - Do not ignore Argo hooks when there is a Helm hook. (#1952) 1980 1981 ## v1.1.1 (2019-07-25) 1982 + Support 'override' action in UI/API (#1984) 1983 - Fix argocd app wait message (#1982) 1984 1985 ## v1.1.0 (2019-07-24) 1986 1987 ### New Features 1988 1989 #### Sync Waves 1990 1991 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, 1992 than allows you to ensure certain resources are healthy before subsequent resources are synced. 1993 1994 #### Optimized Interaction With Git 1995 1996 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 1997 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 1998 optimized which significantly reduced the number of Git requests. With v1.1 release, Argo CD should send 3x ~ 5x fewer Git requests. 1999 2000 #### User Defined Application Metadata 2001 2002 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 2003 (e.g. reference to a CI pipeline or an application-specific management tool). These links should provide helpful shortcuts that make easier to integrate Argo CD into existing 2004 systems by making it easier to find other components inside and outside Argo CD. 2005 2006 ### Deprecation Notice 2007 2008 * Kustomize v1.0 is deprecated and support will be removed in the Argo CD v1.2 release. 2009 2010 #### Enhancements 2011 2012 - Sync waves [#1544](https://github.com/argoproj/argo-cd/issues/1544) 2013 - Adds Prune=false and IgnoreExtraneous options [#1629](https://github.com/argoproj/argo-cd/issues/1629) 2014 - Forward Git credentials to config management plugins [#1628](https://github.com/argoproj/argo-cd/issues/1628) 2015 - Improve Kustomize 2 parameters UI [#1609](https://github.com/argoproj/argo-cd/issues/1609) 2016 - Adds `argocd logout` [#1210](https://github.com/argoproj/argo-cd/issues/1210) 2017 - Make it possible to set Helm release name different from Argo CD app name. [#1066](https://github.com/argoproj/argo-cd/issues/1066) 2018 - Add ability to specify system namespace during cluster add operation [#1661](https://github.com/argoproj/argo-cd/pull/1661) 2019 - Make listener and metrics ports configurable [#1647](https://github.com/argoproj/argo-cd/pull/1647) 2020 - Using SSH keys to authenticate kustomize bases from git [#827](https://github.com/argoproj/argo-cd/issues/827) 2021 - Adds `argocd app sync APPNAME --async` [#1728](https://github.com/argoproj/argo-cd/issues/1728) 2022 - Allow users to define app specific urls to expose in the UI [#1677](https://github.com/argoproj/argo-cd/issues/1677) 2023 - Error view instead of blank page in UI [#1375](https://github.com/argoproj/argo-cd/issues/1375) 2024 - Project Editor: Whitelisted Cluster Resources doesn't strip whitespace [#1693](https://github.com/argoproj/argo-cd/issues/1693) 2025 - Eliminate unnecessary git interactions for top-level resource changes (#1919) 2026 - Ability to rotate the bearer token used to manage external clusters (#1084) 2027 2028 #### Bug Fixes 2029 2030 - Project Editor: Whitelisted Cluster Resources doesn't strip whitespace [#1693](https://github.com/argoproj/argo-cd/issues/1693) 2031 - \[ui small bug\] menu position outside block [#1711](https://github.com/argoproj/argo-cd/issues/1711) 2032 - UI will crash when create application without destination namespace [#1701](https://github.com/argoproj/argo-cd/issues/1701) 2033 - ArgoCD synchronization failed due to internal error [#1697](https://github.com/argoproj/argo-cd/issues/1697) 2034 - Replicasets ordering is not stable on app tree view [#1668](https://github.com/argoproj/argo-cd/issues/1668) 2035 - Stuck processor on App Controller after deleting application with incomplete operation [#1665](https://github.com/argoproj/argo-cd/issues/1665) 2036 - Role edit page fails with JS error [#1662](https://github.com/argoproj/argo-cd/issues/1662) 2037 - failed parsing on parameters with comma [#1660](https://github.com/argoproj/argo-cd/issues/1660) 2038 - Handle nil obj when processing custom actions [#1700](https://github.com/argoproj/argo-cd/pull/1700) 2039 - Account for missing fields in Rollout HealthStatus [#1699](https://github.com/argoproj/argo-cd/pull/1699) 2040 - Sync operation unnecessary waits for a healthy state of all resources [#1715](https://github.com/argoproj/argo-cd/issues/1715) 2041 - failed parsing on parameters with comma [#1660](https://github.com/argoproj/argo-cd/issues/1660) 2042 - argocd app sync hangs when cluster is not configured (#1935) 2043 - Do not allow app-of-app child app's Missing status to affect parent (#1954) 2044 - Argo CD don't handle well k8s objects which size exceeds 1mb (#1685) 2045 - Secret data not redacted in last-applied-configuration (#897) 2046 - Running app actions requires only read privileges (#1827) 2047 - UI should allow editing repo URL (#1763) 2048 - Make status fields as optional fields (#1779) 2049 - Use correct healthcheck for Rollout with empty steps list (#1776) 2050 2051 #### Other 2052 2053 - Add Prometheus metrics for git repo interactions (#1912) 2054 - App controller should log additional information during app syncing (#1909) 2055 - Make sure api server to repo server grpc calls have timeout (#1820) 2056 - Forked tool processes should timeout (#1821) 2057 - Add health check to the controller deployment (#1785) 2058 2059 #### Contributors 2060 2061 * [Aditya Gupta](https://github.com/AdityaGupta1) 2062 * [Alex Collins](https://github.com/alexec) 2063 * [Alex Matyushentsev](https://github.com/alexmt) 2064 * [Danny Thomson](https://github.com/dthomson25) 2065 * [jannfis](https://github.com/jannfis) 2066 * [Jesse Suen](https://github.com/jessesuen) 2067 * [Liviu Costea](https://github.com/lcostea) 2068 * [narg95](https://github.com/narg95) 2069 * [Simon Behar](https://github.com/simster7) 2070 2071 See also [milestone v1.1](https://github.com/argoproj/argo-cd/milestone/13) 2072 2073 ## v1.0.0 (2019-05-16) 2074 2075 ### New Features 2076 2077 #### Network View 2078 2079 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 2080 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. 2081 2082 #### Custom Actions 2083 2084 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. 2085 2086 #### UI Enhancements & Usability Enhancements 2087 2088 * New color palette intended to highlight unhealthily and out-of-sync resources more clearly. 2089 * The health of more resources is displayed, so it easier to quickly zoom to unhealthy pods, replica-sets, etc. 2090 * Resources that do not have health no longer appear to be healthy. 2091 * Support for configuring Git repo credentials at a domain/org level 2092 * Support for configuring requested OIDC provider scopes and enforced RBAC scopes 2093 * Support for configuring monitored resources whitelist in addition to excluded resources 2094 2095 ### Breaking Changes 2096 2097 * Remove deprecated componentParameterOverrides field #1372 2098 2099 ### Changes since v0.12.2 2100 2101 #### Enhancements 2102 2103 * `argocd app wait` should have `--resource` flag like sync #1206 2104 * Adds support for `kustomize edit set image`. Closes #1275 (#1324) 2105 * Allow wait to return on health or suspended (#1392) 2106 * Application warning when a manifest is defined twice #1070 2107 * Create new documentation website #1390 2108 * Default view should resource view instead of diff view #1354 2109 * Display number of errors on resource tab #1477 2110 * Displays resources that are being deleted as "Progressing". Closes #1410 (#1426) 2111 * Generate random name for grpc proxy unix socket file instead of time stamp (#1455) 2112 * Issue #357 - Expose application nodes networking information (#1333) 2113 * Issue #1404 - App controller unnecessary set namespace to cluster level resources (#1405) 2114 * Nils health if the resource does not provide it. Closes #1383 (#1408) 2115 * Perform health assessments on all resource nodes in the tree. Closes #1382 (#1422) 2116 * Remove deprecated componentParameterOverrides field #1372 2117 * Shows the health of the application. Closes #1433 (#1434) 2118 * Surface Service/Ingress external IPs, hostname to application #908 2119 * Surface pod status to tree view #1358 2120 * Support for customizable resource actions as Lua scripts #86 2121 * UI / API Errors Truncated, Time Out #1386 2122 * UI Enhancement Proposals Quick Wins #1274 2123 * Update argocd-util import/export to support proper backup and restore (#1328) 2124 * Whitelisting repos/clusters in projects should consider repo/cluster permissions #1432 2125 * Adds support for configuring repo creds at a domain/org level. (#1332) 2126 * Implement whitelist option analogous to `resource.exclusions` (#1490) 2127 * Added ability to sync specific labels from the command line (#1241) 2128 * Improve rendering app image information (#1552) 2129 * Add liveness probe to repo server/api servers (#1546) 2130 * Support configuring requested OIDC provider scopes and enforced RBAC scopes (#1471) 2131 2132 #### Bug Fixes 2133 2134 - Don't compare secrets in the CLI, since argo-cd doesn't have access to their data (#1459) 2135 - Dropdown menu should not have sync item for unmanaged resources #1357 2136 - Fixes goroutine leak. Closes #1381 (#1457) 2137 - Improve input style #1217 2138 - Issue #908 - Surface Service/Ingress external IPs, hostname to application (#1347) 2139 - kustomization fields are all mandatory #1504 2140 - Resource node details is crashing if live resource is missing $1505 2141 - Rollback UI is not showing correct ksonnet parameters in preview #1326 2142 - See details of applications fails with "r.nodes is undefined" #1371 2143 - UI fails to load custom actions is resource is not deployed #1502 2144 - Unable to create app from private repo: x509: certificate signed by unknown authority (#1171) 2145 - Fix hardcoded 'git' user in `util/git.NewClient` (#1555) 2146 - Application controller becomes unresponsive (#1476) 2147 - Load target resource using K8S if conversion fails (#1414) 2148 - Can't ignore a non-existent pointer anymore (#1586) 2149 - Impossible to sync to HEAD from UI if auto-sync is enabled (#1579) 2150 - Application controller is unable to delete self-referenced app (#1570) 2151 - Prevent reconciliation loop for self-managed apps (#1533) 2152 - Controller incorrectly report health state of self managed application (#1557) 2153 - Fix kustomize manifest generation crash is manifest has image without version (#1540) 2154 - Supply resourceVersion to watch request to prevent reading of stale cache (#1605) 2155 2156 ## v0.12.2 (2019-04-22) 2157 2158 ### Changes since v0.12.1 2159 2160 - Fix racing condition in controller cache (#1498) 2161 - "bind: address already in use" after switching to gRPC-Web (#1451) 2162 - Annoying warning while using --grpc-web flag (#1420) 2163 - Delete helm temp directories (#1446) 2164 - Fix null pointer exception in secret normalization function (#1389) 2165 - Argo CD should not delete CRDs(#1425) 2166 - UI is unable to load cluster level resource manifest (#1429) 2167 2168 ## v0.12.1 (2019-04-09) 2169 2170 ### Changes since v0.12.0 2171 2172 - [UI] applications view blows up when user does not have permissions (#1368) 2173 - Add k8s objects circular dependency protection to getApp method (#1374) 2174 - App controller unnecessary set namespace to cluster level resources (#1404) 2175 - Changing SSO login URL to be a relative link so it's affected by basehref (#101) (@arnarg) 2176 - CLI diff should take into account resource customizations (#1294) 2177 - Don't try deleting application resource if it already has `deletionTimestamp` (#1406) 2178 - Fix invalid group filtering in 'patch-resource' command (#1319) 2179 - Fix null pointer dereference error in 'argocd app wait' (#1366) 2180 - kubectl v1.13 fails to convert extensions/NetworkPolicy (#1012) 2181 - Patch APIs are not audited (#1397) 2182 2183 + 'argocd app wait' should fail sooner if app transitioned to Degraded state (#733) 2184 + Add mapping to new canonical Ingress API group - kubernetes 1.14 support (#1348) (@twz123) 2185 + Adds support for `kustomize edit set image`. (#1275) 2186 + Allow using any name for secrets which store cluster credentials (#1218) 2187 + Update argocd-util import/export to support proper backup and restore (#1048) 2188 2189 ## v0.12.0 (2019-03-20) 2190 2191 ### New Features 2192 2193 #### Improved UI 2194 2195 Many improvements to the UI were made, including: 2196 2197 * Table view when viewing applications 2198 * Filters on applications 2199 * Table view when viewing application resources 2200 * YAML editor in UI 2201 * Switch to text-based diff instead of json diff 2202 * Ability to edit application specs 2203 2204 #### Custom Health Assessments (CRD Health) 2205 2206 Argo CD has long been able to perform health assessments on resources, however this could only 2207 assess the health for a few native kubernetes types (deployments, statefulsets, daemonsets, etc...). 2208 Now, Argo CD can be extended to gain understanding of any CRD health, in the form of Lua scripts. 2209 For example, using this feature, Argo CD now understands the CertManager Certificate CRD and will 2210 report a Degraded status when there are issues with the cert. 2211 2212 #### Configuration Management Plugins 2213 2214 Argo CD introduces Config Management Plugins to support custom configuration management tools other 2215 than the set that Argo CD provides out-of-the-box (Helm, Kustomize, Ksonnet, Jsonnet). Using config 2216 management plugins, Argo CD can be configured to run specified commands to render manifests. This 2217 makes it possible for Argo CD to support other config management tools (kubecfg, kapitan, shell 2218 scripts, etc...). 2219 2220 #### High Availability 2221 2222 Argo CD is now fully HA. A set HA of manifests are provided for users who wish to run Argo CD in 2223 a highly available manner. NOTE: The HA installation will require at least three different nodes due 2224 to pod anti-affinity roles in the specs. 2225 2226 #### Improved Application Source 2227 2228 * Support for Kustomize 2 2229 * YAML/JSON/Jsonnet Directories can now be recursed 2230 * Support for Jsonnet external variables and top-level arguments 2231 2232 #### Additional Prometheus Metrics 2233 2234 Argo CD provides the following additional prometheus metrics: 2235 * Sync counter to track sync activity and results over time 2236 * Application reconciliation (refresh) performance to track Argo CD performance and controller activity 2237 * Argo CD API Server metrics for monitoring HTTP/gRPC requests 2238 2239 #### Fuzzy Diff Logic 2240 2241 Argo CD can now be configured to ignore known differences for resource types by specifying a json 2242 pointer to the field path to ignore. This helps prevent OutOfSync conditions when a user has no 2243 control over the manifests. Ignored differences can be configured either at an application level, 2244 or a system level, based on a group/kind. 2245 2246 #### Resource Exclusions 2247 2248 Argo CD can now be configured to completely ignore entire classes of resources group/kinds. 2249 Excluding high-volume resources improves performance and memory usage, and reduces load and 2250 bandwidth to the Kubernetes API server. It also allows users to fine-tune the permissions that 2251 Argo CD needs to a cluster by preventing Argo CD from attempting to watch resources of that 2252 group/kind. 2253 2254 #### gRPC-Web Support 2255 2256 The argocd CLI can be now configured to communicate to the Argo CD API server using gRPC-Web 2257 (HTTP1.1) using a new CLI flag `--grpc-web`. This resolves some compatibility issues users were 2258 experiencing with ingresses and gRPC (HTTP2), and should enable argocd CLI to work with virtually 2259 any load balancer, ingress controller, or API gateway. 2260 2261 #### CLI features 2262 2263 Argo CD introduces some additional CLI commands: 2264 2265 * `argocd app edit APPNAME` - to edit an application spec using preferred EDITOR 2266 * `argocd proj edit PROJNAME` - to edit an project spec using preferred EDITOR 2267 * `argocd app patch APPNAME` - to patch an application spec 2268 * `argocd app patch-resource APPNAME` - to patch a specific resource which is part of an application 2269 2270 2271 ### Breaking Changes 2272 2273 #### Label selector changes, dex-server rename 2274 2275 The label selectors for deployments were been renamed to use kubernetes common labels 2276 (`app.kubernetes.io/name=NAME` instead of `app=NAME`). Since K8s deployment label selectors are 2277 immutable, during an upgrade from v0.11 to v0.12, the old deployments should be deleted using 2278 `--cascade=false` which allows the new deployments to be created without introducing downtime. 2279 Once the new deployments are ready, the older replicasets can be deleted. Use the following 2280 instructions to upgrade from v0.11 to v0.12 without introducing downtime: 2281 2282 ``` 2283 # delete the deployments with cascade=false. this orphan the replicasets, but leaves the pods running 2284 kubectl delete deploy --cascade=false argocd-server argocd-repo-server argocd-application-controller 2285 2286 # apply the new manifests and wait for them to finish rolling out 2287 kubectl apply <new install manifests> 2288 kubectl rollout status deploy/argocd-application-controller 2289 kubectl rollout status deploy/argocd-repo-server 2290 kubectl rollout status deploy/argocd-application-controller 2291 2292 # delete old replicasets which are using the legacy label 2293 kubectl delete rs -l app=argocd-server 2294 kubectl delete rs -l app=argocd-repo-server 2295 kubectl delete rs -l app=argocd-application-controller 2296 2297 # delete the legacy dex-server which was renamed 2298 kubectl delete deploy dex-server 2299 ``` 2300 2301 #### Deprecation of spec.source.componentParameterOverrides 2302 2303 For declarative application specs, the `spec.source.componentParameterOverrides` field is now 2304 deprecated in favor of application source specific config. They are replaced with new fields 2305 specific to their respective config management. For example, a Helm application spec using the 2306 legacy field: 2307 2308 ```yaml 2309 spec: 2310 source: 2311 componentParameterOverrides: 2312 - name: image.tag 2313 value: v1.2 2314 ``` 2315 2316 should move to: 2317 2318 ```yaml 2319 spec: 2320 source: 2321 helm: 2322 parameters: 2323 - name: image.tag 2324 value: v1.2 2325 ``` 2326 2327 Argo CD will automatically duplicate the legacy field values to the new locations (and vice versa) 2328 as part of automatic migration. The legacy `spec.source.componentParameterOverrides` field will be 2329 kept around for the v0.12 release (for migration purposes) and will be removed in the next Argo CD 2330 release. 2331 2332 #### Removal of spec.source.environment and spec.source.valuesFiles 2333 2334 The `spec.source.environment` and `spec.source.valuesFiles` fields, which were deprecated in v0.11, 2335 are now completely removed from the Application spec. 2336 2337 2338 #### API/CLI compatibility 2339 2340 Due to API spec changes related to the deprecation of componentParameterOverrides, Argo CD v0.12 2341 has a minimum client version of v0.12.0. Older CLI clients will be rejected. 2342 2343 2344 ### Changes since v0.11: 2345 + Improved UI 2346 + Custom Health Assessments (CRD Health) 2347 + Configuration Management Plugins 2348 + High Availability 2349 + Fuzzy Diff Logic 2350 + Resource Exclusions 2351 + gRPC-Web Support 2352 + CLI features 2353 + Additional prometheus metrics 2354 + Sample Grafana dashboard (#1277) (@hartman17) 2355 + Support for Kustomize 2 2356 + YAML/JSON/Jsonnet Directories can now be recursed 2357 + Support for Jsonnet external variables and top-level arguments 2358 + Optimized reconciliation performance for applications with very active resources (#1267) 2359 + Support a separate OAuth2 CLI clientID different from server (#1307) 2360 + argocd diff: only print to stdout, if there is a diff + exit code (#1288) (@marcb1) 2361 + Detection and handling of duplicated resource definitions (#1284) 2362 + Support kustomize apps with remote bases in private repos in the same host (#1264) 2363 + Support patching resource using REST API (#1186) 2364 * Deprecate componentParameterOverrides in favor of source specific config (#1207) 2365 * Support talking to Dex using local cluster address instead of public address (#1211) 2366 * Use Recreate deployment strategy for controller (#1315) 2367 * Honor OS environment variables for helm commands (#1306) (@1337andre) 2368 * Disable CGO_ENABLED for server/controller binaries (#1286) 2369 * Documentation fixes and improvements (@twz123, @yann-soubeyrand, @OmerKahani, @dulltz) 2370 - Fix CRD creation/deletion handling (#1249) 2371 - Git cloning via SSH was not verifying host public key (#1276) 2372 - Fixed multiple goroutine leaks in controller and api-server 2373 - Fix issue where `argocd app set -p` required repo privileges. (#1280) 2374 - Fix local diff of non-namespaced resources. Also handle duplicates in local diff (#1289) 2375 - Deprecated resource kinds from 'extensions' groups are not reconciled correctly (#1232) 2376 - Fix issue where CLI would panic after timeout when cli did not have get permissions (#1209) 2377 - invalidate repo cache on delete (#1182) (@narg95) 2378 2379 ## v0.11.2 (2019-02-19) 2380 + Adds client retry. Fixes #959 (#1119) 2381 - Prevent deletion hotloop (#1115) 2382 - Fix EncodeX509KeyPair function so it takes in account chained certificates (#1137) (@amarruedo) 2383 - Exclude metrics.k8s.io from watch (#1128) 2384 - Fix issue where dex restart could cause login failures (#1114) 2385 - Relax ingress/service health check to accept non-empty ingress list (#1053) 2386 - [UI] Correctly handle empty response from repository/<repo>/apps API 2387 2388 ## v0.11.1 (2019-01-18) 2389 + Allow using redis as a cache in repo-server (#1020) 2390 - Fix controller deadlock when checking for stale cache (#1044) 2391 - Namespaces are not being sorted during apply (#1038) 2392 - Controller cache was susceptible to clock skew in managed cluster 2393 - Fix ability to unset ApplicationSource specific parameters 2394 - Fix force resource delete API (#1033) 2395 - Incorrect PermissionDenied error during app creation when using project roles + user-defined RBAC (#1019) 2396 - Fix `kubctl convert` issue preventing deployment of extensions/NetworkPolicy (#1012) 2397 - Do not allow metadata.creationTimestamp to affect sync status (#1021) 2398 - Graceful handling of clusters where API resource discovery is partially successful (#1018) 2399 - Handle k8s resources circular dependency (#1016) 2400 - Fix `app diff --local` command (#1008) 2401 2402 ## v0.11.0 (2019-01-10) 2403 This is Argo CD's biggest release ever and introduces a completely redesigned controller architecture. 2404 2405 ### New Features 2406 2407 #### Performance & Scalability 2408 The application controller has a completely redesigned architecture which improved performance and 2409 scalability during application reconciliation. 2410 2411 This was achieved by introducing an in-memory, live state cache of lightweight Kubernetes object 2412 metadata. During reconciliation, the controller no longer performs expensive, in-line queries of app 2413 related resources in K8s API server, instead relying on the metadata available in the live state 2414 cache. This dramatically improves performance and responsiveness, and is less burdensome to the K8s 2415 API server. 2416 2417 #### Object relationship visualization for CRDs 2418 With the new controller design, Argo CD is now able to understand ownership relationship between 2419 *all* Kubernetes objects, not just the built-in types. This enables Argo CD to visualize 2420 parent/child relationships between all kubernetes objects, including CRDs. 2421 2422 #### Multi-namespaced applications 2423 During sync, Argo CD will now honor any explicitly set namespace in a manifest. Manifests without a 2424 namespace will continue deploy to the "preferred" namespace, as specified in app's 2425 `spec.destination.namespace`. This enables support for a class of applications which install to 2426 multiple namespaces. For example, Argo CD can now install the 2427 [prometheus-operator](https://github.com/helm/charts/tree/master/stable/prometheus-operator) 2428 helm chart, which deploys some resources into `kube-system`, and others into the 2429 `prometheus-operator` namespace. 2430 2431 #### Large application support 2432 Full resource objects are no longer stored in the Application CRD object status. Instead, only 2433 lightweight metadata is stored in the status, such as a resource's sync and health status. 2434 This change enabled Argo CD to support applications with a very large number of resources 2435 (e.g. istio), and reduces the bandwidth requirements when listing applications in the UI. 2436 2437 #### Resource lifecycle hook improvements 2438 Resource lifecycle hooks (e.g. PreSync, PostSync) are now visible/manageable from the UI. 2439 Additionally, bare Pods with a restart policy of Never can now be used as a resource hook, as an 2440 alternative to Jobs, Workflows. 2441 2442 #### K8s recommended application labels 2443 The tracking label for resources has been changed to use `app.kubernetes.io/instance`, as 2444 recommended in [Kubernetes recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/), 2445 (changed from `applications.argoproj.io/app-name`). This will enable applications managed by Argo CD 2446 to interoperate with other tooling which are also converging on this labeling, such as the 2447 Kubernetes dashboard. Additionally, Argo CD no longer injects any tracking labels at the 2448 `spec.template.metadata` level. 2449 2450 #### External OIDC provider support 2451 Argo CD now supports auth delegation to an existing, external OIDC providers without the need for 2452 running Dex (e.g. Okta, OneLogin, Auth0, Microsoft, etc...) 2453 2454 The optional, [Dex IDP OIDC provider](https://github.com/dexidp/dex) is still bundled as part of the 2455 default installation, in order to provide a seamless out-of-box experience, enabling Argo CD to 2456 integrate with non-OIDC providers, and to benefit from Dex's full range of 2457 [connectors](https://dexidp.io/docs/connectors/). 2458 2459 #### OIDC group bindings to Project Roles 2460 OIDC group claims from an OAuth2 provider can now be bound to a Argo CD project roles. Previously, 2461 group claims could only be managed in the centralized ConfigMap, `argocd-rbac-cm`. They can now be 2462 managed at a project level. This enables project admins to self service access to applications 2463 within a project. 2464 2465 #### Declarative Argo CD configuration 2466 Argo CD settings can be now be configured either declaratively, or imperatively. The `argocd-cm` 2467 ConfigMap now has a `repositories` field, which can reference credentials in a normal Kubernetes 2468 secret which you can create declaratively, outside of Argo CD. 2469 2470 #### Helm repository support 2471 Helm repositories can be configured at the system level, enabling the deployment of helm charts 2472 which have a dependency to external helm repositories. 2473 2474 ### Breaking changes: 2475 2476 * Argo CD's resource names were renamed for consistency. For example, the application-controller 2477 deployment was renamed to argocd-application-controller. When upgrading from v0.10 to v0.11, 2478 the older resources should be pruned to avoid inconsistent state and controller in-fighting. 2479 2480 * As a consequence to moving to recommended kubernetes labels, when upgrading from v0.10 to v0.11, 2481 all applications will immediately be OutOfSync due to the change in tracking labels. This will 2482 correct itself with another sync of the application. However, since Pods will be recreated, please 2483 take this into consideration, especially if your applications are configured with auto-sync. 2484 2485 * There was significant reworking of the `app.status` fields to reduce the payload size, simplify 2486 the datastructure and remove fields which were no longer used by the controller. No breaking 2487 changes were made in `app.spec`. 2488 2489 * An older Argo CD CLI (v0.10 and below) will not be compatible with Argo CD v0.11. To keep 2490 CI pipelines in sync with the API server, it is recommended to have pipelines download the CLI 2491 directly from the API server https://${ARGOCD_SERVER}/download/argocd-linux-amd64 during the CI 2492 pipeline. 2493 2494 ### Changes since v0.10: 2495 * Improve Application state reconciliation performance (#806) 2496 * Refactor, consolidate and rename resource type data structures 2497 + Declarative setup and configuration of ArgoCD (#536) 2498 + Declaratively add helm repositories (#747) 2499 + Switch to k8s recommended app.kubernetes.io/instance label (#857) 2500 + Ability for a single application to deploy into multiple namespaces (#696) 2501 + Self service group access to project applications (#742) 2502 + Support for Pods as a sync hook (#801) 2503 + Support 'crd-install' helm hook (#355) 2504 + Use external 'diff' utility to render actual vs target state difference 2505 + Show sync policy in app list view 2506 * Remove resources state from application CRD (#758) 2507 * API server & UI should serve argocd binaries instead of linking to GitHub (#716) 2508 * Update versions for kubectl (v1.13.1), helm (v2.12.1), ksonnet (v0.13.1) 2509 * Update version of aws-iam-authenticator (0.4.0-alpha.1) 2510 * Ability to force refresh of application manifests from git 2511 * Improve diff assessment for Secrets, ClusterRoles, Roles 2512 - Failed to deploy helm chart with local dependencies and no internet access (#786) 2513 - Out of sync reported if Secrets with stringData are used (#763) 2514 - Unable to delete application in K8s v1.12 (#718) 2515 2516 ## v0.10.6 (2018-11-14) 2517 - Fix issue preventing in-cluster app sync due to go-client changes (issue #774) 2518 2519 ## v0.10.5 (2018-11-13) 2520 + Increase concurrency of application controller 2521 * Update dependencies to k8s v1.12 and client-go v9.0 (#729) 2522 - add argo cluster permission to view logs (#766) (@conorfennell) 2523 - Fix issue where applications could not be deleted on k8s v1.12 2524 - Allow 'syncApplication' action to reference target revision rather then hard-coding to 'HEAD' (#69) (@chrisgarland) 2525 - Issue #768 - Fix application wizard crash 2526 2527 ## v0.10.4 (2018-11-07) 2528 * Upgrade to Helm v0.11.0 (@amarrella) 2529 - Health check is not discerning apiVersion when assessing CRDs (issue #753) 2530 - Fix nil pointer dereference in util/health (@mduarte) 2531 2532 ## v0.10.3 (2018-10-28) 2533 * Fix applying TLS version settings 2534 * Update to kustomize 1.0.10 (@twz123) 2535 2536 ## v0.10.2 (2018-10-25) 2537 * Update to kustomize 1.0.9 (@twz123) 2538 - Fix app refresh err when k8s patch is too slow 2539 2540 ## v0.10.1 (2018-10-24) 2541 2542 - Handle case where OIDC settings become invalid after dex server restart (issue #710) 2543 - git clean also needs to clean files under gitignore (issue #711) 2544 2545 ## v0.10.0 (2018-10-19) 2546 2547 ### Changes since v0.9: 2548 2549 + Allow more fine-grained sync (issue #508) 2550 + Display init container logs (issue #681) 2551 + Redirect to /auth/login instead of /login when SSO token is used for authentication (issue #348) 2552 + Support ability to use a helm values files from a URL (issue #624) 2553 + Support public not-connected repo in app creation UI (issue #426) 2554 + Use ksonnet CLI instead of ksonnet libs (issue #626) 2555 + We should be able to select the order of the `yaml` files while creating a Helm App (#664) 2556 * Remove default params from app history (issue #556) 2557 * Update to ksonnet v0.13.0 2558 * Update to kustomize 1.0.8 2559 - API Server fails to return apps due to grpc max message size limit (issue #690) 2560 - App Creation UI for Helm Apps shows only files prefixed with `values-` (issue #663) 2561 - App creation UI should allow specifying values files outside of helm app directory bug (issue #658) 2562 - argocd-server logs credentials in plain text when adding git repositories (issue #653) 2563 - Azure Repos do not work as a repository (issue #643) 2564 - Better update conflict error handing during app editing (issue #685) 2565 - Cluster watch needs to be restarted when CRDs get created (issue #627) 2566 - Credentials not being accepted for Google Source Repositories (issue #651) 2567 - Default project is created without permission to deploy cluster level resources (issue #679) 2568 - Generate role token click resets policy changes (issue #655) 2569 - Input type text instead of password on Connect repo panel (issue #693) 2570 - Metrics endpoint not reachable through the metrics kubernetes service (issue #672) 2571 - Operation stuck in 'in progress' state if application has no resources (issue #682) 2572 - Project should influence options for cluster and namespace during app creation (issue #592) 2573 - Repo server unable to execute ls-remote for private repos (issue #639) 2574 - Resource is always out of sync if it has only 'ksonnet.io/component' label (issue #686) 2575 - Resource nodes are 'jumping' on app details page (issue #683) 2576 - Sync always suggest using latest revision instead of target UI bug (issue #669) 2577 - Temporary ignore service catalog resources (issue #650) 2578 2579 ## v0.9.2 (2018-09-28) 2580 2581 * Update to kustomize 1.0.8 2582 - Fix issue where argocd-server logged credentials in plain text during repo add (issue #653) 2583 - Credentials not being accepted for Google Source Repositories (issue #651) 2584 - Azure Repos do not work as a repository (issue #643) 2585 - Temporary ignore service catalog resources (issue #650) 2586 - Normalize policies by always adding space after comma 2587 2588 ## v0.9.1 (2018-09-24) 2589 2590 - Repo server unable to execute ls-remote for private repos (issue #639) 2591 2592 ## v0.9.0 (2018-09-24) 2593 2594 ### Notes about upgrading from v0.8 2595 * Cluster wide resources should be allowed in default project (due to issue #330): 2596 2597 ``` 2598 argocd project allow-cluster-resource default '*' '*' 2599 ``` 2600 2601 * Projects now provide the ability to allow or deny deployments of cluster-scoped resources 2602 (e.g. Namespaces, ClusterRoles, CustomResourceDefinitions). When upgrading from v0.8 to v0.9, to 2603 match the behavior of v0.8 (which did not have restrictions on deploying resources) and continue to 2604 allow deployment of cluster-scoped resources, an additional command should be run: 2605 2606 ```bash 2607 argocd proj allow-cluster-resource default '*' '*' 2608 ``` 2609 2610 The above command allows the `default` project to deploy any cluster-scoped resources which matches 2611 the behavior of v0.8. 2612 2613 * The secret keys in the argocd-secret containing the TLS certificate and key, has been renamed from 2614 `server.crt` and `server.key` to the standard `tls.crt` and `tls.key` keys. This enables Argo CD 2615 to integrate better with Ingress and cert-manager. When upgrading to v0.9, the `server.crt` and 2616 `server.key` keys in argocd-secret should be renamed to the new keys. 2617 2618 ### Changes since v0.8: 2619 + Auto-sync option in application CRD instance (issue #79) 2620 + Support raw jsonnet as an application source (issue #540) 2621 + Reorder K8s resources to correct creation order (issue #102) 2622 + Redact K8s secrets from API server payloads (issue #470) 2623 + Support --in-cluster authentication without providing a kubeconfig (issue #527) 2624 + Special handling of CustomResourceDefinitions (issue #613) 2625 + Argo CD should download helm chart dependencies (issue #582) 2626 + Export Argo CD stats as prometheus style metrics (issue #513) 2627 + Support restricting TLS version (issue #609) 2628 + Use 'kubectl auth reconcile' before 'kubectl apply' (issue #523) 2629 + Projects need controls on cluster-scoped resources (issue #330) 2630 + Support IAM Authentication for managing external K8s clusters (issue #482) 2631 + Compatibility with cert manager (issue #617) 2632 * Enable TLS for repo server (issue #553) 2633 * Split out dex into it's own deployment (instead of sidecar) (issue #555) 2634 + [UI] Support selection of helm values files in App creation wizard (issue #499) 2635 + [UI] Support specifying source revision in App creation wizard allow (issue #503) 2636 + [UI] Improve resource diff rendering (issue #457) 2637 + [UI] Indicate number of ready containers in pod (issue #539) 2638 + [UI] Indicate when app is overriding parameters (issue #503) 2639 + [UI] Provide a YAML view of resources (issue #396) 2640 + [UI] Project Role/Token management from UI (issue #548) 2641 + [UI] App creation wizard should allow specifying source revision (issue #562) 2642 + [UI] Ability to modify application from UI (issue #615) 2643 + [UI] indicate when operation is in progress or has failed (issue #566) 2644 - Fix issue where changes were not pulled when tracking a branch (issue #567) 2645 - Lazy enforcement of unknown cluster/namespace restricted resources (issue #599) 2646 - Fix controller hot loop when app source contains bad manifests (issue #568) 2647 - Fix issue where Argo CD fails to deploy when resources are in a K8s list format (issue #584) 2648 - Fix comparison failure when app contains unregistered custom resource (issue #583) 2649 - Fix issue where helm hooks were being deployed as part of sync (issue #605) 2650 - Fix race conditions in kube.GetResourcesWithLabel and DeleteResourceWithLabel (issue #587) 2651 - [UI] Fix issue where projects filter does not work when application got changed 2652 - [UI] Creating apps from directories is not obvious (issue #565) 2653 - Helm hooks are being deployed as resources (issue #605) 2654 - Disagreement in three way diff calculation (issue #597) 2655 - SIGSEGV in kube.GetResourcesWithLabel (issue #587) 2656 - Argo CD fails to deploy resources list (issue #584) 2657 - Branch tracking not working properly (issue #567) 2658 - Controller hot loop when application source has bad manifests (issue #568) 2659 2660 ## v0.8.2 (2018-09-12) 2661 - Downgrade ksonnet from v0.12.0 to v0.11.0 due to quote unescape regression 2662 - Fix CLI panic when performing an initial `argocd sync/wait` 2663 2664 ## v0.8.1 (2018-09-10) 2665 + [UI] Support selection of helm values files in App creation wizard (issue #499) 2666 + [UI] Support specifying source revision in App creation wizard allow (issue #503) 2667 + [UI] Improve resource diff rendering (issue #457) 2668 + [UI] Indicate number of ready containers in pod (issue #539) 2669 + [UI] Indicate when app is overriding parameters (issue #503) 2670 + [UI] Provide a YAML view of resources (issue #396) 2671 - Fix issue where changes were not pulled when tracking a branch (issue #567) 2672 - Fix controller hot loop when app source contains bad manifests (issue #568) 2673 - [UI] Fix issue where projects filter does not work when application got changed 2674 2675 ## v0.8.0 (2018-09-04) 2676 2677 ### Notes about upgrading from v0.7 2678 * The RBAC model has been improved to support explicit denies. What this means is that any previous 2679 RBAC policy rules, need to be rewritten to include one extra column with the effect: 2680 `allow` or `deny`. For example, if a rule was written like this: 2681 ``` 2682 p, my-org:my-team, applications, get, */* 2683 ``` 2684 It should be rewritten to look like this: 2685 ``` 2686 p, my-org:my-team, applications, get, */*, allow 2687 ``` 2688 2689 ### Changes since v0.7: 2690 + Support kustomize as an application source (issue #510) 2691 + Introduce project tokens for automation access (issue #498) 2692 + Add ability to delete a single application resource to support immutable updates (issue #262) 2693 + Update RBAC model to support explicit denies (issue #497) 2694 + Ability to view Kubernetes events related to application projects for auditing 2695 + Add PVC healthcheck to controller (issue #501) 2696 + Run all containers as an unprivileged user (issue #528) 2697 * Upgrade ksonnet to v0.12.0 2698 * Add readiness probes to API server (issue #522) 2699 * Use gRPC error codes instead of fmt.Errorf (#532) 2700 - API discovery becomes best effort when partial resource list is returned (issue #524) 2701 - Fix `argocd app wait` printing incorrect Sync output (issue #542) 2702 - Fix issue where argocd could not sync to a tag (#541) 2703 - Fix issue where static assets were browser cached between upgrades (issue #489) 2704 2705 ## v0.7.2 (2018-08-21) 2706 - API discovery becomes best effort when partial resource list is returned (issue #524) 2707 2708 ## v0.7.1 (2018-08-03) 2709 + Surface helm parameters to the application level (#485) 2710 + [UI] Improve application creation wizard (#459) 2711 + [UI] Show indicator when refresh is still in progress (#493) 2712 * [UI] Improve data loading error notification (#446) 2713 * Infer username from claims during an `argocd relogin` (#475) 2714 * Expand RBAC role to be able to create application events. Fix username claims extraction 2715 - Fix scalability issues with the ListApps API (#494) 2716 - Fix issue where application server was retrieving events from incorrect cluster (#478) 2717 - Fix failure in identifying app source type when path was '.' 2718 - AppProjectSpec SourceRepos mislabeled (#490) 2719 - Failed e2e test was not failing CI workflow 2720 * Fix linux download link in getting_started.md (#487) (@chocopowwwa) 2721 2722 ## v0.7.0 (2018-07-27) 2723 + Support helm charts and yaml directories as an application source 2724 + Audit trails in the form of API call logs 2725 + Generate kubernetes events for application state changes 2726 + Add ksonnet version to version endpoint (#433) 2727 + Show CLI progress for sync and rollback 2728 + Make use of dex refresh tokens and store them into local config 2729 + Expire local superuser tokens when their password changes 2730 + Add `argocd relogin` command as a convenience around login to current context 2731 - Fix saving default connection status for repos and clusters 2732 - Fix undesired fail-fast behavior of health check 2733 - Fix memory leak in the cluster resource watch 2734 - Health check for StatefulSets, DaemonSet, and ReplicaSets were failing due to use of wrong converters 2735 2736 ## v0.6.2 (2018-07-23) 2737 - Health check for StatefulSets, DaemonSet, and ReplicaSets were failing due to use of wrong converters 2738 2739 ## v0.6.1 (2018-07-18) 2740 - Fix regression where deployment health check incorrectly reported Healthy 2741 + Intercept dex SSO errors and present them in Argo login page 2742 2743 ## v0.6.0 (2018-07-16) 2744 + Support PreSync, Sync, PostSync resource hooks 2745 + Introduce Application Projects for finer grain RBAC controls 2746 + Swagger Docs & UI 2747 + Support in-cluster deployments internal kubernetes service name 2748 + Refactoring & Improvements 2749 * Improved error handling, status and condition reporting 2750 * Remove installer in favor of kubectl apply instructions 2751 * Add validation when setting application parameters 2752 * Cascade deletion is decided during app deletion, instead of app creation 2753 - Fix git authentication implementation when using using SSH key 2754 - app-name label was inadvertently injected into spec.selector if selector was omitted from v1beta1 specs 2755 2756 ## v0.5.4 (2018-06-27) 2757 - Refresh flag to sync should be optional, not required 2758 2759 ## v0.5.3 (2018-06-20) 2760 + Support cluster management using the internal k8s API address https://kubernetes.default.svc (#307) 2761 + Support diffing a local ksonnet app to the live application state (resolves #239) (#298) 2762 + Add ability to show last operation result in app get. Show path in app list -o wide (#297) 2763 + Update dependencies: ksonnet v0.11, golang v1.10, debian v9.4 (#296) 2764 + Add ability to force a refresh of an app during get (resolves #269) (#293) 2765 + Automatically restart API server upon certificate changes (#292) 2766 2767 ## v0.5.2 (2018-06-14) 2768 + Resource events tab on application details page (#286) 2769 + Display pod status on application details page (#231) 2770 2771 ## v0.5.1 (2018-06-13) 2772 - API server incorrectly compose application fully qualified name for RBAC check (#283) 2773 - UI crash while rendering application operation info if operation failed 2774 2775 ## v0.5.0 (2018-06-12) 2776 + RBAC access control 2777 + Repository/Cluster state monitoring 2778 + Argo CD settings import/export 2779 + Application creation UI wizard 2780 + argocd app manifests for printing the application manifests 2781 + argocd app unset command to unset parameter overrides 2782 + Fail app sync if prune flag is required (#276) 2783 + Take into account number of unavailable replicas to decided if deployment is healthy or not #270 2784 + Add ability to show parameters and overrides in CLI (resolves #240) 2785 - Repo names containing underscores were not being accepted (#258) 2786 - Cookie token was not parsed properly when mixed with other site cookies 2787 2788 ## v0.4.7 (2018-06-07) 2789 - Fix argocd app wait health checking logic 2790 2791 ## v0.4.6 (2018-06-06) 2792 - Retry argocd app wait connection errors from EOF watch. Show detailed state changes 2793 2794 ## v0.4.5 (2018-05-31) 2795 + Add argocd app unset command to unset parameter overrides 2796 - Cookie token was not parsed properly when mixed with other site cookies 2797 2798 ## v0.4.4 (2018-05-30) 2799 + Add ability to show parameters and overrides in CLI (resolves #240) 2800 + Add Events API endpoint 2801 + Issue #238 - add upsert flag to 'argocd app create' command 2802 + Add repo browsing endpoint (#229) 2803 + Support subscribing to settings updates and auto-restart of dex and API server 2804 - Issue #233 - Controller does not persist rollback operation result 2805 - App sync frequently fails due to concurrent app modification 2806 2807 ## v0.4.3 (2018-05-21) 2808 - Move local branch deletion as part of git Reset() (resolves #185) (#222) 2809 - Fix exit code for app wait (#219) 2810 2811 ## v0.4.2 (2018-05-21) 2812 + Show URL in argocd app get 2813 - Remove interactive context name prompt during login which broke login automation 2814 * Rename force flag to cascade in argocd app delete 2815 2816 ## v0.4.1 (2018-05-18) 2817 + Implemented argocd app wait command 2818 2819 ## v0.4.0 (2018-05-17) 2820 + SSO Integration 2821 + GitHub Webhook 2822 + Add application health status 2823 + Sync/Rollback/Delete is asynchronously handled by controller 2824 * Refactor CRUD operation on clusters and repos 2825 * Sync will always perform kubectl apply 2826 * Synced Status considers last-applied-configuration annotation 2827 * Server & namespace are mandatory fields (still inferred from app.yaml) 2828 * Manifests are memoized in repo server 2829 - Fix connection timeouts to SSH repos 2830 2831 ## v0.3.2 (2018-05-03) 2832 + Application sync should delete 'unexpected' resources #139 2833 + Update ksonnet to v0.10.1 2834 + Detect unexpected resources 2835 - Fix: App sync frequently fails due to concurrent app modification #147 2836 - Fix: improve app state comparator: #136, #132 2837 2838 ## v0.3.1 (2018-04-24) 2839 + Add new rollback RPC with numeric identifiers 2840 + New argo app history and argo app rollback command 2841 + Switch to gogo/protobuf for golang code generation 2842 - Fix: create .argocd directory during argo login (issue #123) 2843 - Fix: Allow overriding server or namespace separately (issue #110) 2844 2845 ## v0.3.0 (2018-04-23) 2846 + Auth support 2847 + TLS support 2848 + DAG-based application view 2849 + Bulk watch 2850 + ksonnet v0.10.0-alpha.3 2851 + kubectl apply deployment strategy 2852 + CLI improvements for app management 2853 2854 ## v0.2.0 (2018-04-03) 2855 + Rollback UI 2856 + Override parameters 2857 2858 ## v0.1.0 (2018-03-12) 2859 + Define app in GitHub with dev and preprod environment using KSonnet 2860 + Add cluster Diff App with a cluster Deploy app in a cluster 2861 + Deploy a new version of the app in the cluster 2862 + App sync based on GitHub app config change - polling only 2863 + Basic UI: App diff between Git and k8s cluster for all environments Basic GUI