- 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)
- TODO (#XXX)
- TODO (#XXX)
- Can use Pod Identity with Azure Event Hub scaler (#994)
- Introducing InfluxDB scaler (#1239)
- Add Redis cluster support for Redis list and Redis streams scalers (#1437)
- Global authentication credentials can be managed using
ClusterTriggerAuthentication
objects (#1452) - Introducing OpenStack Swift scaler (#1342)
- Introducing MongoDB scaler (#1467)
- Support add ScaledJob's label to its job (#1311)
- 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)
- Override the vhost on a RabbitMQ scaler via
vhostName
in the metadata (#1451) - 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) - Automatically determine the RabbitMQ protocol when possible, and support setting the protocl via TriggerAuthentication (#1459, #1483)
- 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)
- Support metrics with multiple dimensions and configurable metricValues on AWS Cloudwatch Scaler (#1230)
- Show
MIN/MAX
replica counts when usingkubectl get scaledobject/scaledjob
(#1534) - Fix unnecessary HPA updates when Resource based Trigger is used (#1541)
None.
- Bump go module version to v2 (#1324)
- KEDA uses a dedicated HTTP client, connection pool, and (optional) TLS certificate for each configured scaler
- 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)
- 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)
- Add cpu/memory Scaler (#1215)
- Add Scaling Strategy for ScaledJob (#1227)
- Add IBM MQ Scaler (#1253)
- 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)
- Added support for Trigger Authentication for GCP PubSub scaler (#1291)
- 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) - CRDs are using
apiextensions.k8s.io/v1
apiVersion (#1202)
- Change API optional structs to pointers to conform with k8s guide (#1170)
- Update Operator SDK and k8s deps (#1007,#870,#1180)
- Change Metrics Server image name from
keda-metrics-adapter
tokeda-metrics-apiserver
(#1105) - Add Argo Rollouts e2e test (#1234)
Learn more about our release in our milestone.
- Scalers
- Secret Providers
- Other
- Introduction of
nodeSelector
in raw YAML deployment specifications (Details)
- Introduction of
- Improved message count determination when using
includeUnacked
in RabbitMQ scaler (Details) - Fix for blank path without trailing slash in RabbitMQ scaler (Details)
- Improved parsing of connection strings to support
BlobEndpoint
,QueueEndpoint
,TableEndpoint
&FileEndpoint
segments (Details) - Support scaling when no storage checkpoint exists in Azure Event Hubs scaler (Details)
- GCP Pub Scaler should not panic on invalid credentials (Details)
- Make
queueLength
optional in RabbitMQ scaler (Details)
None.
None.
None
- Fix for scale-to-zero for Prometheus scaler no longer working (#770)
- Fix for passing default VHost for Rabbit MQ scaler no longer working (#770)
- Provide capability to define time encoding for operator (#766)
None.
- Print version of metric adapter in logs (#770)
- Extend RabbitMQ scaler to support count unacked messages(#700)
- Fix scalers leaking (#684)
- Provide installation YAML package as release artifact (#740)
- Improve Azure Monitor scaler to handle queries without metrics (#680)
- Authenticate to AWS with dedicated role without AssumeRole permissions (#656)
- KEDA now respects label restrictions on Horizontal Pod Autoscaler to have max 63 chars (#707)
- KEDA will automatically assign
deploymentName
label if it was not defined inScaledObject
(#709)
None.
- Adding label for metrics service selection (#745)
- Filter returned metrics from api server based on queried name (#732)
- Add redis host and port parameter to the scaler with tests (#719)
- Remove go micro version (#718)
- Update zero result return to be non-error inducing (#695)
- Return if kafka offset response is nil (#689)
- Fix typos in MySQL scaler (#683)
- Update README to mention CNCF (#682)
- Add Azure monitor scaler (#584)
- Introduce changelog (#664)
- Introduce support for AWS pod identity (#499)
- Make targetQueryValue configurable in postgreSQL scaler (#643)
- Removed the need for deploymentName label (#644)
- Adding Kubernetes recommended labels to resources (#596)
None.
- Updating license to Apache per CNCF donation (#661)
- Introduce new Postgres scaler (#553)
- Introduce new MySQL scaler (#564)
- Provide SASL_SSL Plain authentication for Kafka trigger scalar to work with Event Hubs (#585)
- TLS parameter to Redis-scaler (#540)
- Redis db index option (#577)
- Optional param for ConfigMaps and Secrets (#562)
- Remove manually adding sslmode to connection string (#558)
- ScaledObject.Status update should handle stale resource (#582)
- Improve reconcile loop (#581)
- Address naming changes for postgresql scaler (#593)
None.
- Move Metrics adapter into the separate Deployment (#506)
- Fix gopls location (#574)
- Add instructions on local development and debugging (#583)
- Add a checkenv target (#600)
- Mentioning problem with checksum mismatch error (#605)
- Introduce new Huawei Cloud CloudEye scaler (#478)
- Introduce new kinesis stream scaler (#526)
- Introduce new Azure blob scaler (#514)
- Support for SASL authentication for Kafka scaler (#486)
- Event Hub scalar expansion to work with Java and C# applications (#517)
- Escape Prometheus querystring (#521)
- Change how number of pending messages is calculated and add more error handling. (#533)
- Service bus scaler pod identity fix (#534)
- Eventhub scalar fix (#537)
- Kafka scaler fix for SASL plaintext auth (#544)
None.
- ScaledObject Status clean up (#466)
- Add default log level for operator (#468)
- Ensure get the metrics that have been aggregated (#509)
- Scale from zero when minReplicaCount is > 0 (#524)
- Total running Jobs must not exceed maxScale - Running jobs (#528)
- Check deploymentName definition in ScaledObject (#532)
- Many more scalers added
- Scaler extensibility (run scalers in a different container and communicate with KEDA via gRPC)
- TriggerAuthentication and Pod Identity for identity based auth that can be shared across deployments
- Schedule jobs on events in addition scaling out deployments
- Additional tests and automation through GitHub Actions
- RabbitMQ
host
property now must resolve from a secret (#347)
None.