Releases: kedacore/keda
KEDA 2.6.0
We are happy to release KEDA 2.6.0 🎉
Here are some highlights:
- Five new Scalers 🎉 🎉
- Important bugfixes and improvements related to caching
- KEDA images are signed using
cosign
- We no longer push to Docker Hub as of v2.5 as per our announcement in March 2021
Learn how to deploy KEDA by reading our documentation.
New
- Add ActiveMQ Scaler (#2305)
- Add Azure Application Insights Scaler (2506)
- Add New Datadog Scaler (#2354)
- Add New Relic Scaler (#2387)
- Add PredictKube Scaler (#2418)
Improvements
- General: Delete the cache entry when a ScaledObject is deleted (#2564)
- General: Fail fast on
buildScalers
when not able to resolve a secret that a deployment is relying on (#2394) - General:
keda-operator
Cluster Role: addlist
andwatch
access to service accounts (#2406)|(#2410) - General: Sign KEDA images published on GitHub Container Registry (#2501)|(#2502)|(#2504)
- AWS Scalers: Support temporary AWS credentials using session tokens (#2573)
- AWS SQS Scaler: Allow using simple queue name instead of URL (#2457)
- Azure EventHub Scaler: Don't expose connection string in metricName (#2404)
- Azure Pipelines Scaler: Support
poolName
orpoolID
validation (#2370) - CPU Scaler: AAding e2e test for the cpu scaler (#2441)
- External Scaler: Fix wrong calculation of retry backoff duration (#2416)
- Graphite Scaler: Use the latest datapoint returned, not the earliest (#2365)
- Kafka Scaler: Allow flag
topic
to be optional, where lag of all topics within the consumer group will be used for scaling (#2409) - Kafka Scaler: Concurrently query brokers for consumer and producer offsets (#2405)
- Kubernetes Workload Scaler: Ignore terminated pods (#2384)
- PostgreSQL Scaler: Assign PostgreSQL
userName
to correct attribute (#2432)|(#2433) - Prometheus Scaler: Support namespaced Prometheus queries (#2575)
Breaking Changes
- No longer push to Docker Hub as of v2.5 as per our announcement in March 2021
- Learn more about the background on kedacore/governance#16
New Contributors
- @solsson made their first contribution in #2384
- @tomasspi made their first contribution in #2406
- @melisatanrverdi made their first contribution in #2305
- @VerstraeteBert made their first contribution in #2405
- @marcelobartsch made their first contribution in #2387
- @tsndqst made their first contribution in #2432
- @yusank made their first contribution in #2416
- @JatinSanghvi made their first contribution in #2443
- @or-shachar made their first contribution in #2444
- @PaulLiang1 made their first contribution in #2409
- @arapulido made their first contribution in #2354
- @nicolaferraro made their first contribution in #2483
- @whitesource-bolt-for-github made their first contribution in #2514
- @daniel-yavorovich made their first contribution in #2418
- @JacobHenner made their first contribution in #2573
- @markrzasa made their first contribution in #2506
Full Changelog: v2.5.0...v2.6.0
KEDA 2.5.0
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
- Update Python in dev containers and add .gitattributes by @JorTurFer in #2021
- validation and check in cron scaler for same start and end case by @Ritikaa96 in #2032
- chore: KEDA was accepted as CNCF Incubation project by @tomkerkhove in #2039
- Add Bearer Auth for Metrics API scaler by @JorTurFer in #2028
- Update cron scaler to parse the cron with parser instead of searching for '-' by @JorTurFer in #2038
- adapt test to #381 by @fbalicchia in #2051
- use Patch to set FallbackCondition on ScaledObject.Status by @zroubalik in #2037
- Escape
queueName
andvhostName
in RabbitMQ Scaler before use them in query string (bug fix) by @JorTurFer in #2055 - Anonymize the host in case of HTTP failure (RabbitMQ Scaler) by @JorTurFer in #2041
- Update Makefile to ensure that bash is used instead of sh or another by @JorTurFer in #2061
- Adds explicit the option of setting
KEDA_HTTP_DEFAULT_TIMEOUT
by @JorTurFer in #2062 - fix typo in isScalableCache by @zroubalik in #2064
- build-tools image: bump Golang to 1.16.7 by @zroubalik in #2067
- bump golangci-lint to 1.42.0 by @zroubalik in #2066
- bump Golang to 1.16.7 by @zroubalik in #2065
- Bump bruc...
KEDA 2.4.0
We are happy to release KEDA 2.4.0 🎉
Here are some highlights:
- Introducing a new Solace PubSub+ Event Broker scaler
- Introducing a new Selenium Grid scaler
- Introducing a new Kubernetes Workload scaler
- Introduce fallback functionality
- Introduce Idle Replica Mode
Learn how to deploy KEDA by reading our documentation.
New
- Add Solace PubSub+ Event Broker scaler (#1945)
- Add Selenium Grid scaler (#1971)
- Add Kubernetes Workload scaler (#2010)
- Introduce fallback functionality (#1872)
- Introduce Idle Replica Mode (#1958)
- ScaledJob - Support pod conditions for pending job count calculation (#1970|#2009)
Improvements
- Optimize Kafka scaler by fetching all topic offsets using a single HTTP request (#1956)
- Adding ability to specify Kafka Broker Version (#1866)
- Support custom metric name in RabbitMQ scaler (#1976)
- Support using regex to select the queues in RabbitMQ scaler (#1957)
- Extend Azure Monitor scaler to support custom metrics (#1883)
- Support non-public cloud environments in the Azure Service Bus scaler (#1907)
- Support non-public cloud environments in the Azure Storage Queue and Azure Storage Blob scalers (#1863)
- Adjusts InfluxDB scaler to support queries that return integers in addition to those that return floats (#1977)
- Allow InfluxDB
authToken
,serverURL
, andorganizationName
to be sourced from(Cluster)TriggerAuthentication
(#1904) - IBM MQ scaler password handling fix (#1939)
- Metrics APIServer: Add ratelimiting parameters to override client (#1944)
- Fix READY and ACTIVE fields of ScaledJob to show status when we run
kubectl get sj
(#1855) - Show HashiCorp Vault Address when using
kubectl get ta
orkubectl get cta
(#1862) - Don't panic when HashiCorp Vault path doesn't exist (#1864)
Breaking Changes
- Fix
keda-system-auth-delegator
ClusterRoleBinding name (#1616). Upgrading may leave a stray ClusterRoleBinding with the old namekeda:system:auth-delegator
behind.
Other
- Use
scaled[object/job].keda.sh/
prefix for KEDA related labels (#2008)
KEDA 2.3.0
We are happy to release KEDA 2.3.0 🎉
Here are some highlights:
- Introducing a new Azure Pipelines scaler
- Introducing a new OpenStack Metrics scaler
- New authentication options for Prometheus
Learn how to deploy KEDA by reading our documentation.
New
- Add Azure Pipelines Scaler (#1706)
- Add OpenStack Metrics Scaler (#1382)
- Added basic, tls and bearer authentication support to the Prometheus scaler #1559
- Add header Origin to Apache Artemis scaler #1796
Improvements
- Azure Service Bus Scaler: Namespace from
connectionString
parameter is added tometricName
due to uniqueness violation for clusters having more than one queue with the same name (#1755) - Remove app.kubernetes.io/version label from label selectors (#1696)
- Apache Kafka Scaler: Add
allowIdleConsumers
to the list of trigger parameters (#1684) - Fixed goroutine leaks in usage of timers (#1704 | #1739)
- Setting timeouts in the HTTP client used by the IBM MQ scaler (#1758)
- Fix cleanup of removed triggers (#1768)
- Eventhub Scaler: Add trigger parameter
checkpointStrategy
to support more language-specific checkpoints (#1621) - Fix Azure Blob scaler when using multiple triggers with the same
blobContainerName
and added a optionalmetricName
field (#1816)
Breaking Changes
- None.
KEDA 2.2.0
We are happy to release KEDA 2.2.0 🎉
Here are some highlights:
- Introducing a new Microsoft SQL Server scaler
- KEDA emits Kubernetes Events
- Adding several performance related improvements
- ScaledJob supports metadata labels in Job template
- Improving AWS SQS, Metrics API, OpenStack Swift and RabbitMQ scaler
Learn how to deploy KEDA by reading our documentation.
New
- Emit Kubernetes Events on KEDA events (#1523 | #1647)
- Support Quantities in Metrics API scaler (#1667)
- Add Microsoft SQL Server (MSSQL) scaler (#674 | docs)
- Add
publishRate
trigger to RabbitMQ scaler (#1653) - ScaledJob: support metadata labels in Job template (#1686)
Improvements
- Add
KEDA_HTTP_DEFAULT_TIMEOUT
support in Operator (#1548) - Removed
MIN field
for ScaledJob (#1553) - Add container port for Prometheus on Operator YAML (#1562)
- Fix a memory leak in Kafka client and close push scalers (#1565)
- Add 'Metadata' header to AAD podIdentity request (#1566)
- KEDA should make sure generate correct labels for HPA (#1630)
- Fix memory leak by checking triggers uniqueness properly (#1640)
- Print correct ScaleTarget Kind in Events (#1641)
- Fixed KEDA ClusterRoles to give permissions for ClusterTriggerAuthentications (#1645)
- Make
swiftURL
parameter optional for the OpenStack Swift scaler (#1652) - Fix memory leak of
keda-metrics-apiserver
by setting a controller-runtime logger properly (#1654) - AWS SQS Scaler: Add Visible + NotVisible messages for scaling considerations (#1664)
- Fixing behavior on ScaledJob with incorrect External Scaler (#1672)
Breaking Changes
- None.
KEDA 2.1.0
We are happy to release KEDA v2.1.0 🎉
Here are some highlights:
- Introduction of
ClusterTriggerAuthentication
for cluster-wide trigger authentication - Introducing new InfluxDB, MongoDB & OpenStack Swift scaler
- Improvements to AWS Cloudwatch, Azure Event Hub, Kafka & Redis scalers
- Automatically determine the RabbitMQ protocol (when possible)
- Support for Redis clusters
- Performance improvements
Learn how to deploy KEDA by reading our documentation.
New
- Global authentication credentials can be managed using
ClusterTriggerAuthentication
objects (#1452) - Introducing InfluxDB scaler (#1239)
- Introducing OpenStack Swift scaler (#1342)
- Support for Redis clusters in Redis list & Redis streams scalers (#1437)
- Use Pod Identity with Azure Event Hub scaler (#994)
- Automatically determine the RabbitMQ protocol when possible
- Support for setting the RabbitMX protocol via TriggerAuthentication (#1459, #1483)
- Support for multi-dimensional metrics in AWS Cloudwatch Scaler (#1230)
- Show
MIN/MAX
replica counts when usingkubectl get scaledobject/scaledjob
(#1534) - Introducing MongoDB scaler (#1467)
Improvements
- Support add ScaledJob's label to its job (#1311)
- Override the vhost on a RabbitMQ scaler via
vhostName
in the metadata (#1451) - Bug fix in aws_iam_authorization to utilize correct secret from env key name (#1332)
- Add metricName field to postgres scaler and auto generate if not defined (#1381)
- Mask password in postgres scaler auto generated metricName (#1381)
- Bug fix for pending jobs in ScaledJob's accurateScalingStrategy (#1323)
- Fix memory leak because of unclosed scalers (#1413)
- Optimize Kafka scaler's
getLagForPartition
function (#1464) - Reduce unnecessary /scale requests from ScaledObject controller (#1453)
- Add support for the
WATCH_NAMESPACE
environment variable to the operator (#1474) - Improve performance when fetching pod information (#1457)
- Improve performance when fetching current scaling information on Deployments (#1458)
- Improve error reporting in prometheus scaler (#1497)
- Check that metricNames are unique in ScaledObject (#1390)
- Serve OpenAPI spec from KEDA Metrics Apiserver (#1512)
- Fix unnecessary HPA updates when Resource based Trigger is used (#1541)
Breaking Changes
None.
Other
- Bump go module version to v2 (#1324)
KEDA 2.0.0
Today, we are happy to announce another milestone - KEDA 2.0 is now generally available and ready to scale all your workloads! 🎊
Learn more about this release in our blog post and easily get started.
What's new?
New
- Introduce Azure Log Analytics scaler (#1061) | docs)
- Introduce External Push scaler (#820 | docs)
- Introduce Metrics API Scaler (#1026 | docs)
- Introduce IBM MQ Scaler (#1259 | docs)
- Introduce CPU scaler (#1215 | docs)
- Introduce Memory scaler (#1215 | docs)
- Introduce scaling any
CustomResource
that implementsScale
subresource (#703) - Provide KEDA go-client (#494)
- Provide KEDA readiness and liveness probes (#788)
- Support for configuring scaling behavior in HPA v2beta2 (#802)
- Provide Standard Resource metrics to KEDA (#874)
- Provide support for Managed Identity support for Azure Monitor scaler (#936)
- Provide support for multiple triggers on ScaledObject (#476)
- Provide consumer offset reset policy option to Kafka scaler (#925)
- Provide option to restore to original replica count after ScaledObject's deletion (#219)
- Support for multiple redis list types in redis list scaler (#1006 | docs)
- Introduce Prometheus metrics for KEDA Metrics API Server (#823 | docs)
- Introduce Scaling Strategy for ScaledJob (#1227)
Improvements
- ScaledJobs: Introduce new scaling logic with fix orphan pod issue (#1214)
- enabling authentication for metric api scaler (#1137)
- Avoid exception when CRD doesn't follow Pod spec shape (#1195)
- Fix for not sending trigger metadata to the External Scaler
- Fix for up-down scaling behavior configuration is ignored in Kubernetes version >= 18.0
- Fix for RabbitMQ queue name causing problems in HPA external metric
- Update version.go properly during make release
- Improved code linting
- Move from autoscaling
v2beta1
tov2beta2
for HPA (#721) - Introduce shortnames for CRDs (#774)
- Improve
kubectl get scaledobject
to show related trigger authentication (#777) - Improve
kubectl get triggerauthentication
to show information about configured parameters (#778) - Added ScaledObject Status Conditions to display status of scaling (#750)
- Added optional authentication parameters for the Redis Scaler (#962)
- Improved GCP PubSub Scaler performance by closing the client correctly (#1087)
Breaking Changes
We are making some breaking changes, but you can easily migrate with our migration guide.
- Introduce a separate ScaledObject and ScaledJob(#653)
- Change
apiGroup
fromkeda.k8s.io
tokeda.sh
(#552) - Use
apiextensions.k8s.io/v1
instead ofapiextensions.k8s.io/v1beta1
- Kubernetes v1.16+ is required instead of v1.13
- All scalers metadata that is resolved from the scaleTarget environment have suffix
FromEnv
added. e.g:connection
->connectionFromEnv
- Remove
New()
andClose()
from the interface ofservice ExternalScaler
inexternalscaler.proto
.
Changes in our scalers:
- Kafka:
- Service Bus:
queueLength
is now calledmessageCount
(#1109)
- RabbitMQ:
- Use
host
instead ofapiHost
inrabbitmq
scaler. Addprotocol
in trigger spec to specify which protocol should be used (#1115)
- Use
Other
KEDA 2.0.0-rc2
We're happy to release KEDA 2.0.0 release candidate 2 (RC2) which is an incremental release to v2.0.0-rc. 🎉
Our goal is to release KEDA 2.0.0 stable in a couple of weeks.
What's new?
New
- New IBM MQ Scaler (#1259)
- Adding Scaling Strategy for ScaledJob (#1227)
- Adding support for cpu/memory scaler (#1215)
Improvements
- ScaledJobs: Introduce new scaling logic with fix orphan pod issue (#1214)
- enabling authentication for metric api scaler (#1137)
- Update dependencies
- Avoid exception when CRD doesn't follow Pod spec shape (#1195)
- Improved code linting
Breaking Changes
- Remove Kafka scaler requirement for CA/cert/key (#1288)
- Kubernetes v1.16+ is required instead of v1.13
- Use
apiextensions.k8s.io/v1
instead ofapiextensions.k8s.io/v1beta1
KEDA 2.0.0-rc
We're happy to release KEDA 2.0.0 release candidate (RC) which is an incremental release to v2.0.0-beta. 🎉
Our goal is to release KEDA 2.0.0 stable in mid-October.
We'll provide a full changelog later today after everything is released.
What's new?
New
- Support for Pod Identity for Log Analytics scaler
Improvements
- Fix for not sending trigger metadata to the External Scaler
- Fix for up-down scaling behavior configuration is ignored in Kubernetes version >= 18.0
- Fix for RabbitMQ queue name causing problems in HPA external metric
- Update version.go properly during make release
- Upgrade to operator-sdk v1.0.1
- Improved code linting
Breaking Changes
- Kubernetes v1.16+ is required instead of v1.13
- Use
apiextensions.k8s.io/v1
instead ofapiextensions.k8s.io/v1beta1
Other
None.
KEDA 2.0.0-beta
New
- KEDA scales any CustomResource that implements Scale subresource (#703)
- Provide KEDA go-client (#494)
- Define KEDA readiness and liveness probes (#788)
- KEDA Support for configurable scaling behavior in HPA v2beta2 (#802)
- Add External Push scaler (#820 | docs)
- Add Standard Resource metrics to KEDA (#874)
- Managed Identity support for Azure Monitor scaler (#936)
- Add support for multiple triggers on ScaledObject (#476)
- Add consumer offset reset policy option to Kafka scaler (#925)
- Add option to restore to original replica count after ScaledObject's deletion (#219)
- Add Prometheus metrics for KEDA Metrics API Server (#823 | docs)
- Add support for multiple redis list types in redis list scaler (#1006) | docs)
- Introduce Azure Log Analytics scaler (#1061) | docs)
- Add Metrics API Scaler (#1026)
Improvements
- Move from autoscaling
v2beta1
tov2beta2
for HPA (#721) - Introduce shortnames for CRDs (#774)
- Improve
kubectl get scaledobject
to show related trigger authentication (#777) - Improve
kubectl get triggerauthentication
to show information about configured parameters (#778) - Added ScaledObject Status Conditions to display status of scaling (#750)
- Added optional authentication parameters for the Redis Scaler (#962)
- Improved GCP PubSub Scaler performance by closing the client correctly (#1087)
Breaking Changes
- Change
apiGroup
fromkeda.k8s.io
tokeda.sh
(#552) - Introduce a separate ScaledObject and ScaledJob(#653)
- Remove
New()
andClose()
from the interface ofservice ExternalScaler
inexternalscaler.proto
. - Removed deprecated brokerList for Kafka scaler (#882)
- All scalers metadata that is resolved from the scaleTarget environment have suffix
FromEnv
added. e.g:connection
->connectionFromEnv
- Kafka: split metadata and config for SASL and TLS (#1074)
- Service Bus:
queueLength
is now calledmessageCount
(#1109) - Use
host
instead ofapiHost
inrabbitmq
scaler. Addprotocol
in trigger spec to specify which protocol should be used (#1115)