What kedacore/keda shipped
Written by FoxPlug from the repository's own releases; not affiliated with Keda. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/kedacore/keda; Keda did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Fixed a data race in the OpenTelemetry metric collection callbacks that buffered measurements in package-level slices. Pull request #8283
- The admission webhook readiness check now waits for the webhook server to start instead of always returning healthy. Pull request #8339
- The Elasticsearch scaler can now authenticate with an API key when connecting through addresses, not only through cloudID. Pull request #8287
- The Elastic Forecast scaler can now authenticate with an API key for self-hosted Elasticsearch clusters reached through addresses. Pull request #8289
- The Metrics API scaler now brackets IPv6 endpoint addresses when building aggregated URLs so requests no longer fail on IPv6. Pull request #8265
- The ArangoDB scaler now applies connectionLimit as the maximum connections per host instead of ignoring it. Pull request #8300
- The Splunk Observability scaler now drains all SignalFlow computation outputs so goroutines are not left behind between polls. Pull request #8246
- Fixed cross-platform and isolation issues plus nil-pointer panics in several scaler unit tests, including Workload Identity isolation. Pull request #8230
- The pause-switch e2e test now switches pause annotations atomically so the ScaledObject is not briefly unpaused mid-test. Pull request #8348
- The duplicated pod-ready check was merged into a single IsPodReady helper in pkg/util. Pull request #8331
Why it matters
This week brought fixes that change behaviour for people running scalers in production: Elasticsearch and Elastic Forecast can now use API keys on self-hosted clusters, IPv6 endpoints work in the Metrics API scaler, and ArangoDB finally honours its connection limit. Several correctness fixes also landed in metrics collection, webhook readiness, and Splunk Observability output handling, which reduces flakiness and resource leakage under sustained polling.
Changelog entry
- Metrics: fix data race in OpenTelemetry metric callbacks Pull request #8283
- General: admission webhook readiness waits for the webhook server to start Pull request #8339
- Elasticsearch scaler: allow API keys for self-hosted clusters via addresses Pull request #8287
- Elastic Forecast scaler: allow API keys for self-hosted clusters via addresses Pull request #8289
- Metrics API scaler: bracket IPv6 endpoint addresses in aggregated URLs Pull request #8265
- ArangoDB scaler: apply connectionLimit as MaxConnsPerHost Pull request #8300
- Splunk Observability: drain all computation outputs Pull request #8246
- Scalers: fix cross-platform test issues and Workload Identity isolation Pull request #8230
- CI: switch pause annotations atomically in e2e test Pull request #8348
- General: move IsPodReady to pkg/util Pull request #8331
- CI: bound
azure_pipelines_advagent-state waits with a 10-minute budget Pull request #8284 - Dependencies: consolidate updates while retaining Kubernetes 1.36 Pull request #8340
This week: OpenTelemetry metric data race fixed, webhook readiness now waits for the server, API key auth for Elasticsearch and Elastic Forecast on self-hosted clusters, IPv6 addresses bracketed in Metrics API scaler URLs, and connectionLimit honoured by the ArangoDB scaler.
This week in KEDA: a data race in OpenTelemetry metric callbacks was fixed, and the admission webhook readiness check now waits for the webhook server to start. The Elasticsearch and Elastic Forecast scalers accept API keys when connecting through addresses, so self-hosted clusters can authenticate without cloudID. The Metrics API scaler brackets IPv6 endpoint addresses in aggregated URLs, and the ArangoDB scaler now applies connectionLimit as the maximum connections per host. The Splunk Observability scaler drains all SignalFlow computation outputs, and scaler unit tests got cross-platform and isolation fixes.
Week of October 19, 2026
What shipped
- Streamed metric specs that match the previous cached update are now skipped, avoiding repeated HPA and status processing for unchanged specs. Pull request #8253
- The InfluxDB scaler now surfaces query result errors instead of masking them as an empty result and scaling on a zero metric. Pull request #7908
- The Metrics API scaler gains an opt-in zeroOnNoReadyEndpoints option, defaulting to false, for aggregateFromKubeServiceEndpoints. Pull request #8247
- CeilToInt64 now clamps its result so large float inputs return math.MaxInt64 instead of wrapping to math.MinInt64 after float-to-int truncation. Pull request #7819
- Build instructions now keep the devcontainer and keda-toolchain images aligned on the same Go version. Pull request #8201
Why it matters
This week brings fixes that change how scaling behaves when things are not straightforward: unchanged streamed specs are no longer reprocessed, InfluxDB query failures are reported rather than treated as an empty result, and very large metric values no longer wrap to a negative number before rounding up. The new Metrics API scaler option gives operators control over how missing ready endpoints are treated. Keeping the devcontainer and toolchain Go versions aligned helps development match CI.
Changelog entry
- Skip reconciliation for streamed metric specs that match the previous cached stream update Pull request #8253
- InfluxDB scaler: surface query result errors instead of masking them as an empty result Pull request #7908
- Metrics API scaler: add opt-in zeroOnNoReadyEndpoints option for aggregateFromKubeServiceEndpoints Pull request #8247
- Clamp ceilToInt64 to prevent float-to-int truncation overflow Pull request #7819
- Keep development and CI Go versions aligned between devcontainer and keda-toolchain images Pull request #8201
This week: unchanged streamed metric specs are skipped, InfluxDB scaler errors are surfaced instead of read as empty, ceilToInt64 clamps to avoid overflow, and the Metrics API scaler adds a zeroOnNoReadyEndpoints option.
This week in the project: streamed metric specs that match the previous cached update are now skipped, avoiding repeated HPA and status processing. The InfluxDB scaler surfaces query errors instead of reporting them as an empty result, so scaling no longer proceeds on a zero metric. ceilToInt64 now clamps to math.MaxInt64 instead of wrapping on very large float inputs. The Metrics API scaler adds an opt-in zeroOnNoReadyEndpoints option, default false, for aggregateFromKubeServiceEndpoints. Build instructions also keep the devcontainer and keda-toolchain images on the same Go version.
Week of October 12, 2026
What shipped
- GitHub Runner scaler now follows pagination for workflow run jobs instead of stopping at the first 100, so queued or in-progress jobs beyond that page are no longer missed. Pull request #7973
- NSQ scaler now requests the V1 HTTP API format, which supports nsq versions below 1.0 while leaving 1.0 and later unchanged. Pull request #8237
- InfluxDB scaler no longer reads the deprecated authToken trigger metadata, completing the removal scheduled for v2.22. Pull request #8271
- Five in-cluster scaler tests now poll their dependency instead of sleeping between checks, addressing flakes in OpenShift CI. Pull request #8153
- WaitForDeploymentReplicaCountChange in tests/helper now uses a consistency helper instead of a timed sleeping loop. Pull request #8183
- The last five hand-rolled polling loops in tests/internals were replaced so tests poll through the shared helper rather than sleeping. Pull request #8184
Why it matters
This week fixes a real correctness gap in the GitHub Runner scaler, where runs with more than 100 jobs could hide still-queued work, and makes the NSQ scaler usable against nsq versions before 1.0. It also removes a deprecated InfluxDB trigger field, so anyone still setting it should drop it. The remaining changes cut fixed sleeps from the test suite, which should reduce flaky CI runs.
Changelog entry
- GitHub Runner scaler: follow pagination for workflow run jobs instead of a 100-job hard limit Pull request #7973
- NSQ scaler: request the V1 HTTP API format to support nsq < 1.0 Pull request #8237
- InfluxDB scaler: remove the deprecated authToken trigger metadata Pull request #8271
- Tests: in-cluster scaler tests poll their dependency instead of sleeping between checks Pull request #8153
- Tests: replace the last sleeping loop in tests/helper with a consistency helper Pull request #8183
- Tests: replace the last five hand-rolled polling loops in tests/internals Pull request #8184
This week: GitHub Runner scaler follows job pagination past the first 100 jobs, NSQ scaler speaks the V1 HTTP API for nsq below 1.0, InfluxDB drops the deprecated authToken metadata, and CI tests poll instead of sleeping.
This week in KEDA: the GitHub Runner scaler now follows pagination for workflow run jobs, so runs with more than 100 jobs no longer hide queued or in-progress work beyond the first page. The NSQ scaler requests the V1 HTTP API format, supporting nsq versions below 1.0. The deprecated authToken trigger metadata is removed from the InfluxDB scaler. On the test side, several in-cluster scaler tests and helper loops now poll their dependencies instead of sleeping between checks, which tackles flakiness in OpenShift CI.
Week of September 21, 2026
What shipped
- KEDA 2.21.0 released with three breaking changes; review upgrade guide before updating from 2.20. Release
- Metrics Service fixed a data race and memory leak in gRPC mTLS certificate rotation that caused concurrent map access panics and duplicate certificate pool entries. Pull request #8126
- Kafka Scaler now correctly excludes retention-deleted messages when calculating lag for uncommitted offsets, preventing idle workloads from being over-scaled. Pull request #7937
- External Scaler fixed gRPC connection pool to properly release connections when scalers close, eliminating resource leaks and blocked goroutines. Pull request #8193
- Scaler context handling improved to properly manage both long-lived scale loop contexts and short-lived HPA metrics request contexts. Pull request #8195
- Added client-side gRPC metrics for scalers using gRPC clients, extending observability previously available only for HTTP-based scalers. Pull request #8199
- Fixed missing audience in service account token tests following CVE-2026-77524 security fix. Pull request #8214
- Release 2.21 preparation completed in CI. Pull request #8215
Why it matters
KEDA 2.21.0 introduces important security and stability improvements with breaking changes requiring review before upgrade. Multiple resource leak fixes and data race corrections prevent production issues with connection pooling, certificate rotation, and context lifecycle management. Enhanced metrics support and kafka scaler accuracy improvements increase visibility and correct scaling behavior for common use cases.
Changelog entry
- Released KEDA 2.21.0 Release
- Fixed data race and memory leak in Metrics Service gRPC mTLS certificate rotation Pull request #8126
- Kafka Scaler now excludes retention-deleted messages from lag calculation for uncommitted offsets Pull request #7937
- External Scaler releases pooled gRPC connections when scalers close Pull request #8193
- Improved context handling for scalers and auth refreshes across different execution paths Pull request #8195
- Added gRPC client metrics for scalers using external gRPC clients Pull request #8199
KEDA 2.21.0 is out. This release includes breaking changes and fixes for gRPC connection leaks, certificate rotation data races, and Kafka scaler accuracy. Review the upgrade guide before updating.
KEDA 2.21.0 is available. This release addresses critical stability issues including data race fixes in mTLS certificate rotation, proper gRPC connection cleanup, and corrected Kafka lag calculation for retention-deleted messages. Three breaking changes are documented in the upgrade guide. Enhanced gRPC client metrics provide better visibility into scaler performance.
Week of September 14, 2026
What shipped
- Kubernetes API operations in scaling loops now have a configurable timeout via KEDA_KUBERNETES_API_TIMEOUT to prevent indefinite blocking. Pull request #8174
- Azure Cosmos DB Change Feed Scaler added as a native internal scaler supporting both.NET and Java SDK lease formats with HMAC and workload identity authentication. Pull request #7557
- Prometheus Scaler now supports OAuth2 client credentials authentication through TriggerAuthentication. Pull request #8064
- Kafka Scaler added support for GSSAPI authentication using Kerberos credential cache files. Pull request #8069
- Azure Pipelines Scaler fixed scaling out correctly with the default strategy when agents are already running. Pull request #7905
- Azure Monitor Scaler now supports an optional metricInterval parameter to control the granularity of returned metrics. Pull request #7526
- Splunk Observability Scaler fixed lifecycle issues by properly coordinating query cancellation during teardown. Pull request #8134
- HashiCorp Vault token renewal fixed a panic that occurred when RenewSelf failed. Pull request #7940
- Metrics API Scaler now rejects unsupported authentication modes at configuration time instead of silently ignoring them. Pull request #8178
- StreamMetricSpec cache fixed to properly handle empty metric specs lists. Pull request #8116
Why it matters
This week adds significant authentication improvements across multiple scalers with OAuth2 and Kerberos support, introduces a new Azure Cosmos DB scaler, and resolves critical lifecycle and timeout issues that affected reliability. The fixes to scaling behavior and configuration validation improve operator stability.
Changelog entry
- Add KEDA_KUBERNETES_API_TIMEOUT environment variable to prevent scaling loop blocking Pull request #8174
- Add Azure Cosmos DB Change Feed Scaler supporting.NET and Java SDK lease formats Pull request #7557
- Add OAuth2 client credentials authentication support to Prometheus Scaler Pull request #8064
- Add Kerberos credential cache support to Kafka Scaler GSSAPI authentication Pull request #8069
- Fix Azure Pipelines Scaler default strategy scaling out behavior Pull request #7905
- Add optional metricInterval parameter to Azure Monitor Scaler Pull request #7526
- Fix Splunk Observability Scaler teardown lifecycle and query cancellation Pull request #8134
- Fix panic in HashiCorp Vault token renewal on RenewSelf failure Pull request #7940
- Reject unsupported authentication modes in Metrics API Scaler at config time Pull request #8178
- Fix StreamMetricSpec cache handling of empty metric specs Pull request #8116
- Fix CouchDB Scaler response body leak in query result iterator Pull request #7907
- Improve Sumo Logic Scaler error handling for test requests Pull request #8190
- Reduce flakiness in Kafka scaler e2e tests Pull request #8188
KEDA this week: Azure Cosmos DB scaler, OAuth2 & Kerberos auth support, Kubernetes API timeouts, and fixes for Azure Pipelines and Vault integration.
KEDA updates this week bring new capabilities and fixes across multiple areas. The new Azure Cosmos DB Change Feed Scaler translates C# functionality to native Go. Prometheus, Kafka, and Metrics API scalers gain enhanced authentication support with OAuth2 and Kerberos. Critical reliability fixes address Kubernetes API timeouts, Azure Pipelines scaling, and token renewal issues.