kedacore/keda
KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
๐ Fixes
- General: Fix concurrent map read/write data race in fallback `updateStatus` that caused panics when multiple triggers were scaling simultaneously
- ([#7838](https://github.com/kedacore/keda/issues/7838))
- General: Fix `KEDAScalersStarted` "Started scalers watch" event not being emitted for ScaledJobs because it shared an events.k8s.io aggregation key with
- the per-scaler "scaler is built" event ([#7820](https://github.com/kedacore/keda/pull/7820))
โจ New Contributors
- @jiyuchen-stripe made their first contribution in https://github.com/kedacore/keda/pull/7843
- Full Changelog: https://github.com/kedacore/keda/compare/v2.20.0...v2.20.1
๐ฆ โ ๏ธ Upgrade note: events moved to `events.k8s.io` ([#7781](https://github.com/kedacore/keda/pull/7781))
- Introduce new OpenSearch Scaler
- Introduce Elastic Forecast Scaler
- Add `scalingModifiers` fallback behavior
- Add support for AWS External ID in TriggerAuthentication podIdentity for all AWS scalers
- Add scaler HTTP request metrics for outbound requests made during metric collection
- Learn how to deploy KEDA by reading [our documentation](https://keda.sh/docs/2.20/deploy/).
- ๐๏ธ The next KEDA release is currently being estimated for 2nd week of September 2026, learn more in our [roadmap](https://github.com/kedacore/keda/blob/main/ROADMAP.md#upcoming-release-cycles).
โจ New
- General: Add `scalingModifiers` fallback behavior ([#7366](https://github.com/kedacore/keda/discussions/7366))
- General: Introduce Elastic Forecast Scaler ([#7494](https://github.com/kedacore/keda/issues/7494))
- General: Introduce new OpenSearch Scaler ([#7456](https://github.com/kedacore/keda/issues/7456))
๐ฆ Improvements
- General: Add cooldownPeriod and pollingInterval checks for ScaledObject ([#7271](https://github.com/kedacore/keda/pull/7271))
- General: Add CRD-level validation markers (Minimum, MinLength, MinItems, Enum) for ScaledObject, ScaledJob, ScaleTriggers, and TriggerAuthentication API types ([#7533](https://github.com/kedacore/keda/pull/7533))
- General: Add `--leader-election-id` flag to allow configuring the leader election Lease name ([#7564](https://github.com/kedacore/keda/issues/7564))
- General: Add scaler HTTP request metrics (`keda_scaler_http_requests_total`, `keda_scaler_http_request_duration_seconds`) for outbound HTTP requests made during scaler metric collection ([#6600](https://github.com/kedacore/keda/issues/6600))
- General: Allow more control of TLS versions & ciphers via `KEDA_HTTP_TLS_CIPHER_LIST`, `KEDA_SERVICE_TLS_CIPHER_LIST` and `KEDA_SERVICE_MIN_TLS_VERSION` env vars ([#7617](https://github.com/kedacore/keda/pull/7617))
- General: Cap each scalers-cache reader at a per-reader budget derived from `globalHTTPTimeout` so `ScalersCache.Close` cannot block indefinitely ([#7574](https://github.com/kedacore/keda/issues/7574))
- General: Make APIService cert injections optional ([#7559](https://github.com/kedacore/keda/pull/7559))
- General: Remove unconditional `json.MarshalIndent` calls from admission webhook validation hot paths; replace spec-comparison `MarshalIndent`-and-string-compare in `isRemovingFinalizer` variants with `reflect.DeepEqual`. Prevents webhook OOM under sustained admission load at large scale (observed at ~60k ScaledObjects) ([#7670](https://github.com/kedacore/keda/pull/7670))
- + 9 more
๐ Fixes
- General: Check updated status for Fallback condition instead of ScaledObject ([#7488](https://github.com/kedacore/keda/issues/7488))
- General: Fail fast in `GetMetrics` when the gRPC connection is in Shutdown state instead of waiting for context timeout ([#7251](https://github.com/kedacore/keda/issues/7251))
- General: Fix int64 overflow in milli-quantity conversion for very large metric values ([#7441](https://github.com/kedacore/keda/issues/7441))
- General: Fix `keda_scaler_active` not being emitted for CPU and memory triggers ([#4945](https://github.com/kedacore/keda/issues/4945))
- General: Fix misleading namespace in error log when secret access is restricted ([#7739](https://github.com/kedacore/keda/issues/7739))
- General: Fix race in scalers cache rebuild that caused transient scaler errors ([#7574](https://github.com/kedacore/keda/issues/7574))
- General: Fix ScaledJob emitting wrong CloudEvent type (`ScaledObjectReadyType` instead of `ScaledJobReadyType`) when transitioning to ready state ([#7792](https://github.com/kedacore/keda/issues/7792))
- General: Fix ScaledObject admission webhook to return validation error from `verifyReplicaCount`, preventing invalid ScaledObjects from being created ([#5954](https://github.com/kedacore/keda/issues/5954))
- + 38 more
๐ฅ Breaking Changes
- GCP PubSub Scaler: The `subscriptionSize` setting is DEPRECATED and is removed in v2.20 - Use `mode` and `value` instead ([#7720](https://github.com/kedacore/keda/issues/7720))
- Huawei Cloudeye Scaler: The `minMetricValue` setting is DEPRECATED and is removed - Use `activationTargetMetricValue` instead ([#7436](https://github.com/kedacore/keda/issues/7436))
- IBM MQ Scaler: The `tls` setting code is removed ([#6094](https://github.com/kedacore/keda/issues/6094))
- InfluxDB Scaler: The `authToken` setting from `triggerMetadata` is DEPRECATED and is removed in v2.20 - Use `authToken` from `resolvedEnv` or `authParams` instead ([#7722](https://github.com/kedacore/keda/issues/7722))
๐ฆ Other
- General: Migrate event recording RBAC from core `events` to `events.k8s.io` ([#7781](https://github.com/kedacore/keda/pull/7781))
- General: Migrate metrics service gRPC response away from Kubernetes API protobuf types for Kubernetes 0.35 ([#7781](https://github.com/kedacore/keda/pull/7781))
- General: Remove dead code from authentication package and drop unused `authModes` field from ArangoDB, Loki, Prometheus and PredictKube scalers ([#7726](https://github.com/kedacore/keda/pull/7726))
- General: Use informer cache for ReplicaSet lookups in GetCurrentReplicas to reduce API server load ([#7466](https://github.com/kedacore/keda/pull/7466))
- External Scaler: Fix race condition in `TestWaitForState` causing flaky test under `-race` detector ([#7542](https://github.com/kedacore/keda/issues/7542))
- GCP Scaler: Replace `credentialsFromJSON` with `credentialsFromJSONWithType` ([#7523](https://github.com/kedacore/keda/pull/7523))
- Kafka Scaler: Refactor Kafka Scaler ([#7528](https://github.com/kedacore/keda/pull/7528))
โจ New Contributors
- @matheus30 made their first contribution in https://github.com/kedacore/keda/pull/7449
- @keipa made their first contribution in https://github.com/kedacore/keda/pull/7461
- @mattshep made their first contribution in https://github.com/kedacore/keda/pull/7466
- @maarous made their first contribution in https://github.com/kedacore/keda/pull/7477
- @archy-rock3t-cloud made their first contribution in https://github.com/kedacore/keda/pull/7514
- @MunemHashmi made their first contribution in https://github.com/kedacore/keda/pull/7534
- @Fedosin made their first contribution in https://github.com/kedacore/keda/pull/7533
- @Sayrus made their first contribution in https://github.com/kedacore/keda/pull/7490
- + 24 more
๐ Changes
- Introducing new Kubernetes Resource Scaler
- Adding file-based authentication support for ClusterTriggerAuthentication
โจ New
- General: Add file-based authentication support for ClusterTriggerAuthentication ([#7083](https://github.com/kedacore/keda/issues/7083))
- General: Introduce new Kubernetes Resource Scaler ([#7212](https://github.com/kedacore/keda/issues/7212))
๐ฆ Improvements
- General: Correct error message when awsSecretAccessKey is missing in credential-based authentication ([#7265](https://github.com/kedacore/keda/pull/7265))
- General: Emit more events about what is happening with ScaledObject/ScaledJob ([#7382](https://github.com/kedacore/keda/issues/7382))
- General: Raw metrics stream - include trigger activity status in response ([#7369](https://github.com/kedacore/keda/issues/7369))
- AWS CloudWatch Scaler: Add cross-account observability support ([#7189](https://github.com/kedacore/keda/issues/7189))
- Dynamodb Scaler: Add FilterExpression support ([#7102](https://github.com/kedacore/keda/issues/7102))
- Dynatrace Scaler: Support DQL querying ([#7377](https://github.com/kedacore/keda/issues/7377))
- MongoDB Scaler: Add TLS support ([#6976](https://github.com/kedacore/keda/issues/6976))
๐ Fixes
- General: Apply fallback in polling loop to enable scaling from zero ([#7239](https://github.com/kedacore/keda/issues/7239))
- General: Fix accurateScalingStrategy ignoring pendingJobCount in maxReplicaCount check ([#7329](https://github.com/kedacore/keda/issues/7329))
- General: Replace deprecated `azure autorest` dependency to `azure sdk for go` ([#7073](https://github.com/kedacore/keda/issues/7073))
- Datadog Scaler: Return request in cluster agent proxy without bearer auth ([#7341](https://github.com/kedacore/keda/issues/7341))
- Datadog Scaler: Use metricUnavailableValue for 422 errors in Datadog Cluster Agent ([#7246](https://github.com/kedacore/keda/issues/7246))
- IBMMQ Scaler: Create new HTTP request for each queue query in IBMMQ scaler ([#7202](https://github.com/kedacore/keda/pull/7202))
- Kafka Scaler: Improve check for missing partition information when calculating lag ([#7414](https://github.com/kedacore/keda/issues/7414))
- Temporal Scaler: Fix TLS RootCAs initialization when using API key authentication with Temporal Cloud ([#7367](https://github.com/kedacore/keda/pull/7367))
๐ฅ Breaking Changes
- NATS Streaming scaler: Remove NATS Streaming Server (aka Stan) ([#6366](https://github.com/kedacore/keda/issues/6366))
๐ฆ Other
- ScaledObject/ScaledJob: Track activity for each trigger in the status ([#7347](https://github.com/kedacore/keda/issues/7347))
๐ Fixes
- General: Fix CVE-2025-68476 ([#7334](https://github.com/kedacore/keda/pull/7334))
๐ Fixes
- General: Fix CVE-2025-68476 ([#7333](https://github.com/kedacore/keda/pull/7333))
๐ Fixes
- General: Fix HPA behavior not restored when paused-scale-in/out annotation is deleted without corresponding custom behavior ([#7291](https://github.com/kedacore/keda/pull/7291))
- General: Fix nil reference panic when transfer-hpa-ownership is set but no hpa name is provided ([#7254](https://github.com/kedacore/keda/issues/7254))
- General: Fix race condition in paused-replicas annotation causing ScaledObject to get stuck ([#7231](https://github.com/kedacore/keda/issues/7231))
- General: Fix ScaledObject controller error handling for requestScaleLoop ([#7273](https://github.com/kedacore/keda/pull/7273))
- General: Remove unnecessary scaledObjectMetricSpecs variable in HPA ([#7292](https://github.com/kedacore/keda/pull/7292))
- General: Use TriggerError when all ScaledJob triggers fail ([#7205](https://github.com/kedacore/keda/pull/7205))
- ActiveMQ Scaler: Correct parse error ActiveMQ ([#7245](https://github.com/kedacore/keda/pull/7245))
- Datadog Scaler: Fix metricUnavailableValue parameter not working ([#7238](https://github.com/kedacore/keda/issues/7238))
- + 1 more
๐ Fixes
- General: Add feature flag `KEDA_CHECK_UNEXPECTED_SCALERS_PARAMS` for checking unexpected scaler parameters ([#6721](https://github.com/kedacore/keda/issues/6721))
- General: Fix incorrect 'unmatched input property' notification ([#7174](https://github.com/kedacore/keda/issues/7174))
- Kafka Scaler: Fix missing error returns in error handling ([#7182](https://github.com/kedacore/keda/pull/7182))
๐ฆ Other
- General: Raw metrics stream - send also metrics during ScaledObject's interval ([#7197](https://github.com/kedacore/keda/issues/7197))
- Full Changelog: https://github.com/kedacore/keda/compare/v2.18.0...v2.18.1
๐ Changes
- General: Introduce new Forgejo Scaler ([#6488](https://github.com/kedacore/keda/issues/6488))
- General: Introduce new Solace Direct Messaging scaler ([#6545](https://github.com/kedacore/keda/issues/6545))
- General: Introduce new SolarWinds Scaler ([#6576](https://github.com/kedacore/keda/issues/6576))
- General: Introduce new Splunk Observability Cloud Scaler ([#7152](https://github.com/kedacore/keda/issues/7152))
- General: Introduce new Sumo Logic Scaler ([#6734](https://github.com/kedacore/keda/issues/6734))
- General: Add fallback support for triggers of `Value` metric type ([#6655](https://github.com/kedacore/keda/pull/6655))
- GCP Pub/Sub Scaler: The `subscriptionSize` setting is DEPRECATED and will be removed in v2.20 - Use `mode` and `value` instead ([#6866](https://github.com/kedacore/keda/pull/6866))
- Huawei Cloudeye Scaler: The `minMetricValue` setting is DEPRECATED and will be removed in v2.20 - Use `activationTargetMetricValue` instead ([#6978](https://github.com/kedacore/keda/pull/6978))
- + 3 more
โจ New Contributors
- <generated new contributors info>
โจ New Contributors
- @araminian made their first contribution in https://github.com/kedacore/keda/pull/6757
- @joaopaulosr95 made their first contribution in https://github.com/kedacore/keda/pull/6781
- @mycrEEpy made their first contribution in https://github.com/kedacore/keda/pull/6700
- @jxs1211 made their first contribution in https://github.com/kedacore/keda/pull/6785
- @GraceAtwood made their first contribution in https://github.com/kedacore/keda/pull/6806
- @justinmir made their first contribution in https://github.com/kedacore/keda/pull/6860
- @alxndr13 made their first contribution in https://github.com/kedacore/keda/pull/6780
- @mittalvaibhav1 made their first contribution in https://github.com/kedacore/keda/pull/6736
- + 24 more
๐ Changes
- General: Internal gRPC connection's certificates are hot reloaded (https://github.com/kedacore/keda/pull/6756)
- Temporal Scaler: Fix Temporal Scaler TLS version (https://github.com/kedacore/keda/pull/6707)
๐ Changes
- Selenium Grid: Update metric name generated without part of empty ([#6772](https://github.com/kedacore/keda/pull/6772))
- General: Admission Webhook blocks ScaledObject without metricType with fallback ([#6696](https://github.com/kedacore/keda/issues/6696))
- General: ScalerCache gets the lock before operate the scalers to prevent panics ([#6739](https://github.com/kedacore/keda/pull/6739))
- AWS SQS Queue Scaler: Fix AWS SQS Queue queueURLFromEnv not working ([#6712](https://github.com/kedacore/keda/issues/6712))
- Azure Service Bus scaler: Fix Azure Service Bus scaler add default Operation ([#6730](https://github.com/kedacore/keda/issues/6730))
- Temporal Scaler: Fix Temporal Scaler does not work properly with API Key authentication against Temporal Cloud as TLS is not enabled on the client ([#6703](https://github.com/kedacore/keda/issues/6703))
๐ Changes
- Introduce new NSQ scaler ([#3281](https://github.com/kedacore/keda/issues/3281))
- Introduce new Temporal scaler ([#4724](https://github.com/kedacore/keda/issues/4724))
- Change `InitialCooldownPeriod` from `int32` to `*int32` ([#6423](https://github.com/kedacore/keda/issues/6423))
- Remove Prometheus metric deprecations ([#6339](https://github.com/kedacore/keda/pull/6339))
- Remove deprecated tlsCertFile from External scaler ([#4549](https://github.com/kedacore/keda/issues/4549))
- Deprecate NATS Streaming Server (aka Stan) ([#6362](https://github.com/kedacore/keda/issues/6362))
โจ New Contributors
- @smcavallo made their first contribution in https://github.com/kedacore/keda/pull/6325
- @omerap12 made their first contribution in https://github.com/kedacore/keda/pull/6335
- @Ulminator made their first contribution in https://github.com/kedacore/keda/pull/6230
- @HeavyWombat made their first contribution in https://github.com/kedacore/keda/pull/6378
- @maxbog made their first contribution in https://github.com/kedacore/keda/pull/6134
- @KrishnaSindhur made their first contribution in https://github.com/kedacore/keda/pull/6396
- @step-security-bot made their first contribution in https://github.com/kedacore/keda/pull/6428
- @ctccxxd made their first contribution in https://github.com/kedacore/keda/pull/6420
- + 13 more
๐ Changes
- General: Centralize and improve automaxprocs configuration with proper structured logging ([#5970](https://github.com/kedacore/keda/issues/5970))
- General: Paused ScaledObject count is reported correctly after operator restart ([#6321](https://github.com/kedacore/keda/issues/6321))
- General: ScaledJobs ready status set to true when recoverred problem ([#6329](https://github.com/kedacore/keda/pull/6329))
- Selenium Grid Scaler: Exposes sum of pending and ongoing sessions to KDEA ([#6368](https://github.com/kedacore/keda/pull/6368))
- Selenium Grid Scaler: Selenium Grid in case multiple scaler triggers are activate ([#6437](https://github.com/kedacore/keda/pull/6437))
๐ Changes
- Introduce new Beanstalkd scaler (https://github.com/kedacore/keda/issues/5901)
- Introduce ClusterCloudEventSource (https://github.com/kedacore/keda/issues/3533)
- Replace wildcards in RBAC objects with explicit resources and verbs (https://github.com/kedacore/keda/pull/6129)
- Multiple scaler improvements
- Pulsar Scaler: remove msgBacklog trigger name (https://github.com/kedacore/keda/issues/6059)
- IBM MQ Scaler: Remove and deprecate unused variables in IBM MQ scaler (https://github.com/kedacore/keda/issues/6033)
โจ New Contributors
- @bharathguvvala made their first contribution in https://github.com/kedacore/keda/pull/5659
- @robpickerill made their first contribution in https://github.com/kedacore/keda/pull/5635
- @kunwooy made their first contribution in https://github.com/kedacore/keda/pull/6092
- @dishant-kapadiya made their first contribution in https://github.com/kedacore/keda/pull/6140
- @cuishuang made their first contribution in https://github.com/kedacore/keda/pull/6179
- @keda-automation made their first contribution in https://github.com/kedacore/keda/pull/6196
- @alexkuretz made their first contribution in https://github.com/kedacore/keda/pull/6215
- @Vei0vis made their first contribution in https://github.com/kedacore/keda/pull/6142
- + 8 more
๐ Changes
- General: Hashicorp Vault PKI doesn't fail with due to KeyPair mismatch ([#6028](https://github.com/kedacore/keda/issues/6028))
- JetStream: Consumer leader change is correctly detected ([#6042](https://github.com/kedacore/keda/issues/6042))
๐ Changes
- Add Dynatrace Scaler ([#5685](https://github.com/kedacore/keda/pull/5685))
- Add Splunk Scaler ([#5904](https://github.com/kedacore/keda/issues/5904))
- Fix panic in `KedaProvider` when getting metrics from Metrics Service if the gRPC Server connection is not established
- Scalers are properly closed after being refreshed
- AAD-Pod-Identity and AWS-KIAM auths have been removed ([#5035](https://github.com/kedacore/keda/issues/5035)|[#5085](https://github.com/kedacore/keda/issues/5085))
- Remove deprecated field `cortexOrgID` from Prometheus scaler ([#5538](https://github.com/kedacore/keda/issues/5538))
โจ New Contributors
- @mikelolasagasti made their first contribution in https://github.com/kedacore/keda/pull/5776
- @Rishikesh01 made their first contribution in https://github.com/kedacore/keda/pull/5773
- @Yaxhveer made their first contribution in https://github.com/kedacore/keda/pull/5778
- @KoblerS made their first contribution in https://github.com/kedacore/keda/pull/5746
- @gjacquet made their first contribution in https://github.com/kedacore/keda/pull/5807
- @ilpianista made their first contribution in https://github.com/kedacore/keda/pull/5826
- @yorik made their first contribution in https://github.com/kedacore/keda/pull/5835
- @therealdwright made their first contribution in https://github.com/kedacore/keda/pull/5888
- + 11 more
๐ Changes
- General: Do not delete running Jobs on KEDA restart ([#5656](https://github.com/kedacore/keda/issues/5656))
- General: Fix CVE-2024-24790, CVE-2024-24789, and CVE-2024-24791 in stdlib. ([#5971](https://github.com/kedacore/keda/pull/5971))
- General: Fix CVE-2024-35255 in github.com/Azure/azure-sdk-for-go/sdk/azidentity ([#5971](https://github.com/kedacore/keda/pull/5971))
- General: Fix ScaledJob ignores failing trigger(s) error ([#5922](https://github.com/kedacore/keda/issues/5922))- General: Scalers are properly closed after being refreshed ([#5806](https://github.com/kedacore/keda/issues/5806))
- GitHub Scaler: Fixed pagination, fetching repository list ([#5738](https://github.com/kedacore/keda/issues/5738))
- MongoDB Scaler: MongoDB url parses correctly `+srv` scheme ([#5760](https://github.com/kedacore/keda/issues/5760))
๐ Changes
- Provide capability to filter CloudEvents (https://github.com/kedacore/keda/issues/3533)
- (Experimental) Introduce Azure Event Grid as a new CloudEvent destination (https://github.com/kedacore/keda/issues/3587)
- Support Kafka SASL MSK IAM authentication
- Multiple OpenTelemetry improvements
- Multiple ScalingModifiers improvements and fixes
- Various Prometheus metrics have been renamed to follow the preferred naming conventions. The old ones are still available, but will be removed in the future (https://github.com/kedacore/keda/issues/4854).
โจ New Contributors
- @rahulii made their first contribution in https://github.com/kedacore/keda/pull/5446
- @vinod827 made their first contribution in https://github.com/kedacore/keda/pull/5518
- @junekhan made their first contribution in https://github.com/kedacore/keda/pull/5481
- @atilsensalduz made their first contribution in https://github.com/kedacore/keda/pull/5433
- @pauldotyu made their first contribution in https://github.com/kedacore/keda/pull/5517
- @ArunYogesh made their first contribution in https://github.com/kedacore/keda/pull/5483
- @tico88612 made their first contribution in https://github.com/kedacore/keda/pull/5566
- @cyrilico made their first contribution in https://github.com/kedacore/keda/pull/5621
- + 11 more
๐ Changes
- General: Fix release asset should specify the version in `keda-*-core.yaml`([#5484](https://github.com/kedacore/keda/issues/5484))
- GCP Scalers: Properly close the connection during the scaler cleaning process ([#5448](https://github.com/kedacore/keda/issues/5448))
- GCP Scalers: Restore previous time horizon to prevent querying issues ([#5429](https://github.com/kedacore/keda/issues/5429))
- Prometheus Scaler: Fix for missing AWS region from metadata ([#5419](https://github.com/kedacore/keda/issues/5419))
๐ What's Changed
- Full Changelog: https://github.com/kedacore/keda/compare/v2.13.0...v2.13.1
๐ Changes
- Support for GCP Secret Manager & config map in trigger authentication
- Newly improved AWS authentication
- Support for emitting CloudEvents from KEDA allowing end-users to extend KEDA (Experimental)
- Support for Amazon managed service for Prometheus for Prometheus scaler
- SAS token authentication for Azure Storage scalers
- Workload identity authentication for Azure Pipelines
- Additional metrics and performance improvements
- General: Clean up previously deprecated code in Azure Data Explorer Scaler about clientSecret for 2.13 release ([#5051](https://github.com/kedacore/keda/issues/5051))
- + 1 more
โจ New
- General: Adds support for GCP Secret Manager as a source for TriggerAuthentication ([#4831](https://github.com/kedacore/keda/issues/4831))
- General: Support TriggerAuthentication properties from ConfigMap ([#4830](https://github.com/kedacore/keda/issues/4830))
- General: Introduce new AWS Authentication ([#4134](https://github.com/kedacore/keda/issues/4134))
- Azure Blob Storage Scaler: Allow to authenticate to Azure Storage using SAS tokens ([#5393](https://github.com/kedacore/keda/issues/5393))
- Azure Pipelines Scaler: Add support for workload identity authentication ([#5013](https://github.com/kedacore/keda/issues/5013))
- Azure Storage Queue Scaler: Allow to authenticate to Azure Storage using SAS tokens ([#5393](https://github.com/kedacore/keda/issues/5393))
- Kafka Scaler: Add support for Kerberos authentication (SASL / GSSAPI) ([#4836](https://github.com/kedacore/keda/issues/4836))
- Prometheus Metrics: Expose prometheus metrics for ScaledJob resources ([#4798](https://github.com/kedacore/keda/issues/4798))
- + 2 more
๐ฆ Experimental
- Here is an overview of all new experimental features:
- General: Emit CloudEvents on major KEDA events ([#3533](https://github.com/kedacore/keda/issues/3533)|[#5278](https://github.com/kedacore/keda/issues/5278))
๐ฆ Improvements
- General: Add CloudEventSource metrics in Prometheus & OpenTelemetry ([#3531](https://github.com/kedacore/keda/issues/3531))
- General: Add RBAC permissions for list & watch LimitRange, and check default limits from LimitRange for validations ([#5377](https://github.com/kedacore/keda/pull/5377))
- General: Add validations for replica counts when creating ScaledObjects ([#5288](https://github.com/kedacore/keda/issues/5288))
- General: Bubble up AuthRef TriggerAuthentication errors as ScaledObject events ([#5190](https://github.com/kedacore/keda/issues/5190))
- General: Enhance pod identity role assumption in AWS by directly integrating with OIDC/Federation ([#5178](https://github.com/kedacore/keda/issues/5178))
- General: Fix issue where paused annotation being set to false still leads to ScaledObjects/ScaledJobs being paused ([#5215](https://github.com/kedacore/keda/issues/5215))
- General: Implement credentials cache for AWS Roles to reduce AWS API calls ([#5297](https://github.com/kedacore/keda/issues/5297))
- General: Request all ScaledObject/ScaledJob triggers in parallel ([#5276](https://github.com/kedacore/keda/issues/5276))
- + 10 more
๐ Fixes
- General: Admission webhook does not reject workloads with only resource limits provided ([#4802](https://github.com/kedacore/keda/issues/4802))
- General: Fix CVE-2023-39325 in golang.org/x/net ([#5122](https://github.com/kedacore/keda/issues/5122))
- General: Fix otelgrpc DoS vulnerability ([#5208](https://github.com/kedacore/keda/issues/5208))
- General: Fix Pod identity not being considered when scaled target is a CRD ([#5021](https://github.com/kedacore/keda/issues/5021))
- General: Prevented memory leak generated by not correctly cleaning http connections ([#5248](https://github.com/kedacore/keda/issues/5248))
- General: Prevented stuck status due to timeouts during scalers generation ([#5083](https://github.com/kedacore/keda/issues/5083))
- General: ScaledObject Validating Webhook should support `dry-run=server` requests ([#5306](https://github.com/kedacore/keda/issues/5306))
- General: Set `LeaderElectionNamespace` to PodNamespace so leader election works in OutOfCluster mode ([#5404](https://github.com/kedacore/keda/issues/5404))
- + 9 more
๐๏ธ Deprecations
- New deprecation(s):
- Remove support for Azure AD Pod Identity-based authentication ([#5035](https://github.com/kedacore/keda/issues/5035))
๐ฅ Breaking Changes
- General: Clean up previously deprecated code in Azure Data Explorer Scaler about clientSecret for 2.13 release ([#5051](https://github.com/kedacore/keda/issues/5051))
๐ฆ Other
- General: Bump K8s deps to 0.28.5 ([#5346](https://github.com/kedacore/keda/pull/5346))
- General: Create a common utility function to get parameter value from config ([#5037](https://github.com/kedacore/keda/issues/5037))
- General: Fix CVE-2023-45142 in OpenTelemetry ([#5089](https://github.com/kedacore/keda/issues/5089))
- General: Fix logger in OpenTelemetry collector ([#5094](https://github.com/kedacore/keda/issues/5094))
- General: Fix lost commit from the newly created utility function ([#5037](https://github.com/kedacore/keda/issues/5037))
- General: Improve docker image build time through caches ([#5316](https://github.com/kedacore/keda/issues/5316))
- General: Reduce amount of gauge creations for OpenTelemetry metrics ([#5101](https://github.com/kedacore/keda/issues/5101))
- General: Refactor `scalers` package ([#5379](https://github.com/kedacore/keda/issues/5379))
- + 6 more
โจ New Contributors
- @teivah made their first contribution in https://github.com/kedacore/keda/pull/5022
- @novicr made their first contribution in https://github.com/kedacore/keda/pull/4851
- @HenriquePiccolo made their first contribution in https://github.com/kedacore/keda/pull/4957
- @qizichao-dm made their first contribution in https://github.com/kedacore/keda/pull/5073
- @loispostula made their first contribution in https://github.com/kedacore/keda/pull/5068
- @chunderbolt made their first contribution in https://github.com/kedacore/keda/pull/5120
- @congzhegao made their first contribution in https://github.com/kedacore/keda/pull/5104
- @josefkarasek made their first contribution in https://github.com/kedacore/keda/pull/5106
- + 23 more
๐ Fixes
- General: Fix CVE-2023-39325 in golang.org/x/net ([#5122](https://github.com/kedacore/keda/issues/5122))
- General: Fix CVE-2023-45142 in Opentelemetry ([#5089](https://github.com/kedacore/keda/issues/5089))
- General: Fix logger in Opentelemetry collector ([#5094](https://github.com/kedacore/keda/issues/5094))
- General: Fix otelgrpc DoS vulnerability ([#5208](https://github.com/kedacore/keda/issues/5208))
- General: Prevented stuck status due to timeouts during scalers generation ([#5083](https://github.com/kedacore/keda/issues/5083))
- Azure Pipelines: No more HTTP 400 errors produced by poolName with spaces ([#5107](https://github.com/kedacore/keda/issues/5107))
๐ What's Changed
- Full Changelog: https://github.com/kedacore/keda/compare/v2.12.0...v2.12.1
๐ Changes
- New Google Cloud Tasks scaler
- New `apache-kafka` scaler (Experimental)
- Support for formula-based evaluation of metric values (Experimental)
- Support for pushing operational metrics to an OpenTelemetry Collector (Experimental)
โจ New
- General: Introduce new Google Cloud Tasks scaler ([#3613](https://github.com/kedacore/keda/issues/3613))
- AWS SQS Scaler: Support for scaling to include delayed messages. ([#4377](https://github.com/kedacore/keda/issues/4377))
- Governance: KEDA transitioned to CNCF Graduated project ([#63](https://github.com/kedacore/governance/issues/63))
- Here is an overview of all new experimental features:
- General: New `apache-kafka` scaler based on kafka-go library ([#4692](https://github.com/kedacore/keda/issues/4692))
- General: Support for formula-based evaluation of metric values ([#2440](https://github.com/kedacore/keda/issues/2440)|[#4998](https://github.com/kedacore/keda/pull/4998))
- General: Introduce pushing operational metrics to an OpenTelemetry Collector ([#3078](https://github.com/kedacore/keda/issues/3078))
๐ฆ Improvements
- General: Introduce Prometheus metrics of API server to KEDA Metric Server ([#4460](https://github.com/kedacore/keda/issues/4460))
- General: Show ScaledObject/ScaledJob names to output of `kubectl get triggerauthentication/clustertriggerauthentication` ([#796](https://github.com/kedacore/keda/issues/796))
- General: Introduce standalone CRD generation to release workflow ([#2726](https://github.com/kedacore/keda/issues/2726))
- General: Introduce changelog validation check during PR for formatting and order violations ([#3190](https://github.com/kedacore/keda/issues/3190))
- General: Automatically set `GOMAXPROCS` to match Linux container CPU quota ([#4999](https://github.com/kedacore/keda/issues/4999))
- General: Configurable Kubernetes cluster domain for Cert Manager ([#4861](https://github.com/kedacore/keda/issues/4861))
- General: Provide new Kubernetes events about internal state and scaling ([#3764](https://github.com/kedacore/keda/issues/3764))
- General: Introduce annotation `autoscaling.keda.sh/paused: true` for ScaledObject to pause autoscaling ([#3304](https://github.com/kedacore/keda/issues/3304))
- + 6 more
๐ Fixes
- General: Add validations for `stabilizationWindowSeconds` ([#4976](https://github.com/kedacore/keda/issues/4976))
- RabbitMQ Scaler: Allow subpaths along with vhost in connection string ([#2634](https://github.com/kedacore/keda/issues/2634))
- Selenium Grid Scaler: Fix scaling based on latest browser version ([#4858](https://github.com/kedacore/keda/issues/4858))
- Solace Scaler: Fix a bug where `queueName` is not properly escaped during URL encode ([#4936](https://github.com/kedacore/keda/issues/4936))
- New deprecation(s):
- None.
๐ฅ Breaking Changes
- General: Remove deprecated `metricName` from trigger metadata section ([#4899](https://github.com/kedacore/keda/issues/4899))
๐ฆ Other
- General: Fixed a typo in the StatefulSet scaling resolver ([#4902](https://github.com/kedacore/keda/pull/4902))
- General: Only show logs with a severity level of ERROR or higher in the stderr in metrics server ([#4049](https://github.com/kedacore/keda/issues/4049))
- General: Refactor ScaledJob related methods to be located at scale_handler ([#4781](https://github.com/kedacore/keda/issues/4781))
- General: Replace deprecated `set-output` command with environment file in GitHub Actions workflows ([#4914](https://github.com/kedacore/keda/issues/4914))
โจ New Contributors
- @Indresh2410 made their first contribution in https://github.com/kedacore/keda/pull/4735
- @Dylan-KW made their first contribution in https://github.com/kedacore/keda/pull/4763
- @SpiritZhou made their first contribution in https://github.com/kedacore/keda/pull/4668
- @aashish-19 made their first contribution in https://github.com/kedacore/keda/pull/4822
- @Adarsh-verma-14 made their first contribution in https://github.com/kedacore/keda/pull/4815
- @atzawada made their first contribution in https://github.com/kedacore/keda/pull/4814
- @nitishchauhan0022 made their first contribution in https://github.com/kedacore/keda/pull/4731
- @drmorr0 made their first contribution in https://github.com/kedacore/keda/pull/4902
- + 11 more
โจ New
- None.
๐ฆ Improvements
- None.
๐ Fixes
- General: Metrics server exposes Prometheus metrics ([#4776](https://github.com/kedacore/keda/issues/4776))
- AWS Pod Identity Authentication: Use `default` service account if the workload doesn't set it ([#4767](https://github.com/kedacore/keda/issues/4767))
- GitHub Runner Scaler: Fix rate checking on GHEC when HTTP 200 ([#4786](https://github.com/kedacore/keda/issues/4786))
- GitHub Runner Scaler: Fix explicit repo check 404 to skip not crash ([#4790](https://github.com/kedacore/keda/issues/4790))
- Pulsar Scaler: Fix `msgBacklogThreshold` field being named wrongly as `msgBacklog` ([#4681](https://github.com/kedacore/keda/issues/4681))
๐๏ธ Deprecations
- New deprecation(s):
- Pulsar Scaler: Fix `msgBacklogThreshold` field being named wrongly as `msgBacklog` ([#4681](https://github.com/kedacore/keda/issues/4681))
๐ฅ Breaking Changes
- None.
๐ฆ Other
- None.
๐ What's Changed
- chore: cherry pick commits for release v2.11.2 by @JorTurFer in https://github.com/kedacore/keda/pull/4826
- Full Changelog: https://github.com/kedacore/keda/compare/v2.11.1...v2.11.2
โจ New
- None.
๐ฆ Improvements
- None.
๐ Fixes
- General: Paused ScaledObject continues working after removing the annotation ([#4733](https://github.com/kedacore/keda/issues/4733))
- General: Skip resolving secrets if namespace is restricted ([#4519](https://github.com/kedacore/keda/issues/4519))
- Prometheus: Authenticated connections to Prometheus work in non-PodIdenty case ([#4695](https://github.com/kedacore/keda/issues/4695))
๐๏ธ Deprecations
- New deprecation(s):
- None.
๐ฅ Breaking Changes
- None.
๐ฆ Other
- None.
- Full Changelog: https://github.com/kedacore/keda/compare/v2.11.0...v2.11.1
๐ Changes
- New Solr Scaler
- Ability to pause autoscaling of ScaledJobs
- Improved and extended Prometheus Metrics
- Ability to scale to zero if there are multiple scalers with CPU and Memory scalers
- Improvements in many scalers and in the core
- General: Metrics Adapter: remove deprecated Prometheus Metrics and non-gRPC code ([#3930](https://github.com/kedacore/keda/issues/3930))
- Azure Data Explorer: Deprecate `metadata.clientSecret` ([#4514](https://github.com/kedacore/keda/issues/4514))
โจ New
- General: Introduce annotation `autoscaling.keda.sh/paused: true` for ScaledJobs to pause autoscaling ([#3303](https://github.com/kedacore/keda/issues/3303))
- General: Introduce new Solr Scaler ([#4234](https://github.com/kedacore/keda/issues/4234))
- General: Support ScaledObject taking over existing HPAs with the same name while they are not managed by other ScaledObject ([#4457](https://github.com/kedacore/keda/issues/4457))
- CPU/Memory scaler: Add support for scale to zero if there are multiple triggers([#4269](https://github.com/kedacore/keda/issues/4269))
- Redis Scalers: Allow scaling using redis stream length ([#4277](https://github.com/kedacore/keda/issues/4277))
- Redis Scalers: Allow scaling using consumer group lag ([#3127](https://github.com/kedacore/keda/issues/3127))
๐ฅ Breaking Changes
- General: Metrics Adapter: remove deprecated Prometheus Metrics and non-gRPC code ([#3930](https://github.com/kedacore/keda/issues/3930))
๐ฆ Improvements
- General: Add a Prometheus metric for measuring the processing loop lag ([#4702](https://github.com/kedacore/keda/issues/4702))
- General: Add a Prometheus metric with KEDA build info ([#4647](https://github.com/kedacore/keda/issues/4647))
- General: Allow to change the port of the Admission Webhook ([#468](https://github.com/kedacore/charts/issues/468))
- General: Enable secret scanning in GitHub repo
- General: Metrics Adapter: remove deprecated Prometheus Metrics and non-gRPC code ([#3930](https://github.com/kedacore/keda/issues/3930))
- General: Kubernetes v1.25, v1.26 or v1.27 are supported
- AWS DynamoDB: Add support for `indexName` ([#4680](https://github.com/kedacore/keda/issues/4680))
- Azure Data Explorer Scaler: Use azidentity SDK ([#4489](https://github.com/kedacore/keda/issues/4489))
- + 11 more
๐ Fixes
- General: Allow to remove the finalizer even if the ScaledObject isn't valid ([#4396](https://github.com/kedacore/keda/issue/4396))
- General: Check ScaledObjects with multiple triggers with non unique name in the Admission Webhook ([#4664](https://github.com/kedacore/keda/issue/4664))
- General: Grafana Dashboard: Fix HPA metrics panel to use range instead of instant ([#4513](https://github.com/kedacore/keda/pull/4513))
- General: Grafana Dashboard: Fix HPA metrics panel by replacing $namepsace to $exported_namespace due to label conflict ([#4539](https://github.com/kedacore/keda/pull/4539))
- General: ScaledJob: Check if MaxReplicaCount is nil before access to it ([#4568](https://github.com/kedacore/keda/issues/4568))
- AWS SQS Scaler: Respect `scaleOnInFlight` value ([#4276](https://github.com/kedacore/keda/issue/4276))
- Azure Monitor: Exclude Azure Monitor scaler from metricName deprecation ([#4713](https://github.com/kedacore/keda/pull/4713))
- Azure Pipelines: Respect all required demands ([#4404](https://github.com/kedacore/keda/issues/4404))
- + 3 more
๐๏ธ Deprecations
- New deprecation(s):
- Azure Data Explorer: Deprecate `metadata.clientSecret` ([#4514](https://github.com/kedacore/keda/issues/4514))
๐ฆ Other
- General: Add e2e test for external push scaler ([#2698](https://github.com/kedacore/keda/pull/2698))
- General: Automatically scale test clusters in/out to reduce environmental footprint & improve cost-efficiency ([#4456](https://github.com/kedacore/keda/pull/4456))
- General: Bump Golang to 1.20 ([#4517](https://github.com/kedacore/keda/issues/4517))
- General: Bump `kubernetes-sigs/controller-runtime` to v0.15.0 and code alignment ([#4582](https://github.com/kedacore/keda/pull/4582))
- General: Drop a transitive dependency on bou.ke/monkey ([#4364](https://github.com/kedacore/keda/issues/4364))
- General: Fix odd number of arguments passed as key-value pairs for logging ([#4368](https://github.com/kedacore/keda/issues/4368))
- General: Refactor several functions for Status & Conditions handling into pkg util functions ([#2906](https://github.com/kedacore/keda/pull/2906))
- General: Stop logging errors for paused ScaledObject (with `autoscaling.keda.sh/paused-replicas` annotation) by skipping reconciliation loop for the object (stop the scale loop and delete the HPA) ([#4253](https://github.com/kedacore/keda/pull/4253))
- + 2 more
โจ New Contributors
- @jkbmdk made their first contribution in https://github.com/kedacore/keda/pull/4390
- @ken8203 made their first contribution in https://github.com/kedacore/keda/pull/4408
- @EugeneLugovtsov made their first contribution in https://github.com/kedacore/keda/pull/4405
- @Parthiba-Hazra made their first contribution in https://github.com/kedacore/keda/pull/4437
- @jrRibeiro made their first contribution in https://github.com/kedacore/keda/pull/4513
- @qvalentin made their first contribution in https://github.com/kedacore/keda/pull/4486
- @tobotg made their first contribution in https://github.com/kedacore/keda/pull/4487
- @luckymrwang made their first contribution in https://github.com/kedacore/keda/pull/4574
- + 14 more
๐ Changes
- Admission Webhooks: Allow to remove the finalizer even if the ScaledObject isn't valid ([#4396](https://github.com/kedacore/keda/issue/4396))
- AWS SQS Scaler: Respect `scaleOnInFlight` value ([#4276](https://github.com/kedacore/keda/issue/4276))
- Azure Pipelines: Fix for disallowing `$top` on query when using `meta.parentID` method ([#4397])
- Azure Pipelines: Respect all required demands ([#4404](https://github.com/kedacore/keda/issues/4404))
๐ What's Changed
- Drop a transitive dependency on bou.ke/monkey (#4366)
- fix(aws-sqs): Respect scaleOnInFlight value (#4358)
- chore: update supported versions in the welcome message (#4360)
- fix: respect all required demands in azure pipeline scaler (#4405)
- fix: Azure Pipelines Scaler uses correct endpoint when demands are set (#4401)
- fix: Allow to remove the finalizer even if the ScaledObject isn't valid (#4397)
- fix odd number of arguments passed as key-value pairs for logging (#4369)
๐ Changes
- New ArangoDB Scaler
- New (experimental) GitHub Actions Scaler
- New admission webhook for validating ScaledObjects
- Security enhancements thanks to certificate integrations
- Support for custom CAs
- General: Deprecate explicitly setting `metricName` field from `ScaledObject.triggers[*].metadata` ([#4220](https://github.com/kedacore/keda/issues/4220))
- Prometheus Scaler: `cortexOrgId` metadata deprecated in favor of custom headers ([#4208](https://github.com/kedacore/keda/issues/4208))
โจ New
- Here is an overview of all stable additions:
- General: Add support to register custom CAs globally in KEDA operator ([#4168](https://github.com/kedacore/keda/issues/4168))
- General: Introduce admission webhooks to automatically validate resource changes to prevent misconfiguration and enforce best practices ([#3755](https://github.com/kedacore/keda/issues/3755))
- General: Introduce new ArangoDB Scaler ([#4000](https://github.com/kedacore/keda/issues/4000))
- Prometheus Metrics: Introduce scaler activity in Prometheus metrics ([#4114](https://github.com/kedacore/keda/issues/4114))
- Prometheus Metrics: Introduce scaler latency in Prometheus metrics ([#4037](https://github.com/kedacore/keda/issues/4037))
- Prometheus Scaler: Extend Prometheus Scaler to support Azure managed service for Prometheus ([#4153](https://github.com/kedacore/keda/issues/4153))
- Here is an overview of all new experimental features:
- + 1 more
๐ฆ Improvements
- General: Add a warning when KEDA run outside supported k8s versions ([#4130](https://github.com/kedacore/keda/issues/4130))
- General: Use (self-signed) certificates for all the communications (internals and externals) ([#3931](https://github.com/kedacore/keda/issues/3931))
- General: Use TLS1.2 as minimum TLS version ([#4193](https://github.com/kedacore/keda/issues/4193))
- Azure Application Insights Scaler: Add ignoreNullValues to ignore errors when the data returned has null in its values ([#4316](https://github.com/kedacore/keda/issues/4316))
- Azure Pipelines Scaler: Improve error logging for `validatePoolID` ([#3996](https://github.com/kedacore/keda/issues/3996))
- Azure Pipelines Scaler: New configuration parameter `requireAllDemands` to scale only if jobs request all demands provided by the scaling definition ([#4138](https://github.com/kedacore/keda/issues/4138))
- Hashicorp Vault: Add support to secrets backend version 1 ([#2645](https://github.com/kedacore/keda/issues/2645))
- Kafka Scaler: Add support to use `tls` and `sasl` in ScaledObject ([#4232](https://github.com/kedacore/keda/issues/4322))
- + 5 more
๐ Fixes
- General: Fix regression in fallback mechanism ([#4249](https://github.com/kedacore/keda/issues/4249))
- General: Prevent a panic that might occur while refreshing a scaler cache ([#4092](https://github.com/kedacore/keda/issues/4092))
- AWS Cloudwatch Scaler: Make `metricName` and `namespace` optional when using `expression` ([#4334](https://github.com/kedacore/keda/issues/4262))
- Azure Pipelines Scaler: Add new parameter to limit the jobs returned ([#4324](https://github.com/kedacore/keda/issues/4324))
- Azure Queue Scaler: Fix azure queue length ([#4002](https://github.com/kedacore/keda/issues/4002))
- Azure Service Bus Scaler: Improve way clients are created to reduce amount of ARM requests ([#4262](https://github.com/kedacore/keda/issues/4262))
- Azure Service Bus Scaler: Use correct auth flows with pod identity ([#4026](https://github.com/kedacore/keda/issues/4026)|[#4123](https://github.com/kedacore/keda/issues/4123))
- Cassandra Scaler: Checking whether the port information is entered in the ClusterIPAddres is done correctly. ([#4110](https://github.com/kedacore/keda/issues/4110))
- + 9 more
๐ฆ Other
- General: Bump Golang to 1.19 ([#4094](https://github.com/kedacore/keda/issues/4094))
- General: Check that ScaledObject name is specified as part of a query for getting metrics ([#4088](https://github.com/kedacore/keda/pull/4088))
- General: Compare error with `errors.Is` ([#4004](https://github.com/kedacore/keda/pull/4004))
- General: Consolidate `GetMetrics` and `IsActive` to `GetMetricsAndActivity` for Azure Event Hub, Cron and External scalers ([#4015](https://github.com/kedacore/keda/issues/4015))
- General: Improve test coverage in `pkg/util` ([#3871](https://github.com/kedacore/keda/issues/3871))
- General: Metrics Server: print a message on successful connection to gRPC server ([#4190](https://github.com/kedacore/keda/issues/4190))
- General: Pass deep copy object to scalers cache from the ScaledObject controller ([#4207](https://github.com/kedacore/keda/issues/4207))
- General: Review CodeQL rules and enable it on PRs ([#4032](https://github.com/kedacore/keda/pull/4032))
- + 1 more
โจ New Contributors
- @dttung2905 made their first contribution in https://github.com/kedacore/keda/pull/4022
- @Juneezee made their first contribution in https://github.com/kedacore/keda/pull/4039
- @gifflet made their first contribution in https://github.com/kedacore/keda/pull/4105
- @mohite-abhi made their first contribution in https://github.com/kedacore/keda/pull/4086
- @chalokodekare made their first contribution in https://github.com/kedacore/keda/pull/4143
- @dangerousplay made their first contribution in https://github.com/kedacore/keda/pull/4152
- @raz-bn made their first contribution in https://github.com/kedacore/keda/pull/4047
- @ithesadson made their first contribution in https://github.com/kedacore/keda/pull/4162
- + 11 more
๐ Fixes
- Azure Service Bus Scaler: Use correct auth flows with pod identity ([#4026](https://github.com/kedacore/keda/issues/4026)|[#4123](https://github.com/kedacore/keda/issues/4123))
- Full Changelog: https://github.com/kedacore/keda/compare/v2.9.2...v2.9.3
๐ Fixes
- General: Provide patch for CVE-2022-3172 vulnerability ([#3690](https://github.com/kedacore/keda/issues/3690))
- General: Respect optional parameter inside envs for ScaledJobs ([#3568](https://github.com/kedacore/keda/issues/3568))
- General: Close is called twice on PushScaler's deletion ([#3881](https://github.com/kedacore/keda/issues/3881))
- Azure Blob Scaler Store forgotten logger ([#3811](https://github.com/kedacore/keda/issues/3811))
- Datadog Scaler The last data point of some specific query is always null ([#3906](https://github.com/kedacore/keda/issues/3906))
- GCP Stackdriver Scalar: Update Stackdriver client to handle detecting double and int64 value types ([#3777](https://github.com/kedacore/keda/issues/3777))
- MongoDB Scaler: Username/password can contain `:/?#[]@` ([#3992](https://github.com/kedacore/keda/issues/3992))
- New Relic Scaler Store forgotten logger ([#3945](https://github.com/kedacore/keda/issues/3945))
- + 2 more
๐ฆ Other
- General: Review CodeQL rules and enable it on PRs ([#4032](https://github.com/kedacore/keda/pull/4032))
๐ Fixes
- General: Prevent a panic that might occur while refreshing a scaler cache ([#4092](https://github.com/kedacore/keda/issues/4092))
- Prometheus Metrics: Fix exposed metric from `keda_scaled_errors` to `keda_scaled_object_errors` ([#4037](https://github.com/kedacore/keda/issues/4037))
- Azure Service Bus Scaler: Use correct auth flows with pod identity ([#4026](https://github.com/kedacore/keda/issues/4026))
๐ Fixes
- General: Properly retrieve and close scalers cache ([#4011](https://github.com/kedacore/keda/issues/4011))
- Azure Key Vault: Raise an error if authentication mechanism not provided ([#4010](https://github.com/kedacore/keda/issues/4010))
- Redis Scalers: Support `unsafeSsl` and enable ssl verification as default ([#4005](https://github.com/kedacore/keda/issues/4005))
- Full Changelog: https://github.com/kedacore/keda/compare/v2.9.0...v2.9.1
