Changelog
Kong Gateway 3.8.x
- Added the Redis
cluster_max_redirections
configuration option. - Timer spikes no longer occur when there is network instability with the central data store.
- Fixed an issue where, if the
window_size
in the consumer group overriding config was different from thewindow_size
in the default config, the rate limiting of that consumer group would fall back to local strategy. - Fixed an issue where the sync timer could stop working due to a race condition.
Kong Gateway 3.7.x
-
Refactored
kong/tools/public/rate-limiting
, adding the new interfacenew_instance
to provide isolation between different plugins. The original interfaces remain unchanged for backward compatibility.If you are using custom Rate Limiting plugins based on this library, update the initialization code to the new format. For example:
'local ratelimiting = require("kong.tools.public.rate-limiting").new_instance("custom-plugin-name")'
. The old interface will be removed in the upcoming major release. - Fixed an issue where any plugins using the
rate-limiting
library, when used together, would interfere with each other and fail to synchronize counter data to the central data store. - Fixed an issue with
sync_rate
setting being used with theredis
strategy. If the Redis connection is interrupted whilesync_rate = 0
, the plugin now accurately falls back to thelocal
strategy. - Fixed an issue where, if
sync_rate
was changed from a value greater than0
to0
, the namespace was cleared unexpectedly. - Fixed some timer-related issues where the counter syncing timer couldn’t be created or destroyed properly.
- The plugin now creates counter syncing timers during plugin execution instead of plugin creation to reduce some meaningless error logs.
- Fixed an issue where Kong Gateway produced a log of error log entries when multiple Rate Limiting Advanced plugins shared the same namespace.
Kong Gateway 3.6.x
- Enhanced the resolution of the RLA sliding window weight.
- The plugin now checks for query errors in the Redis pipeline.
- The plugin now checks if
sync_rate
isnil
ornull
when calling theconfigure()
phase. If it isnil
ornull
, the plugin skips the sync with the database or with Redis.
Kong Gateway 3.4.x
-
The
redis
strategy now catches strategy connection failures. -
The
/consumer_groups/:id/overrides
endpoint has been deprecated. While this endpoint will still function, we strongly recommend transitioning to the new and improved method for managing consumer groups, as documented in the Enforcing rate limiting tiers with the Rate Limiting Advanced plugin guide. You can also find detailed information on creating consumer groups in the API Documentation. -
Fixed an issue that impacted the accuracy with the
redis
policy. #10559
Kong Gateway 3.2.1
- The shared Redis connector now supports username + password authentication for cluster connections, improving on the existing single-node connection support. This automatically applies to all plugins using the shared Redis configuration.
Kong Gateway 3.1.x
- Added the ability to customize the error code and message with
the configuration parameters
error_code
anderror_message
.
Kong Gateway 3.0.x
- Kong Gateway now disallows enabling the plugin if the
cluster
strategy is set with DB-less or hybrid mode.
Kong Gateway 2.8.x
-
Added the
redis.username
andredis.sentinel_username
configuration parameters. -
The
redis.username
,redis.password
,redis.sentinel_username
, andredis.sentinel_password
configuration fields are now marked as referenceable, which means they can be securely stored as secrets in a vault. References must follow a specific format.
Kong Gateway 2.7.x
- Added the
enforce_consumer_groups
andconsumer_groups
configuration parameters.
Kong Gateway 2.5.x
- Deprecated the
timeout
field and replaces it with three precise options:connect_timeout
,read_timeout
, andsend_timeout
. - Added
redis.keepalive_pool
,redis.keepalive_pool_size
, andredis.keepalive_backlog
configuration options. -
ssl_verify
andserver_name
configuration options now support Redis Sentinel-based connections.
Kong Gateway 2.2.x
- Added the
redis.ssl
,redis.ssl_verify
, andredis.server_name
parameters for configuring TLS connections.