KrakenD EE v2.11: New AI integrations and Conditional Routing
by Albert Lombarte
The new version EE v2.11 brings native AI Gateway integrations with AI providers such as OpenAI, Google Gemini, Anthropic (Claude), and Mistral. While using these vendors was already possible, we have reduced the amount of configuration needed. Alongside this, a new Conditional Routing component allows dynamic request routing and aggregation based on request data, greatly enhancing API orchestration flexibility.
AI Gateway integrations
The OpenAI, Google Gemini, Anthropic (Claude), and Mistral integrations let you embed powerful AI-driven capabilities inside your APIs with minimal configuration. Features such as authentication and facilitation of the Prompt Template are now included.
The namespace ai/llm
simplifies communication with several AI providers and maintains control over vendor versioning, as each vendor requires a unique payload and communication style.
Read more about the new simpler LLM integrations
Conditional Routing: Smarter Backend Traffic Control
This release introduces a brand-new Conditional Routing for AI and non-AI, allowing you to dynamically route requests across multiple backends based on request content or metadata. This allows crafting sophisticated API workflows and fine-grained traffic distribution without external proxies or custom security policies.
Security & Protocol Enhancements
The automatic AWS SigV4 signing support for backend service requests enhances security and integration with AWS services.
In addition, OpenAPI improvements include an import merger resolving spec collisions, richer support for parameter examples, and enhanced security schemes, simplifying API schema management and compatibility.
Everything else in the open source
The Enterprise version brings a lot of features that were included in the release of the Community Edition, such as the AMQP component modernization, JWT validation improvements, HTTP client & observability upgrades, and more.
Important Infrastructure Updates
If you are operating on Debian 11 Bullseye or older versions (2021 and back), or Ubuntu 21.10 and older, you must upgrade OS versions to install this version. The underlying reason is that the newer versions of Go present glibc incompatibilities, and we must offer the latest security patches.
🚀 Summary of changes for EEv2.11
New AI Gateway integrations for OpenAI, Google Gemini, Anthropic (Claude), and Mistral. Improvement of OpenAPI and a new Conditional Routing
- AI Gateway: New integration for OpenAI
- AI Gateway: New integration for Google Gemini
- AI Gateway: New integration for Anthropic (Claude)
- AI Gateway: New integration for Mistral
- New Conditional Routing component to route requests to different backends based on request data (including aggregation).
- Added automatic AWS SigV4 support for service signature.
- OpenAPI: Added openapi merger to resolve import collisions
- OpenAPI: Added examples options for parameter definitions
- OpenAPI: Added extra security schemes
- Accept the license content in an environment variable to facilitate vault integration
- Add API key duplication checking
- OpenAPI option to disable json-schema
- OpenAPI parameter types not generated correctly
- OpenAPI component schemas uses different case
- Fixed a bug with the getMilliseconds function in CEL and Security Policies where it always returned 0.
Plus everything included in Community v2.11:
-
AMQP: Added
nack_discard
flag in AMQP components allows you to discard messages that cannot be processed instead of sending them back to the queue. - AMQP: Driver replaced by the official RabbitMQ client maintained by the Rabbit Core Team, for better bug fixing and improvements. No changes needed.
-
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. -
Include plugin middleware type int the
krakend plugin test
command - 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.