Support Lifetime
Only the most recent Tyk Gateway release and the most recent on the Long Term Support (LTS) branch are supported. We recommend staying current on the feature or LTS branch to minimise exposure to security vulnerabilities from third party dependencies.5.14 Release Notes
5.14.0 Release Notes
Release Date 7 July 2026
Release Highlights
OAuth 2.0 authentication with external Authorization Server Tyk Gateway introduces a first-class OAuth 2.0 authentication method for Tyk OAS APIs, enabling token validation against an external Identity Provider such as Keycloak, Okta, or Auth0 that acts as the Authorization Server. Tyk acts as the OAuth 2.0 protected resource, validating inbound bearer tokens against the IdP’s JWKS endpoint. It performs enforcement only and does not issue tokens. The new method supports scope enforcement at API, per-operation, and per-MCP-primitive granularity, giving you fine-grained access control over individual endpoints and tools without additional middleware. It is natively expressed through the standardoauth2 security scheme in the Tyk OAS API definition, and replaces the deprecated External OAuth method, which performed only limited token validation.
This is also the foundation for Protected Resource Metadata and RFC 8693 Token Exchange, described below.
RFC 8693 Token Exchange for Upstream Authentication (Enterprise Edition)
When the inbound client token should not reach your upstream service, for example when an AI agent’s SSO token needs to be replaced with a service-specific token carrying the correct audience and scopes, Tyk Gateway can perform an RFC 8693 token exchange transparently before forwarding the request. The original token is consumed at the Gateway; the upstream sees only the exchanged token.
Token exchange is configured within the oauth2 scheme and supports multiple named providers. Per-operation and per-MCP-primitive overrides allow a different audience and scope set for individual endpoints and tools. Exchanged tokens are cached to avoid a round-trip on every request, with a configurable safety margin to ensure upstream services always receive a valid token.
MCP Capability Discovery Aligned with Access Control
When an AI agent connects to an MCP proxy, it begins by discovering what tools, resources, and prompts are available. Previously, Tyk enforced allow and block rules only at invocation time: agents would discover capabilities they were not permitted to use and only encounter the restriction when they attempted to call them.
The MCP proxy now filters the tool, resource, and prompt lists returned during capability discovery (tools/list, resources/list, prompts/list) and the initialize handshake using the same OAS-level rules. Agents see only what they are permitted to invoke, producing a cleaner agent experience and reducing unnecessary round-trips to Tyk Gateway.
Simplified Secrets and Certificate Management for Kubernetes Deployments
Local filesystem has been added to the supported storage options for Key Value secret storage, using the file:// and $secret_file. schema. This allows Tyk Gateway to resolve KV and secret references from the contents of a local file, such as a Kubernetes Secret mounted on the Data Plane pod, without relying on third-party systems or environment variables.
Building on this, API definitions can now reference a PEM-encoded certificate stored directly in a Key-Value store from any TLS certificate field. Rotating a certificate is then a matter of updating the value in the secret store and triggering a hot reload. No change to the API definition is required.
Other Changes
This release also delivers: granular enforced timeouts configurable in milliseconds, seconds, or minutes at both API and endpoint level; the original client request path recorded in OpenTelemetry spans, traffic logs, and access logs before any path stripping or rewriting; a configurable graceful shutdown delay to prevent HTTP 502 errors during scale-down in high-traffic Kubernetes deployments; a Client IdP registry for centralized JWT Identity Provider management (Enterprise Edition); and standardized application log format aligned with other Tyk components - see Breaking Changes if your log parsing tools depend on the previous format.
Notable fixes include: a Gateway crash under high authentication load; unbounded memory growth with CoProcess plugins and large sessions; and GraphQL API authentication headers not being forwarded upstream.
For a comprehensive list of changes, please refer to the detailed changelog below.
Breaking Changes
Changes to application logs This release makes changes to the format of Tyk Gateway application logs so that output is consistent with other Tyk components and aligned with industry observability standards.legacy option has been added to the log_format configuration. This setting preserves the format used in Tyk Gateway 5.13.0 and earlier, with the historical timestamp format and lack of a field identifying the originating API. The default value is text.
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
Per-endpoint Enforced Timeout Configuration The introduction of granular per-endpoint enforced (request) timeouts means that the existing controls (value for Tyk OAS and timeout for Tyk Classic) should now be considered as deprecated.
For Tyk OAS APIs, the Gateway will automatically round this duration up to the nearest whole second and store that value in the original value field so that a timeout will continue to be enforced if that API is deployed to an older Gateway.
This rounding up is not performed automatically for Tyk Classic APIs - the user must set extended_paths.hard_timeouts.timeout to ensure the timeout is enforced on older Gateways.
Upgrade instructions
If you are upgrading to 5.14.0, please follow the detailed upgrade instructions.Downloads
- Docker Image to pull
-
- Helm charts
Changelog
Added
Moved Protected Resource Metadata configuration into the OAuth 2.0 scheme
Moved Protected Resource Metadata configuration into the OAuth 2.0 scheme
authentication.protectedResourceMetadata block into the oauth2 scheme, under authentication.securitySchemes[name].oauth2.protectedResourceMetadata. This aligns PRM with the scheme it describes and allows each oauth2 scheme to carry its own discovery configuration.A new autoDeriveScopes option automatically populates the PRM scopes_supported list from the API’s OAS security: declarations, keeping the discovery document in sync with the API definition without manual maintenance.Added RFC 8693 Token Exchange for upstream authentication
Added RFC 8693 Token Exchange for upstream authentication
oauth2 scheme and supports multiple named providers, each with its own token endpoint, client credentials, and default target audience. Per-operation and per-MCP-primitive overrides allow a different audience and scope set for individual endpoints and tools.Exchanged tokens are cached using one of two models to avoid a round-trip to the identity provider on every request. A configurable safety margin causes tokens to be refreshed before they expire, ensuring upstream services always receive a valid token.Local file-based KV/secret references
Local file-based KV/secret references
file://<key> and $secret_file.<key> schema. This allows Gateway to resolve KV/secret references from the contents of a local file - such as Kubernetes Secrets mounted on the Data Plane pod.The base path for all external file references must be configured in the Tyk Gateway config as kv.file.base_path. This acts as an enable/disable control for external file references.Secrets and other environment specific values can be stored local to the Data Plane without the use of third party systems or environment variables. Trailing newlines are stripped by default and multi-line content is preserved. Secret rotations are picked up on API reload.Certificates can be stored inline in the API definition
Certificates can be stored inline in the API definition
- client certificates (
server.clientCertificates.allowlist) - client CA certificates (
server.clientCertificates.clientCaCertificates) - custom domain certificates (
server.customDomain.certificates) - upstream client certificates (
upstream.mutualTLS.domainToCertificateMapping.certificate) - upstream CA certificates (
upstream.tlsTransport.sslCertificates)
Granular enforced timeouts
Granular enforced timeouts
500ms, 1.5s, or 2m.Configure the per-endpoint timeout in the Tyk Vendor Extension using the new duration field in the per-operation enforceTimeout object. This accepts human-readable durations in milliseconds, seconds, or minutes (for example 500ms, 1.5s, or 2m).If using Tyk Classic APIs, the equivalent field name is extended_paths.hard_timeouts.duration.The existing fields with a per-second granularity (value for Tyk OAS and timeout for Tyk Classic) should now be considered as deprecated, but remain fully compatible so existing API definitions continue to work unchanged.In a distributed (MDCB) deployment, the Control Plane will automatically round this duration up to the nearest whole second and store that value in the original value field so that a timeout will continue to be enforced if that API is deployed to an older Data Plane Gateway. This does not happen for Tyk Classic APIs, so you must remember to set the legacy field manually for the timeout to be enforced automatically on an older Data Plane Gateway.New API-level enforced timeout configuration
New API-level enforced timeout configuration
proxy_default_timeout). The more granular endpoint-level timeout overrides the API-level value.Configure the timeout in the Tyk Vendor Extension using upstream.enforceTimeout using human-readable durations in milliseconds, seconds, or minutes (for example 500ms, 1.5s, or 2m).If using Tyk Classic APIs, the equivalent control is global_enforce_timeout in the version_data section.Standardized application log format
Standardized application log format
- RFC3339 timestamps: Log entries now consistently use the industry-standard RFC3339 timestamp format (e.g.
2024-12-12T13:59:08Z), previously a mix of timestamp formats was used. - Log message field renamed: The log message field is renamed from
msgtomessage, for consistency with other Tyk components. - Track 404 target: A
hostfield has been added to log entries for requests that generateHTTP 404errors. This records the Host header from the request, allowing users to distinguish whether the unmatched request was directed at the proxy API or the control API (if they are configured on different ports)
log_format configuration option now accepts three explicit values:text: plain-text logs in the new format introduced in this release (new default).json: JSON logs in the new format.legacy: preserves the format used in Gateway 5.13.0 and earlier, with the historical timestamp format and themsgfield name.
msg field name, or no host for HTTP 404 logs, you should set log_format to legacy.Capture the original request path in analytics
Capture the original request path in analytics
- The full path requested by the client is recorded as
original_pathin:- OpenTelemetry span
- traffic logs
- access logs
- The API listen path that was matched and indicates which API proxy was triggered is also now recorded in traffic logs, as
listen_path. - The existing
pathfield is unchanged and continues to show the path sent to the upstream.
Added a configurable graceful shutdown delay
Added a configurable graceful shutdown delay
HTTP 502 errors that could otherwise occur during scale-down in high-traffic deployments.A new graceful_shutdown_delay_seconds configuration option controls the wait (default: 0 seconds). As soon as a SIGTERM, SIGINT, or SIGQUIT is received, the readiness endpoint (/ready) immediately begins to return 503 Service Unavailable, but the Gateway keeps accepting and serving traffic for the configured delay period.Following the delay period, the existing graceful shutdown process continues.Added Client IdP registry for JWT Authentication
Added Client IdP registry for JWT Authentication
Filter MCP capability discovery by OAS-level allow and block rules
Filter MCP capability discovery by OAS-level allow and block rules
tools/list, resources/list, prompts/list) and the initialize capability handshake using OAS-level allow and block rules configured in the MCP OAS definition.Previously, these rules were enforced at invocation time only: discovery responses passed through unfiltered from the upstream server, so agents would discover capabilities they could not use and only encounter the restriction when they tried to call them. Agents now see only the tools, resources, and prompts they are permitted to invoke.Fixed
Fixed issue with Docker images incompatible with legacy registries and tools
Fixed issue with Docker images incompatible with legacy registries and tools
zstd compression is not officially supported for docker images.All image layers are now uniformly compressed using gzip, restoring compatibility with skopeo, oc image mirror, and other tools that do not support OCI zstd compression.Fixed issues with logging of HTTP 404 errors
Fixed issues with logging of HTTP 404 errors
control_api_port, requests to the proxy/data API port that did not match any configured API (generating an HTTP 404 response) were silently dropped: no log entry was generated even with track_404_logs enabled. This has been fixed; 404 logs are now correctly emitted for unmatched requests on all listening ports.Fixed unbounded memory growth with CoProcess plugins and large sessions
Fixed unbounded memory growth with CoProcess plugins and large sessions
GOMAXPROCS with the container’s CPU quota at startup.This fix introduces the following new configuration options:regexp_cache_max_entriescaps the regular-expression cache (default:5000)disable_regexp_cache_boundrestores the previous unbounded behavior for deployments with a naturally limited set of patterns (default:false)disable_auto_max_procsrestores the previous default behavior of GOMAXPROCS (default:false)
Fixed Gateway crash under high authentication load
Fixed Gateway crash under high authentication load
concurrent map iteration and map write panic. This caused unexpected pod restarts, in-flight request loss, and intermittent cluster instability.This has been fixed. The temporary workaround of enabling the local session cache (disable_cached_session_state: false) is no longer required.Fixed issues with the use of short API keys
Fixed issues with the use of short API keys
min_token_length configuration is intended to prevent the use of API tokens (keys) that are insecure due to their length. All tokens presented during a request to an API are checked against this value and immediately rejected with HTTP 403 if shorter than the configured minimum length.Previously, a token with length equal to min_token_length would be rejected with HTTP 403, which is non-intuitive and can lead to wasted debugging time.Also, it was possible to create a custom key shorter than the configured minimum length. The Session would be created, but the key would be unusable as any attempt to use it in a request would be rejected due to the token’s length.Now, tokens with length exactly equal to min_token_length are correctly accepted and an attempt to create a custom key shorter than min_token_length fails immediately with a 400 Bad Request.Fixed GraphQL API authentication headers not being forwarded upstream
Fixed GraphQL API authentication headers not being forwarded upstream
strip_auth_data set to false, the client’s authentication header (for example Authorization, or a custom header such as X-API-KEY) was not forwarded to the upstream service. This affected all GraphQL execution modes (proxy-only (including WebSocket subscriptions), subgraph, Universal Data Graph, and supergraph) leaving upstream services that require the header unable to authenticate the request.The active authentication method’s header is now propagated upstream across all execution modes, with only the active method’s header forwarded. In addition, upstream WebSocket connections for subscriptions are no longer reused across clients presenting different credentials, so each subscription carries its own authentication header, and one client’s token can no longer leak to another. When strip_auth_data is true, no authentication headers are forwarded, as before.Fixed MCP distributed trace blind spot enabling request tracing end-to-end from agent through Tyk to upstream MCP server
Fixed MCP distributed trace blind spot enabling request tracing end-to-end from agent through Tyk to upstream MCP server
params._meta) rather than the HTTP header - Tyk was only looking at the HTTP header, so it missed the agent’s trace ID and started a fresh one.This made it impossible to correlate what Tyk did with the agent’s journey using a single trace ID, forcing operators to reconstruct Tyk’s role manually from timestamps rather than following one trace end-to-end.Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Security Fixes
Resolved CVEs
Resolved CVEs
- CVE-2026-33813
- CVE-2026-33814
- CVE-2026-39830
- CVE-2026-39831
- CVE-2026-39833
- CVE-2026-42508
- CVE-2026-46595
- CVE-2026-39821
- CVE-2026-39829
- CVE-2026-46599
- CVE-2026-42504
- CVE-2026-45447
- CVE-2026-34180
- CVE-2026-45445
- CVE-2026-7383
- CVE-2026-9076
- CVE-2026-46602
- CVE-2026-46604
- CVE-2026-39832
- CVE-2026-39834
- CVE-2026-46597
- CVE-2026-25680
- CVE-2026-25681
- CVE-2026-27136
- CVE-2026-39827
- CVE-2026-39828
- CVE-2026-39835
- CVE-2026-42502
- CVE-2026-42506
- CVE-2026-46598
- CVE-2026-42500
- CVE-2026-42507
- CVE-2026-27145
- CVE-2026-41889
- CVE-2026-39824
- GHSA-j88v-2chj-qfwx
5.13 Release Notes
5.13.1 Release Notes
Release Date 2 July 2026
Release Highlights
This patch implements several changes and fixes to improve the stability and correct the behavior of the Gateway. The default content of application logs has been updated with RFC3339 format timestamp and consistent formatting with other components. This could be a breaking change for any user whose tooling relies on the specific content of application logs. A legacy mode is available, as described below. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
Changes to application logs This release makes changes to the format of Tyk Gateway application logs so that output is consistent with other Tyk components and aligned with industry observability standards.legacy option has been added to the log_format configuration. This setting preserves the format used in Tyk Gateway 5.13.0 and earlier, with the historical timestamp format and lack of a field identifying for the originating API.
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.13.1, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed issue with Docker images incompatible with legacy registries and tools
Fixed issue with Docker images incompatible with legacy registries and tools
zstd compression is not officially supported for docker images.All image layers are now uniformly compressed using gzip, restoring compatibility with skopeo, oc image mirror, and other tools that do not support OCI zstd compression.Standardized application log format
Standardized application log format
- RFC3339 timestamps: Log entries now consistently use the industry-standard RFC3339 timestamp format (e.g.
2024-12-12T13:59:08Z), previously a mix of timestamp formats was used.
log_format configuration option now accepts three explicit values:text: plain-text logs in the new format introduced in this release (new default).json: JSON logs in the new format.legacy: preserves the format used in Gateway 5.13.0 and earlier, with the historical timestamp format.
log_format to legacy.Fixed MCP distributed trace blind spot enabling request tracing end-to-end from agent through Tyk to upstream MCP server
Fixed MCP distributed trace blind spot enabling request tracing end-to-end from agent through Tyk to upstream MCP server
params._meta) rather than the HTTP header - Tyk was only looking at the HTTP header, so it missed the agent’s trace ID and started a fresh one. This made it impossible to correlate what Tyk did with the agent’s journey using a single trace ID, forcing operators to reconstruct Tyk’s role manually from timestamps rather than following one trace end-to-end.Fixed issues with logging of HTTP 404 errors
Fixed issues with logging of HTTP 404 errors
control_api_port, requests to the proxy/data API port that did not match any configured API (generating an HTTP 404 response) were silently dropped: no log entry was generated even with track_404_logs enabled. This has been fixed; 404 logs are now correctly emitted for unmatched requests on all listening ports.Additionally, a host field has been added to 404 log entries (when using text or json log_format). This records the Host header from the request, allowing users to distinguish whether the unmatched request was directed at the proxy API or the control API.Fixed unbounded memory growth with CoProcess plugins and large sessions
Fixed unbounded memory growth with CoProcess plugins and large sessions
GOMAXPROCS with the container’s CPU quota at startup.This fix introduces the following new configuration options:regexp_cache_max_entriescaps the regular-expression cache (default:5000)disable_regexp_cache_boundrestores the previous unbounded behaviour for deployments with a naturally limited set of patterns (default:false)disable_auto_max_procsrestores the previous default behavior of GOMAXPROCS (default:false)
Fixed Gateway crash under high authentication load
Fixed Gateway crash under high authentication load
concurrent map iteration and map write panic. This caused unexpected pod restarts, in-flight request loss, and intermittent cluster instability.This has been fixed. The temporary workaround of enabling the local session cache (disable_cached_session_state: false) is no longer required.Fixed issues with the use of short API keys
Fixed issues with the use of short API keys
min_token_length configuration is intended to prevent the use of API tokens (keys) that are insecure due to their length. All tokens presented during a request to an API are checked against this value and immediately rejected with HTTP 403 if shorter than the configured minimum length.Previously, a token with length equal to min_token_length would be rejected with HTTP 403, which is non-intuitive and can lead to wasted debugging time.Also, it was possible to create a custom key shorter than the configured minimum length. The Session would be created, but the key would be unusable as any attempt to use it in a request would be rejected due to the token’s length.Now, tokens with length exactly equal to min_token_length are correctly accepted and an attempt to create a custom key shorter than min_token_length fails immediately with a 400 Bad Request.Fixed GraphQL API authentication headers not being forwarded upstream
Fixed GraphQL API authentication headers not being forwarded upstream
strip_auth_data set to false, the client’s authentication header (for example Authorization, or a custom header such as X-API-KEY) was not forwarded to the upstream service. This affected all GraphQL execution modes (proxy-only (including WebSocket subscriptions), subgraph, Universal Data Graph, and supergraph) leaving upstream services that require the header unable to authenticate the request.The active authentication method’s header is now propagated upstream across all execution modes, with only the active method’s header forwarded. In addition, upstream WebSocket connections for subscriptions are no longer reused across clients presenting different credentials, so each subscription carries its own authentication header, and one client’s token can no longer leak to another. When strip_auth_data is true, no authentication headers are forwarded, as before.Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Security Fixes
Resolved CVEs
Resolved CVEs
- CVE-2026-39830
- CVE-2026-39831
- CVE-2026-39833
- CVE-2026-42508
- CVE-2026-46595
- CVE-2026-39821
- CVE-2026-39829
- CVE-2026-46599
- CVE-2026-42504
- CVE-2026-39832
- CVE-2026-39834
- CVE-2026-46597
- CVE-2026-25680
- CVE-2026-25681
- CVE-2026-27136
- CVE-2026-39827
- CVE-2026-39828
- CVE-2026-39835
- CVE-2026-42502
- CVE-2026-42506
- CVE-2026-46598
- CVE-2026-42500
- CVE-2026-42507
- CVE-2026-27145
- CVE-2026-41889
- CVE-2026-39824
- GHSA-j88v-2chj-qfwx
5.13.0 Release Notes
Release Date 19 May 2026
Release Highlights
Tyk 5.13.0 introduces MCP (Model Context Protocol) Gateway support, bringing AI agent tool servers into Tyk’s API management platform. This release also completes Tyk’s observability stack with full OpenTelemetry metrics export, and delivers a comprehensive API error response customization system. Gateway support for MCP We have introduced the MCP (Model Context Protocol) Gateway, enabling teams to proxy, secure, and manage AI agent tool servers within Tyk API management. The MCP Gateway is not a new component - the capabilities are generally available in this release of Tyk Gateway. MCP Proxies support Server-Sent Events (SSE) streaming, enabling long-lived agent sessions that survive beyond the configured write timeout. A configurable idle timeout terminates stale SSE streams cleanly, and the Gateway sends a structured error event to the client when an upstream connection drops unexpectedly. Tool-Based Access Control (TBAC) enforces fine-grained access rules at two levels: JSON-RPC method level (e.g.,tools/call, resources/read) and MCP primitive level (individual tool, resource, or prompt by name).
Per-primitive rate limiting sets independent rate limits for each method or named primitive within a Session or Policy. When multiple Policies apply, access lists merge as a union and rate limits use the most permissive value.
MCP traffic appears in Gateway access logs with dedicated fields (mcp_method, mcp_primitive_type, mcp_primitive_name) alongside a new api_type field present on all access log entries.
OpenTelemetry custom metrics expose the same four MCP dimensions, including mcp_error_code, aligned with the OpenTelemetry mcp.* semantic conventions.
Complete Observability with OpenTelemetry Metrics
We have introduced comprehensive real-time metrics export through OpenTelemetry, completing Tyk’s observability stack alongside existing distributed tracing and logging.
Teams have complete operational visibility with automatic RED metrics (Rate, Errors, Duration), Go runtime health monitoring, and configuration state tracking.
The new custom metrics framework enables multi-tenant billing, tier-based SLOs, and business KPI tracking through configurable dimensions sourced from request headers, JWT claims, session data, and API metadata. Built-in cardinality controls and metric-to-trace correlation through exemplars ensure production-ready performance while enabling seamless navigation from metric anomalies to specific traces during incident investigation.
Fully Customizable API Error Responses
Transform your API’s error experience with the new comprehensive error override system. This feature provides complete control over HTTP error responses from both the Gateway and upstream services, enabling standardized, branded error formats that guide users toward solutions rather than leaving them confused.
Configure error overrides at multiple levels - globally and per API - with flexible matching by status codes, error types, message patterns, or response content. Support for dynamic templates with validation context enables RFC 7807 compliance and actionable error feedback, while seamless integration with existing analytics and logging ensures complete observability of overridden responses.
For a comprehensive list of changes, please refer to the detailed changelog below.
Breaking Changes
Default maximum and minimum TLS versions are now inherited from the underlying Golang library and so will be TLS 1.3 and TLS 1.2, respectively (previously were both set to TLS 1.2). You must set http_server_options.max_version (or the equivalent environment variable) to771 if you require an upper limit of TLS 1.2.
See here for details how to control TLS version and cipher suites.
Query parameters from original request are no longer automatically preserved when looping using tyk:// protocol)
We have fixed an inconsistent behavior when using the URL rewrite middleware to loop requests using the Tyk protocol (tyk://api-id/path).
Previously, query parameters added to the rewrite_to URL were silently dropped, while original request parameters were automatically preserved in the looped request.
This behavior was inconsistent with standard HTTP URL rewrites and prevented proper parameter transformation during internal API routing.
Impact
- Original request query parameters are no longer automatically forwarded through internal loops
- Existing URL rewrite configurations may lose query parameters that were previously passed through automatically
- APIs relying on automatic parameter forwarding will receive incomplete requests
- Before:
"rewrite_to": "tyk://api-123/endpoint"(original params auto-forwarded) - After:
"rewrite_to": "tyk://api-123/endpoint?param1=$tyk_context.request_data.param1"
- alphanumeric characters
_-.~
allow_unsafe_policy_ids. If using this mode, care must be taken not to use characters that could affect URL parsing.
Dependencies
Compatibility Matrix For Tyk Components
- Dashboard 5.13.0: MCP Proxy management and access control configuration
- Pump 1.15.0: MCP analytics (MongoDB, PostgreSQL, Elasticsearch, and Prometheus backends)
- MDCB 2.11.0: MCP analytics routing in distributed deployments
- Operator 1.4.0: MCP Proxy management via Kubernetes CRDs
- Sync 2.1.7: MCP Proxy support in
dumpandsyncoperations
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.13.0, please follow the detailed upgrade instructions. If your deployment uses MCP Gateway, additional component ordering applies. In distributed deployments, MDCB 2.11.0 must be deployed before Gateway and Dashboard. Tyk Operator 1.4.0 must be deployed after Gateway and Dashboard are running. See MCP Gateway upgrade considerations for the full sequence.Downloads
- Docker Image to pull
-
- Helm charts
Changelog
Changed
Upgrade OpenTelemetry SDK dependencies
Upgrade OpenTelemetry SDK dependencies
Added
Add MCP Gateway
Add MCP Gateway
- SSE streaming: MCP Proxies support long-lived Server-Sent Events connections. The write deadline is cleared for SSE streams so connections survive beyond the configured write timeout. A structured
event: errormessage is sent to the client if the upstream connection drops unexpectedly. - Protected Resource Metadata (PRM): The
/.well-known/oauth-protected-resourceendpoint is served as a middleware in the Gateway chain, making$tyk_context.*substitution variables available for use in PRM resource field values.
Add Tool-Based Access Control (TBAC) for MCP Proxies
Add Tool-Based Access Control (TBAC) for MCP Proxies
- JSON-RPC method access control: Allows or denies requests by method name (e.g.,
tools/call,resources/read,prompts/get). Configured viajson_rpc_methods_access_rightsin a key or policy access definition. - MCP primitive access control: Allows or denies requests by primitive type (tool, resource, or prompt) and name. Configured via
mcp_access_rightsin a key or policy access definition.
Add per-primitive rate limiting for MCP Proxies
Add per-primitive rate limiting for MCP Proxies
json_rpc_methods: rate limits keyed by JSON-RPC method name (e.g.,tools/call)mcp_primitives: rate limits keyed by primitive type and name
Add MCP-specific fields to Gateway access logs
Add MCP-specific fields to Gateway access logs
mcp_method: the JSON-RPC method name (e.g.,tools/call)mcp_primitive_type: the primitive category (tool,resource, orprompt)mcp_primitive_name: the name of the specific tool, resource, or prompt invoked
api_type field is also added to all access log entries, distinguishing MCP traffic from classic, oas, and graphql API types.For details, see the MCP access logs documentation.Add MCP dimensions to OpenTelemetry custom metrics
Add MCP dimensions to OpenTelemetry custom metrics
mcp_method: the JSON-RPC method namemcp_primitive_type: the primitive category (tool, resource, or prompt)mcp_primitive_name: the name of the specific primitive invokedmcp_error_code: the JSON-RPC error code when an error is returned; empty otherwise
mcp.* semantic conventions. MCP context is propagated before access control runs, so rejected requests still carry full MCP dimension data.For details, see the MCP metrics documentation.Fully customizable API error responses
Fully customizable API error responses
- Multi-level Configuration: Configure error overrides globally (Gateway-wide), or per API with clear precedence rules
- Flexible Matching: Target errors by exact status codes (401, 500), patterns (4xx, 5xx), error flags, message patterns, or response body content
- Rich Response Customization: Override status codes, response bodies, headers, and use template files with dynamic variables
- Universal Coverage: Customize both Gateway-generated errors (authentication, rate limiting, validation) and upstream service errors (4xx/5xx responses)
{{.StatusCode}}, {{.Message}}, and validation-specific context like {{.InvalidParams}} for detailed error feedback.Precedence Order:- API-level overrides
- Gateway-level overrides
- Default Tyk responses (fallback)
- Gateway errors: Authentication failures, rate limits, validation errors, transform failures
- Proxy errors: DNS failures, timeouts, circuit breaker events
- Upstream errors: 4xx/5xx responses from backend services
- Standardize error responses across APIs and environments
- Mask sensitive internal error details for security
- Provide consistent error formats for client applications
- Enable RFC 7807 Problem Details compliance
- Reduce client-side error handling complexity
X-RateLimit response headers can now reflect rate-limit values
X-RateLimit response headers can now reflect rate-limit values
X-RateLimit-Limit and X-RateLimit-Remaining response headers were populated from quota data (e.g. monthly limits) rather than rate-limit data (e.g. per-minute thresholds). This was inconsistent with the RFC conventions for these headers and a common source of confusion.
This release adds a new Gateway configuration option rate_limit_response_headers. When set to “rate_limits”, the X-RateLimit-* headers are populated from rate-limit data instead of quota data:X-RateLimit-Limit: the configured rate limit thresholdX-RateLimit-Remaining: remaining requests in the current rate limit windowX-RateLimit-Reset: time until the rate limit window resets
Simplified management of Session lifetime
Simplified management of Session lifetime
- post_expiry_action - determines what happens to the data in Redis after the
expirestimestamp is reached. - post_expiry_grace_period - defines how long (in seconds) the Session is kept in Redis after expiration (if the
post_expiry_actionsis to retain the Session)
0 (or unset) so there is no change in behavior for existing Sessions.OAuth mTLS certificates can now be rotated without a Gateway restart using KV store references
OAuth mTLS certificates can now be rotated without a Gateway restart using KV store references
external_services.oauth.mtls.cert_fileexternal_services.oauth.mtls.key_fileexternal_services.oauth.mtls.ca_file
Optional toggle to reuse upstream mTLS certificates for OAuth external service calls
Optional toggle to reuse upstream mTLS certificates for OAuth external service calls
Allow underscores in HashiCorp Vault and Consul secret reference paths
Allow underscores in HashiCorp Vault and Consul secret reference paths
$secret_vault and $secret_consul secret reference paths. Previously, the underscore character was not supported in these Key-Value store reference paths due to regex pattern limitations, causing references to be truncated at the first underscore. For example, $secret_vault.kv-v2/path.API_KEY would only match up to .API, silently dropping _KEY.This enhancement aligns $secret_vault and $secret_consul patterns with existing $secret_env, $tyk_context, and $tyk_meta patterns that already support underscores. Users can now reference secrets using standard naming conventions like API_KEY and DB_PASSWORD without needing to duplicate secrets under underscore-free names. The change maintains full backward compatibility with existing references that don’t contain underscores.Configurable compression and decompression limit for API definitions and policies in Data Plane Redis
Configurable compression and decompression limit for API definitions and policies in Data Plane Redis
storage.compress_api_definitions (introduced in 5.12.0) for API definitions, and the new storage.compress_policies for security policies. Both are disabled by default and remain backward compatible — Gateways transparently load both compressed and uncompressed data from Redis.The decompression size limit is now configurable via the new storage.max_decompressed_size option (default 100MB, minimum 1MB) and is applied independently to API definitions and policies, so each asset type has its own ceiling. As with the original feature, compression and decompression occur only during Gateway reloads, with no impact on the request hot path.Add OpenTelemetry metrics export
Add OpenTelemetry metrics export
- Default Gateway Metrics: Automatic export of RED metrics (Rate, Errors, Duration), Go runtime health metrics (CPU, memory, goroutines, garbage collection), and configuration state tracking (loaded APIs/policies, reload operations)
- Custom Business Metrics: Define custom counters and histograms with dynamic dimensions sourced from request headers, JWT claims, session data, context variables, and API config_data
- Endpoint-Level Granularity: Track metrics per endpoint using the new listen_path and endpoint dimensions for detailed API monitoring
- Multi-Tenant Support: Track usage per customer, tier, or organization using dynamic dimensions
- Universal Backend Support: Export via OTLP to Prometheus, Grafana, Datadog, New Relic, Dynatrace, and other observability platforms
- Metric-to-Trace Correlation: Automatic exemplar support links metric anomalies directly to distributed traces, enabling seamless navigation from metrics to traces during incident investigation.
- Gateway Identity Attributes: Configurable resource attributes help identify and filter individual Gateway instances in multi-node deployments.
- Request Metrics:
http.server.request.duration,tyk.gateway.request.duration,tyk.upstream.request.duration,tyk.api.requests.total - Go Runtime Metrics: CPU utilisation and processing time, memory usage breakdown (heap, stack, allocations), active goroutine count and lifecycle, garbage collection duration and frequency, thread count
- Configuration Metrics: Loaded APIs and policies count, reload operations and duration
Fixed
Fix log level for Client TLS certificate requirement errors
Fix log level for Client TLS certificate requirement errors
warning level, creating unnecessary noise in production logs.Previously, these common client-side authentication failures generated excessive warning-level log entries that could trigger false alerts and obscure more critical issues. The Gateway now logs these authentication failures at info level, maintaining security visibility while reducing log noise and alert fatigue for operations teams.Fix malformed responses from Go plugins returning error status codes
Fix malformed responses from Go plugins returning error status codes
Fix query parameter handling when looping requests internally
Fix query parameter handling when looping requests internally
tyk:// scheme. Previously, custom query parameters specified in the rewrite_to URL were silently dropped, while original request parameters were unexpectedly preserved.What’s Fixed:- Query parameters explicitly added to
rewrite_toURLs are now correctly passed to target APIs - Control parameters (
method,loop_limit,check_limits) are properly consumed and removed - Behavior now matches URL rewrites using
http://protocol
rewrite_to URL.Fix client mTLS authentication between Tyk Gateways
Fix client mTLS authentication between Tyk Gateways
HTTP 403 Forbidden: Client TLS certificate is required errors.The Gateway now reliably presents the configured upstream client certificate whenever requested by the target server, ensuring seamless mTLS communication between APIs hosted on different Tyk Gateways.Inherit maximum (1.3) and minimum (1.2) TLS versions from Go
Inherit maximum (1.3) and minimum (1.2) TLS versions from Go
Fix CORS preflight blocking by AllowList middleware
Fix CORS preflight blocking by AllowList middleware
options_passthrough was disabled.Previously, when APIs had CORS enabled with Tyk handling OPTIONS requests internally (options_passthrough: false), preflight requests would fail AllowList validation because users typically don’t explicitly define OPTIONS endpoints in their AllowList configurations, causing “Requested endpoint is forbidden” errors.The Tyk Gateway now properly recognizes CORS preflight requests and allows them to bypass AllowList middleware checks when Tyk is configured to handle OPTIONS internally, restoring the expected behavior where CORS preflight handling works automatically without requiring explicit OPTIONS endpoint definitions.Fix analytics generation for Tyk OAS API mock endpoints
Fix analytics generation for Tyk OAS API mock endpoints
Fix OpenTelemetry configuration file settings being ignored
Fix OpenTelemetry configuration file settings being ignored
tyk.conf).Now OpenTelemetry can be configured via the opentelemetry section in the Gateway config file (including enabled, exporter, and endpoint fields) or their equivalent environment variables.Resolved issue with Gateway entering an unresponsive state during startup
Resolved issue with Gateway entering an unresponsive state during startup
Add strict validation for Policy ID characters
Add strict validation for Policy ID characters
#, ?, %, and / would interfere with URL parsing in Tyk Gateway API endpoints that use the Policy ID as a path parameter, potentially causing request failures or unexpected behavior.Strict validation has been introduced to restrict policy identifiers to a safe character set (alphanumeric characters plus _, -, ., ~). The validation occurs during Policy creation and updates via the following endpoints:POST /tyk/policiesPUT /tyk/policies/{polID}
allow_unsafe_policy_ids has been added to disable this character validation in case of existing non-compliant Policy IDs. If you must use other characters in your Policy IDs, be careful to avoid any that might cause URL parsing issues.Fix error response format for SOAP+XML requests
Fix error response format for SOAP+XML requests
application/soap+xml Content-Type received JSON-formatted error responses instead of the expected XML format. The Gateway now correctly returns XML-formatted errors for SOAP requests.Fixed misleading span batch configuration values in Gateway startup logs
Fixed misleading span batch configuration values in Gateway startup logs
span_batch_config feature in 5.12.0 where, when the configuration was omitted or left unset, Gateway startup logs reported the batch processor settings (max_queue_size, max_export_batch_size, batch_timeout) as zero values. The Gateway was internally applying the standard Go SDK defaults correctly, but the logs misrepresented this, making it appear that the OpenTelemetry exporter was misconfigured. Startup logs now report the actual default values in use, giving operators an accurate view of the active configuration.Fixed missing access log entries for cached responses
Fixed missing access log entries for cached responses
access_logs.enabled was set to true. Cache hits now generate access log entries with the same structure as non-cached responses. The same fix ensures that cache hits are also captured by the newly introduced OpenTelemetry API metrics.Resolve Gateway registration failures at scale on unlimited node licenses
Resolve Gateway registration failures at scale on unlimited node licenses
409 Conflict responses could leave Gateways stuck in registration loops without the credentials needed to serve traffic.Gateway registration is now significantly more robust at scale: registration requests are no longer serialized across the fleet, Gateways recover cleanly from transient 409 Conflict responses instead of looping, and the Redis load generated during registration storms is substantially reduced.A dedicated fix for limited node license deployments will be provided in an upcoming release.Fixed memory issue and unintended rate limit reset in distributed rate limiting
Fixed memory issue and unintended rate limit reset in distributed rate limiting
Security Fixes
Fix CVEs
Fix CVEs
5.12 Release Notes
5.12.1 Release Notes
Release Date 21st April 2026
Release Highlights
Tyk Gateway has been updated to Golang 1.25 and Debian 13 (Trixie) for enhanced security and performance, including updated FIPS-compliant images. This release addresses multiple CVEs in dependent libraries and fixes a path matching inconsistency for Tyk OAS APIs. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.12.1, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Changed
Updated Golang version to 1.25
Updated Golang version to 1.25
Update Docker images to Debian 13 (Trixie)
Update Docker images to Debian 13 (Trixie)
Fixed
Fixed path matching inconsistency for Tyk OAS APIs
Fixed path matching inconsistency for Tyk OAS APIs
Security Fixes
CVE fixed
CVE fixed
5.12.0 Release Notes
Release 06 March 2026
Release Highlights
OpenAPI Specification 3.1 is now supported In this release, we are delighted to bring initial support for OAS 3.1 in Tyk OAS APIs covering:- Import and validation of OpenAPI 3.1 descriptions using Tyk Dashboard to create Tyk OAS APIs
- OAS 3.1 features:
- Full JSON Schema Support and $schema keyword
- The single
examplekeyword is deprecated in OAS 3.1 typecan be an arrayexclusiveMinimumandexclusiveMaximumkeywords
X-Correlation-ID), the Gateway can now recognize these as trace context sources. With multiple propagation modes, you can gradually migrate to standard OpenTelemetry tracing without modifying existing downstream systems.
Enhanced Error Observability in Access Logs
Troubleshooting API errors in production just got significantly faster. We’ve enhanced Gateway access logs to include rich, structured error context for 4XX and 5XX errors, eliminating the need to cross-reference multiple log sources during an incident.
Users can now instantly identify the root cause of failures—whether it’s an expired TLS certificate, a network connectivity issue, or a backend service problem—directly from the access logs. This comprehensive visibility drastically reduces time-to-resolution and simplifies debugging.
Programmatic Configuration Inspection for Faster Troubleshooting
Verifying configuration settings and debugging deployment issues can be time-consuming when multiple configuration sources (files, environment variables, defaults) are involved.
To streamline troubleshooting, we’ve introduced configuration inspection endpoints to the Tyk Gateway API. Platform engineers and support teams can now programmatically access the Gateway’s actual runtime configuration directly through the control API. This eliminates the need for manual configuration file sharing and supports automated drift detection, while built-in redaction automatically protects sensitive data like passwords and secrets.
Enhanced Security with Client Certificate-Token Binding
To provide an additional layer of security for your APIs, we’ve introduced Client Certificate-Token Binding. This feature allows you to form a strict binding association between an Auth Token issued to a client and their specific client certificate.
By ensuring that a token can be used only with its bound certificate, you can significantly reduce the risk of token theft or misuse. The feature fully supports certificate rotation scenarios by allowing multiple certificates to be bound to a single key, ensuring uninterrupted access during credential updates.
Certificate Authentication as a Standalone Auth Method for Tyk OAS
We have restructured Certificate Authentication (formerly known as Dynamic mTLS) to be a dedicated, standalone authentication method in Tyk OAS API definitions.
Previously configured as an adjunct to Auth Token authentication, this change aligns Certificate Authentication with other Tyk proprietary methods like HMAC and Custom Auth. This improves API design consistency and makes it much more intuitive to configure certificate-based access, all while maintaining full backward compatibility with your existing API definitions.
Optimized Redis Storage for Data Planes
We have significantly reduced Redis memory consumption for Data Plane deployments, delivering immediate storage cost savings and improved efficiency for large-scale environments.
By implementing intelligent storage optimization, the Gateway now automatically omits empty fields when storing session data, reducing memory usage for typical API keys by up to 20%. Additionally, we’ve introduced optional compression for cached API definitions, reducing storage requirements by up to 75% without impacting API response times. These enhancements are fully backward compatible and require no migration of existing keys or definitions.
For a comprehensive list of changes, please refer to the detailed changelog below.
Breaking Changes
A change has been made to improve security of the legacy Auth Token + Dynamic mTLS method for securing access to APIs deployed on Tyk. This removes the option to authenticate using only the auth token and enforces the mTLS handshake. Previously, API clients could authenticate without presenting the client certificate or holding the client’s private key. For any user relying on that behavior, we have added a new Gateway configuration option:allow_unsafe_dynamic_mtls_token. Unless deliberately configured in the config file or environment, this is set to false to ensure that Tyk is secure by default.
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
The introduction of Certificate Authentication as a standalone auth method in place of Auth Token + dynamic mTLS means that the configuration fieldauthentication.securitySchemes.authToken.enableClientCertificate in the Tyk Vendor Extension is now deprecated in favour of authentication.certificateAuth.enabled. The legacy field remains valid for backward compatibility at this time, but users are recommended to switch to the new configuration.
Upgrade instructions
If you are upgrading to 5.12.0, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Added
Added support for OpenAPI 3.1 (OAS v3.1.x)
Added support for OpenAPI 3.1 (OAS v3.1.x)
- Added full JSON Schema support, including the
$schemakeyword. - Added support for defining
typeas an array (e.g.,["string", "null"]). - Support for
exclusiveMinimumandexclusiveMaximum
- Reusable Path Item Objects and the new
mutualTLSsecurity scheme are not currently supported.
Optimized Data Plane Redis storage for sessions and API definitions
Optimized Data Plane Redis storage for sessions and API definitions
- Session Object Optimization: The Gateway now automatically omits empty and zero-value fields when storing API keys and session objects. This results in up to a 20% reduction in memory usage, with minimal keys now consuming only 500-700 bytes.
- API Definition Compression: Added optional Zstd compression for API definitions cached in Redis, achieving up to 75% storage reduction. Compression and decompression occur during Gateway reloads, ensuring zero impact on the request hot path.
- Configuration: API definition compression is disabled by default. It can be enabled via the new
storage.enable_api_definition_compressionconfiguration option. - Security Limit: To mitigate the risk of decompression bombs, the maximum combined uncompressed size for the API definitions is limited to 100MB.
OpenTelemetry and Observability Enhancements
OpenTelemetry and Observability Enhancements
- Added the
trace_idfield to Gateway access logs when OpenTelemetry is enabled, matching theX-Tyk-Trace-Idresponse header. - Added
trace_idandspan_idfields to all request-scoped Gateway application logs (middleware execution, errors, and debugging). - Introduced custom trace header configuration (e.g.,
X-Correlation-ID) to support non-standard header names as trace context sources with three trace propagation modes:- Custom-only (read and write custom headers exclusively)
- Hybrid (read custom headers, write standard traceparent)
- Composite (read custom headers, write both custom and standard formats)
- Implemented automatic fallback to standard W3C propagators when custom trace headers are missing or invalid.
Prevent OpenTelemetry Span Loss in High-Throughput Environments
Prevent OpenTelemetry Span Loss in High-Throughput Environments
BatchSpanProcessor settings to match your specific traffic patterns. By adjusting queue sizes and batch parameters, you can significantly reduce orphaned child spans and ensure trace completeness, giving you full visibility into your API traffic.Added a new span_batch_config section to the OpenTelemetry configuration to prevent span loss in high-throughput environments. Users can now override default Go SDK settings by tuning max_queue_size, max_export_batch_size, and batch_timeout. This configuration is optional and backward compatible; omitted or zero values will default to standard SDK values.Added structured error context to access logs
Added structured error context to access logs
response_flagfor standardized error codes (e.g.,TLEfor TLS expired,UCFfor connection refused,RLTfor rate limiting).response_code_detailsfor human-readable error descriptions.error_source(originating component) anderror_target(upstream address).upstream_statusto capture the HTTP status returned from the upstream service.- context-specific fields that appear only when relevant:
tls_cert_expiryandtls_cert_subjectfor certificate errors, andcircuit_breaker_statefor circuit breaker errors.
Added configuration inspection endpoints to the Tyk Gateway API
Added configuration inspection endpoints to the Tyk Gateway API
/config and /env endpoints to the Tyk Gateway API to provide programmatic access to runtime configuration and environment variable mappings. This enables targeted troubleshooting and configuration auditing directly through authenticated API calls:- Supports both full configuration dumps and targeted single-field queries (e.g.,
/config?field=storage.host). - Automatically redacts sensitive data (passwords, secrets, connection strings) to preserve configuration structure visibility securely.
- Clarifies configuration precedence and naming conventions from multiple sources.
enable_config_inspection.Added Client Certificate-Token Binding for Auth Token APIs
Added Client Certificate-Token Binding for Auth Token APIs
- Added a new
mtls_static_certificate_bindingsfield to the session object, which accepts a list of one or more certificate IDs. - Enforces that the certificate presented in the request matches the bound certificate IDs; otherwise, the request is rejected.
- Supports binding multiple client certificates to a single key (token) to facilitate certificate rotation.
Certificate Expiry Events for Upstream Connections
Certificate Expiry Events for Upstream Connections
cert_role field in the event metadata indicates whether the certificate was used in client or upstream authentication.With this addition, the certificate expiry monitor now tracks all certificates used to represent the Gateway in TLS handshakes.Restructured Certificate Authentication in Tyk OAS API definitions
Restructured Certificate Authentication in Tyk OAS API definitions
- Introduced the new
authentication.certificateAuth.enabledfield to configure Certificate Authentication as a standalone method. - Deprecated the legacy
authentication.securitySchemes.authToken.enableClientCertificatefield (it remains fully supported for backward compatibility). - When both the new and deprecated fields are present, the new
certificateAuth.enabledfield takes precedence.
Configurable Gateway-Default JWKS Cache Timeout
Configurable Gateway-Default JWKS Cache Timeout
jwks.cache.timeout or the equivalent environment variable. If this is not set, the timeout will continue to default to 240 seconds. This will be applied to both Tyk Classic and Tyk OAS APIs, simplifying JWKS cache management across large API deployments while providing flexibility for APIs that require specific caching behaviors.Improved Policy ID Handling in Multi-Organisation Environments
Improved Policy ID Handling in Multi-Organisation Environments
- The Gateway now correctly discriminates between policies with identical
idfields across different Organisations (Orgs), ensuring that policies are only applied to keys within their respectiveorg_id. - Added a new warning-level log message that triggers if multiple policies are loaded with the same
idwithin a single Org. The log details the sharedidand the individual internal_idvalues of the conflicting policies to assist with troubleshooting.
Visibility of the APIs and Policies loaded by Data Plane Gateway
Visibility of the APIs and Policies loaded by Data Plane Gateway
Added Usage-Aware Certificate Synchronization for Data Planes
Added Usage-Aware Certificate Synchronization for Data Planes
- Added a new
sync_used_certs_onlyboolean flag to theslave_optionsconfiguration. - When enabled alongside
use_rpc: true, the data plane tracks certificate usage by analyzing loaded API specifications and filters synchronization to only pull required certificates. - Reduces memory usage and eliminates log noise caused by expired certificates that are not relevant to the specific Data Plane’s APIs.
sync_used_certs_only: false) to ensure backward compatibility. When disabled, the Gateway will continue to synchronize all certificates from the Control Plane as before.Optimized Bundle Verification to Reduce Memory Consumption
Optimized Bundle Verification to Reduce Memory Consumption
skip_verify_existing_plugin_bundle that allows you to skip cryptographic verification when loading signed plugin bundles from disk. When set to true, this option reduces performance overhead in environments with large numbers of APIs using signed bundles, while still maintaining security by validating signatures during initial bundle download.
Note: This option only affects signed bundles loaded from disk, unsigned bundles and initial downloads will continue to follow standard verification procedures.Fixed
Fixed Path Matching Inconsistencies Between Classic and OAS API Middleware
Fixed Path Matching Inconsistencies Between Classic and OAS API Middleware
- Some subpaths, for example, the middleware configured for
/userswould not execute for/users/123 - some child API versions
- wildcard regexes in paths
- root paths
Fixed Certificate Re-use After Swapping in Multi-Auth Keys
Fixed Certificate Re-use After Swapping in Multi-Auth Keys
Improved JWKS Error Messaging for Faster JWT Troubleshooting
Improved JWKS Error Messaging for Faster JWT Troubleshooting
Fixed Gateway Panic if HashiCorp Vault Path Not Found
Fixed Gateway Panic if HashiCorp Vault Path Not Found
Fixed OpenAPI multipleOf Validation for Floating-Point Numbers
Fixed OpenAPI multipleOf Validation for Floating-Point Numbers
Fixed Incomplete Validation of Multi-Value Request Headers
Fixed Incomplete Validation of Multi-Value Request Headers
Fixed API Routing Issues with Custom Domains and Similar Listen Paths
Fixed API Routing Issues with Custom Domains and Similar Listen Paths
HTTP 404 Not Found errors depending on custom domain settings, with differing behavior between Tyk OAS and Tyk Classic APIs. Previously, when APIs had similar listen path prefixes (e.g., /caa and /caas2itsamu0456w2ayl9), the Gateway’s routing logic would incorrectly match requests, causing legitimate API calls to fail. The issue affected Tyk OAS APIs when custom domains were disabled, and Tyk Classic APIs when they were enabled.The Gateway now properly sorts and matches API specifications by listen path length, while correctly considering domain configuration options, ensuring all APIs are accessible via their configured paths regardless of custom domain settings or API type.Fixed Missing Request Duration Logging for Gateway Error Responses
Fixed Missing Request Duration Logging for Gateway Error Responses
HTTP 504 Gateway Timeout, HTTP 499 Client Closed Request, and HTTP 500 Internal Server Error, creating gaps in API observability and monitoring. Previously, these error responses were hardcoded with zero-latency values, making it impossible to determine the actual processing time, gateway saturation, or connection utilization for failed requests.The Gateway now accurately calculates and logs the actual request duration from start to error occurrence for all error responses, providing complete timing visibility across successful and failed API requests. This enhancement improves observability for performance monitoring, capacity planning, and troubleshooting workflows.Fixed Missing Identity Source in OTEL Traces for JWT Protected APIs
Fixed Missing Identity Source in OTEL Traces for JWT Protected APIs
Fixed Intermittent NewRelic Tracing
Fixed Intermittent NewRelic Tracing
Fixed Custom Authentication Plugins in Compliant Mode
Fixed Custom Authentication Plugins in Compliant Mode
Fixed Incorrect X-RateLimit-Reset Timestamp on First Request After Quota Initialization
Fixed Incorrect X-RateLimit-Reset Timestamp on First Request After Quota Initialization
X-RateLimit-Reset header showed an incorrect timestamp on the first API request after rate limit or quota counter initialization. Previously, when quota windows expired and were reset within the distributed lock, the Gateway failed to update its local timestamp variable, causing the first request to return stale timing information while subsequent requests showed correct values.The Gateway now properly synchronizes its internal timer with the storage backend during quota window resets, ensuring that X-RateLimit-Reset headers accurately reflect the correct expiration time from the very first request.Fixed Policy ID Collisions Across Organizations in Multi-Org Gateway
Fixed Policy ID Collisions Across Organizations in Multi-Org Gateway
Fixed Missing Alias in OpenTelemetry Traces for JWT Multi-Auth APIs
Fixed Missing Alias in OpenTelemetry Traces for JWT Multi-Auth APIs
alias attribute for JWT-authenticated requests in multi-auth APIs using compliant security processing mode. Previously, while the alias was correctly populated in analytics records and Redis session data (e.g., JWT claims or API key names), it was not included in OpenTelemetry spans for JWT authentication, making request attribution difficult in distributed tracing systems. The fix ensures that OTEL spans now include the alias attribute for all authentication methods in multi-auth configurations, providing consistent identity information across analytics records, pump output, and distributed traces. This enhancement improves observability for APIs using multiple authentication schemes, allowing operators to easily identify request sources in tracing backends like Jaeger, Tempo, or Zipkin when analyzing JWT-authenticated traffic alongside API key requests.Fixed SSL Certificate Loading from MDCB During Gateway Startup
Fixed SSL Certificate Loading from MDCB During Gateway Startup
Security Fixes
Fixed Security Vulnerability in Dynamic mTLS Authentication
Fixed Security Vulnerability in Dynamic mTLS Authentication
allow_unsafe_dynamic_mtls_token has been added for backward compatibility, but defaults to false to ensure secure behavior. When enabled, this option restores the previous (insecure) behavior of accepting token-only authentication for dynamic mTLS APIs.5.11 Release Notes
5.11.1 Release Notes
Release 13th February 2026
Release Highlights
In this release, we have fixed a memory leak that could occur when using JWT authentication; we have resolved a performance issue with bundle verification that significantly impacted resource consumption when using plugin bundles; and we have fixed some priority CVEs. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this patch release.Upgrade instructions
If you are upgrading to 5.11.1, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Fixed
Fixed Memory Leak When Using JWKS URL Cache
Fixed Memory Leak When Using JWKS URL Cache
Optimized Bundle Verification to Reduce Memory Consumption
Optimized Bundle Verification to Reduce Memory Consumption
skip_verify_existing_plugin_bundle that allows you to skip cryptographic verification when loading signed plugin bundles from disk. When set to true, this option reduces the performance overhead for environments with large numbers of APIs using signed bundles, while still maintaining security by validating signatures during the initial bundle download.Note: This option only affects signed bundles loaded from disk, unsigned bundles and initial downloads will continue to follow standard verification procedures.Security Fixes
CVE fixed
CVE fixed
5.11.0 Release Notes
Release Date 18 December 2025
Release Highlights
Tyk 5.11 delivers security enhancements and deeper operational visibility - empowering teams to scale their API programs with confidence and efficiency. Strengthened API Security & Authentication This release advances our security foundation with enhanced JWT authentication capabilities. Teams can now leverage scope-to-policy mapping without requiring default policies, while new support for nested claims enables more granular policy and subject identification. We’ve also added IP spoofing protection through configurable depth selection in X-Forwarded-For headers. Advanced Operational Control Operations teams gain greater flexibility with the ability to temporarily remove targets from upstream load balancers during maintenance windows. Enhanced observability comes through OTel trace propagation to custom gRPC plugins, trace ID inclusion in API traffic logs, and dedicated Gateway latency metrics alongside upstream measurements. Data Plane Gateways now recover more quickly from interruptions to the MDCB link to the Control Plane. Enhanced Stability & Performance This release includes important stability improvements, resolving crash conditions in JWT authentication and concurrent processing scenarios, eliminating blocking operations that could cause significant delays during MDCB connectivity issues, and improving performance for OAuth key retrieval in hybrid deployments. These fixes collectively deliver a more reliable and responsive API gateway experience for enterprise environments. These enhancements collectively strengthen Tyk’s position as the platform of choice for organizations requiring enterprise-scale API management with robust security, operational excellence, and developer productivity. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
In this release we’ve deprecated the policies.allow_explicit_policy_id configuration option. This was previously added to allow the use of custom policy IDs, which is now the default behaviour so this option is redundant.Upgrade instructions
If you are upgrading to 5.11.0, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Added
Support for Nested JWT Claim Paths in Subject, Policy, and Scope Mapping
Support for Nested JWT Claim Paths in Subject, Policy, and Scope Mapping
subjectClaims, basePolicyClaims, and scopes.claims fields to use nested claim names, such as test.sub or policy.base.Enhanced Latency Metrics with Gateway-Only Processing Time
Enhanced Latency Metrics with Gateway-Only Processing Time
- Added
gatewayfield to thelatencystruct in traffic logs to capture Gateway-specific processing time separate from upstream latency. - Extended Prometheus and StatsD pumps to expose Gateway-only latency metrics alongside existing total and upstream measurements for improved observability.
Full Support for Custom GraphQL Scalar Values in Tyk GraphQL Engine
Full Support for Custom GraphQL Scalar Values in Tyk GraphQL Engine
Background DNS Monitor for Faster MDCB Endpoint Failover
Background DNS Monitor for Faster MDCB Endpoint Failover
slave_options.dns_monitor configuration.Support Temporary Removal of Upstream Targets via Zero-Weight Load Balancing
Support Temporary Removal of Upstream Targets via Zero-Weight Load Balancing
Removed Default Policy Requirement for JWT Scope-to-Policy Mapping
Removed Default Policy Requirement for JWT Scope-to-Policy Mapping
scopes.claimName, you do not need to provide a policy ID in defaultPolicies. If a request does not contain any valid scopes, it will be rejected with HTTP 403 Forbidden (default deny). You can still provide a default policy if you require a different behaviour.Add OTel Trace ID to Traffic Logs for Improved Observability
Add OTel Trace ID to Traffic Logs for Improved Observability
trace-id-{traceID} and also exposed in $tyk_context.tyk_trace_id. This makes it easier to correlate traffic logs with OTel traces in observability platforms and also allows transformation middleware and custom plugins to correlate logs with traces.Added Configurable `X-Forwarded-For` Header Selection
Added Configurable `X-Forwarded-For` Header Selection
xff_depth configuration parameter to the Gateway’s HTTP server options for improved security. This specifies which entry in the X-Forwarded-For header chain should be considered to contain the real client IP. The value set in xff_depth is used when counting from the rightmost (most trusted) end of the IP chain, where a value of 1 is the first (counting from the right). If xff_depth is set to 0 or not configured, Tyk continues using the first IP address as before, maintaining backward compatibility. We have updated the default configurations across Tyk Demo, Helm Charts, and example files to use xff_depth=1 for enhanced security in new deployments.OpenTelemetry Trace Context Propagation for gRPC Plugins
OpenTelemetry Trace Context Propagation for gRPC Plugins
CoProcessor and GRPCDispatcher to preserve trace information, and added OpenTelemetry gRPC interceptors for seamless context propagation. This eliminates observability blind spots in plugin processing, allowing customers to see complete end-to-end traces of API requests, including all plugin activities.Fixed
Fixed JWT Authentication Panic in MDCB Emergency Mode
Fixed JWT Authentication Panic in MDCB Emergency Mode
Resolved Panic Triggered by DRL Updates in Mixed Rate-Limiter Environments
Resolved Panic Triggered by DRL Updates in Mixed Rate-Limiter Environments
Fixed Data Plane Startup Failures Causing Incorrect 404 Responses
Fixed Data Plane Startup Failures Causing Incorrect 404 Responses
Corrected mTLS Certificate Advertising for RFC-Compliant Clients
Corrected mTLS Certificate Advertising for RFC-Compliant Clients
Apache mod_ssl while maintaining backward compatibility with existing configurations.Fixed JSON Formatter Failures with Large Numeric Error Values
Fixed JSON Formatter Failures with Large Numeric Error Values
Reduced RPC Retry Delays by Improving DNS Change Detection
Reduced RPC Retry Delays by Improving DNS Change Detection
Removed Redundant Boolean Enums from OpenAPI Specification
Removed Redundant Boolean Enums from OpenAPI Specification
Fixed OAuth Client Key Retrieval Delays in JWT APIs on Hybrid Gateways
Fixed OAuth Client Key Retrieval Delays in JWT APIs on Hybrid Gateways
Fixed Gateway Crash During Concurrent JWT Claims Validation
Fixed Gateway Crash During Concurrent JWT Claims Validation
Fixed: API Keys Remain Active When Set to Inactive Status
Fixed: API Keys Remain Active When Set to Inactive Status
5.10 Release Notes
5.10.2 Release Notes
Release Date 2 December 2025
Release Highlights
This is a version bump to align with Dashboard v5.10.2, no changes have been implemented in this release.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.10.2, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
No changes in this release.5.10.1 Release Notes
Release Date 19 November 2025
Release Highlights
This patch release contains various bug and security fixes. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.10.1, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Fixed
Fixed Custom Authentication fallback when custom plugin bundle is disabled
Fixed Custom Authentication fallback when custom plugin bundle is disabled
HTTP 500 Internal Server Error to prevent access to an improperly configured endpoint.Fixed issue with invalid or missing bundle manifests
Fixed issue with invalid or missing bundle manifests
Fixed JWT key activation when toggling default policy from draft to active
Fixed JWT key activation when toggling default policy from draft to active
draft to active status. When an access key/token is presented to Tyk in a request, policies linked to the key will be applied, configuring the authorization for that request. If any policy is in draft state, the key will be rejected.
Toggling the policy to the active state should activate any keys to which the policy is applied. Previously, if the policy had never been applied when it was in draft state, there was an issue where keys would incorrectly be marked as inactive. This has now been resolved, and the policy state is correctly mapped to keys.Added new configuration option for limiting response body size
Added new configuration option for limiting response body size
HTTP 500 Response Body Too Large instead of attempting to process the oversized content.Fixed plugin loading failure errors being ignored for gRPC, Python, and Lua plugins
Fixed plugin loading failure errors being ignored for gRPC, Python, and Lua plugins
HTTP 500 Internal Server Error when any plugin fails to load, ensuring consistent behavior across all plugin types.Fixed random version selection when `not_versioned` is set to true
Fixed random version selection when `not_versioned` is set to true
- Contain a single entry in
version_data.versionswith the API configuration. - Have the
version_data.not_versionedflag set totrue.
version_data.versions array while not_versioned was set to true, the Gateway would randomly select one of those versions to process incoming requests.New behavior:When version_data.not_versioned is set to true and multiple versions are present, Tyk now deterministically selects the configuration for the default version instead of picking one at random.Tyk determines the default version as follows:- First, it looks for an entry named
"Default". - If not found, it checks for
"default". - If neither exists, it checks for an entry with an empty string key (
""). - If none of these are found, Tyk returns an error, indicating a misconfigured non-versioned API.
Improved path handling during bundle decompression.
Improved path handling during bundle decompression.
Fixed Data Plane Gateway hanging when MDCB connection is lost
Fixed Data Plane Gateway hanging when MDCB connection is lost
TYK_GW_ENFORCEORGQUOTAS was not set. If the Organisation quota cache expired before the Gateway performed a health check, the Gateway could hang.From this release, the Gateway does not check the Organisation quota cache if this is not set. For users relying on Organisation quotas (setting TYK_GW_ENFORCEORGQUOTAS=true), the scenario is different and the lock does not occur.Security Fixes
CVE fixed
CVE fixed
5.10.0 Release Notes
Release Date 13th October 2025
Release Highlights
For a comprehensive list of changes, please refer to the detailed changelog.OpenAPI Compliant Multi-Authentication for Tyk OAS APIs
Tyk Gateway now supports true OpenAPI specification compliant authentication workflows, giving developers the flexibility to implement industry-standard security patterns while maintaining backward compatibility. OpenAPI compliant authentication brings:- Multiple authentication paths: Process all entries in the OpenAPI
securitysection, not just the first one - Flexible security combinations: Enable authentication scenarios like “OAuth2 OR Auth Token” where clients can choose their preferred method
- Proprietary method integration: Seamlessly combine standard OpenAPI authentication with Tyk’s proprietary methods (Custom Authentication plugin, HMAC) using the same flexible logic
- Standards compliance: Follow OpenAPI security specification patterns that developers expect
- Legacy mode preserved: Existing APIs continue to work unchanged with the current AND-only logic
- Opt-in enhancement: Switch to compliant mode via the
securityProcessingModeconfiguration when ready - No breaking changes: Existing multi-security configurations remain functional
- Support diverse client authentication capabilities within the same API
- Implement progressive authentication strategies (basic → advanced security)
- Align with OpenAPI tooling and documentation expectations
- Reduce integration complexity for API consumers
Comprehensive JWT Claim Validation for Tyk OAS APIs
Tyk Gateway now provides enterprise-grade JWT validation capabilities exclusively for Tyk OAS APIs, enabling complete control over token validation beyond basic expiry and signature checks. Complete registered claim validation- Multi-Identity Provider support: Validate issuer, audience, and subject claims against multiple allowed values
- Flexible claim mapping: Configure different claim names for subject, policy, and scope mapping to support various Identity Providers (Keycloak, Okta, Auth0, etc.) within the same API
- JWT ID enforcement: Require unique token identifiers for enhanced security
- Flexible validation rules: Define validation for any JWT claim using required, exact match, or containment rules
- Rich data type support: Handle strings, numbers, booleans, and arrays with nested claim access using dot notation
- Non-blocking validation: Monitor claim compliance without rejecting requests, perfect for gradual policy enforcement
- Role-based access control with custom permission claims
- Department or organization-based API access restrictions
- Multi-tenant scenarios with flexible claim validation
- Gradual migration from legacy authentication systems
Advanced JWKS Cache Management for Tyk OAS APIs
Tyk Gateway now provides comprehensive JWKS (JSON Web Key Set) cache control for Tyk OAS APIs, delivering significant performance improvements and operational flexibility for JWT validation workflows with:- Configurable cache timeouts: Set custom cache durations per Identity Provider to match their key rotation schedules
- On-demand cache invalidation: Instantly refresh cached keys for any API (Classic or OAS) when Identity Providers rotate their signing keys
- Intelligent pre-fetching: Eliminate first-request latency by fetching JWKS data during Tyk OAS API initialization
- Faster JWT validation with reduced Identity Provider round-trips
- Zero cold-start delays for JWT-protected endpoints
- Immediate response to Identity Provider key rotations
- Better performance in high-traffic JWT validation scenarios
Centralized External Service Configuration
Tyk Gateway now provides unified configuration for all external service connections through the newexternal_services section. This enhancement brings together previously scattered and incomplete configuration options into a single, coherent system that supports:
- Proxy configuration: Apply proxy settings globally or per service, with automatic support for standard environment variables (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) - mTLS certificate management:Centralized certificate configuration for secure connections to external services
- Comprehensive service coverage: Covers all external integrations, including databases, OAuth providers, and webhook endpoints
- Reduced configuration complexity and duplication
- Better security through centralized certificate management
- Simplified proxy configuration for containerized deployments
- Consistent external service connection handling across all Tyk components
Proactive Certificate Expiry Monitoring
Tyk Gateway now automatically monitors certificate health and proactively alerts administrators before certificates expire, helping prevent service outages caused by expired mTLS certificates. The new certificate monitoring system provides:- Early warning notifications: Configurable alerts when certificates approach expiry (default: 30 days)
- Immediate expiry detection: Real-time notifications when expired certificates are detected in use
- Comprehensive coverage: Monitors certificates used in both client-to-Gateway and Gateway-to-upstream connections
- Smart throttling: Built-in cooldown mechanisms prevent alert flooding while ensuring visibility
- Prevent unexpected API outages due to expired certificates
- Reduce manual certificate monitoring overhead
- Enable proactive certificate lifecycle management
- Improve overall API reliability and uptime
Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.10.0, please follow the detailed upgrade instructions.Downloads
- Docker image to pull
-
- Helm charts
Changelog
Added
OpenAPI compliant multi-authentication mode for Tyk OAS APIs
OpenAPI compliant multi-authentication mode for Tyk OAS APIs
- Processes all entries in the OpenAPI
securitysection sequentially, not just the first entry - Supports a local
securitysection in the Tyk vendor extension for proprietary authentication methods (Custom Authentication plugin, HMAC) - Uses AND logic within each security entry and OR logic between entries, enabling flexible authentication combinations such as: OAuth2 OR Auth Token
- Allows clients to authenticate using any of the defined security combinations
- Continues to use only the first entry from the OpenAPI
securitysection - Combines all declared methods with proprietary vendor extension methods using AND logic
- Requires clients to satisfy ALL authentication methods
server.authentication.securityProcessingMode
field in the Tyk Vendor Extension, with legacy as the default to ensure backward compatibility. In compliant mode, proprietary authentication methods are configured in the new server.authentication.security section within the vendor extension, following the same array structure as the OpenAPI security section. This prevents breaking changes for existing API definitions that contain multiple entries in the
security section but were designed for legacy processing behavior.Enhanced JWT claim validation for Tyk OAS APIs
Enhanced JWT claim validation for Tyk OAS APIs
- Subject, issuer, and audience validation: Validate tokens against allowed values with support for multiple entries per claim type
- JWT ID enforcement: Require presence of unique token identifiers (
jti) when needed - Flexible claim mapping: Configure different claim names for subject, base policy, and scope-to-policy mapping to support multiple Identity Providers within the same API setup (e.g., Keycloak’s
scopevs Okta’sscp)
- Flexible validation rules: Define validation for any custom JWT claim using three rule types:
required(claim must exist),exact_match(claim equals specific values), orcontains(claim contains specific values) - Advanced data support: Handle string, number, boolean, and array data types with nested claim access using dot notation (e.g.,
user.department) - Non-blocking validation: Configure rules to log warnings instead of rejecting requests for monitoring and gradual enforcement scenarios
Enhanced JWKS caching with configurable timeout, invalidation, and pre-fetching
Enhanced JWKS caching with configurable timeout, invalidation, and pre-fetching
- Cache invalidation API - Administrators can now manually invalidate JWKS cache entries via new Gateway API endpoints (
DELETE /tyk/cache/jwks/{apiID}andDELETE /tyk/cache/jwks), either targeting specific APIs or purging all cached JWKS data. This enables immediate cache refresh when Identity Provider keys are rotated. - Automatic pre-fetching - For Tyk OAS APIs, JWKS data is now automatically fetched and cached when API definitions are loaded, eliminating cold-start delays for JWT validation. Pre-fetching includes comprehensive logging of fetch attempts and results, and failures do not prevent API initialization.
Enhanced external service integration with proxy and mTLS support
Enhanced external service integration with proxy and mTLS support
external_services section in the Gateway configuration to provide centralized configuration for proxy settings and mTLS certificates when communicating with external services. This includes connections to persistent and temporal storage, OAuth 2.0 Authorization Servers, and webhook targets.Tyk Gateway can now apply proxy settings from standard environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) or use the new granular configuration options. All existing configuration methods remain supported, including legacy options such as jwt_ssl_insecure_skip_verify and http_proxy.Gateway Certificate Expiry Notification Events
Gateway Certificate Expiry Notification Events
CertificateExpiringSoon- Generated when a certificate is used in an API request (either client-to-Gateway or Gateway-to-upstream) within a configurable time period of its expiry dateCertificateExpired- Generated when an attempt is made to use an already expired certificate, in addition to the standard error response sent to the API client
CertificateExpiringSoon event and cooldown parameters are configured in the Gateway configuration:Changed
Fixed
Fixed panic when an unexpected query parameter is provided to the Gateway API
Fixed panic when an unexpected query parameter is provided to the Gateway API
GET /tyk/apis/oas/{id} endpoint could cause a panic.Fixed duplication of version identifier configuration when importing OpenAPI description
Fixed duplication of version identifier configuration when importing OpenAPI description
apiKey security scheme, while using the authentication query parameter, resulted in the unnecessary generation of a header object within the Tyk Vendor Extension (x-tyk-api-gateway), duplicating information already present in the declared OpenAPI security scheme.Fixed mock responses not working with internal API proxying
Fixed mock responses not working with internal API proxying
Base API CORS settings incorrectly applied to child API versions
Base API CORS settings incorrectly applied to child API versions
Fixed Request Body Transform middleware not being applied with regex in URL rewrite
Fixed Request Body Transform middleware not being applied with regex in URL rewrite
Fixed duration format validation errors in Tyk OAS API definitions
Fixed duration format validation errors in Tyk OAS API definitions
Fixed TLS configuration not being applied for Redis rate limiting
Fixed TLS configuration not being applied for Redis rate limiting
HTTP 429 Too Many Requests responses being returned to clients. The rate limiter now correctly establishes TLS connections to Redis.Fixed Gateway crash when deleting APIs with Uptime Test enabled
Fixed Gateway crash when deleting APIs with Uptime Test enabled
Fixed Gateway re-registration failures after restart
Fixed Gateway re-registration failures after restart
Authorization failed (Nonce empty) errors and Gateway crash loops that prevented successful registration.The fix includes an updated license handler with hardened registration logic, enhanced Dashboard authentication retry mechanisms, and support for new “Unlimited Gateway” licenses, ensuring Gateways register reliably without entering failure loops even during heavy churn or rolling upgrades.Fixed body decompression errors with GraphQL APIs when analytics is enabled
Fixed body decompression errors with GraphQL APIs when analytics is enabled
Body decompression error: EOF log messages when analytics were enabled for GraphQL APIs. The problem occurred because the Gateway attempted to decompress the response body after it had already been consumed for analytics processing, resulting in End of File (EOF) errors.The Gateway now properly handles response body consumption for GraphQL APIs with analytics, eliminating the spurious error logs.Stricter validation for version name parameter when creating a new child API version
Stricter validation for version name parameter when creating a new child API version
/tyk/apis/oas endpoint without specifying a valid version name (new_version_name). The Gateway API now rejects such requests with an HTTP 422 Unprocessable Entity error, ensuring all versions have meaningful identifiers and preventing the creation of unusable or empty version entries.Fixed inconsistent middleware updates for Tyk OAS API `PATCH` requests
Fixed inconsistent middleware updates for Tyk OAS API `PATCH` requests
PATCH /tyk/apis/oas/{apiId} did not properly update the Tyk Vendor Extension (x-tyk-api-gateway). When endpoints were removed or modified in the OpenAPI description, their corresponding middleware definitions could persist incorrectly in the vendor extension, leaving the API definition in an inconsistent state.The vendor extension is now correctly rebuilt to reflect all changes made to the OpenAPI description.5.9 Release Notes
5.9.2 Release Notes
Release Date 5th September 2025
Release Highlights
This is a version bump to align with Dashboard v5.9.2, no changes have been implemented in this release. For further information, please see the release notes for Dashboard v5.9.2.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.9.2, please follow the detailed upgrade instructions.Downloads
-
Docker image to pull
-
-
Helm charts
- tyk-charts v4.0.0 Please note that the Tyk Helm Charts are configured to install the LTS version of Tyk Gateway. You will need to modify them to install v5.9.2.
- Source code tarball of Tyk Gateway v5.9.2
Changelog
Since this release was version-bumped only to align with Dashboard v5.9.2, no changes were encountered in this release.5.9.1 Release Notes
Release Date 14th August 2025
Release Highlights
This release restores the stable /hello health-check behavior for Kubernetes probes. Deployments using /hello for liveness or readiness will now behave consistently again. It also fixes a schema compatibility issue in the URL Rewrite middleware, ensuring that API promotion and validation flows no longer fail due to schema mismatches. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.9.1, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
5.9.0 Release Notes
Release Date 4th August 2025
Release Highlights
This release builds on the recent release of Tyk 5.8.3, adding a collection of new capabilities. For a comprehensive list of changes, please refer to the detailed changelog.Accept JSON Web Tokens (JWTs) Issued By Multiple Identity Providers
Tyk can now validate JWTs against multiple JSON Web Key Set (JWKS) endpoints, allowing you to use different IdPs to issue JWTs for the same API. Previously, we supported only a single JWKS endpoint in thesource field, but now you can register multiple JWKS endpoints in the Tyk OAS API definition.
When a request is received bearing a JWT, Tyk will retrieve JWKS from all registered IdPs to check the token’s validity, for full details of how to use this powerful feature see the improved JWT Authentication section.
Please note that this functionality is not available for Tyk Classic APIs.
Compatibility with Valkey
Tyk is now fully compatible with Valkey, the open-source (BSD) high-performance key/value datastore backed by the Linux Foundation, as an alternative to Redis.Enhancements to Tyk Streams for Enterprise Edition
We’ve added support for additional processors, inputs and outputs for Tyk Streams event driven APIs, extending the flexibility of this powerful feature.Breaking Changes
1. Modified/hello endpoint behavior affects kubernetes deployments
In Tyk Gateway version 5.9.0, we introduced a breaking change to the /hello health check endpoint behavior. Previously, this endpoint would always return HTTP 200 during normal operations, regardless of Redis connectivity. The change made the endpoint return HTTP 503 when Redis was unavailable (which shouldn’t be the case), which caused issues for Kubernetes deployments using this endpoint for liveness probes.
Impact
- Kubernetes pods may be unnecessarily terminated when Redis becomes temporarily unavailable
- Deployments using
/hellofor both liveness and readiness probes experience disruption - This contradicts the documented behavior that the Gateway continues functioning when Redis is unavailable
Expected Fix Version
This issue will be fixed in Tyk Gateway version 5.9.1, where we will:- Revert the
/helloendpoint to its pre-5.8.3 behavior (always return HTTP 200 during normal operations) - Ensure backward compatibility for existing Kubernetes deployments
negate field
A breaking change has been identified in Tyk 5.9.0 regarding URL rewrite rules. The negate field, which was optional in previous versions, is now mandatory in all URL rewrite rule configurations.
What Changed
In Tyk 5.8.2 and earlier, thenegate field in URL rewrite rules included an omitempty tag, making it optional in JSON. If not provided, it would default to false
In Tyk 5.9.0, this omitempty tag has been removed, making the negate field mandatory in all URL rewrite rule configurations.
Impact
API definitions that worked in Tyk 5.8.2 will fail validation in Tyk 5.9.0 if they contain URL rewrite rules without an explicit negate field. This may cause API updates, or promotion between environments failures between environments with error messages similar to:Workarounds
When using Tyk 5.9.0, you must explicitly include the negate field in all URL rewrite rules:Expected fix version
This issue will be fixed in Tyk 5.9.1, where we’re going to make negate field optional again.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.9.0, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Valkey Database Compatibility
Valkey Database Compatibility
Authenticate with Multiple JWKS Providers
Authenticate with Multiple JWKS Providers
jwksURIs array in the JWT Auth securityScheme. This will take precedence over the existing source field, and existing API definitions will be automatically migrated to use the new field, while maintaining backward compatibility in case of rollback.Added GraphQL subscription support for upstream SSE servers that require the POST method
Added GraphQL subscription support for upstream SSE servers that require the POST method
POST requests instead of GET, addressing compatibility issues with upstream servers that require POST. We’ve added a new option proxy.sse_use_post which can be set if proxy.subscription_type=sse to cause Tyk to issue POST requests. This allows for larger subscription payloads and keeps the subscription payload out of the URL.Added AMQP and MQTT as Input/Output Methods for Tyk Streams APIs
Added AMQP and MQTT as Input/Output Methods for Tyk Streams APIs
Added Bloblang as a Processor for Tyk Streams APIs
Added Bloblang as a Processor for Tyk Streams APIs
Added KeyID to Tyk Protobufs
Added KeyID to Tyk Protobufs
KeyID field to the coprocess SessionState proto, allowing gRPC plugins to access it and aligning it with the Go SessionState struct. This enables full feature parity for custom authentication and session management in gRPC plugins.Changed
5.8 Release Notes
5.8.15 Release Notes
Release Date 30 June 2026
Release Highlights
This patch implements several changes and fixes to improve the stability and correct the behavior of the Gateway. The default content of application logs has been updated with RFC3339 format timestamp and consistent formatting with other components. This could be a breaking change for any user whose tooling relies on the specific content of application logs. A legacy mode is available, as described below. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
Changes to application logs This release makes changes to the format of Tyk Gateway application logs so that output is consistent with other Tyk components and aligned with industry observability standards.legacy option has been added to the log_format configuration. This setting preserves the format used prior to Tyk Gateway 5.8.15, with the historical timestamp format and lack of a field identifying for the originating API.
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.15, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Standardized application log format
Standardized application log format
- RFC3339 timestamps: Log entries now consistently use the industry-standard RFC3339 timestamp format (e.g.
2024-12-12T13:59:08Z), previously a mix of timestamp formats was used.
log_format configuration option now accepts three explicit values:text: plain-text logs in the new format introduced in this release (new default).json: JSON logs in the new format.legacy: preserves the format used prior to Gateway 5.8.15, with the historical timestamp format.
log_format to legacy.Fixed issues with logging of HTTP 404 errors
Fixed issues with logging of HTTP 404 errors
control_api_port, requests to the proxy/data API port that did not match any configured API (generating an HTTP 404 response) were silently dropped: no log entry was generated even with track_404_logs enabled. This has been fixed; 404 logs are now correctly emitted for unmatched requests on all listening ports.Additionally, a host field has been added to 404 log entries (when using text or json log_format). This records the Host header from the request, allowing users to distinguish whether the unmatched request was directed at the proxy API or the control API.Fixed unbounded memory growth with CoProcess plugins and large sessions
Fixed unbounded memory growth with CoProcess plugins and large sessions
GOMAXPROCS with the container’s CPU quota at startup.This fix introduces the following new configuration options:regexp_cache_max_entriescaps the regular-expression cache (default:5000)disable_regexp_cache_boundrestores the previous unbounded behaviour for deployments with a naturally limited set of patterns (default:false)disable_auto_max_procsrestores the previous default behavior of GOMAXPROCS (default:false)
Fixed Gateway crash under high authentication load
Fixed Gateway crash under high authentication load
concurrent map iteration and map write panic. This caused unexpected pod restarts, in-flight request loss, and intermittent cluster instability.This has been fixed. The temporary workaround of enabling the local session cache (disable_cached_session_state: false) is no longer required.Fixed issues with the use of short API keys
Fixed issues with the use of short API keys
min_token_length configuration is intended to prevent the use of API tokens (keys) that are insecure due to their length. All tokens presented during a request to an API are checked against this value and immediately rejected with HTTP 403 if shorter than the configured minimum length.Previously, a token with length equal to min_token_length would be rejected with HTTP 403, which is non-intuitive and can lead to wasted debugging time.Also, it was possible to create a custom key shorter than the configured minimum length. The Session would be created, but the key would be unusable as any attempt to use it in a request would be rejected due to the token’s length.Now, tokens with length exactly equal to min_token_length are correctly accepted and an attempt to create a custom key shorter than min_token_length fails immediately with a 400 Bad Request.Fixed GraphQL API authentication headers not being forwarded upstream
Fixed GraphQL API authentication headers not being forwarded upstream
strip_auth_data set to false, the client’s authentication header (for example Authorization, or a custom header such as X-API-KEY) was not forwarded to the upstream service. This affected all GraphQL execution modes (proxy-only (including WebSocket subscriptions), subgraph, Universal Data Graph, and supergraph) leaving upstream services that require the header unable to authenticate the request.The active authentication method’s header is now propagated upstream across all execution modes, with only the active method’s header forwarded. In addition, upstream WebSocket connections for subscriptions are no longer reused across clients presenting different credentials, so each subscription carries its own authentication header, and one client’s token can no longer leak to another. When strip_auth_data is true, no authentication headers are forwarded, as before.Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Fixed a change in behavior of health endpoints for Control Plane Gateway when Redis goes down
Fixed a race condition when using enforced timeouts on multiple paths
Fixed a race condition when using enforced timeouts on multiple paths
proxy_default_timeout. A side effect of this fix was to uncover a race condition seen when an API has multiple endpoints with different enforced timeouts. The Gateway could incorrectly set the request timeout for all endpoint paths based on the first request received. This has now been resolved and requests to each endpoint are assigned the expected timeout.Security Fixes
Resolved CVEs
Resolved CVEs
- CVE-2026-39830
- CVE-2026-39831
- CVE-2026-39833
- CVE-2026-42508
- CVE-2026-46595
- CVE-2026-39821
- CVE-2026-39829
- CVE-2026-42504
- CVE-2026-39832
- CVE-2026-39834
- CVE-2026-46597
- CVE-2026-25680
- CVE-2026-25681
- CVE-2026-27136
- CVE-2026-39827
- CVE-2026-39828
- CVE-2026-39835
- CVE-2026-42502
- CVE-2026-42506
- CVE-2026-46598
- CVE-2026-42507
- CVE-2026-27145
- CVE-2026-41889
- CVE-2026-39824
- GHSA-j88v-2chj-qfwx
5.8.14 Release Notes
Release Date 21 May 2026
Release Highlights
This patch implements several changes and fixes to improve the stability and correct the behavior of the Gateway. The default minimum and maximum TLS versions are now inherited directly from the underlying Go library, ensuring that Tyk users will benefit from best practice. If non-standard defaults are required, these must be deliberately configured. We have fixed an issue that was preventing CORS preflight checks from running properly if an allow list was in use and various other issues in observability, internal looping, and Gateway stability. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
Default maximum and minimum TLS versions are now inherited from the underlying Golang library and so will be TLS 1.3 and TLS 1.2 respectively (previously were both set to TLS 1.2). You must set http_server_options.max_version (or the equivalent environment variable) to771 if you require an upper limit of TLS 1.2.
See here for details how to control TLS version and cipher suites.
Query parameters from original request are no longer automatically preserved when looping using tyk:// protocol)
We have fixed an inconsistent behavior when using the URL rewrite middleware to loop requests using the Tyk protocol (tyk://api-id/path).
Previously, query parameters added to the rewrite_to URL were silently dropped, while original request parameters were automatically preserved in the looped request.
This behavior was inconsistent with standard HTTP URL rewrites and prevented proper parameter transformation during internal API routing.
Impact
- Original request query parameters are no longer automatically forwarded through internal loops
- Existing URL rewrite configurations may lose query parameters that were previously passed through automatically
- APIs relying on automatic parameter forwarding will receive incomplete requests
- Before:
"rewrite_to": "tyk://api-123/endpoint"(original params auto-forwarded) - After:
"rewrite_to": "tyk://api-123/endpoint?param1=$tyk_context.request_data.param1"
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.14, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed log level for client TLS certificate requirement errors
Fixed log level for client TLS certificate requirement errors
warning level, creating unnecessary noise in production logs.Previously, these common client-side authentication failures generated excessive warning-level log entries that could trigger false alerts and obscure more critical issues. The Gateway now logs these authentication failures at info level, maintaining security visibility while reducing log noise and alert fatigue for operations teams.Fixed malformed responses from Go plugins returning error status codes
Fixed malformed responses from Go plugins returning error status codes
Fixed query parameter handling when routing requests internally using tyk:// scheme
Fixed query parameter handling when routing requests internally using tyk:// scheme
tyk:// scheme. Previously, custom query parameters specified in the rewrite_to URL were silently dropped, while original request parameters were unexpectedly preserved.What’s Fixed:- Query parameters explicitly added to
rewrite_toURLs are now correctly passed to target APIs - Control parameters (
method,loop_limit,check_limits) are properly consumed and removed - Behavior now matches URL rewrites using
http://protocol
rewrite_to URL.Fixed client mTLS authentication between Tyk Gateways
Fixed client mTLS authentication between Tyk Gateways
HTTP 403 Forbidden: Client TLS certificate is required errors.The Gateway now reliably presents the configured upstream client certificate whenever requested by the target server, ensuring seamless mTLS communication between APIs hosted on different Tyk Gateways.Inherit Maximum (1.3) and Minimum (1.2) TLS Versions from Go
Inherit Maximum (1.3) and Minimum (1.2) TLS Versions from Go
Fixed CORS preflight blocking by AllowList middleware
Fixed CORS preflight blocking by AllowList middleware
options_passthrough was disabled.Previously, when APIs had CORS enabled with Tyk handling OPTIONS requests internally (options_passthrough: false), preflight requests would fail AllowList validation because users typically don’t explicitly define OPTIONS endpoints in their AllowList configurations, causing “Requested endpoint is forbidden” errors.The Tyk Gateway now properly recognizes CORS preflight requests and allows them to bypass AllowList middleware checks when Tyk is configured to handle OPTIONS internally, restoring the expected behavior where CORS preflight handling works automatically without requiring explicit OPTIONS endpoint definitions.Fixed analytics generation for Tyk OAS API mock endpoints
Fixed analytics generation for Tyk OAS API mock endpoints
Fixed OpenTelemetry configuration file settings being ignored
Fixed OpenTelemetry configuration file settings being ignored
tyk.conf).Now OpenTelemetry can be configured via the opentelemetry section in the Gateway config file (including enabled, exporter, and endpoint fields) or their equivalent environment variables.Resolved issue with Gateway entering an unresponsive state during startup
Resolved issue with Gateway entering an unresponsive state during startup
Fixed error response format for SOAP+XML requests
Fixed error response format for SOAP+XML requests
application/soap+xml Content-Type received JSON-formatted error responses instead of the expected XML format. The Gateway now correctly returns XML-formatted errors for SOAP requests.Resolved Gateway registration failures at scale with Unlimited Node licenses
Resolved Gateway registration failures at scale with Unlimited Node licenses
409 Conflict responses could leave Gateways stuck in registration loops without the credentials needed to serve traffic.Gateway registration is now significantly more robust at scale: registration requests are no longer serialized across the fleet, Gateways recover cleanly from transient 409 Conflict responses instead of looping, and the Redis load generated during registration storms is substantially reduced.A dedicated fix for limited node license deployments will be provided in an upcoming release.Fixed memory issue and unintended rate limit reset in distributed rate limiting
Fixed memory issue and unintended rate limit reset in distributed rate limiting
Security Fixes
Resolved CVEs
Resolved CVEs
5.8.13 Release Notes
Release Date 22 April 2026
Release Highlights
Tyk Gateway has been updated to Go 1.25 and Debian 13 (Trixie) for enhanced security and performance, including updated FIPS-compliant images. This release addresses multiple CVEs in dependent libraries and resolves a path matching inconsistency for Tyk OAS APIs. It also resurrects two fixes that have been missing since Tyk 5.8.6. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this releaseDependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
No deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.13, please follow the detailed upgrade instructions.Downloads
Changelog
Changed
Updated Go version to 1.25
Updated Go version to 1.25
Update Docker images to Debian 13 (Trixie)
Update Docker images to Debian 13 (Trixie)
Fixed
Fixed path matching inconsistency for Tyk OAS APIs
Fixed path matching inconsistency for Tyk OAS APIs
Security Fixes
CVE fixed
CVE fixed
5.8.12 Release Notes
Release Date 11 March 2026
Release Highlights
In this release, we have fixed some discrepancies in the path matching decision making for different middleware when using Tyk OAS APIs. This corrects a number of unexpected behaviors and ensures consistent application of the expected transformations and checks to API requests. We have also addressed several issues that improve API reliability, observability, and user experience. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
A change has been made to improve security of the Auth Token + Dynamic mTLS method for securing access to APIs deployed on Tyk. This removes the option to authenticate using only the auth token and enforces the mTLS handshake. Previously API clients could authenticate without presenting the client certificate or holding the client’s private key. For any user relying on that behavior, we have added a new Gateway configuration option:allow_unsafe_dynamic_mtls_token. Unless deliberately configured in the config file or environment, this is set to false to ensure that Tyk is secure by default.
Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
No deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.12, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed Path Matching Inconsistencies Between Classic and OAS API Middleware
Fixed Path Matching Inconsistencies Between Classic and OAS API Middleware
- some subpaths, for example the middleware configured for
/userswould not execute for/users/123 - some child API versions
- wildcard regexes in paths
- root paths
Improved JWKS Error Messaging for Faster JWT Troubleshooting
Improved JWKS Error Messaging for Faster JWT Troubleshooting
Fixed Gateway Panic if HashiCorp Vault Path Not Found
Fixed Gateway Panic if HashiCorp Vault Path Not Found
Fixed Incomplete Validation of Multi-Value Request Headers
Fixed Incomplete Validation of Multi-Value Request Headers
Fixed API Routing Issues with Custom Domains and Similar Listen Paths
Fixed API Routing Issues with Custom Domains and Similar Listen Paths
HTTP 404 Not Found errors depending on custom domain settings, with differing behavior between Tyk OAS and Tyk Classic APIs. Previously, when APIs had similar listen path prefixes (e.g., /caa and /caas2itsamu0456w2ayl9), the Gateway’s routing logic would incorrectly match requests, causing legitimate API calls to fail. The issue affected Tyk OAS APIs when custom domains were disabled, and Tyk Classic APIs when they were enabled.The Gateway now properly sorts and matches API specifications by listen path length, while correctly considering domain configuration options, ensuring all APIs are accessible via their configured paths regardless of custom domain settings or API type.Fixed Missing Request Duration Logging for Gateway Error Responses
Fixed Missing Request Duration Logging for Gateway Error Responses
HTTP 504 Gateway Timeout, HTTP 499 Client Closed Request, and HTTP 500 Internal Server Error, creating gaps in API observability and monitoring. Previously, these error responses were hardcoded with zero-latency values, making it impossible to determine the actual processing time, gateway saturation, or connection utilization for failed requests.The Gateway now accurately calculates and logs the actual request duration from start to error occurrence for all error responses, providing complete timing visibility across successful and failed API requests. This enhancement improves observability for performance monitoring, capacity planning, and troubleshooting workflows.Fixed Missing Identity Source in OTEL Traces for JWT Protected APIs
Fixed Missing Identity Source in OTEL Traces for JWT Protected APIs
Fixed Intermittent NewRelic Tracing
Fixed Intermittent NewRelic Tracing
Fixed Incorrect X-RateLimit-Reset Timestamp
Fixed Incorrect X-RateLimit-Reset Timestamp
X-RateLimit-Reset header showed an incorrect timestamp in the response to the first API request after rate limit or quota counter initialization. Previously, when quota windows expired and were reset within the distributed lock, the Gateway would return stale timing information in the first response.The Gateway now properly synchronizes its internal timer with the storage backend during quota window resets, ensuring that X-RateLimit-Reset headers accurately reflect the correct expiration time from the very first response.Fixed OpenAPI multipleOf Validation for Floating-Point Numbers
Fixed OpenAPI multipleOf Validation for Floating-Point Numbers
Fixed SSL Certificate Loading from MDCB During Gateway Startup
Fixed SSL Certificate Loading from MDCB During Gateway Startup
Security Fixes
Fixed Security Vulnerability in Dynamic mTLS Authentication
Fixed Security Vulnerability in Dynamic mTLS Authentication
allow_unsafe_dynamic_mtls_token has been added for any users relying on the legacy behavior. This defaults to false.A new Gateway configuration option allow_unsafe_dynamic_mtls_token has been added for backward compatibility, but defaults to false to ensure secure behavior. When enabled, this option restores the previous (insecure) behavior of accepting token-only authentication for APIs secured with Auth Token + Dynamic mTLS.5.8.11 Release Notes
Release Date 12 February 2026
Release Highlights
In this release, we have resolved a performance issue with bundle verification that significantly impacted resource consumption when using plugin bundles, and we have fixed some priority CVEs. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
No deprications in this release.Upgrade instructions
If you are upgrading to 5.8.11, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Optimized Bundle Verification to Reduce Memory Consumption
Optimized Bundle Verification to Reduce Memory Consumption
skip_verify_existing_plugin_bundle that allows you to skip cryptographic verification when loading signed plugin bundles from disk. When set to true, this option reduces the performance overhead for environments with large numbers of APIs using signed bundles, while still maintaining security by validating signatures during the initial bundle download.Note: This option only affects signed bundles loaded from disk. Unsigned bundles and initial downloads will continue to follow standard verification procedures.Security Fixes
CVE fixed
CVE fixed
5.8.10 Release Notes
Release Date 23 December 2025
Release Highlights
This patch release addresses a CVE present in 5.8.9 and fixes an issue where API keys remained active when set to inactive status. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
In this release we’ve deprecated the policies.allow_explicit_policy_id configuration option. This was previously added to allow the use of custom policy IDs, which is now the default behaviour so this option is redundant.Upgrade instructions
If you are upgrading to 5.8.10, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed: API Keys Remain Active When Set to Inactive Status
Fixed: API Keys Remain Active When Set to Inactive Status
Security Fixes
CVE fixed
CVE fixed
5.8.9 Release Notes
Release Date 12 December 2025
Release Highlights
This patch release contains various bug fixes and introduces enhanced DNS monitoring for MDCB deployments. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
In this release we’ve deprecated the policies.allow_explicit_policy_id configuration option. This was previously added to allow the use of custom policy IDs, which is now the default behaviour so this option is redundant.Upgrade instructions
If you are upgrading to 5.8.9, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Background DNS Monitor for Faster MDCB Endpoint Failover
Background DNS Monitor for Faster MDCB Endpoint Failover
slave_options.dns_monitor configuration.Fixed
Fixed JWT Authentication Panic in MDCB Emergency Mode
Fixed JWT Authentication Panic in MDCB Emergency Mode
Resolved Panic Triggered by DRL Updates in Mixed Rate-Limiter Environments
Resolved Panic Triggered by DRL Updates in Mixed Rate-Limiter Environments
Removed Redundant Boolean Enums from OpenAPI Specification
Removed Redundant Boolean Enums from OpenAPI Specification
Fixed Data Plane Startup Process To Handle MDCB Failure
Fixed Data Plane Startup Process To Handle MDCB Failure
Fixed OAuth Client Key Retrieval Delays in JWT APIs on Hybrid Gateways
Fixed OAuth Client Key Retrieval Delays in JWT APIs on Hybrid Gateways
Corrected mTLS Certificate Advertising for RFC-Compliant Clients
Corrected mTLS Certificate Advertising for RFC-Compliant Clients
Apache mod_ssl while maintaining backward compatibility with existing configurations.Fixed JSON Formatter Failures with Large Numeric Error Values
Fixed JSON Formatter Failures with Large Numeric Error Values
Reduced RPC Retry Delays by Improving DNS Change Detection
Reduced RPC Retry Delays by Improving DNS Change Detection
5.8.8 Release Notes
Release Date 20th November 2025
Release Highlights
This patch release fixes some high-priority CVEs. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.8, please follow the detailed upgrade instructions.Downloads
Changelog
Security Fixes
CVE fixed
CVE fixed
5.8.7 Release Notes
Release Date 29 October 2025
Release Highlights
This patch release contains various bug fixes. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.7, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed Custom Authentication fallback when custom plugin bundle is disabled
Fixed Custom Authentication fallback when custom plugin bundle is disabled
HTTP 500 Internal Server Error to prevent access to an improperly configured endpoint.Fixed Gateway panic when handling unexpected query parameters
Fixed Gateway panic when handling unexpected query parameters
GET /tyk/apis/oas/{apiID} endpoint could cause a panic instead of returning a proper HTTP 400 Bad Request response. The Gateway now handles unexpected query parameters gracefully without crashing, improving system stability and providing appropriate error responses to clients.Fixed issue with invalid or missing bundle manifests
Fixed issue with invalid or missing bundle manifests
Fixed JWT key activation when toggling default policy from draft to active
Fixed JWT key activation when toggling default policy from draft to active
draft to active status. When an access key/token is presented to Tyk in a request, policies linked to the key will be applied, configuring the authorization for that request. If any policy is in draft state, the key will be rejected.Toggling the policy to the active state should activate any keys to which the policy is applied. Previously, if the policy had never been applied when it was in draft state, there was an issue where keys would incorrectly be marked as inactive. This has now been resolved, and the policy state is correctly mapped to keys.Added new configuration option for limiting response body size
Added new configuration option for limiting response body size
HTTP 500 Response Body Too Large instead of attempting to process the oversized content.Fixed plugin loading failure errors being ignored for gRPC, Python, and Lua plugins
Fixed plugin loading failure errors being ignored for gRPC, Python, and Lua plugins
HTTP 500 Internal Server Error when any plugin fails to load, ensuring consistent behavior across all plugin types.Improved path handling during bundle decompression.
Improved path handling during bundle decompression.
Fixed random version selection when `not_versioned` is set to true
Fixed random version selection when `not_versioned` is set to true
- Contain a single entry in
version_data.versionswith the API configuration. - Have the
version_data.not_versionedflag set totrue.
version_data.versions array while not_versioned was set to true, the Gateway would randomly select one of those versions to process incoming requests.New behavior:When version_data.not_versioned is set to true and multiple versions are present, Tyk now deterministically selects the configuration for the default version instead of picking one at random.Tyk determines the default version as follows:- First, it looks for an entry named
"Default". - If not found, it checks for
"default". - If neither exists, it checks for an entry with an empty string key (
""). - If none of these are found, Tyk returns an error, indicating a misconfigured non-versioned API.
Fixed inappropriate warning logs for mock response requests
Fixed inappropriate warning logs for mock response requests
session not found, sending inappropriate rate-limit headers in the Gateway system logs.This warning was introduced incorrectly and caused confusion, as mock responses don’t require session objects by design. The Gateway now returns to the previous behavior where mock response requests execute without generating spurious warning messages, reducing log noise.Fixed Data Plane Gateway hanging when MDCB connection is lost
Fixed Data Plane Gateway hanging when MDCB connection is lost
TYK_GW_ENFORCEORGQUOTAS was not set. If the Organisation quota cache expired before the Gateway performed a health check, the Gateway could hang.From this release, the Gateway does not check the Organisation quota cache if this is not set. For users relying on Organisation quotas (setting TYK_GW_ENFORCEORGQUOTAS=true), the scenario is different and the lock does not occur.5.8.6 Release Notes
Release Date 25th September 2025
Release Highlights
This patch release contains various bug fixes. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.6, please follow the detailed upgrade instructions.Downloads
Changelog
Changed
Fixed
Fixed body decompression errors with GraphQL APIs when analytics is enabled
Fixed body decompression errors with GraphQL APIs when analytics is enabled
Body decompression error: EOF log messages when analytics were enabled for GraphQL APIs. The problem occurred because the Gateway attempted to decompress the response body after it had already been consumed for analytics processing, resulting in EOF (End of File) errors. The Gateway now correctly handles response body consumption for GraphQL APIs with analytics, eliminating the spurious error logs.Fixed Gateway re-registration failures after restart
Fixed Gateway re-registration failures after restart
Authorization failed (Nonce empty) errors and Gateway crash loops that prevented successful registration. The fix includes an updated license handler with hardened registration logic, enhanced Dashboard authentication retry mechanisms, and support for new “Unlimited Gateway” licenses, ensuring Gateways register reliably without entering failure loops even during heavy churn or rolling upgrades.Fixed Gateway crash when deleting APIs with Uptime Test enabled
Fixed Gateway crash when deleting APIs with Uptime Test enabled
Fixed TLS configuration not being applied for Redis rate limiting
Fixed TLS configuration not being applied for Redis rate limiting
HTTP 429 Too Many Requests responses being returned to clients. The rate limiter now correctly establishes TLS connections to Redis.Fixed Request Body Transform middleware not being applied with regex in URL rewrite
Fixed Request Body Transform middleware not being applied with regex in URL rewrite
Base API CORS settings incorrectly applied to child API versions
Base API CORS settings incorrectly applied to child API versions
Fixed mock responses not working with internal API proxying
Fixed mock responses not working with internal API proxying
Fixed duplication of version identifier configuration when importing OpenAPI description
Fixed duplication of version identifier configuration when importing OpenAPI description
apiKey security scheme, while using the authentication query parameter, resulted in the unnecessary generation of a header object within the Tyk Vendor Extension (x-tyk-api-gateway), duplicating information already present in the declared OpenAPI security scheme.Fixed duration format validation errors in Tyk OAS API definitions
Fixed duration format validation errors in Tyk OAS API definitions
Stricter validation for version name parameter when creating a new child API version
Stricter validation for version name parameter when creating a new child API version
/tyk/apis/oas endpoint without specifying a valid version name (new_version_name). The Gateway API now rejects such requests with an HTTP 422 Unprocessable Entity error, ensuring all versions have meaningful identifiers and preventing the creation of unusable or empty version entries.Fixed inconsistent middleware updates for Tyk OAS API `PATCH` requests
Fixed inconsistent middleware updates for Tyk OAS API `PATCH` requests
PATCH /tyk/apis/oas/{apiId} did not properly update the Tyk Vendor Extension (x-tyk-api-gateway). When endpoints were removed or modified in the OpenAPI description, their corresponding middleware definitions could persist incorrectly in the vendor extension, leaving the API definition in an inconsistent state. The vendor extension is now correctly rebuilt to reflect all changes made to the OpenAPI description.5.8.5 Release Notes
Release Date 18th August 2025
Release Highlights
Gateway 5.8.5 was version bumped only to align with Dashboard 5.8.5. Subsequently, no changes were encountered in release 5.8.5. For further information, please see the release notes for Dashboard v5.8.5.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.5, please follow the detailed upgrade instructions.Downloads
Changelog
Since this release was version-bumped only to align with Dashboard v5.8.5, no changes were encountered in this release.5.8.4 Release Notes
Release Date 13th August 2025
Release Highlights
This release restores the stable /hello health-check behavior for Kubernetes probes. Deployments using /hello for liveness or readiness will now behave consistently again. It also fixes a schema compatibility issue in the URL Rewrite middleware, ensuring that API promotion and validation flows no longer fail due to schema mismatches. For a comprehensive list of changes, please refer to the detailed changelog.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.4, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
5.8.3 Release Notes
Release Date 15th July 2025
Release Highlights
This patch release contains various bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
1. Modified/hello endpoint behavior affects kubernetes deployments
In Tyk Gateway version 5.8.3, we introduced a breaking change to the /hello health check endpoint behavior. Previously, this endpoint would always return HTTP 200 during normal operations, regardless of Redis connectivity. The change made the endpoint return HTTP 503 when Redis was unavailable (which shouldn’t be the case), which caused issues for Kubernetes deployments using this endpoint for liveness probes.
Impact
- Kubernetes pods may be unnecessarily terminated when Redis becomes temporarily unavailable
- Deployments using
/hellofor both liveness and readiness probes experience disruption - This contradicts the documented behavior that the Gateway continues functioning when Redis is unavailable
Expected Fix Version
This issue will be fixed in Tyk Gateway version 5.8.4, where we will:- Revert the
/helloendpoint to its pre-5.8.3 behavior (always return HTTP 200 during normal operations) - Ensure backward compatibility for existing Kubernetes deployments
negate field
A breaking change has been identified in Tyk 5.8.3 regarding URL rewrite rules. The negate field, which was optional in previous versions, is now mandatory in all URL rewrite rule configurations.
What Changed
In Tyk 5.8.2 and earlier, thenegate field in URL rewrite rules included an omitempty tag, making it optional in JSON. If not provided, it would default to false
In Tyk 5.8.3, this omitempty tag has been removed, making the negate field mandatory in all URL rewrite rule configurations.
Impact
API definitions that worked in Tyk 5.8.2 will fail validation in Tyk 5.8.3 if they contain URL rewrite rules without an explicit negate field. This may cause API updates, or promotion between environments failures between environments with error messages similar to:Workarounds
When using Tyk 5.8.3, you must explicitly include the negate field in all URL rewrite rules:Expected fix version
This issue will be fixed in Tyk 5.8.4, where we’re going to make negate field optional again.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.3, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Fixed
Load Balance Between gRPC Plugin Servers
Load Balance Between gRPC Plugin Servers
dns:/// protocol for load balancing when using gRPC plugins. Setting the new configuration option TYK_GW_COPROCESSOPTIONS_GRPCROUNDROBINLOADBALANCING to true will cause Tyk to balance the load between multiple gRPC servers; the default behavior (false) is to use a sticky connection to a single server.Restored TLS 1.2 Cipher Suite Support
Restored TLS 1.2 Cipher Suite Support
Calling Invalid Stream API Endpoint Now Returns HTTP 404
Calling Invalid Stream API Endpoint Now Returns HTTP 404
HTTP 500 when calling an invalid path on a streams API and will instead return HTTP 404 as expected.Reliable GraphQL Proxying for Interface Arguments
Reliable GraphQL Proxying for Interface Arguments
Resolved Repeated “Unsupported Protocol Scheme” Errors
Resolved Repeated “Unsupported Protocol Scheme” Errors
Stability Fixes for GraphQL Subscriptions and Kafka Messaging
Stability Fixes for GraphQL Subscriptions and Kafka Messaging
Removed Unnecessary Garbage Collection When Deleting Tyk Streams API
Removed Unnecessary Garbage Collection When Deleting Tyk Streams API
Detailed Traffic Logs Missing Payload
Detailed Traffic Logs Missing Payload
Content-Type "application/x-www-form-urlencoded"Transfer-Encoding: chunked
Reliable SSE and WebSocket Streaming for Browser Clients
Reliable SSE and WebSocket Streaming for Browser Clients
Tyk OAS API Definition Wasn't Accessible From Response Plugins
Tyk OAS API Definition Wasn't Accessible From Response Plugins
ctx.GetOASDefinition(req) function not consistently returning the proper OpenAPI Specification (OAS).5.8.2 Release Notes
Release Date 1st July 2025
Release Highlights
This patch release contains fixes to some bugs experienced when using MDCB and distributed data planes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.2, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
More Resilient RPC Connections During DNS Changes
More Resilient RPC Connections During DNS Changes
Resolved MDCB Policy Sync Issue Caused by RPC Timeouts
Resolved MDCB Policy Sync Issue Caused by RPC Timeouts
5.8.1 Release Notes
Release Date 9 May 2025
Release Highlights
This patch release contains various bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.1, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Fixed Inconsistent Context Behavior in UDG APIs
Fixed Inconsistent Context Behavior in UDG APIs
Improved Route Matching Logic for API Requests
Improved Route Matching Logic for API Requests
/path/{param}/endpoint and API2 has listen path /path/specific/endpoint a request to /path/specific/endpoint/resource will be correctly routed to API2.Resolved Issue With Default Enforced Request Timeout
Resolved Issue With Default Enforced Request Timeout
Fixed Issue With Tyk Self-Managed Gateways Claiming Licenses
Fixed Issue With Tyk Self-Managed Gateways Claiming Licenses
Resolved merging issue in field-based policy permissions
Resolved merging issue in field-based policy permissions
allowed_types from multiple policies were incorrectly merged using intersection logic. Policies now correctly merge fields to allow access to any fields listed across the applied policies.5.8.0 Release Notes
Release Date 28 March 2025
Release Highlights
With Tyk 5.8.0 we are delighted to unlock the power and flexibility of Tyk OAS for all users, with full feature parity with the legacy Tyk Classic API definition. We are also bringing other updates and improvements, delivering more control, flexibility, and performance. For a comprehensive list of changes, please refer to the detailed changelog below.Full support for Gateway configuration using Tyk OAS
We have completed the journey with Tyk OAS that started in Tyk 4.1 - and now anything that you can configure using the Tyk Classic API definition is also available in the Tyk OAS API definition. Tyk OAS is now the recommended API style for all REST services, with Tyk Classic recommended for use only for GraphQL and TCP services. With Tyk OAS we combine the industry standard OpenAPI description with the Tyk Vendor Extension, which encapsulates all of the Tyk Gateway settings that cannot be inferred from the OpenAPI Specification (OAS). You can keep your service description (OAS) as source of truth and update the OpenAPI description part of a Tyk OAS API independently from the Tyk Vendor Extension - no need to unpick distributed vendor extensions from your OAS. For more details, please see the documentation.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.8.0, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Tyk OAS Feature Parity
Tyk OAS Feature Parity
- IP access control
- API-Level request size limit
- API-level ignore endpoint case
- Skip rate limit middleware
- Skip quota middleware
- Skip quota reset on key creation
- Custom analytics tags
- Custom analytics retention period
- Custom analytics plugins
- Preserve client Host header
- Gateway HTTP settings
- Upstream uptime testing
- Upstream load balancing
- Upstream SSL configuration
- Upstream authentication: HMAC request signing
- Event handling: custom JS handler
- Event handling: custom log Handler
- Batch requests
Transaction Logs for Better API Request Visibility
Transaction Logs for Better API Request Visibility
Added GODEBUG Flags for Backward Compatibility with Deprecated Ciphers
Added GODEBUG Flags for Backward Compatibility with Deprecated Ciphers
Changed
Upgraded to Golang 1.23
Upgraded to Golang 1.23
- unbuffered Timer/Ticker channels
- removal of 3DES cipher suites
- updates to X509KeyPair handling.
Support for the Latest JSON Schema Version for Tyk Classic Request Validation
Support for the Latest JSON Schema Version for Tyk Classic Request Validation
Updated Default Configuration for Tyk Operator and Sync Compatibility
Updated Default Configuration for Tyk Operator and Sync Compatibility
Fixed
Resolved API Authentication Issue when Performing Internal Looping using URL Rewrite
Resolved API Authentication Issue when Performing Internal Looping using URL Rewrite
tyk:// protocol. This fix ensures that when API A redirects to API B, authentication with API B will use the method configured for API B, improving access control and preventing access denials. Users can now rely on the expected authentication flow, providing a predictable experience when routing to internal APIs.Reduced False Alarms in Gateway Startup Logging
Reduced False Alarms in Gateway Startup Logging
Resolved gateway not entering "emergency" mode
Resolved gateway not entering "emergency" mode
Optimized ctx.GetOASDefinition() for Improved Performance
Optimized ctx.GetOASDefinition() for Improved Performance
Multi-Value Response Headers in Coprocess Middleware
Multi-Value Response Headers in Coprocess Middleware
Fixed Incorrect OAuth Upstream Flow Selection
Fixed Incorrect OAuth Upstream Flow Selection
5.7 Release Notes
5.7.3 Release Notes
Release Date 05 June 2025
Release Highlights
This patch release contains a bug fix. For a comprehensive list of changes, please refer to the detailed changelog below.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.7.3, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
5.7.2 Release Notes
Release Date 19 February 2025
Release Highlights
This patch release contains a bug fix. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.7.2, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
5.7.1 Release Notes
Release Date 31 December 2024
Release Highlights
This release focuses mainly on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.7.1, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Incomplete traffic logs generated if custom response plugin adjusts the payload length
Incomplete traffic logs generated if custom response plugin adjusts the payload length
Fixed OAuth client creation issue for custom plugin APIs in multi-data plane deployments
Fixed OAuth client creation issue for custom plugin APIs in multi-data plane deployments
Accurate debug logging restored for middleware
Accurate debug logging restored for middleware
Improved Stability for APIs with Malformed Listen Paths
Improved Stability for APIs with Malformed Listen Paths
Fixed Gateway panic and SSE streaming issue with OpenTelemetry
Fixed Gateway panic and SSE streaming issue with OpenTelemetry
API Keys remain active after all linked partitioned policies are deleted
API Keys remain active after all linked partitioned policies are deleted
Fixed Payload Issue with Transfer-Encoding: chunked Header
Fixed Payload Issue with Transfer-Encoding: chunked Header
Fixed an issue where OAuth 2.0 access tokens would not be issued if the data plane was disconnected from the control plane
Fixed an issue where OAuth 2.0 access tokens would not be issued if the data plane was disconnected from the control plane
Tyk Now Supports RSA-PSS Signed JWTs
Tyk Now Supports RSA-PSS Signed JWTs
Request size limit middleware would block any request without a payload (for example GET, DELETE)
Request size limit middleware would block any request without a payload (for example GET, DELETE)
Resolved Variable Input Handling for Custom Scalars in GraphQL Queries
Resolved Variable Input Handling for Custom Scalars in GraphQL Queries
5.7.0 Release Notes
Release Date 03 December 2024
Release Highlights
We are thrilled to announce new updates and improvements in Tyk 5.7.0, bringing more control, flexibility, and performance. For a comprehensive list of changes, please refer to the detailed changelog below.Tyk Streams - asynchronous API management with Tyk
Tyk is now entering the asynchronous API management space with a bang by delivering Tyk Streams to our users! Many API management solutions fail to fully support event-driven architectures, causing fragmented management, inconsistent security practices, and increased operational complexity. With event-driven architectures on the rise recently, keeping everything under control and enforcing standards at the organizational level has become a challenge. Tyk Streams is an event streaming solution available within the Tyk API Management Platform, which applies proven API management principles to simplify event and streams handling. This release brings capabilities to stream data and events using Kafka, Websocket, SSE and HTTP protocols. It also becomes possible to mediate the message format between Avro and JSON on the fly.- Merge together various sources of events to present to consumers as a unified stream.
- Apply authentication and authorization to streams of messages, just as you do for your RESTful APIs
- Expose async APIs via Tyk Portal, so that they are easily discoverable
Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
In 5.7.0, we have deprecated the dedicated External OAuth (Tyk Classic:external_oauth, Tyk OAS: server.authentication.securitySchemes.externalOAuth) and OpenID Connect (Tyk Classic: auth_configs.oidc, Tyk OAS: server.authentication.oidc) authentication methods. We advise users to switch to JWT Authentication.
Upgrade instructions
If you are upgrading to 5.7.0, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Added Stream Analytics Error Handling
Added Stream Analytics Error Handling
Integrated Streams Validator with Streams API
Integrated Streams Validator with Streams API
Extended Streams Configuration Validation
Extended Streams Configuration Validation
New Streams Configuration Validator
New Streams Configuration Validator
Added Logging for Streams
Added Logging for Streams
Simplified Streams Configuration Support
Simplified Streams Configuration Support
Fixed
Resolved HTTP Input Timeout in Tyk Streams
Resolved HTTP Input Timeout in Tyk Streams
Improved backwards compatibility when working with Tyk OAS APIs
Improved backwards compatibility when working with Tyk OAS APIs
Fixed Policy Merge Issue with Path-Based Permissions
Fixed Policy Merge Issue with Path-Based Permissions
Resolved API Routing Issue with Trailing Slashes and Overlapping Listen Paths
Resolved API Routing Issue with Trailing Slashes and Overlapping Listen Paths
Optimized Gateway Handling for Large Payloads
Optimized Gateway Handling for Large Payloads
5.6 Release Notes
5.6.1 Release Notes
Release Date 18 October 2024
Release Highlights
This patch release for Tyk Gateway addresses critical stability issues for users running Tyk Gateway within the data plane, connecting to the control plane or Tyk Hybrid. Affected users should upgrade immediately to version 5.6.1 to avoid service interruptions and ensure reliable operations with the control plane or Tyk Hybrid. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.6.1, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
5.6.0 Release Notes
Release Date 10 October 2024
Date: 12 October 2024
Topic: Gateway panic when reconnecting to MDCB control plane or Tyk Cloud
Workaround: Restart Gateway
Affected Product: Tyk Gateway as an Edge Gateway
Affected versions: v5.6.0, v5.3.6, and v5.0.14
Issue Description:
We have identified an issue affecting Tyk Gateway deployed as a data plane connecting to the Multi-Data Center Bridge (MDCB) control plane or Tyk Cloud. In the above mentioned Gateway versions a panic may occur when gateway reconnect to the control plane after the control plane is restarted.
Our engineering team is actively working on a fix, and a patch (versions 5.6.1, 5.3.7, and 5.0.15) will be released soon.
For users on versions 5.5.0, 5.3.5, and 5.0.13
We advise you to delay upgrading to the affected versions (5.6.0, 5.3.6, or 5.0.14) until the patch is available.For users who have already upgraded to 5.6.0, 5.3.6, or 5.0.14 and are experiencing a panic in the gateway:
Restarting the gateway process will restore it to a healthy state. If you are operating in a Kubernetes environment, Tyk Gateway instance should automatically restart, which ultimately resolves the issue.
We appreciate your understanding and patience as we work to resolve this. Please stay tuned for the upcoming patch release, which will address this issue.
Release Highlights
We are thrilled to announce new updates and improvements in Tyk 5.6.0, bringing more control, flexibility, and performance. For a comprehensive list of changes, please refer to the detailed changelog below.Per endpoint Rate Limiting for clients
Building on the per-endpoint upstream rate limits introduced in Tyk 5.5.0 we have now added per-endpoint client rate limits. This new feature allows for more granular control over client consumption of API resources by associating the rate limit with the access key, enabling you to manage and optimize API usage more effectively.Gateway logs in JSON format
You can now output Tyk Gateway system logs in JSON format. This allows for easier integration with logging systems and more structured log data.Go upgrade to 1.22
We’ve upgraded the Tyk Gateway to Golang 1.22, bringing improved performance, better security, and enhanced stability to the core system.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.6.0, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Changed
Fixed
Data plane gateways sometimes didn't synchronise policies and APIs on start-up
Data plane gateways sometimes didn't synchronise policies and APIs on start-up
Quota wasn't respected under extreme load
Quota wasn't respected under extreme load
Rate limits were incorrectly combined when multiple policies were applied to a key
Rate limits were incorrectly combined when multiple policies were applied to a key
Restored key creation performance to Gateway 4.0.12/4.3.3 levels
Restored key creation performance to Gateway 4.0.12/4.3.3 levels
Security Fixes
5.5 Release Notes
5.5.2 Release Notes
Release Date 03 October 2024
Release Highlights
This release replaces Tyk Gateway 5.5.1 which was accidentally released as a non-distroless image.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.5.2, please follow the detailed upgrade instructions.Downloads
5.5.1 Release Notes
Release Date 26 September 2024
Release Highlights
This release fixes some issues related to the way that Tyk performs URL path matching, introducing two new Gateway configuration options to control path matching strictness. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.5.1, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Fixed
5.5.0 Release Notes
Release Date 12 August 2024
Release Highlights
We are thrilled to introduce Tyk Gateway 5.5, bringing advanced rate-limiting capabilities, enhanced certificate authentication, and performance optimizations. For a comprehensive list of changes, please refer to the changelog below.Per Endpoint Rate Limiting
Now configure rate limits at the endpoint level for both Tyk OAS and Tyk Classic APIs, providing granular protection for upstream services against overloading and abuse.Root CA Support for Client Certificates
Simplify certificate management with support for root Certificate Authority (CA) certificates, enabling clients to authenticate using certificates signed by the configured root CA.Optimised AST Document Handling
Experience improved performance with optimised creation and usage of Abstract Syntax Tree (AST) documents in our GQL library, reducing memory usage and enhancing efficiency.Breaking Changes
Docker images are now based on distroless. No shell is shipped in the image.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.5.0, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Added root CA support for client certificate authentication
Added root CA support for client certificate authentication
Optimised creation and usage of AST documents in GQL library
Optimised creation and usage of AST documents in GQL library
Implemented upstream endpoint rate limits
Implemented upstream endpoint rate limits
Improved handling of requests to non-existent versions of APIs when using URL path versioning
Improved handling of requests to non-existent versions of APIs when using URL path versioning
/v1/my-api) it is common to strip the version identifier (e.g. /v1) from the path before proxying the request to the upstream. If the client doesn’t provide any version identifier this could lead to an invalid target URL and failed requests, rather than correctly redirecting to the default version. We have introduced an optional configuration url_versioning_pattern where you can specify a regex that Tyk will use to identify if the URL contains a version identifier and avoiding the accidental stripping of valid upstream path.Fixed
Fixed an issue where transformation middleware could incorrectly be applied to Tyk OAS API endpoints with nested paths
Fixed an issue where transformation middleware could incorrectly be applied to Tyk OAS API endpoints with nested paths
Optimised key creation process to avoid unnecessary Redis `DeleteRawKey` commands
Optimised key creation process to avoid unnecessary Redis `DeleteRawKey` commands
DeleteRawKey commands; this was especially problematic for access lists with over 100 entries. The key creation sequence now runs only once, eliminating redundant deletion of non-existent keys in Redis. This optimization significantly reduces deletion events, enhancing performance and stability for larger access lists.Resolved SSE streaming issue
Resolved SSE streaming issue
Fixed analytics latency reporting for MDCB setups
Fixed analytics latency reporting for MDCB setups
Security Fixes
5.4 Release Notes
5.4.0 Release Notes
Release Date 2 July 2024
Breaking Changes
Attention: Please read this section carefully We have fixed a bug in the way that Tyk calculates the key-level rate limit when multiple policies are applied to the same key. This fix alters the logic used to calculate the effective rate limit and so may lead to a different rate limit being applied to keys generated from your existing policies. See the change log for details of the change.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.4.0, please follow the detailed upgrade instructions. Add upgrade steps here if necessary.Release Highlights
We’re thrilled to introduce exciting enhancements in Tyk Gateway 5.4, aimed at improving your experience with Tyk Gateway. For a comprehensive list of changes, please refer to the change log below.Enhanced Rate Limiting Strategies
We’ve introducing a Rate Limit Smoothing option for the spike arresting Redis Rate Limiter to give the upstream time to scale in response to increased request rates.Fixed MDCB Issue Relating To Replication Of Custom Keys To Dataplanes
Resolved an issue encountered in MDCB environments where changes to custom keys made via the Dashboard were not properly replicated to data planes. The issue impacted both key data and associated quotas, in the following versions:- 5.0.4 to 5.0.12
- 5.1.1 and 5.1.2
- 5.2.0 to 5.2.6
- 5.3.0 to 5.3.2
Action Required
Customers should clear their edge Redis instances of any potentially affected keys to maintain data consistency and ensure proper synchronization across their environments. Please refer to the item in the fixed section of the changelog for recommended actions.Fixed Window Rate Limiter
Ideal for persistent connections with load-balanced gateways, the Fixed Window Rate Limiter algorithm mechanism ensures fair handling of requests by allowing only a predefined number to pass per rate limit window. It uses a simple shared counter in Redis so requests do not need to be evenly balanced across the gateways.Event handling with Tyk OAS
We’ve added support for you to register webhooks with your Tyk OAS APIs so that you can handle events triggered by the Gateway, including circuit breaker and quota expiry. You can also assign webhooks to be fired when using the new smoothing rate limiter to notify your systems of ongoing traffic spikes.Enhanced Header Handling in GraphQL APIs
Introduced a features object in API definitions for GQL APIs, including theuse_immutable_headers attribute. This allows advanced header control, enabling users to add new headers, rewrite existing ones, and selectively remove specific headers. Existing APIs will have this attribute set to false by default, ensuring no change in behavior. For new APIs, this attribute is true by default, facilitating smoother migration and maintaining backward compatibility.
Downloads
Changelog
Added
Implemented Fixed Window Rate Limiting for load balancers with keep-alives
Implemented Fixed Window Rate Limiting for load balancers with keep-alives
enable_fixed_window_rate_limiter in the gateway config or set the environment variable TYK_GW_ENABLEFIXEDWINDOWRATELIMITER=true.Introduced Rate Limit Smoothing for scaling
Introduced Rate Limit Smoothing for scaling
RateLimitSmoothingUp and RateLimitSmoothingDown) which will be triggered as smoothing occurs. These can be used to assist with auto-scaling of upstream capacity during traffic spikes.Introduced ‘use_immutable_headers’ for Advanced Header Control in GraphQL APIs
Introduced ‘use_immutable_headers’ for Advanced Header Control in GraphQL APIs
use_immutable_headers option to the GraphQL API configuration, offering advanced header transformation capabilities. When enabled, users can add new headers, rewrite existing ones, and selectively remove specific headers, allowing granular control without altering the original request. Existing APIs will default to false, maintaining current behavior until ready for upgrade.Enhanced manual schema addition for GQL APIs
Enhanced manual schema addition for GQL APIs
Introduced Tyk v3 GraphQL Engine in Gateway
Introduced Tyk v3 GraphQL Engine in Gateway
Introduced features Object in API Definition for GQL APIs
Introduced features Object in API Definition for GQL APIs
use_immutable_headers attribute, which defaults to false for existing APIs, ensuring no change in header behavior. For new APIs, this attribute is true by default, facilitating smoother migration and maintaining backwards compatibility.New Tyk OAS features
New Tyk OAS features
Fixed
Resolved an issue where changes to custom keys were not properly replicated to data planes
Resolved an issue where changes to custom keys were not properly replicated to data planes
- 5.0.4 to 5.0.12
- 5.1.1 and 5.1.2
- 5.2.0 to 5.2.6
- 5.3.0 to 5.3.2
- Specific Key Deletion via API: To remove individual buggy keys, you can use the following API call:
{tyk-hybrid-port}, my-custom-key and {dashboard-key} with your specific configuration details. This method is safe and recommended for targeted removals without affecting other keys.- Bulk Key Deletion Using Redis CLI: For environments with numerous affected keys, you might consider using the Redis CLI to remove keys en masse:
- Complete Redis Database Flush: If feasible, flushing the entire Redis database offers a clean slate:
Resolved service discovery issue when using Consul
Resolved service discovery issue when using Consul
Corrected naming for semantic conventions attributes in GQL Spans
Corrected naming for semantic conventions attributes in GQL Spans
Fixed missing GraphQL OTel attributes in spans on request validation failure
Fixed missing GraphQL OTel attributes in spans on request validation failure
detailed_tracing was set to false. Traces now include GraphQL attributes (operation name, type, and document), improving debugging for users.Resolved Gateway panic with Persist GraphQL Middleware
Resolved Gateway panic with Persist GraphQL Middleware
Resolved issue with GraphQL APIs handling OPTIONS requests
Resolved issue with GraphQL APIs handling OPTIONS requests
Resolved conflict with multiple APIs sharing listen path on different domains
Resolved conflict with multiple APIs sharing listen path on different domains
Resolved nested field mapping issue in Universal Data Graph
Resolved nested field mapping issue in Universal Data Graph
Fixed an error in the calculation of effective rate limit from multiple policies
Fixed an error in the calculation of effective rate limit from multiple policies
rate, which is the number of requests and per, which is the period over which those requests can be sent. So, if rate is 90 and per is 30 seconds for a key, Tyk will permit a maximum of 90 requests to be made using the key in a 30 second period, giving an effective maximum of 180 requests per minute (or 3 rps).Previously, Tyk would take the highest rate and the highest per from the policies applied to a key when determining the effective rate limit. So, if policy A had rate set to 90 and per set to 30 seconds (3rps) while policy B had rate set to 100 and per set to 10 seconds (10rps) and both were applied to a key, the rate limit configured in the key would be: rate = 100 and per = 30 giving a rate of 3.33rps.With the fix applied in Tyk 5.4.0, the Gateway will now apply the highest effective rate to the key - so in this example, the key would take the rate limit from policy B: rate = 100 and per = 10 (10rps).Note that this corrected logic is applied when access keys are presented in API requests. If you are applying multiple policies to keys, there may be a change in the effective rate limit when using Tyk 5.4.0 compared with pre-5.4.0 versions.Security Fixes
5.3 Release Notes
5.3.13 Release Notes
Release Date 18 May 2026
Release Highlights
This release resolves a set of related issues affecting Gateway registration with the Dashboard at scale for deployments using an unlimited node license, where mass registrations or rolling upgrades could leave Gateways stuck in registration loops. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
There are no breaking changes in this release.Dependencies
Compatibility Matrix For Tyk Components
Third-party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.3.13, please follow the detailed upgrade instructions.Downloads
Changelog
Changed
Updated Tyk Gateway to Golang 1.24
Updated Tyk Gateway to Golang 1.24
Fixed
Resolve Gateway registration failures at scale on unlimited node licenses
Resolve Gateway registration failures at scale on unlimited node licenses
409 Conflict responses could leave Gateways stuck in registration loops without the credentials needed to serve traffic.Gateway registration is now significantly more robust at scale: registration requests are no longer serialized across the fleet, Gateways recover cleanly from transient 409 Conflict responses instead of looping, and the Redis load generated during registration storms is substantially reduced.5.3.12 Release Notes
Release Date 12th September 2025
Release Highlights
This patch release contains bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.3.12, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Gateways in distributed Data Planes now cache certificates correctly in Redis
Gateways in distributed Data Planes now cache certificates correctly in Redis
Fixed Stale RPC Connections After DNS Changes
Fixed Stale RPC Connections After DNS Changes
Resolved MDCB Policy Sync Issue Caused by RPC Timeouts
Resolved MDCB Policy Sync Issue Caused by RPC Timeouts
Improved Gateway Registration Reliability During Upgrades
Improved Gateway Registration Reliability During Upgrades
5.3.11 Release Notes
Release Date 7 May 2025
Release Highlights
This patch release contains various bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
This release has no breaking changes.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this release.Upgrade instructions
If you are upgrading to 5.3.11, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Fixed
Fixed Inconsistent Context Behavior in UDG APIs
Fixed Inconsistent Context Behavior in UDG APIs
Improved Route Matching Logic for API Requests
Improved Route Matching Logic for API Requests
/path/{param}/endpoint and API2 has listen path /path/specific/endpoint a request to /path/specific/endpoint/resource will be correctly routed to API2.Resolved Issue With Default Enforced Request Timeout
Resolved Issue With Default Enforced Request Timeout
Fixed Issue With Tyk Self-Managed Gateways Claiming Licenses
Fixed Issue With Tyk Self-Managed Gateways Claiming Licenses
Fixed Gateway crash loop on restart without MDCB in Kubernetes
Fixed Gateway crash loop on restart without MDCB in Kubernetes
Multi-Value Response Headers in Coprocess Middleware
Multi-Value Response Headers in Coprocess Middleware
5.3.10 Release Notes
Release Date 19 February 2025
Release Highlights
In this release, we upgraded the Golang version tov1.23 for security enhancement and fixed an API authentication issue with redirects. For a comprehensive list of changes, please refer to the detailed changelog below.
Breaking Changes
This release has no breaking changes.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this releaseUpgrade Instructions
If you are upgrading to 5.3.10, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Resolved gateway not entering "emergency" mode
Resolved gateway not entering "emergency" mode
emergency mode, ensuring traffic processing resumes even when MDCB is down.Upgraded to Golang 1.23
Upgraded to Golang 1.23
Resolved API authentication issue while handling redirects using "tyk://" Scheme
Resolved API authentication issue while handling redirects using "tyk://" Scheme
5.3.9 Release Notes
Release Date 31 December 2024
Release Highlights
This release contains bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
This release has no breaking changes.Dependencies
Compatibility Matrix For Tyk Components
3rd Party Dependencies & Tools
Deprecations
There are no deprecations in this releaseUpgrade Instructions
If you are upgrading to 5.3.9, please follow the detailed upgrade instructions.Downloads
Changelog
Fixed
Incomplete traffic logs generated if custom response plugin adjusts the payloa
Incomplete traffic logs generated if custom response plugin adjusts the payloa