We are happy to release KEDA 2.9.0 which now has 50+ built-in scalers 🎉
Here are some highlights:
- Introduce new CouchDB, Etcd & Loki scaler
- Introduce deprecation & breaking change policy (docs)
- Introduce off-the-shelf Grafana dashboard for application autoscaling
- Introduce improved operational metrics in Prometheus
- Introduce capability to cache metric values for a scaler during the polling interval (experimental feature)
Here are the breaking changes of this release:
- Change API version of HPA from
autoscaling/v2beta2
toautoscaling/v2
(#2462) - As per our support policy, Kubernetes v1.23 or above is required and support for Kubernetes v1.22 or below was removed (docs)
Here are the new deprecation(s) as of this release:
- Prometheus metrics on KEDA Metric Server are deprecated in favor of Prometheus metrics on KEDA Operator (#3972 | Discussion)
Learn how to deploy KEDA by reading our documentation.
🗓️ The next KEDA release is currently being estimated for March 2nd, 2023, learn more in our roadmap.
New
Here is an overview of all stable additions:
- General: Introduce new CouchDB Scaler (#3746)
- General: Introduce new Etcd Scaler (#3880)
- General: Introduce new Loki Scaler (#3699)
- General: Introduce rate-limitting parameters to KEDA manager to allow override of client defaults (#3730)
- General: Introduction deprecation & breaking change policy (Governance #68)
- General: Provide off-the-shelf Grafana dashboard for application autoscaling (Docs | #3911)
- General: Produce reproducible builds (#3509
- AWS Scalers: Introduce new AWS endpoint URL settings. (#3337)
- Azure Service Bus Scaler: Support for Shared Access Signature (SAS) tokens for authentication. (#2920)
- Azure Service Bus Scaler: Support regex usage in queueName / subscriptionName parameters. (#1624)
- ElasticSearch Scaler: Support for ElasticSearch Service on Elastic Cloud (#3785
- Prometheus Metrics: Introduce new
ScalerName
label in Prometheus metrics. (#3588) - Prometheus Metrics: Expose renamed version of existing Prometheus Metrics in KEDA Operator. (#3919)
- Prometheus Metrics: Provide Prometheus metric with indication of total number of custom resources per namespace for each custom resource type (CRD). (#2637|#2638|#2639)
- Prometheus Metrics: Provide Prometheus metric with indication of total number of triggers per trigger type in
ScaledJob
/ScaledObject
. (#3663) - Selenium Grid Scaler: Allow setting url trigger parameter from TriggerAuthentication/ClusterTriggerAuthentication (#3752)
Here is an overview of all new experimental features:
- General: EXPERIMENTAL Adding an option to cache metric values for a scaler during the polling interval (#2282)
Improvements
- General: Add explicit
seccompProfile
type tosecurityContext
config (#3561) - General: Add
Min
column to ScaledJob visualization (#3689) - General: Disable response compression for k8s restAPI in client-go (#3863 | Kubernetes #112296)
- General: Improve the function used to normalize metric names (#3789
- General: Support for using pod identities for authentication in Azure Key Vault (#3813
- General: Support disable keep http connection alive (#3874
- General: Support "Restrict Secret Access" to mitigate the security risk (#3668
- Apache Kafka Scaler: Support for SASL/OAuth bearer authentication (#3681)
- Apache Kafka Scaler: Support for limiting Kafka partitions KEDA will monitor (#3830)
- Apache Kafka Scaler: Support for excluding persistent lag (#3904)
- Azure AD Pod Identity Authentication: Improve logs around integration with aad-pod-identity for simplified troubleshooting (#3610)
- Azure Event Hubs Scaler: Support Azure Active Directory Pod & Workload Identity for Storage Blobs (#3569)
- Azure Event Hubs Scaler: Support for using connection strings for Event Hub namespace instead of the Event Hub itself. (#3922)
- Azure Event Hubs Scaler: Support for
dapr
checkpoint strategy (#3022) - Azure Pipelines Scaler: Improved performance for scaling big amount of job requests (#3702)
- Cron Scaler: Improve instance count determination. (#3838)
- GCP Storage Scaler: Support for blob prefix (#3756)
- GCP Storage Scaler: Support for blob delimiters (#3756)
- Metrics API Scaler: Support for
unsafeSsl
parameter to skip certificate validation when connecting over HTTPS (#3728) - NATS Jetstream Scaler: Improved querying to respect stream consumer leader in clustered scenarios (#3860)
- NATS Scalers: Support HTTPS protocol in NATS Scalers (#3805)
- Prometheus Scaler: Introduce skipping of certificate check for unsigned certs (#2310)
- Pulsar Scaler: Add support for basic authentication (#3844)
- Pulsar Scaler: Add support for bearer token authentication (#3844)
- Pulsar Scaler: Add support for partitioned topics (#3833)
Fixes
- General: Respect optional parameter inside
envs
for ScaledJobs (#3568) - General: Ensure
Close
is only called once duringPushScaler
's deletion (#3881) - Security: Provide patch for CVE-2022-3172 vulnerability (#3690)
- Azure Blob Scaler Store forgotten logger (#3811)
- Datadog Scaler The last data point of some specific query is always null (#3906)
- GCP Stackdriver Scalar: Update Stackdriver client to handle detecting double and int64 value types (#3777)
- MongoDB Scaler: Username/password can contain
:/?#[]@
(#3992) - New Relic Scaler Store forgotten logger (#3945)
- Prometheus Scaler: Treat Inf the same as Null result (#3644)
- NATS Jetstream: Correctly count messages that should be redelivered (waiting for ack) towards KEDA value (#3787)
Breaking Changes
- General: Change API version of HPA from
autoscaling/v2beta2
toautoscaling/v2
(#2462) - General: As per our support policy, Kubernetes v1.23 or above is required and support for Kubernetes v1.22 or below was removed (docs)
Deprecations
You can find all deprecations in this overview and join the discussion here.
New deprecation(s):
- Prometheus metrics on KEDA Metric Server are deprecated in favor of Prometheus metrics on KEDA Operator (#3972 | Discussion)
Previously announced deprecation(s):
- Default checkpointing strategy for Azure Event Hubs scaler
azureFunctions
is deprecated in favor ofblobMetadata
(#XXX | Discussion) metadata.type
is deprecated in favor of the globalmetricType
for CPU, Memory, Datadog scalers (#2844 | Discussion)rolloutStrategy
is deprecated in favor ofrollout.strategy
in ScaledJobs (#3596 | Discussion)
Other
- General: Bump Golang to 1.18.6 (#3205)
- General: Bump
github.com/Azure/azure-event-hubs-go/v3
(#2986) - General: Migrate from
azure-service-bus-go
toazservicebus
(#3394) - General: Metrics Server: use gRPC connection to get metrics from Operator (#3920)
- General: Metrics Server: use OpenAPI definitions served by custom-metrics-apiserver (#3929)
- Azure EventHub: Add e2e tests (#2792)
- Apache Kafka Scaler: Increase logging V-level (#3948)
New Contributors
- @joebowbeer made their first contribution in #3562
- @mayurvaid-redvest made their first contribution in #3642
- @dgibbard-cisco made their first contribution in #3550
- @doctorpangloss made their first contribution in #3571
- @neelanjan00 made their first contribution in #3701
- @DevinGillman made their first contribution in #3697
- @tbobm made their first contribution in #3725
- @psi made their first contribution in #3752
- @fk128 made their first contribution in #3559
- @cdlliuy made their first contribution in #3650
- @yuyuvn made their first contribution in #3779
- @andyatwork made their first contribution in #3573
- @wrdls made their first contribution in #3774
- @tomasgiden made their first contribution in #3812
- @wymangr made their first contribution in #3823
- @toniopelo made their first contribution in #3809
- @mknet3 made their first contribution in #3815
- @michaeljmarshall made their first contribution in #3834
- @rcbop made their first contribution in #3786
- @darox made their first contribution in #3902
- @penghuazhou made their first contribution in #3878
- @olivierlemasle made their first contribution in #3928
- @lkishalmi made their first contribution in #3946
- @yuvalweber made their first contribution in #3934
- @dkv made their first contribution in #3953
- @rayjanoka made their first contribution in #3564
- @yodobrin made their first contribution in #3912
- @octothorped made their first contribution in #3788
- @WindNotStop made their first contribution in #3599
- @zou2699 made their first contribution in #3838
- @JosephABC made their first contribution in #3965
- @kevinteng525 made their first contribution in #3677
- @26tanishabanik made their first contribution in #3804
- @dogzzdogzz made their first contribution in #3954
Full Changelog: v2.8.1...v2.9.0