- Added the kong drain CLI command to make the /status/ready endpoint return a 503 Service Unavailable response
- Added a new feature for Kong Manager that supports multiple domains, enabling dynamic cross-origin access for Admin API requests
- Added an ADA dependency: WHATWG-compliant and fast URL parser
- Added a new LLM driver for interfacing with the Hugging Face inference API supporting both serverless and dedicated LLM instances
- Added a tls.disable_http2_alpn() function patch for disabling HTTP/2 ALPN when performing a TLS handshake
- Added support for Wasm filters to be configured via the /plugins Admin API
- Added kong.service.request.clear_query_arg(name) to PDK
- Array and Map type span attributes are now supported by the tracing PDK
- Added a new Redirect plugin to redirect requests to another location
- Bumped lua-kong-nginx-module from 0.11.0 to 0.11.1 to fix an issue where the upstream cert chain wasn't properly set
- Bumped lua-resty-events to 0.3.1 to optimize memory usage
- Bumped lua-resty-lmdb to 1.6.0 allowing page_size to be 1
- Bumped lua-resty-aws to 1.5.4 to fix a bug inside region prefix generation
- Bumped lua-resty-ljsonschema to 1.2.0 adding support for null as a valid option in enum types and properly calculating utf8 string length instead of byte count
- Bumped OpenSSL to 3.2.3 to fix unbounded memory growth with session handling in TLSv1.3 and other CVEs
- Increased the priority order of the correlation id to 100001 from 1 so that the plugin can be used with other plugins especially custom auth plugins
- Improved the output of the request debugger with field total_time resolution now in microseconds and a new field total_time_without_upstream showing the latency only introduced by Kong
- Increased the upper limit of KONG_LATENCY_BUCKETS to 6000 in Prometheus plugin to enhance latency tracking precision
- Removed the experimental datakit Wasm filter
- node_id in configuration has been deprecated
From kong
Kong
Deprecations
Core
node_idin configuration has been deprecated. #13687
Dependencies
Core
-
Bumped lua-kong-nginx-module from 0.11.0 to 0.11.1 to fix an issue where the upstream cert chain wasn't properly set. #12752
-
Bumped lua-resty-events to 0.3.1. Optimized the memory usage. #13097
-
Bumped lua-resty-lmdb to 1.6.0. Allowing page_size to be 1. #13908
-
Bumped lua-resty-lmdb to 1.5.0. Added page_size parameter to allow overriding page size from caller side. #12786
Default
-
Kong Gateway now supports Ubuntu 24.04 (Noble Numbat) with both open-source and Enterprise packages. #13626
-
Bumped rpm dockerfile default base UBI 8 -> 9 #13574
-
Bumped lua-resty-aws to 1.5.4 to fix a bug inside region prefix generation. #12846
-
Bumped lua-resty-ljsonschema to 1.2.0, adding support for
nullas a valid option inenumtypes and properly calculation of utf8 string length instead of byte count #13783 -
Bumped
ngx_wasm_moduleto9136e463a6f1d80755ce66c88c3ddecd0eb5e25d#12011 -
Bumped
Wasmtimeversion to26.0.0#12011 -
Bumped OpenSSL to 3.2.3 to fix unbounded memory growth with session handling in TLSv1.3 and other CVEs. #13448
-
Wasm: Removed the experimental datakit Wasm filter #14012
Features
CLI Command
- Added the
kong drainCLI command to make the/status/readyendpoint return a503 Service Unavailableresponse. #13838
Core
-
Added a new feature for Kong Manager that supports multiple domains, enabling dynamic cross-origin access for Admin API requests. #13664
-
Added an ADA dependency: WHATWG-compliant and fast URL parser. #13120
-
Addded a new LLM driver for interfacing with the Hugging Face inference API. The driver supports both serverless and dedicated LLM instances hosted by Hugging Face for conversational and text generation tasks. #13484
-
Increased the priority order of the correlation id to 100001 from 1 so that the plugin can be used with other plugins especially custom auth plugins. #13581
-
Added a
tls.disable_http2_alpn()function patch for disabling HTTP/2 ALPN when performing a TLS handshake. #13709 -
Improved the output of the request debugger:
- The resolution of field
total_timeis now in microseconds. - A new field,
total_time_without_upstream, shows the latency only introduced by Kong. #13460
- The resolution of field
-
proxy-wasm: Added support for Wasm filters to be configured via the
/pluginsAdmin API. #13843
PDK
-
Added
kong.service.request.clear_query_arg(name)to PDK. #13619 -
Array and Map type span attributes are now supported by the tracing PDK #13818
Plugin
-
Prometheus: Increased the upper limit of
KONG_LATENCY_BUCKETSto 6000 to enhance latency tracking precision. #13588 -
ai-proxy: Disabled HTTP/2 ALPN handshake for connections on routes configured with AI-proxy. #13735
-
Redirect: Added a new plugin to redirect requests to another location. #13900
-
Prometheus: Added support for Proxy-Wasm metrics. #13681
Admin API
- Admin API: Added support for official YAML media-type (
application/yaml) to the/configendpoint. #13713
Clustering
- Added a remote procedure call (RPC) framework for Hybrid mode deployments. #12320
Fixes
Core
-
Fixed an issue where the
ngx.balancer.recreate_requestAPI did not refresh the body buffer whenngx.req.set_body_datais used in the balancer phase. #13882 -
Fix to always pass
ngx.ctxtolog_init_worker_errorsas otherwise it may runtime crash. #13731 -
Fixed an issue where the workspace ID was not included in the plugin config in the plugins iterator. #13377
-
Fixed an issue where the workspace id was not included in the plugin config in the plugins iterator. #13872
-
Fixed a 500 error triggered by unhandled nil fields during schema validation. #13861
-
Vault: Fixed an issue where array-like configuration fields cannot contain vault reference. #13953
-
Vault: Fixed an issue where updating a vault entity in a non-default workspace wouldn't take effect. #13610
-
Vault: Fixed an issue where vault reference in kong configuration cannot be dereferenced when both http and stream subsystems are enabled. #13953
-
proxy-wasm: Added a check that prevents Kong from starting when the database contains invalid Wasm filters. #13764
-
Fixed an issue where the
kong.request.enable_bufferingcouldn't be used when the downstream used HTTP/2. #13614
PDK
-
Lined up the
kong.log.inspectfunction to log atnoticelevel as documented #13642 -
Fix error message for invalid retries variable #13605
Plugin
-
ai-proxy: Fixed a bug where tools (function) calls to Anthropic would return empty results. #13760
-
ai-proxy: Fixed a bug where tools (function) calls to Bedrock would return empty results. #13760
-
ai-proxy: Fixed a bug where Bedrock Guardrail config was ignored. #13760
-
ai-proxy: Fixed a bug where tools (function) calls to Cohere would return empty results. #13760
-
ai-proxy: Fixed a bug where Gemini provider would return an error if content safety failed in AI Proxy. #13760
-
ai-proxy: Fixed a bug where tools (function) calls to Gemini (or via Vertex) would return empty results. #13760
-
ai-proxy: Fixed an issue where AI Transformer plugins always returned a 404 error when using 'Google One' Gemini subscriptions. #13703
-
ai-transformers: Fixed a bug where the correct LLM error message was not propagated to the caller. #13703
-
AI-Proxy: Fixed an issue where multi-modal requests were blocked on the Azure AI provider. #13702
-
Fixed an bug that AI semantic cache can't use request provided models #13627
-
AWS-Lambda: Fixed an issue in proxy integration mode that caused an internal server error when the
multiValueHeaderswas null. #13533 -
jwt: ensure
rsa_public_keyisn't base64-decoded. #13717 -
key-auth: Fixed an issue with the order of query arguments, ensuring that arguments retain order when hiding the credentials. #13619
-
rate-limiting: Fixed a bug where the returned values from
get_redis_connection()were incorrect. #13613 -
rate-limiting: Fixed an issue that caused an HTTP 500 error when
hide_client_headerswas set totrueand the request exceeded the rate limit. #13722
Admin API
-
Fix for querying admin API entities with empty tags #13723
-
Fixed an issue where nested parameters couldn't be parsed correctly when using
form-urlencodedrequests. #13668
Clustering
- Clustering: Adjusted error log levels for control plane connections. #13863
Default
- Loggly: Fixed an issue where
/bin/hostnamemissing caused an error warning on startup. #13788
Kong-Manager
Fixes
Default
-
Kong Manager will now hide the scope change field when creating/editing a scoped plugin from another entity. #297
-
Improved the user experience in Kong Manager by fixing various UI-related issues. #277 #283 #286 #287 #288 #291 #293 #295 #298 #302 #304 #306 #309 #317 #319 #322 #325 #329 #330
-
Unified the redirection logic in Kong Manager upon entity operations. #289