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 send_body_on_redirect 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_discardflag 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_arrayflag in the JWT validation component allows you to preserve the array structure of claims when propagating them to the backend. -
Added a new property
send_body_on_redirectunder 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_stringsfiltering at the backend level. - Upgraded Go to 1.25.1
- 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! 🐙