artifacthub helm/kedacore/keda 2.21.0
v2.21.0

4 hours ago

We are happy to release KEDA 2.21.0 🎉

Important

KEDA 2.21.0 contains three breaking changes. If you are upgrading from KEDA 2.20, review Upgrading from KEDA 2.20 to 2.21 before upgrading.

Before upgrading from KEDA 2.20

Service account token audience enforcement (CVE-2026-77524)

KEDA 2.21 fixes the critical CVE-2026-77524 / GHSA-637c-6jxx-4rwm. You are affected if you use:

  • Vault Kubernetes authentication, including configurations using the operator token, an existing projected token, or credential.serviceAccountName.
  • Any TriggerAuthentication or ClusterTriggerAuthentication using boundServiceAccountToken, including integrations with Metrics API, Prometheus, Loki, Datadog Cluster Agent, and other token-authenticated receivers.

You are not affected if you use ordinary Vault token authentication, API keys, OAuth credentials, or another authentication method that does not use a bound service account token. Before upgrading, review carefully the upgrade guide

Temporal Rules-Based Versioning settings

The Temporal scaler no longer accepts the deprecated buildId, selectAllActive, and selectUnversioned settings. Existing ScaledObjects and ScaledJobs containing them will fail scaler metadata parsing. Remove the settings for unversioned workers, or migrate versioned workers to workerDeploymentName and workerDeploymentBuildId. See Temporal Rules-Based Versioning settings.

Azure Pipelines in-flight jobs

KEDA 2.21 adds scaleOnInFlight, defaulting to true. Queue length now includes unfinished jobs already assigned to an agent. Set scaleOnInFlight: false to retain the unassigned-only behavior from KEDA 2.20; for ScaledJobs, combine this with the accurate scaling strategy. See Azure Pipelines in-flight jobs.

