github.com/argoproj/argo-cd/v2@v2.10.9/docs/operator-manual/upgrading/2.5-2.6.md (about)

     1  # v2.5 to 2.6
     2  
     3  ## Known Issues
     4  
     5  ### Broken `project` filter before 2.6.6
     6  
     7  Argo CD 2.4.0 introduced a breaking API change, renaming the `project` filter to `projects`.
     8  
     9  #### Impact to API clients
    10  
    11  A similar issue applies to other API clients which communicate with the Argo CD API server via its REST API. If the
    12  client uses the `project` field to filter projects, the filter will not be applied. **The failing project filter could
    13  have detrimental consequences if, for example, you rely on it to list Applications to be deleted.**
    14  
    15  #### Impact to CLI clients
    16  
    17  CLI clients older that v2.4.0 rely on client-side filtering and are not impacted by this bug.
    18  
    19  #### How to fix the problem
    20  
    21  Upgrade to Argo CD >=2.4.27, >=2.5.15, or >=2.6.6. This version of Argo CD will accept both `project` and `projects` as
    22  valid filters.
    23  
    24  ### Broken matrix-nested git files generator in 2.6.5
    25  
    26  Argo CD 2.6.5 introduced a bug in the matrix-nested git files generator. The bug only applies when the git files 
    27  generator is the second generator nested under a matrix. For example:
    28  
    29  ```yaml
    30  apiVersion: argoproj.io/v1alpha1
    31  kind: ApplicationSet
    32  metadata:
    33    name: guestbook
    34  spec:
    35    generators:
    36    - matrix:
    37        generators:
    38          - clusters: {}
    39          - git:
    40              repoURL: https://git.example.com/org/repo.git
    41              revision: HEAD
    42              files:
    43                - path: "defaults/*.yaml"
    44    template:
    45      # ...
    46  ```
    47  
    48  The nested git files generator will produce no parameters, causing the matrix generator to also produce no parameters.
    49  This will cause the ApplicationSet to produce no Applications. If the ApplicationSet controller is 
    50  [configured with the ability to delete applications](https://argo-cd.readthedocs.io/en/latest/operator-manual/applicationset/Controlling-Resource-Modification/), 
    51  it will delete all Applications which were previously created by the ApplicationSet.
    52  
    53  To avoid this issue, upgrade directly to >=2.5.15 or >= 2.6.6.
    54  
    55  ## ApplicationSets: `^` behavior change in Sprig's semver functions
    56  Argo CD 2.5 introduced [Go templating in ApplicationSets](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/GoTemplate/). Go templates have access to the Sprig function library.
    57  
    58  Argo CD 2.6 upgrades Sprig to v3. That upgrade includes an upgrade of [Masterminds/semver](https://github.com/Masterminds/semver/releases) to v3.
    59  
    60  Masterminds/semver v3 changed the behavior of the `^` prefix in semantic version constraints. If you are using Go-templated ApplicationSets which include references to [Sprig's semver functions](https://masterminds.github.io/sprig/semver.html) and use the `^` prefix, read the [Masterminds/semver changelog](https://github.com/Masterminds/semver/releases/tag/v3.0.0) to understand how your ApplicationSets' behavior may change.
    61  
    62  ## Applications with suspended jobs now marked "Suspended" instead of "Progressing"
    63  Prior to Argo CD v2.6, an Application managing a suspended Job would be marked as "Progressing". This was confusing/unexpected behavior for many. Starting with v2.6, Argo CD will mark such Applications as "Suspended".
    64  
    65  If you have processes which rely on the previous behavior (for example, a CI job with an argocd app wait call), update those before upgrading to v2.6.
    66  
    67  ## The API Server now requires tokens to include the `aud` claim by default
    68  
    69  Argo CD v2.6 now requires that the `aud` claim be present in the token used to authenticate to the API Server. This is a 
    70  security improvement, as it prevents tokens from being used against the API Server which were not intended for it.
    71  
    72  If you rely on an OIDC provider which does not provide a `aud` claim, you can disable this requirement by setting the 
    73  `skipAudienceCheckWhenTokenHasNoAudience` flag to `true` in your Argo CD OIDC configuration. (See the 
    74  [OIDC configuration documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#existing-oidc-provider)
    75  for an example.)
    76  
    77  ## Removal of argocd-cm plugin support delayed until 2.7
    78  
    79  Support for argocd-cm plugins was previously scheduled for 2.6. At the time, sidecar plugins could not be specified by
    80  name. Argo CD v2.6 introduces support for specifying sidecar plugins by name. 
    81  
    82  Removal of argocd-cm plugin support has been delayed until 2.7 to provide a transition time for users who need to 
    83  specify plugins by name. 
    84  
    85  ## `argocd app create` for old CLI versions fails with API version >=2.6.7
    86  
    87  Starting with Argo CD 2.6.7, the API returns `PermissionDenied` instead of `NotFound` for Application `GET` requests if
    88  the Application does not exist.
    89  
    90  The Argo CD CLI before versions starting with version 2.5.0-rc1 and before versions 2.5.16 and 2.6.7 does a `GET`
    91  request before the `POST` request in `argocd app create`. The command does not gracefully handle the `PermissionDenied`
    92  response and will therefore fail to create/update the Application.
    93  
    94  To solve the issue, upgrade the CLI to at least 2.5.16, or 2.6.7.
    95  
    96  CLIs older than 2.5.0-rc1 are unaffected.
    97