KrakenD CE v2.11 released with improved AMQP, JWT, caching and more
by Albert Lombarte
This release of KrakenD Community Edition v2.11 brings a substantial upgrade to message queue integration, improved JWT handling, enhanced HTTP client capabilities, telemetry configuration flexibility, and important bug fixes that improve stability and performance.
AMQP Driver Overhaul
We’ve replaced the previous AMQP driver with the official RabbitMQ client maintained by the RabbitMQ Core Team. This change means better ongoing support, quicker bug fixes, and enhanced capabilities. Importantly, no action is required from you to adapt existing configurations.
Additionally, we introduced a new nack_discard
flag for AMQP components. When set, this option discards messages that cannot be processed successfully, preventing them from being re-queued indefinitely and potentially blocking your pipeline.
JWT Validation Enhancements
To improve integration scenarios where JWT claims arrays need to be preserved, the new propagate_claims_preserve_array
flag allows arrays within JWT claims to be forwarded to backend services without flattening or restructuring.
HTTP Client Improvements
Handling of HTTP 307
and 308
redirects for POST requests is now configurable via the enable_redirect_post
flag. Enable it to allow POST
requests to follow such redirects automatically, improving compliance with various backend behaviors.
Telemetry Configuration via Environment Variables
You can now configure OpenTelemetry propagators using the OTEL_PROPAGATORS
environment variable. This feature makes it easier to customize distributed tracing propagation formats without modifying configuration files, e.g., OTEL_PROPAGATORS="b3,baggage"
.
🚀 Summary of changes for CEv2.11
Upgraded the AMQP driver and JWT validation functionality
- The previous AMQP driver has been replaced by the official RabbitMQ client maintained by the Rabbit Core Team, for better bug fixing and improvements. No changes needed.
-
In addition, the new
nack_discard
flag in AMQP components allows you to discard messages that cannot be processed instead of sending them back to the queue. -
The new
propagate_claims_preserve_array
flag in the JWT validation component allows you to preserve the array structure of claims when propagating them to the backend. -
Added a new property
enable_redirect_post
under http client options to allow POST redirects on 307 and 308 status codes. -
Allow configuring OpenTelemetry propagators through environment variable, e.g.,
OTEL_PROPAGATORS="b3,baggage"
(thanks to @cooperbenson-qz). - Fixed HTTP Cache where big chunked / streaming payloads could get stuck
-
Remove remaining deprecated config value usage in mTLS
tls.public_keys
(were deprecated already on 2.9) -
Fixed a bug on the second
input_query_strings
filtering at the backend level. - Upgraded Go to 1.25.
- End of support for Debian 11 and older versions (or Ubuntu 21.10 and older) for its Glibc incompatibility with secure Go versions.
Upgrading to the latest version is always advised.
Happy building! 🐙