Highlights

  • Reduce redundant scaler-backend requests when the HPA already owns the scaling decision (#7999, #8031).
  • Add Azure Cosmos DB Change Feed, ClickHouse, and GCP Cloud Spanner scalers.
  • Let external scalers update HPA targets dynamically through StreamMetricSpec, and expose external-scaler gRPC client metrics.
  • Add Prometheus OAuth2 client-credentials authentication, Kafka Kerberos credential-cache support, and Azure Pipelines service-principal authentication.
  • Improve scaler and authentication lifecycles with deterministic cancellation, refresh handling, Kubernetes API timeouts, and external-scaler connection cleanup.

Deprecation notice

The Liiklus scaler is deprecated because the upstream project is unmaintained. Its code is planned for removal in a later KEDA release. See #7929.

Learn how to deploy KEDA by reading our documentation.

🗓️ The next KEDA release is currently estimated for the 2nd week of January 2027. Learn more in our roadmap.

Breaking Changes

Deprecations

  • 5744068: Liiklus Scaler: Deprecate the scaler because its upstream project is unmaintained; removal is planned for a later KEDA release (#7938, #7929) (@Copilot)

New

Improvements

Fixes

Other

CI

Show

Dependencies

Show
  • a46a435 : General: Bump dependencies (#8092) (@JorTurFer)
  • 47c5e05 : General: Include missing package in k8s group (#8146) (@JorTurFer)
  • d581d84 : Dependencies: Bump Go dependencies and migrate major versions (#8133) (@JorTurFer)
  • ccde973 : Dependencies: Pin dependencies (#8043) (@renovate[bot])
  • fce92ac : Dependencies: Update AWS SDK (#8013) (@renovate[bot])
  • d2634e6 : Dependencies: Update AWS SDK (#8044) (@renovate[bot])
  • 4921f23 : Dependencies: Update AWS SDK (#8078) (@renovate[bot])
  • e9b43ec : Dependencies: Update AWS SDK (#8131) (@renovate[bot])
  • 25646fc : Dependencies: Update AWS SDK (#8205) (@renovate[bot])
  • 7b02c74 : Dependencies: Update Azure SDK (#8014) (@renovate[bot])
  • 8d8a9d8 : Dependencies: Update DevContainer (#8015) (@renovate[bot])
  • 34fd67b : Dependencies: Update GitHub Actions (non-major) (#8016) (@renovate[bot])
  • b8d971a : Dependencies: Update GitHub Actions (non-major) (#8045) (@renovate[bot])
  • e39dad2 : Dependencies: Update GitHub Actions (non-major) (#8081) (@renovate[bot])
  • c33e3dd : Dependencies: Update GitHub Actions (non-major) (#8102) (@renovate[bot])
  • e0fe146 : Dependencies: Update GitHub Actions (non-major) (#8139) (@renovate[bot])
  • 2836084 : Dependencies: Update GitHub Actions (non-major) (#8149) (@renovate[bot])
  • b4e70ae : Dependencies: Update GitHub Actions (non-major) (#8181) (@renovate[bot])
  • 5a7df86 : Dependencies: Update GitHub Actions (non-major) (#8208) (@renovate[bot])
  • 87e669d : Dependencies: Update Go Dependencies (non-major) (#8017) (@renovate[bot])
  • 7d9d46f : Dependencies: Update Go Dependencies (non-major) (#8048) (@renovate[bot])
  • 69dfda9 : Dependencies: Update Go Dependencies (non-major) (#8082) (@renovate[bot])
  • f18f341 : Dependencies: Update Go Dependencies (non-major) (#8180) (@renovate[bot])
  • 31d3335 : Dependencies: Update Go Dependencies (non-major) (#8206) (@renovate[bot])
  • 2caeb4e : Dependencies: Update Google Cloud SDK (#8018) (@renovate[bot])
  • a55aba1 : Dependencies: Update Google Cloud SDK (#8132) (@renovate[bot])
  • a38cbef : Dependencies: Update Kubernetes Dependencies to v0.35.7 (#8019) (@renovate[bot])
  • b35d0da : Dependencies: Update Prometheus Dependencies (#8050) (@renovate[bot])
  • 8aefeff : Dependencies: Update Test Infrastructure (misc) (#8143) (@renovate[bot])
  • 8031a88 : Dependencies: Update actions/github-script action to v9 (#8022) (@renovate[bot])
  • 2bbe2d3 : Dependencies: Update dependency golangci/golangci-lint to v2.13.2 (#8080) (@renovate[bot])
  • e377401 : Dependencies: Update dependency protocolbuffers/protobuf to v35 (#8051) (@renovate[bot])
  • 26fa426 : Dependencies: Update dependency protocolbuffers/protobuf to v36 (#8144) (@renovate[bot])
  • 7dae9ee : Dependencies: Update dependency protocolbuffers/protobuf to v36.2 (#8207) (@renovate[bot])
  • 7bd8b36 : Dependencies: Update dependency strimzi/strimzi-kafka-operator to v1 (#8150) (@renovate[bot])
  • e68aea9 : Dependencies: Update gcr.io/distroless/static:nonroot Docker digest to 1c2c046 (#8077) (@renovate[bot])
  • c045e79 : Dependencies: Update gcr.io/distroless/static:nonroot Docker digest to e2e927e (#8179) (@renovate[bot])
  • 3b30c36 : Dependencies: Update ghcr.io/kedacore/keda-tools Docker tag to v1.26.6 (#8101) (@renovate[bot])
  • aa77c63 : Dependencies: Update ghcr.io/kedacore/keda-tools Docker tag to v1.26.8 (#8148) (@renovate[bot])
  • 1bff632 : Dependencies: Update golang Docker tag to v1.26.6 (#8046) (@renovate[bot])
  • bf289bf : Dependencies: Update golang Docker tag to v1.27.1 (#8083) (@renovate[bot])
  • 9a56f69 : Dependencies: Update kind Test Infrastructure (#8164) (@renovate[bot])
  • 372ab72 : Dependencies: Update module cloud.google.com/go/storage to v1.65.0 (#8084) (@renovate[bot])
  • 7dff6d4 : Dependencies: Update module github.com/Azure/azure-sdk-for-go/sdk/azcore to v1.23.0 (#8020) (@renovate[bot])
  • f2179a0 : Dependencies: Update module github.com/google/cel-go to v0.29.0 [SECURITY] (#8001) (@renovate[bot])
  • f97d419 : Dependencies: Update module github.com/google/cel-go to v0.30.0 [SECURITY] (#8071) (@renovate[bot])
  • 4f72bad : Dependencies: Update module github.com/google/go-github/v91 to v92 (#8209) (@renovate[bot])
  • 615d215 : Dependencies: Update module github.com/klauspost/compress to v1.18.7 [SECURITY] (#8000) (@renovate[bot])
  • 4ee3f7e : Dependencies: Update module github.com/prometheus/prometheus to v0.311.3 [SECURITY] (#8004) (@renovate[bot])
  • 3860231 : Dependencies: Update module github.com/valyala/fasthttp to v1.70.0 [SECURITY] (#8072) (@renovate[bot])
  • 79a0956 : Dependencies: Update module golang.org/x/crypto to v0.56.0 [SECURITY] (#8118) (@renovate[bot])
  • 942a2b7 : Dependencies: Update module golang.org/x/mod to v0.40.0 [SECURITY] (#8032) (@renovate[bot])
  • abbd6ef : Dependencies: Update module golang.org/x/net to v0.56.0 [SECURITY] (#8002) (@renovate[bot])
  • 0931e90 : Dependencies: Update module google.golang.org/grpc to v1.82.1 [SECURITY] (#8005) (@renovate[bot])
  • 56b8f23 : Dependencies: Update pre-commit hook pre-commit/pre-commit-hooks to v6 (#8147) (@renovate[bot])
  • 93dfbbd : Dependencies: Update pre-commit hook thlorenz/doctoc to v2.5.0 (#8021) (@renovate[bot])
  • c66db1b : Dependencies: Update s390x Test Infrastructure (major) (#8145) (@renovate[bot])
  • dad9ffb : bump go to 1.26.5 (#7971) (@philipyzhang)
  • 89ac006 : bump golangci lint (#7814) (@zroubalik)
  • 3f63bf5 : chore(deps): bump github.com/microsoft/go-mssqldb from 1.9.6 to 1.10.0 (#7825) (@dependabot[bot])
  • eafb8aa : chore(deps): bump the github-actions group across 1 directory with 12 updates (#7884) (@dependabot[bot])
  • 3f11d7e : chore(deps): bump the github-actions group across 1 directory with 13 updates (#7963) (@dependabot[bot])
  • 0dd3792 : chore(deps): update github actions (#7873) (@renovate[bot])
  • 2f4cb43 : chore(deps): update github actions (#7909) (@renovate[bot])
  • 06fb945 : chore(deps): update github actions (major) (#7869) (@renovate[bot])
  • 5d3fe4b : chore(deps): update github actions to v6.0.3 (#7834) (@renovate[bot])
  • 5191d83 : chore: fix duplicate (patch) suffix in Renovate k8s group name (#8007) (@linkvt)
  • a3698f1 : chore: improve Renovate dependency grouping (#8006) (@linkvt)
  • 64d8361 : Dependencies: Remove optional replace directives from go.mod (#7821) (@linkvt)
  • b618310 : chore: remove vendored dependencies (#7839) (@linkvt)
  • b5a6095 : chore: replace Dependabot with Renovate (#7841) (@linkvt)
  • 74b33b1 : chore: use Dependencies: prefix for Renovate PR titles (#8008) (@linkvt)
  • c28ee2c : fix(deps) Bump prometheus to v0.312.0 to fix CVEs (#7882) (@rlanhellas)

New Contributors

Full Changelog: v2.20.0...v2.21.0

Don't miss a new keda release

NewReleases is sending notifications on new releases.