## argoproj/argo-cd — v3.5.4…v3.6.0-rc1

_636+ commits._

### Features
- **feat(appset): add metrics for count of app refreshes triggered by appset during progressive sync (#29244)** (94564eb)
- **feat(webhooks): add webhook support for DockerHub (#28022)** (7bdadbf)
- **feat(ui): Implement virtual scrolling for Apps list/tiles view when `all` is selected (#29542)** (ba47c6b)
- **feat(health): support custom deletion messages (#27595) (#27596)** (ffe66ff)
- **feat: support ignore-differences annotation on resources (#29616)** (9e9c2f1)
- **feat(ui): add server-side name filter to applications list and watch (#29106) (#29242)** (e2a605e)
- **feat(ui): Lazy loading (#29087)** (bf984ea)
- **TLS curve preferences now configurable** — Administrators can now customize TLS elliptic curve preferences for repo-server and argocd-server through a new `--tlscurvepreferences` flag, supporting modern curves like X25519, P256, P384, P521, and post-quantum options like X25519MLKEM768. (0141bf0)
- **Configurable manifest compression for cache** — Added optional manifest compression and serialization for cached resource manifests to reduce memory usage. Operators can now enable compression via ConfigMap settings and choose between JSON or MessagePack serialization formats with multiple compression algorithms like gzip, zstd, or zlib. (b2e6d1d)
- **feat(perf): resolve the destination server without copying the cluster (#29573)** (0f901d1)
- **feat(perf): reuse matrix child params when the generator is unchanged (#29582)** (0c2545d)
- **feat(appset): Add progressive sync metrics for AppSet (#29202)** (0df1a4b)
- **feat(webhook): Add manifest-generate-paths annotation support for BitBucket Server (#27552)** (73bf020)
- **feat: Default to SSD with SSA and remove SMD (#29103)** (48f9461)
- **feat: add oci generator for applicationsets (#26121)** (bcb771e)
- **feat: add bundled health check for KServe LLMInferenceService (#29599) (#29620)** (eb15eb4)
- **feat(perf): count apps per cluster in a single pass (#29570)** (e5eb504)
- **feat(perf): drop two redundant application copies from the refresh path (#29581)** (4c36558)
- **feat: accept repository-style Azure keys in repo-creds (#29414) (#29415)** (7a80e4c)
- **feat(server): add configHash field to Cluster (#25311) (#27657)** (e4470c5)
- **feat(health): add health check for cert-manager trust-manager Bundle (#28615)** (dec470a)
- **feat(health): add health checks for Velero Backup, Restore, and Schedule (#28464)** (180061c)
- **feat(health): add health check for Prometheus Operator ThanosRuler (#28463)** (2338867)
- **feat(health): add health checks for Tekton PipelineRun and TaskRun (#28467)** (21ac508)
- **feat(health): add health checks for cert-manager ACME Order and Challenge (#28466)** (5708801)
- **feat(health): add health check for cert-manager CertificateRequest (#28465)** (831d77b)
- **feat(health): add health check for CloudNativePG Backup (#28468)** (e1145c6)
- **feat(hydrator): add metrics to app info (#29512) (#29514)** (961bd43)
- **feat: Add reporting component to events list (#25684) (#27678)** (34427a6)
- **feat(health): Implement kyverno health checks (#27354)** (2e2f4e4)
- **feat(health): add built-in health check for TLSRoute (#26596)** (034ab61)
- **feat: Add health check resource customizations for Envoy Gateway Extension CRDs (#27291)** (0703fca)
- **feat(health): add health check for flink.apache.org/FlinkSessionJob (#26626)** (fdf6751)
- **feat(health): add health check for Prometheus Operator Alertmanager (#28446)** (6858a80)
- **feat(dex): Making Dex storage type and config configurable from argocd-cm configmap (#28624)** (465d43b)
- **feat(health): add health check for MedusaBackupJob (issue #28009) (#28008)** (3825b96)
- **feat(resource-customization): add healthchecks and actions for Project Capsule resources (#28891)** (3e20518)
- **feat(health): add health check for MedusaTask (issue #28007) (#28006)** (309594b)
- **feat(health): add health check for Kro resources (#28743)** (ff00ee7)
- **feat(resource_customizations): support ignored status for victoriametrics healthcheck (#29351)** (54a740e)
- **feat(health): support ListenerSet.gateway.networking.k8s.io (#28388)** (463f39a)
- **feat(health): add health check for CloudNativePG Database CRD (#29511)** (643de0b)
- **feat(perf): partial json unmarshalling (#29378)** (37273e3)
- **feat: Replace SIGNATURE-KEYS with SOURCE-INTEGRITY in proj list  (#28920)** (35238e3)
- **feat: Add deprecation warning when using --signature-keys (#28941)** (79b0815)
- **feat: add a button to clear logs in the pod logs viewer (#27149)** (58d427f)
- **feat(appset): expose workqueue rate limiter flags on applicationset-controller (#28286)** (9ef034e)
- **feat(hydrator): sign hydrated commits (Alpha) (#28239) (#28271)** (2d71dc6)

### Fixes
- **fix(ui): manifest viewer jumpiness (#29691) (#29692)** (b5c9f00)
- **fix(ui): show multi-source plugin env in Parameters tab (#29465)** (9bc95f9)
- **fix: glob compile error (#29699)** (d71ffe2)
- **fix(ui): prevent resource action buttons from overlapping status icons (#29302)** (a2bd9e8)
- **fix(ui): remove unnecessary open app icon on list view (#29681)** (58c7f84)
- **fix(ui): tree view spacing with group nodes (#29660)** (f2ba7a0)
- **fix(sync): do not pass --force to server-side apply (#29624) (#29626)** (ba8600c)
- **KubeVirt stopped VMs now healthy** — Fixed health status detection for KubeVirt VirtualMachines that are declared stopped (via `spec.running: false` or `spec.runStrategy: Halted`). A VM is now marked as Healthy once it reaches the stopped state, rather than being incorrectly marked as Suspended. (785005d)
- **fix(repo-server): fixes server-side diff with Helm+Kubernetes (#28092)** (656a4c3)
- **fix(ui): use unfiltered resources for filter counts (#29621)** (14bf22b)
- **fix(ui): make pod highlight dropdown readable in dark theme (#29605)** (eeef47f)
- **fix(docs): correct broken documentation links (#29572)** (e2d3669)
- **fix(controller): show retry wait time in unambiguous format (#29534)** (f8c252b)
- **fix(ui): hide the pod highlight button when there is only one pod (#29252) (#29255)** (f363af5)
- **fix(ui): guard SSO redirect to stop 401 retry loop (#28807)** (51ec3ea)
- **fix: validate resolved OIDC config after secret substitution (#29545) (#29555)** (fd0aa39)
- **fix(health): PromotionStrategy and ChangeTransferPolicy Healthy, not Progressing (#28434)** (381b418)
- **fix: add service for application controller statefulset (#29498) (#29499)** (187de3f)
- **fix(ui): use hydrateTo branch name when set (#29554) (#29562)** (53cd374)
- **fix(health): report suspended FlinkDeployment as healthy (#26818) (#28995)** (a1e358a)
- **fix: Support rabbitmq scale to zero in health check (#29119)** (1beb896)
- **fix: handle GrafanaFolder negative-polarity condition (#29395) (#29397)** (21956da)
- **fix(health): Crossplane MRs should report Progressing (not Healthy) whilst provisioning (#29381) (#29382)** (e238e1a)
- **fix: GRPCRoute health check ignores stale observedGeneration conditions (#28086) (#28087)** (102ff9f)
- **fix: recover AuthReconcile visitor panics (#29436) (#29440)** (05dcfe7)
- **fix(application): use server-side timeout query parameter via transport wrapper (#28828) (#28977)** (20ad5f9)
- **fix(ui): keep notice icon next to app name in tiles (#29413)** (b5850f1)
- **fix(ui): prefix application-details per-app CSS class to avoid collisions (#24220) (#28573)** (f92e3de)
- **fix(ui): Fix Hydrate-To revision name in App details (#27134)** (5da9053)

### Backend
- **[Bot] docs: Update Snyk report (#29694)** (5e228dc)
- **[Bot] docs: Update Snyk report (#29574)** (5e58b19)

### Tests
- **test: fix glob test flake (#27276)** (5bcc5b3)
- **test: fix flaky token expiry in TestProjectServer token subtests (#29618)** (760e5a8)
- **test: fix flaky TestWatchClusters_CreateRemoveCluster and TestWatchCuusters_LocalClusterModifications (#29617)** (c7f9e48)
- **test: fix Hydration check in TestHydratorHydratesAutomatically_NewCommit_WithChanges (#28878)** (6f7515b)

### Docs
- **docs: fix 'allows to display' grammar in status badge revisionLength (#29696)** (048c806)
- **docs: Adjust misleading onboarding steps (#29672)** (3054d6b)
- **docs: add mermaid diagram support to mkdocs (#27991)** (0231146)
- **docs: Reggie as a release champion for 4.0 (#29651)** (c61503c)
- **docs: centralize MAINTAINERS via argoproj/.project (#29645)** (dffc7f5)
- **docs: document double-wildcard pattern for domain-level repository matching (#26196)** (b079641)
- **docs(cli): improve docs for `argocd app create --file -` (#29553) (#29563)** (ea04c84)
- **docs: document hydrator git-only repository support (#29541)** (bd339b3)

### Chore
- **chore: bump version to 3.6.0-rc1 on release-3.6 branch (#29730)** (b7e3f52)
- **chore(deps): update dependency pymdown-extensions to v12 (#29723)** (022587e)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.85.0 (#29709)** (0715b5c)
- **chore(deps): update group renovate (#29700)** (d428196)
- **chore(deps): bump the golang-x group with 3 updates (#29705)** (363af87)
- **chore(deps): bump the aws-sdk-v2 group with 6 updates (#29704)** (bdc936a)
- **chore(deps): bump zizmorcore/zizmor-action from 0.6.3 to 0.6.4 (#29703)** (24b241f)
- **chore(deps): bump the codeql group with 4 updates (#29702)** (181c6cb)
- **chore(release): fix update-supported-version.sh script to handle k3s 1.37-rc3 tag (#29689)** (4b2103c)
- **chore(ui): remove dead filteredGraph state** (ca7128f)
- **chore: add prometheus argocd version gauge (#25981)** (b89ca48)
- **chore(deps): bump k8s client to 0.37.0 (#29597) (#29595)** (7f1b7e3)
- **chore(gh-aw): gh aw change to gpt-5-mini model (#29652)** (fb46254)
- **chore(deps): update dependency helm/helm to v4.3.0 (#29648)** (7a19801)
- **chore(deps): update module github.com/vektra/mockery/v3 to v3.8.0 (#29630)** (7fe27c0)
- **chore(ci): use sonnet-4.5 for gh aw (#29634)** (d6da9ed)
- **chore(deps): bump the golang-x group with 3 updates (#29628)** (fdd90b1)
- **chore(ui): pnpm 12 (#29619)** (17a8326)
- **chore(deps): bump github.com/go-openapi/loads from 0.25.2 to 0.25.3 (#29615)** (4233777)
- **chore(deps-dev): bump webpack from 5.106.2 to 5.110.3 in /ui (#29612)** (e9c49ec)
- **chore(deps): bump the aws-sdk-v2 group with 6 updates (#29614)** (a3ec90c)
- **chore(deps): bump pnpm/action-setup from 6.0.10 to 6.1.0 (#29613)** (05545be)
- **chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.4 to 4.1.5 (#29589)** (5c03ec6)
- **chore(ci): bump kubernetes versions in e2e matrix (#29596) (#29571)** (3b9a3f4)
- **chore(deps): update group renovate (#29585)** (7e2ea8c)
- **chore(deps): bump github.com/alicebob/miniredis/v2 from 2.38.0 to 2.39.0 (#29588)** (259634c)
- **chore(deps): bump golang.org/x/crypto from 0.55.0 to 0.56.0 in the golang-x group (#29587)** (c14dd2d)
- **chore(deps): bump github.com/go-openapi/runtime/server-middleware from 0.33.1 to 0.33.2 (#29590)** (5fd3944)
- **chore(deps): bump github.com/coreos/go-oidc/v3 from 3.20.0 to 3.21.0 (#29592)** (d4e549c)
- **chore(deps): bump timezones-list from 3.0.1 to 3.1.0 in /ui (#29594)** (6951cbc)
- **chore: sync maintainer files for membership Sep 2026 (#29544)** (52378dd)
- **chore(deps): bump Ubuntu base image digest  to 26.04 (resolute-20260811.1) (#29569)** (0cf2e80)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.64.1 (#29557)** (e3df257)
- **chore(deps): bump github.com/prometheus/client_model from 0.6.2 to 0.6.3 (#29552)** (83d5bdc)
- **chore(ci): Renovate self-bump weekly (#29561)** (0611881)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.62.1 (#29539)** (16afc07)
- **chore(deps-dev): bump @babel/preset-env from 7.29.5 to 7.29.7 in /ui (#29547)** (b7d05df)
- **chore(deps-dev): bump webpack-cli from 5.1.4 to 7.2.3 in /ui (#29549)** (f07403a)
- **chore(deps): bump docker/setup-qemu-action from 4.2.0 to 4.3.0 (#29550)** (6006998)
- **chore(deps): bump the aws-sdk-v2 group with 5 updates (#29551)** (dcd137e)
- **chore(deps-dev): bump jest-environment-jsdom from 29.7.0 to 30.5.0 in /ui (#29530)** (bbf1c96)
- **chore: signal handling followups (#29226)** (9cee19d)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.61.1 (#29528)** (eebefef)
- **chore(deps-dev): bump sass from 1.100.0 to 1.103.1 in /ui (#29337)** (91af317)
- **chore(deps-dev): bump copy-webpack-plugin from 12.0.2 to 14.0.0 in /ui (#29529)** (6edb42b)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.59.2 (#29515)** (320d558)
- **chore: fix typos in comments and two user-facing messages (#29510)** (ccc8a35)
- **chore(deps): bump js-yaml from 4.3.1 to 5.4.1 in /ui (#29483)** (6f37788)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.57.1 (#29501)** (0a99460)
- **chore: fix lint (#29506)** (281ea9e)
- **chore(ci): pin issue-triage agent model to claude-sonnet-5 (#29502)** (42b179a)
- **chore(deps): bump step-security/harden-runner from 2.21.0 to 2.21.1 (#29497)** (433beaa)
- **chore(deps): bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 (#29496)** (9c2d945)
- **chore(deps-dev): bump @testing-library/jest-dom from 6.9.1 to 7.0.1 in /ui (#29495)** (f430ebb)
- **chore(deps): update docker.io/library/golang docker tag to v1.27.1 (#29492)** (2222586)
- **chore(deps): update ghcr.io/renovatebot/renovate docker tag to v44.56.3 (#29491)** (506f040)
- **chore(deps): update dependency golang to v1.27.1 (#29490)** (14277cc)
- **chore: refresh SECURITY-INSIGHTS.yml last-updated when the release chore bumps project-release (#28725) (#28957)** (090c818)
- **chore: rxjs retry when migration (#29475)** (5e53705)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/argoproj/argo-cd?utm_source=github-action)._