We are happy to release KEDA 2.5.0 🎉
Here are some highlights:
- Introducing a new Cassandra scaler
- Introducing a new Elasticsearch scaler
- Introducing a new Graphite scaler
- GCP PubSub Scaler:
subscriptionSize
is deprecated in favor ofmode
andvalue
- Performance improvements
- Lot of improvements in several scalers
Learn how to deploy KEDA by reading our documentation.
New
- Add Cassandra Scaler (#2211)
- Add Elasticsearch Scaler (#2311)
- Add Graphite Scaler (#1628)
- ScaledJob: introduce
MultipleScalersCalculation
(#2016) - ScaledJob: introduce
RolloutStrategy
(#2164) - Add ScalersCache to reuse scalers unless they need changing (#2187)
- Cache metric names provided by KEDA Metrics Server (#2279)
Improvements
- Artemis Scaler: parse out broker config parameters in case
restAPITemplate
is given (#2104) - AWS Cloudwatch Scaler: improve metric exporting logic (#2243)
- AWS Cloudwatch Scaler: return minimum value for the metric when cloudwatch returns empty list (#2345)
- Azure Log Analytics Scaler: add support to provide the metric name(#2106)
- Azure Pipelines Scaler: improve logs (#2297)
- Cron Scaler: improve validation in case start & end input is same (#2032)
- Cron Scaler: improve the cron validation (#2038)
- GCP PubSub Scaler: introduce
SubscriptionSize
andOldestUnackedMessageAge
modes (#2266) - GCP PubSub Scaler: add GCP identity authentication when using (#2225)
- GCP PubSub Scaler: add possibility to reference a GCP PubSub subscription by full link, including project ID (#2269)
- InfluxDB Scaler: add
unsafeSsl
parameter (#2157|#2320) - Metrics API Scaler: add Bearer auth (#2028)
- MongoDB Scaler: add support to get connection data from Trigger Authorization (#2115)
- MSSQL Scaler: add support to get connection data from Trigger Authorization (#2112)
- MySQL Scaler: add support to get connection data from Trigger Authorization (#2113)
- MySQL Scaler: don't expose connection string in
metricName
(#2171) - PostgreSQL Scaler: add support to get connection data from Trigger Authorization (#2114)
- Prometheus Scaler: validating values length in Prometheus query response (#2264)
- Prometheus Scaler: omit
serverAddress
from generated metric name (#2099) - RabbitMQ Scaler: anonymize the host in case of HTTP failure (#2041)
- RabbitMQ Scaler: escape
queueName
andvhostName
before use them in query string (bug fix) (#2055) - RabbitMQ Scaler: add custom http timeout (#2086)
- RabbitMQ Scaler: add
pageSize
(using regex) (#2162|#2319) - Redis Scaler: upgrade library, add username and Sentinel support (#2181)
- SeleniumGrid Scaler: add
unsafeSsl
parameter (#2157) - Stan Scaler: provide support for configuring authentication through TriggerAuthentication (#2167)
- Allow setting
MaxConcurrentReconciles
for controllers (#2272) - Cleanup metric names inside scalers (#2260)
- Drop support to
ValueMetricType
using cpu_memory_scaler (#2218) - Improve metric name creation to be unique using scaler index inside the scaler (#2161)
- Improve error message if
IdleReplicaCount
are equal toMinReplicaCount
to be the same as the check (#2212) - TriggerAuthentication/Vault: add support for HashiCorp Vault namespace (Vault Enterprise) (#2085)
Deprecations
- GCP PubSub Scaler:
subscriptionSize
is deprecated in favor ofmode
andvalue
(#2266)
Breaking Changes
- None
Other
- Ensure that
context.Context
values are properly passed down the stack (#2202|#2249) - Refactor AWS related scalers to reuse the AWS clients instead of creating a new one for every
GetMetrics
call (#2255) - Improve context handling in appropriate functionality in which we instantiate scalers (#2267)
- Migrate to Kubebuilder v3 (#2082)
- API path has been changed:
github.com/kedacore/keda/v2/api/v1alpha1
->github.com/kedacore/keda/v2/apis/keda/v1alpha1
- API path has been changed:
- Use Patch to set FallbackCondition on ScaledObject.Status (#2037)
- Bump Golang to 1.17.3 (#2329)
- Add Makefile mockgen targets (#2090|#2184)
- Add github action to run e2e command "on-demand" (#2241)
- Add execution url in the pr-e2e triggering comment and fix problem related with not starting with (#2306)
New Contributors
- @fbalicchia made their first contribution in #2051
- @chapurlatn made their first contribution in #2085
- @bpinske made their first contribution in #2092
- @mihaitodor made their first contribution in #2137
- @dtsioumas made their first contribution in #2157
- @Deichindianer made their first contribution in #2212
- @jerbob92 made their first contribution in #2181
- @etamarw made their first contribution in #2164
- @jmalvarezf-lmes made their first contribution in #2225
- @fivesheep made their first contribution in #2243
- @sosoftmandruszak made their first contribution in #2264
- @Friedrich42 made their first contribution in #2266
- @endersonmenezes made their first contribution in #2297
- @orphaner made their first contribution in #2311
- @allupaku made their first contribution in #2345
Full Changelog: v2.4.0...v2.5.0
Detailed Overview
queueName
and vhostName
in RabbitMQ Scaler before use them in query string (bug fix) by @JorTurFer in #2055
KEDA_HTTP_DEFAULT_TIMEOUT
by @JorTurFer in #2062
MultipleScalersCalculation
by @TsuyoshiUshio in #2016
dbName
property parsing by @JorTurFer in #2140
restAPITemplate
is given by @Ritikaa96 in #2104
unsafeSsl
parameter on InfluxDB by @dtsioumas in #2157
serverAddress
from generated metric name by @zroubalik in #2099
metricName
by @zroubalik in #2171
feature
as allowed label for stale issues, instead of feature-request
by @tomkerkhove in #2193
ValueMetricType
using cpu_memory_scaler by @JorTurFer in #2218
rolloutStrategy
by @etamarw in #2164
beta.kubernetes.io/os
nodeSelector is deprecated by @zroubalik in #2280
unsafeSsl
parameter in Selenium Grid scaler by @JorTurFer in #2285
pageSize
to avoid conversion problems by @zroubalik in #2319
MaxConcurrentReconciles
for reconcilers by @zroubalik in #2272