Support Lifetime
Our minor releases are supported until our next minor comes out.5.10 Release Notes
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.10.0 | MDCB v2.8.5 | MDCB v2.8.5 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.3 | Sync v2.1.0 | |
| Helm Chart v4.0 | Helm all versions | |
| Pump v1.12.2 | Pump all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.24 | 1.24 | Go plugins must be built using Go 1.24 |
| Redis | 6.2.x, 7.x, 7.4.x | 6.2.x, 7.x, 7.4.x | |
| Valkey | 7.2.x, 8.0.x, 8.1.x | 7.2.x, 8.0.x, 8.1.x | |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.9.2 | MDCB v2.8.4 | MDCB v2.8.4 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.3 | Sync v2.1.0 | |
| Helm Chart v4.0 | Helm all versions | |
| Pump v1.12.1 | Pump all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x, 7.4.x | 6.2.x, 7.x, 7.4.x | |
| Valkey | 7.2.x, 8.0.x, 8.1.x | 7.2.x, 8.0.x, 8.1.x | |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.9.1 | MDCB v2.8.3 | MDCB v2.8.3 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.2 | Sync v2.1.0 | |
| Helm Chart v4.0 | Helm all versions | |
| Pump v1.12.0 | Pump all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x, 7.4.x | 6.2.x, 7.x, 7.4.x | |
| Valkey | 7.2.x, 8.0.x, 8.1.x | 7.2.x, 8.0.x, 8.1.x | |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.9.0 | MDCB v2.8.2 | MDCB v2.8.2 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.2 | Sync v2.1.0 | |
| Helm Chart v4.0 | Helm all versions | |
| Pump v1.12.0 | Pump all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x, 7.4.x | 6.2.x, 7.x, 7.4.x | |
| Valkey | 7.2.x, 8.0.x, 8.1.x | 7.2.x, 8.0.x, 8.1.x | |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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.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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.7 | MDCB v2.8.5 | MDCB v2.8.5 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.4 | Sync v2.1.1 | |
| Helm Chart v4.0 | Helm all versions | |
| EDP v1.14.1 | EDP all versions | |
| Pump v1.13.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.24 | 1.24 | Go plugins must be built using Go 1.24 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.6 | MDCB v2.8.4 | MDCB v2.8.4 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.3 | Sync v2.1.1 | |
| Helm Chart v4.0 | Helm all versions | |
| EDP v1.14.1 | EDP all versions | |
| Pump v1.12.2 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.24 | 1.24 | Go plugins must be built using Go 1.24 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.5 | MDCB v2.8.4 | MDCB v2.8.4 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.1 | Sync v2.1.1 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.14 | EDP all versions | |
| Pump v1.12.1 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.4 | MDCB v2.8.3 | MDCB v2.8.3 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.1 | Sync v2.1.1 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.14 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.3 | MDCB v2.8.2 | MDCB v2.8.2 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.1 | Sync v2.1.1 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.14 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.2 | MDCB v2.8.1 | MDCB v2.8.1 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.0 | Sync v2.1.0 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.13 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
Gateways in Distributed Data Planes Were Unable To Perform mTLS When MDCB Link Unavailable
Gateways in Distributed Data Planes Were Unable To Perform mTLS When MDCB Link Unavailable
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.1 | MDCB v2.8.1 | MDCB v2.8.1 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.0 | Sync v2.1.0 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.13 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.8.0 | MDCB v2.8.0 | MDCB v2.8.0 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.0 | Sync v2.1.0 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.13 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.7.3 | MDCB v2.7.2 | MDCB v2.4.2 |
| Operator v1.1.0 | Operator v0.17 | |
| Sync v2.0.2 | Sync v1.4.3 | |
| Helm Chart v2.2 | Helm all versions | |
| EDP v1.12 | EDP all versions | |
| Pump v1.11.1 | Pump all versions | |
| TIB (if using standalone) v1.6.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.7.2 | MDCB v2.7.2 | MDCB v2.4.2 |
| Operator v1.1.0 | Operator v0.17 | |
| Sync v2.0.2 | Sync v1.4.3 | |
| Helm Chart v2.2 | Helm all versions | |
| EDP v1.12 | EDP all versions | |
| Pump v1.11.1 | Pump all versions | |
| TIB (if using standalone) v1.6.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.7.1 | MDCB v2.7.2 | MDCB v2.4.2 |
| Operator v1.1.0 | Operator v0.17 | |
| Sync v2.0.1 | Sync v1.4.3 | |
| Helm Chart v2.2 | Helm all versions | |
| EDP v1.12 | EDP all versions | |
| Pump v1.11.1 | Pump all versions | |
| TIB (if using standalone) v1.6.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.7.0 | MDCB v2.7.2 | MDCB v2.4.2 |
| Operator v1.1.0 | Operator v0.17 | |
| Sync v2.0.1 | Sync v1.4.3 | |
| Helm Chart v2.2 | Helm all versions | |
| EDP v1.12 | EDP all versions | |
| Pump v1.11.1 | Pump all versions | |
| TIB (if using standalone) v1.6.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.6.1 | MDCB v2.7.1 | MDCB v2.4.2 |
| Operator v1.0.0 | Operator v0.17 | |
| Sync v2.0 | Sync v1.4.3 | |
| Helm Chart v2.1 | Helm all versions | |
| EDP v1.11 | EDP all versions | |
| Pump v1.11 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.6.0 | MDCB v2.7.1 | MDCB v2.4.2 |
| Operator v1.0.0 | Operator v0.17 | |
| Sync v2.0 | Sync v1.4.3 | |
| Helm Chart v2.1 | Helm all versions | |
| EDP v1.11 | EDP all versions | |
| Pump v1.11 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.5.2 | MDCB v2.7 | MDCB v2.4.2 |
| Operator v0.18 | Operator v0.17 | |
| Sync v1.5 | Sync v1.4.3 | |
| Helm Chart v2.0.0 | Helm all versions | |
| EDP v1.10 | EDP all versions | |
| Pump v1.11 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.21 | 1.21 | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.5.1 | MDCB v2.7 | MDCB v2.4.2 |
| Operator v0.18 | Operator v0.17 | |
| Sync v1.5 | Sync v1.4.3 | |
| Helm Chart v2.0.0 | Helm all versions | |
| EDP v1.10 | EDP all versions | |
| Pump v1.11 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.21 | 1.21 | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.5.0 | MDCB v2.7 | MDCB v2.4.2 |
| Operator v0.18 | Operator v0.17 | |
| Sync v1.5 | Sync v1.4.3 | |
| Helm Chart v1.6 | Helm all versions | |
| EDP v1.10 | EDP all versions | |
| Pump v1.11 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.21 | 1.21 | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.4.0 | MDCB v2.6 | MDCB v2.4.2 |
| Operator v0.18 | Operator v0.17 | |
| Sync v1.5 | Sync v1.4.3 | |
| Helm Chart v1.5.0 | Helm all versions | |
| EDP v1.9 | EDP all versions | |
| Pump v1.10.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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.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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.12 | MDCB v2.8.4 | MDCB v2.8.0 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.0 | Sync v2.1.0 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.13 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.11 | MDCB v2.8.0 | MDCB v2.8.0 |
| Operator v1.2.0 | Operator v0.17 | |
| Sync v2.1.0 | Sync v2.1.0 | |
| Helm Chart v3.0 | Helm all versions | |
| EDP v1.13 | EDP all versions | |
| Pump v1.12.0 | Pump all versions | |
| TIB (if using standalone) v1.7.0 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 | 1.23 | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.10 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.23 (GW) | 1.23 (GW) | Go plugins must be built using Go 1.23 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.9 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 (GW) | 1.22 (GW) | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
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 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
Fixed Payload Issue with Transfer-Encoding: chunked Header
Fixed Payload Issue with Transfer-Encoding: chunked Header
API Keys remain active after all linked partitioned policies are deleted
API Keys remain active after all linked partitioned policies are deleted
Resolved API routing issue with trailing slashes and overlapping listen paths
Resolved API routing issue with trailing slashes and overlapping listen paths
Improved Stability for APIs with Malformed Listen Paths
Improved Stability for APIs with Malformed Listen Paths
Resolved Variable Input Handling for Custom Scalars in GraphQL Queries
Resolved Variable Input Handling for Custom Scalars in GraphQL Queries
Fixed Gateway panic and SSE streaming issue with OpenTelemetry
Fixed Gateway panic and SSE streaming issue with OpenTelemetry
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)
5.3.8 Release Notes
Release Date 07 November 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
This release has no breaking changes.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.8 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 (GW) | 1.22 (GW) | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Deprecations
This is an advanced notice that the dedicated External OAuth, OpenID Connect (OIDC) authentication options, and SQLite support will be deprecated starting in version 5.7.0. We recommend that users of the External OAuth and OpenID Connect methods migrate to Tyk’s dedicated JWT Auth method. Please review your API configurations, as the Gateway logs will provide notifications for any APIs utilizing these methods.Upgrade Instructions
If you are upgrading to 5.3.8, please follow the detailed upgrade instructions.Downloads
Changelog
Added
Fixed
Memory consumption reduced in Gateway for large payloads
Memory consumption reduced in Gateway for large payloads
Path-based permissions in combined policies not preserved
Path-based permissions in combined policies not preserved
Enhanced flexibility in Tyk OAS schema validation
Enhanced flexibility in Tyk OAS schema validation
Fix for API key loss on worker Gateways due to keyspace sync interruption
Fix for API key loss on worker Gateways due to keyspace sync interruption
5.3.7 Release Notes
Release Date 22 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.3.7 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.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.7 please follow the detailed upgrade instructions.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.7 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Fixed
5.3.6 Release Notes
Release Date 04 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
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Breaking Changes
Docker images are now based on distroless. No shell is shipped in the image. If moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.6 please follow the detailed upgrade instructions.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.6 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.22 | 1.22 | Go plugins must be built using Go 1.22 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Changed
Fixed
Custom Response Plugins not working for Tyk OAS APIs
Custom Response Plugins not working for Tyk OAS APIs
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
Restored Key Creation Speed in Gateway 4.0.13 and Later
Restored Key Creation Speed in Gateway 4.0.13 and Later
Security Fixes
5.3.5 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, however if moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.5 please follow the detailed upgrade instructions.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.5 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v2.0.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Added
Fixed
5.3.4 Release Notes
Release Date August 26th 2024
Release Highlights
Gateway 5.3.4 was version bumped only, to align with Dashboard 5.3.4. Subsequently, no changes were encountered in release 5.3.4. For further information please see the release notes for Dashboard v5.3.4Breaking Changes
Attention: Please read this section carefully. There are no breaking changes in this release, however if moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.4 please follow the detailed upgrade instructions.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.4 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v1.4.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Since this release was version bumped only to align with Dashboard v5.3.4, no changes were encountered in this release.5.3.3 Release Notes
Release Date August 2nd 2024
Breaking Changes
Attention: Please read this section carefully. There are no breaking changes in this release, however if moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.3 please follow the detailed upgrade instructions.Release Highlights
Bug Fixes
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.FIPS Compliance
Tyk Gateway now offers FIPS 140-2 compliance. For further details please consult Tyk API Management FIPS support.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.3 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v1.4.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Added
Fixed
Optimised key creation to reduce redundant Redis commands
Optimised key creation to reduce redundant Redis commands
Resolved SSE streaming issue
Resolved SSE streaming issue
Fixed Analytics Latency Reporting for MDCB Setups
Fixed Analytics Latency Reporting for MDCB Setups
5.3.2 Release Notes
Release Date 5th June 2024
Breaking Changes
Attention: Please read this section carefully. There are no breaking changes in this release, however if moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.2 please follow the detailed upgrade instructions.Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.2 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v1.4.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Fixed
Remove sensitive information leaked from OpenTelemetry traces
Remove sensitive information leaked from OpenTelemetry traces
tyk.api.apikey and tyk.api.oauthid attributes were exposing API keys.
We have fixed the issue to ensure that only the hashed version of the API key is transmitted in traces.APIs with common listen paths but different custom domains
APIs with common listen paths but different custom domains
Gateway service discovery issue with consul
Gateway service discovery issue with consul
Resolved Universal Data Graph Nested Field Mapping Issue
Resolved Universal Data Graph Nested Field Mapping Issue
Added control over access to context variables from middleware when using Tyk OAS APIs
Added control over access to context variables from middleware when using Tyk OAS APIs
5.3.1 Release Notes
Release Date 24 April 2024
Breaking Changes
Attention: Please read this section carefully. There are no breaking changes in this release, however if moving from an version of Tyk older than 5.3.0 please read the explanation provided with 5.3.0 release.Deprecations
There are no deprecations in this release.Upgrade Instructions
When upgrading to 5.3.1 please follow the detailed upgrade instructions.Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.1 | MDCB v2.5.1 | MDCB v2.5.1 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v1.3.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Downloads
Changelog
Fixed
Improved security: don't load APIs into Gateway if custom plugin bundle fails to load
Improved security: don't load APIs into Gateway if custom plugin bundle fails to load
Stability: fixed a Gateway panic that could occur when using custom JavaScript plugins with the Ignore Authentication middleware
Stability: fixed a Gateway panic that could occur when using custom JavaScript plugins with the Ignore Authentication middleware
require_session:true) is assigned to the same endpoint as the Ignore Authentication middleware. While the custom
plugin expects access to a valid session, the configuration flag doesn’t guarantee its presence, only that it’s passed
if available. As such, the custom plugin should be coded to verify that the session metadata is present before
attempting to use it.Stability: Gateway could crash when custom Python plugins attempted to access storage
Stability: Gateway could crash when custom Python plugins attempted to access storage
store_data and get_data could fail due to connection issues with the Redis. With this fix, the Redis
connection will be created if required, avoiding the crash.Stability: Gateway panics when arguments are missing in persist GraphQL endpoints
Stability: Gateway panics when arguments are missing in persist GraphQL endpoints
Missing GraphQL OTel attributes in spans when requests fail validation
Missing GraphQL OTel attributes in spans when requests fail validation
detailed_tracing was set to false and the client was sending a malformed request to a GraphQL API,
the traces were missing GraphQL attributes (operation name, type and document). This has been corrected and debugging
GraphQL with OTel will be easier for users.Incorrect naming for semantic conventions attributes in GQL spans
Incorrect naming for semantic conventions attributes in GQL spans
graphql prefix and therefore were not in line
with the community standard. This has been fixed and all attributes have the correct prefix.URL Rewrite middleware did not always correctly observe quotas for requests using keys created from policies
URL Rewrite middleware did not always correctly observe quotas for requests using keys created from policies
tyk://self). Quota limits were not observed and the quota related response headers always contained 0.Tyk Dashboard License Statistics page could display incorrect number of data plane gateways
Tyk Dashboard License Statistics page could display incorrect number of data plane gateways
Unable to clear the API cache in distributed data plane Gateways from the control plane Dashboard
Unable to clear the API cache in distributed data plane Gateways from the control plane Dashboard
Unable to load custom Go plugins compiled in RHEL 8
Unable to load custom Go plugins compiled in RHEL 8
Removed unused packages from plugin compiler image
Removed unused packages from plugin compiler image
5.3.0 Release Notes
Release Date 5 April 2024
Breaking Changes
Attention: Please read this section carefullyTyk OAS APIs Compatibility Caveats - Tyk OSS
This upgrade transitions Tyk OAS APIs out of Early Access. For licensed deployments (Tyk Cloud, Self Managed including MDCB), please refer to the release notes of Tyk Dashboard 5.3.0.- Out of Early Access
- This means that from now on, all Tyk OAS APIs will be backwards compatible and in case of a downgrade from v5.3.X to v5.3.0, the Tyk OAS API definitions will always work.
- Not Backwards Compatible
- Tyk OAS APIs in Tyk Gateway v5.3.0 are not backwards compatible. This means that the new Tyk OAS API format created by Tyk Gateway v5.3.X does not work with older versions of Tyk Gateway, i.e. you cannot export these API definitions from a v5.3.X Tyk Gateway and import them to an earlier version.
- The upgrade is not reversible, i.e. you cannot use version 5.3.X Tyk OAS API definitions with an older version of Tyk Dashboard.
- This means that if you wish to downgrade or revert to your previous version of Tyk, you will need to restore these API definitions from a backup. Please go to the backup section for detailed instructions on backup before upgrading to v5.3.0.
- If you are not using Tyk OAS APIs, Tyk will maintain backward compatibility standards.
- Not Forward Compatible
- Tyk OAS API Definitions prior to v5.3.0 are not forward compatible with Tyk Gateway v5.3.X.
- This means that any Tyk OAS APIs created in any previous release (4.1.0-5.2.x) cannot work with the new Tyk Gateway v5.3.X without being migrated to its latest format.
- After upgrade (the good news)
- Tyk OAS API definitions that are part of the file system are not automatically converted to the new format. Subsequently, users will have to manually update their OAS API Definitions to the new format.
- If users upgrade to 5.3.0, create new Tyk OAS APIs and then decide to rollback then the upgrade is non-reversible. Reverting to your previous version requires restoring from a backup.
Python plugin support
Starting from Tyk Gateway version v5.3.0, Python is no longer bundled with the official Tyk Gateway Docker image to reduce exposure to security vulnerabilities in the Python libraries. Whilst the Gateway still supports Python plugins, you must extend the image to add the language support.Dependencies
Compatibility Matrix For Tyk Components
| Gateway Version | Recommended Releases | Backwards Compatibility |
|---|---|---|
| 5.3.0 | MDCB v2.5 | MDCB v2.4.2 |
| Operator v0.17 | Operator v0.16 | |
| Sync v1.4.3 | Sync v1.4.3 | |
| Helm Chart (tyk-stack, tyk-oss, tyk-dashboard, tyk-gateway) v1.3.0 | Helm all versions | |
| EDP v1.8.3 | EDP all versions | |
| Pump v1.9.0 | Pump all versions | |
| TIB (if using standalone) v1.5.1 | TIB all versions |
3rd Party Dependencies & Tools
| Third Party Dependency | Tested Versions | Compatible Versions | Comments |
|---|---|---|---|
| Go | 1.19 (GQL), 1.21 (GW) | 1.19 (GQL), 1.21 (GW) | Go plugins must be built using Go 1.21 |
| Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway |
| OpenAPI Specification | v3.0.x | v3.0.x | Supported by Tyk OAS |
Deprecations
In 5.3.0, we have simplified the configuration of response transform middleware. We encourage users to embrace theglobal_headers mechanism as the response_processors.header_injector is now an optional setting and will be removed
in a future release.
Upgrade instructions
If you are upgrading to 5.3.0, please follow the detailed upgrade instructions. The following steps are essential to follow before upgrading Tyk Cloud (including Hybrid Gateways) and Self Managed users - Please refer to the release notes of Tyk Dashboard 5.3.0. For OSS deployments -- Backup Your environment using the usual guidance documented with every release (this includes backup config file and database).
- Backup all your API definitions (Tyk OAS API and Classic Definitions) by saving your API and policy files or by
exporting them using the
GET /tyk/apisandGet /tyk/policies - Performing the upgrade - follow the instructions in the upgrade guide when upgrading Tyk.
Release Highlights
We’re thrilled to announce the release of 5.3.0, an update packed with exciting features and significant fixes to elevate your experience with Tyk Gateway. For a comprehensive list of changes, please refer to the detailed changelog below.Tyk OAS Feature Maturity
Tyk OAS is now out of Early Access as we have reached feature maturity. You are now able to make use of the majority of Tyk Gateway’s features from your Tyk OAS APIs, so they are a credible alternative to the legacy Tyk Classic APIs. From Tyk 5.3.0 we support the following features when using Tyk OAS APIs with Tyk Gateway:-
Security
- All Tyk-supported client-gateway authentication methods including custom auth plugins
- Automatic configuration of authentication from the OpenAPI description
- Gateway-upstream mTLS
- CORS
-
API-level (global) middleware including:
- Response caching
- Custom plugins for PreAuth, Auth, PostAuth, Post and Response hooks
- API-level rate limits
- Request transformation - headers
- Response transformation - headers
- Service discovery
- Internal API
-
Endpoint-level (per-path) middleware including:
- Request validation - headers and body (automatically configurable from the OpenAPI description)
- Request transformation - method, headers and body
- Response transformation - headers and body
- URL rewrite and internal endpoints
- Mock responses (automatically configurable from the OpenAPI description)
- Response caching
- Custom Go Post-Plugin
- Request size limit
- Virtual endpoint
- Allow and block listing
- Do-not-track
- Circuit breakers
- Enforced timeouts
- Ignore authentication
-
Observability
- Open Telemetry tracing
- Detailed log recording (include payload in the logs)
- Do-not-track endpoint
-
Governance
- API Versioning
Enhanced KV storage of API Definition Fields
Tyk is able to store configuration data from the API definition in KV systems, such as Vault and Consul, and then reference these values during configuration of the Tyk Gateway or APIs deployed on the Gateway. Previously this was limited to the Target URL and Listen Path but from 5.3.0 you are able to store anystring type field from your API
definition, unlocking the ability to store sensitive information in a centralised location. For full details check out
the documentation of this powerful feature.
Redis v7.x Compatibility
We have upgraded Redis driver go-redis to v9. Subsequently, Tyk 5.3 is compatible with Redis v7.x.Gateway and Component Upgrades
We’ve raised the bar with significant upgrades to our Gateway and components. Leveraging the power and security of Go 1.21, upgrading Sarama, a widly used Kafka client in Go, to version 1.41.0 and enhancing the GQL engine with Go version 1.19, we ensure improved functionality and performance to support your evolving needs seamlessly.Downloads
Changelog
Added
Additional features now supported when working with Tyk OAS APIs
Additional features now supported when working with Tyk OAS APIs
- Detailed log recording (include payload in the logs)
- Enable Open Telemetry tracing
- Context variables available to middleware chain
- API-level header transforms (request and response)
- Endpoint-level cache
- Circuit breakers
- Track endpoint logs for inclusion in Dashboard aggregated data
- Do-not-track endpoint
- Enforced upstream timeouts
- Configure endpoint as Internal, not available externally
- URL rewrite
- Per-endpoint request size limit
- Request transformation - method, header
- Response transformation - header
- Custom domain certificates
Enhanced KV storage for API Definition fields
Enhanced KV storage for API Definition fields
string type fields in the Tyk OAS and Tyk Classic API Definitions to be stored in
separate KV storage, including Hashicorp Consul and Vault.Support for Redis v7.0.x
Support for Redis v7.0.x
Clearer error messages from GQL engine for invalid variables (JSON Schema)
Clearer error messages from GQL engine for invalid variables (JSON Schema)
Upgraded GQL Engine's Go version to 1.19
Upgraded GQL Engine's Go version to 1.19
Enhanced semantic conventions for GraphQL spans in Gateway
Enhanced semantic conventions for GraphQL spans in Gateway
<operation.type>,
<operation.name> and <document> tags.Added support for detailed_tracing to be configured via GQL API definitions
Added support for detailed_tracing to be configured via GQL API definitions
detailed_tracing setting in an API definition. With that property set to true any call
to a GraphQL API will create a span for each middleware involved in request processing. While it is set to false, only
two spans encapsulating the entire request lifecycle will be generated. This setting helps to reduce the size of traces,
which can get large for GraphQL APIs. Furthermore, this gives users an option to customize the level of tracing detail
to suit their monitoring needs.Enhanced OpenTelemetry trace generation for UDG with mixed data sources
Enhanced OpenTelemetry trace generation for UDG with mixed data sources
Disabled normalize and validate in GraphQL Engine
Disabled normalize and validate in GraphQL Engine
Enhanced OAS-to-UDG converter handling of arrays of objects in OpenAPI Documents
Enhanced OAS-to-UDG converter handling of arrays of objects in OpenAPI Documents
OAS-to-UDG converter support for allOf/anyOf/oneOf keywords
OAS-to-UDG converter support for allOf/anyOf/oneOf keywords
Improved UDG's handling of unnamed object definitions in OpenAPI descriptions
Improved UDG's handling of unnamed object definitions in OpenAPI descriptions
Refined handling of arrays of objects in endpoint responses by OAS-to-UDG Converter
Refined handling of arrays of objects in endpoint responses by OAS-to-UDG Converter
OAS-to-UDG converter support for enumerated types in OpenAPI descriptions
OAS-to-UDG converter support for enumerated types in OpenAPI descriptions
Expanded handling of HTTP Status Code ranges by OAS-to-GQL converter
Expanded handling of HTTP Status Code ranges by OAS-to-GQL converter
Added support for custom rate limit keys
Added support for custom rate limit keys
Changed
Prefetch session expiry information from MDCB to reduce API call duration in case Gateway is temporarily disconnected from MDCB
Prefetch session expiry information from MDCB to reduce API call duration in case Gateway is temporarily disconnected from MDCB
Now, the worker gateway fetches the session expiry information up front, while there is an active connection to MDCB. This ensures that this data is already available locally in the event of an MDCB disconnection.
This change significantly improves the API response time under MDCB disconnection scenarios by removing the need for the Gateway to wait for a timeout when attempting to fetch session information from the control plane, avoiding the previous 30-second delay. This optimization enhances the resilience and efficiency of Tyk Gateway in distributed environments.
Changes to the Tyk OAS API Definition
Changes to the Tyk OAS API Definition
slug field and simplification of the custom plugin contract.Optimized Gateway memory usage and reduced network request payload with Redis Rate Limiter
Optimized Gateway memory usage and reduced network request payload with Redis Rate Limiter
Fixed
Improved OAuth token management in Redis
Improved OAuth token management in Redis
Tyk Gateway now validates RFC3339 Date-Time Formats
Tyk Gateway now validates RFC3339 Date-Time Formats
Inaccurate Distributed Rate Limiting (DRL) behavior on Gateway startup
Inaccurate Distributed Rate Limiting (DRL) behavior on Gateway startup
Duplicate fields added by OAS-to-UDG converter
Duplicate fields added by OAS-to-UDG converter
Gateway issue processing queries with GQL Engine
Gateway issue processing queries with GQL Engine
Handling arrays of objects in endpoint responses by OAS-to-UDG converter
Handling arrays of objects in endpoint responses by OAS-to-UDG converter
GQL Playground issues related to encoding of request response
GQL Playground issues related to encoding of request response
OAS-to-UDG converter issue with "JSON" return type
OAS-to-UDG converter issue with "JSON" return type
Gateway Panic during API Edit with Virtual Endpoint
Gateway Panic during API Edit with Virtual Endpoint
Gateway panics during API Reload with JavaScript middleware bundle
Gateway panics during API Reload with JavaScript middleware bundle
GraphQL introspection issue when Allow/Block List enabled
GraphQL introspection issue when Allow/Block List enabled
Handling of objects without properties in OAS-to-UDG converter
Handling of objects without properties in OAS-to-UDG converter
Fixed memory leak issue in Tyk Gateway v5.2.4
Fixed memory leak issue in Tyk Gateway v5.2.4
Fixed unintended external access to internal endpoints
Fixed unintended external access to internal endpoints
Security Fixes
5.2 Release Notes
5.2.5 Release Notes
Release Date 19 Dec 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
If you are using a 5.2.x version, we advise you to upgrade ASAP to this latest release. If you are on an older version, you should skip 5.2.0 and upgrade directly to this release. Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
This release implements a bug fix. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Fixed
5.2.4 Release Notes
Release Date 7 Dec 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
If you are using a 5.2.x version, we advise you to upgrade ASAP to this latest release. If you are on an older version, you should skip 5.2.0 and upgrade directly to this release. Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
This release enhances security, stability, and performance. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Fixed
Output from Tyk OAS request validation schema failure is too verbose
Output from Tyk OAS request validation schema failure is too verbose
Gateway incorrectly applying policy Path-Based Permissions in certain circumstances
Gateway incorrectly applying policy Path-Based Permissions in certain circumstances
sub claim but different scopes in each policy. Now the session will be correctly configured for the claims provided in the policy used for each API request.Plugin compiler not correctly supporting build_id to differentiate between different builds of the same plugin
Plugin compiler not correctly supporting build_id to differentiate between different builds of the same plugin
URL Rewrite fails to handle escaped character in query parameter
URL Rewrite fails to handle escaped character in query parameter
5.2.3 Release Notes
Release Date 21 Nov 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
If you are using a 5.2.x version, we advise you to upgrade ASAP to this latest release. If you are on an older version, you should skip 5.2.0 and upgrade directly to this release. Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
This release enhances security, stability, and performance. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Fixed
Python version not always correctly autodetected
Python version not always correctly autodetected
Gateway blocked trying to retrieve keys via MDCB when using JWT auth
Gateway blocked trying to retrieve keys via MDCB when using JWT auth
Custom Authentication Plugin not working correctly with policies
Custom Authentication Plugin not working correctly with policies
Attaching a public key to an API definition for mTLS brings down the Gateway
Attaching a public key to an API definition for mTLS brings down the Gateway
Added
Implemented a `tyk version` command that provides more details about the Tyk Gateway build
Implemented a `tyk version` command that provides more details about the Tyk Gateway build
Added option to fallback to default API version
Added option to fallback to default API version
fallbackToDefault, for Tyk Classic APIs it is fallback_to_default.Implemented a backoff limit for GraphQL subscription connection retry
Implemented a backoff limit for GraphQL subscription connection retry
Community Contributions
Special thanks to the following member of the Tyk community for their contribution to this release:5.2.2 Release Notes
Release Date 31 Oct 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
If you are using a 5.2.x version, we advise you to upgrade ASAP to this latest release. If you are on an older version, you should skip 5.2.0 and upgrade directly to this release. Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Security
The following CVEs have been resolved in this release:- CVE-2022-40897
- CVE-2022-1941
- CVE-2021-23409
- CVE-2021-23351
- CVE-2019-19794
- CVE-2018-5709
- CVE-2010-0928
- CVE-2007-6755
Fixed
Enforced timeouts were incorrect on a per-request basis
Enforced timeouts were incorrect on a per-request basis
Incorrect access privileges were granted in security policies
Incorrect access privileges were granted in security policies
Logstash formatter timestamp was not in RFC3339 Nano format
Logstash formatter timestamp was not in RFC3339 Nano format
In high load scenarios the DRL Manager was not protected against concurrent read and write operations
In high load scenarios the DRL Manager was not protected against concurrent read and write operations
Performance issue encountered when Tyk Gateway retrieves a key via MDCB for a JWT API
Performance issue encountered when Tyk Gateway retrieves a key via MDCB for a JWT API
JWT middleware introduced latency which reduced overall request/response throughput
JWT middleware introduced latency which reduced overall request/response throughput
UDG examples were not displayed when Open Policy Agent (OPA) was enabled
UDG examples were not displayed when Open Policy Agent (OPA) was enabled
Sensitive information logged when incorrect signature provided for APIs protected by HMAC authentication
Sensitive information logged when incorrect signature provided for APIs protected by HMAC authentication
Community Contributions
Special thanks to the following members of the Tyk community for their contributions to this release:5.2.1 Release Notes
Release Date 10 Oct 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
If you are on a 5.2.0 we advise you to upgrade ASAP and if you are on an older version skip 5.2.0 and upgrade directly to this release. Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Changed
Log messaging quality enhanced
Log messaging quality enhanced
Configurable retry for resource loading introduced
Configurable retry for resource loading introduced
resource_sync.retry_attempts- defines the number of retries that the Gateway should perform during a resource sync (APIs or policies), defaulting to zero which means no retries are attemptedresource_sync.interval- setting the fixed interval between retry attempts (in seconds)
Added http.response.body.size and http.request.body.size for OpenTelemetry users
Added http.response.body.size and http.request.body.size for OpenTelemetry users
http.response.body.size and http.request.body.size, in both Tyk HTTP spans and upstream HTTP spans. This addition enables users to gain better insight into incoming/outgoing request/response sizes within their traces.Fixed
Memory leak was encountered if OpenTelemetry enabled
Memory leak was encountered if OpenTelemetry enabled
otelhttp handlers being created. We have updated the code to use a single instance of otelhttp handler in 5.2.1 to improve performance under high traffic load.Memory leak encountered when enabling the strict routes option
Memory leak encountered when enabling the strict routes option
TYK_GW_HTTPSERVEROPTIONS_ENABLESTRICTROUTES)High rates of Tyk Gateway reloads were encountered
High rates of Tyk Gateway reloads were encountered
reload_interval (TYK_GW_RELOADINTERVAL), that can be used to adjust the duration between reloads and hence optimize the performance of your Tyk deployment.Headers for GraphQL headers were not properly forwarded upstream for GQL/UDG subscriptions
Headers for GraphQL headers were not properly forwarded upstream for GQL/UDG subscriptions
Idle upstream connections were incorrectly closed
Idle upstream connections were incorrectly closed
Extra chunked transfer encoding was unnecessarily added to rawResponse analytics
Extra chunked transfer encoding was unnecessarily added to rawResponse analytics
rawResponse analyticsReponse body transformation not execute when Persist GraphQL middleware used
Reponse body transformation not execute when Persist GraphQL middleware used

Unable to modify a key that provides access to an inactive or draft API
Unable to modify a key that provides access to an inactive or draft API
Dependencies
- Updated TykTechnologies/gorm to v1.21 in Tyk Gateway
5.2.0 Release Notes
Release Date 29 Sep 2023
Breaking Changes
Attention: Please read carefully this section. We have two topics to report:Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backwards-compatible. Downgrading or reverting an upgrade may not be possible resulting in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Release Highlights
We’re thrilled to bring you some exciting enhancements and crucial fixes to improve your experience with Tyk Gateway. For a comprehensive list of changes, please refer to the detailed changelog below.Added Body Transform Middleware to Tyk OAS API Definition
With this release, we are adding the much requested Body Transformations to Tyk OAS API Definition. You can now configure middleware for both request and response body transformations and - as a Tyk Dashboard user - you’ll be able to do so from within our simple and elegant API Designer tool.Reference Tyk OAS API Definition From Within Your Custom Go Plugins
Reference the Tyk OAS API definition from within your custom Go Plugins, bringing them up to standard alongside those you might use with a Tyk Classic API.Configure Caching For Each API Endpoint
We’ve added the ability to configure per-endpoint timeouts for Tyk’s response cache, giving you increased flexibility to tailor your APIs to your upstream services.Added Header Management in Universal Data Graph
With this release we are adding a concept of header management in Universal Data Graph. With multiple upstream data sources, data graphs need to be sending the right headers upstream, so that our users can effectively track the usage and be able to enforce security rules at each stage. All Universal Data Graph headers now have access to request context variables like JWT claims, IP address of the connecting client or request ID. This provides extensive configurability of customizable information that can be sent upstream.Added Further Support For GraphQL WebSocket Protocols
Support for WebSocket protocols between client and the Gateway has also been expanded. Instead of only supporting the graphql-ws protocol, which is becoming deprecated, we now also support graphql-transport-ws by setting the Sec-WebSocket-Protocol header to graphql-transport-ws.Added OpenTelemetry Tracing
In this version, we’re introducing the support for OpenTelemetry Tracing, the new open standard for exposing observability data. This addition gives you improved visibility into how API requests are processed, with no additional license required. It is designed to help you with monitoring and troubleshooting APIs, identify bottlenecks, latency issues and errors in your API calls. For detailed information and guidance, you can check out our OpenTelemetry Tracing resource. OpenTelemetry makes it possible to isolate faults within the request lifetime through inspecting API and Gateway meta-data. Additionally, performance bottlenecks can be identified within the request lifetime. API owners and developers can use this feature to understand how their APIs are being used or processed within the Gateway. OpenTelemetry functionality is also available in Go Plugins. Developers can write code to add the ability to preview OpenTelemetry trace attributes, error status codes etc., for their Go Plugins. We offer support for integrating OpenTelemetry traces with supported open source tools such Jaeger, Dynatrace or New Relic. This allows API owners and developers to gain troubleshooting and performance insights from error logs, response times etc. You can also find a direct link to our docs in the official OpenTelemetry Integration pageDownloads
Changelog
Added:
Added support for configuring distributed tracing behavior
Added support for configuring distributed tracing behavior
Added support for configuring OpenTelemetry
Added support for configuring OpenTelemetry
Added span attributes to simplify identifying Tyk API and request meta-data per request
Added span attributes to simplify identifying Tyk API and request meta-data per request
Add custom resource attributes to allow process information to be available in traces
Add custom resource attributes to allow process information to be available in traces
Allow clients to retrieve the trace ID from response headers when OpenTelemetry enabled
Allow clients to retrieve the trace ID from response headers when OpenTelemetry enabled
Allow detailed tracing to be enabled/disabled at API level
Allow detailed tracing to be enabled/disabled at API level
Add OpenTelemetry support for GraphQL
Add OpenTelemetry support for GraphQL
Add support for configuring granular control over cache timeouts at the endpoint level
Add support for configuring granular control over cache timeouts at the endpoint level
Enable request context variables in UDG global or data source headers
Enable request context variables in UDG global or data source headers
Add support for configuration of global headers for any UDG
Add support for configuration of global headers for any UDG
Add ability for Custom GoPlugin developers using Tyk OAS APIs to access the API Definition
Add ability for Custom GoPlugin developers using Tyk OAS APIs to access the API Definition
Add support for graphql-transport-ws websocket protocol
Add support for graphql-transport-ws websocket protocol
Developers using Tyk OAS API Definition can configure body transform middleware for API reponses
Developers using Tyk OAS API Definition can configure body transform middleware for API reponses
Enhanced Gateway usage reporting, allowing reporting of number of connected gateways and data planes
Enhanced Gateway usage reporting, allowing reporting of number of connected gateways and data planes
- Added support for enhanced Gateway usage reporting. MDCB v2.4 and Gateway v5.2 can now report the number of connected gateways and data planes. Features such as data plane gateway visualisation are available in Tyk Dashboard for enhanced monitoring of your deployment.
Changed:
Fixed:
UDG was dropping array type parameter in certain circumstances from final request URL sent upstream
UDG was dropping array type parameter in certain circumstances from final request URL sent upstream
Introspection of GraphQL schemas raised an error when dealing with some custom root types
Introspection of GraphQL schemas raised an error when dealing with some custom root types
Enforced Timeout configuration parameter of an API endpoint was not validated
Enforced Timeout configuration parameter of an API endpoint was not validated
allowedIPs validation failures were causing the loss of other error types reported
allowedIPs validation failures were causing the loss of other error types reported
The Data Plane Gateway for versions < v5.1 crashed with panic error when creating a Tyk OAS API
The Data Plane Gateway for versions < v5.1 crashed with panic error when creating a Tyk OAS API
5.1 Release Notes
Release Date 23 June 2023
Breaking Changes
*Attention warning: Please read carefully this section.Golang Version upgrade
Our Gateway is using Golang 1.19 programming language starting with the 5.1 release. This brings improvements to the code base and allows us to benefit from the latest features and security enhancements in Go. Don’t forget that, if you’re using GoPlugins, you’ll need to recompile these to maintain compatibility with the latest Gateway.Early Access Features:
Please note that theTyk OAS APIs feature, currently marked as Early Access, is subject to breaking changes in subsequent releases. Please refer to our Early Access guide for specific details. Upgrading to a new version may introduce changes that are not backward-compatible. Downgrading to a previous version after upgrading may result in a broken installation.
Users are strongly advised to follow the recommended upgrade instructions provided by Tyk before applying any updates.
Deprecations
There are no deprecations in this release.Upgrade Instructions
Go to the Upgrading Tyk section for detailed upgrade instructions.Release Highlights
Request Body Size Limits
We have introduced a new Gateway-level option to limit the size of requests made to your APIs. You can use this as a first line of defense against overly large requests that might affect your Tyk Gateways or upstream services. Of course, being Tyk, we also provide the flexibility to configure API-level and per-endpoint size limits so you can be as granular as you need to protect and optimize your services. Check out our improved documentation for full description of how to use these powerful features.Changed default RPC pool size for MDCB deployments
We have reduced the default RPC pool size from 20 to 5. This can reduce the CPU and memory footprint in high throughput scenarios. Please monitor the CPU and memory allocation of your environment and adjust accordingly. You can change the pool size using slave_options.rpc_pool_sizeDownloads
Changelog
Added
- Added
HasOperation,OperationandVariablesto GraphQL data source API definition for easier nesting - Added abstractions/interfaces for ExecutionEngineV2 and ExecutionEngine2Executor with respect to graphql-go-tools
- Added support for the
:authorityheader when making GRPC requests. If the:authorityheader is not present then some GRPC servers return PROTOCOL_ERROR which prevents custom GRPC plugins from running. Thanks to vanhtuan0409 from the Tyk Community for his contribution!
Changed
- Tyk Gateway updated to use Go 1.19
- Updated kin-openapi dependency to the version v0.114.0
- Enhanced the UDG parser to comprehensively extract all necessary information for UDG configuration when users import to Tyk their OpenAPI document as an API definition
- Reduced default CPU and memory footprint by changing the default RPC pool size from 20 to 5 connections.
Fixed
- Fixed an issue where invalid IP addresses could be added to the IP allow list
- Fixed an issue when using custom authentication with multiple authentication methods, custom authentication could not be selected to provide the base identity
- Fixed an issue where OAuth access keys were physically removed from Redis on expiry. Behavior for OAuth is now the same as for other authorization methods
- Fixed an issue where the
global_size_limitsetting didn’t enable request size limit middleware. Thanks to PatrickTaibel for the contribution! - Fixed minor versioning, URL and field mapping issues when importing OpenAPI document as an API definition to UDG
- When the control API is not protected with mTLS we now do not ask for a cert, even if all the APIs registered have mTLS as an authorization mechanism
Tyk Classic Portal Changelog
Changed
- Improved performance when opening the Portal page by optimizing the pre-fetching of required data
5.0 Release Notes
5.0.15 Release Notes
Release Date 24 October 2024
Breaking Changes
There are no breaking changes in this release.Upgrade Instructions
Go to the Upgrading Tyk section for detailed upgrade instructions.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.0.15 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.Changelog
Fixed
5.0.14 Release Notes
Release Date 18th September 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.
Breaking Changes
Attention: Please read this section carefully. There are no breaking changes in this release.Upgrade Instructions
This release is not tightly coupled with Tyk Dashboard v5.0.14, so you do not have to upgrade both together. Go to the Upgrading Tyk section for detailed upgrade instructions.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.Changelog
Added
Fixed
Incorrectly configured regex in policy affected Path-Based Permissions authorization
Incorrectly configured regex in policy affected Path-Based Permissions authorization
Missing path parameter can direct to the wrong endpoint
Missing path parameter can direct to the wrong endpoint
/user/{id}) would be invoked if a request is made that omits
the parameter. For example, a request to /user/ will now be interpreted as a request to /user and not to
/user/{id}.Improved Gateway Synchronization with MDCB for Policies and APIs
Improved Gateway Synchronization with MDCB for Policies and APIs
5.0.13 Release Notes
Release Date 4 July 2024
Release Highlights
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.Changelog
Fixed
5.0.12 Release Notes
Please refer to our GitHub release notes.5.0.11 Release Notes
Please refer to our GitHub release notes.5.0.10 Release Notes
Please refer to our GitHub release notes.5.0.9 Release Notes
Please refer to our GitHub release notes.5.0.8 Release Notes
Please refer to our GitHub release notes.5.0.7 Release Notes
Please refer to our GitHub release notes.5.0.6 Release Notes
Please refer to our GitHub release notes.5.0.5 Release Notes
Please refer to our GitHub release notes.5.0.4 Release Notes
Please refer to our GitHub release notes.5.0.3 Release Notes
Please refer to our GitHub release notes.5.0.2 Release Notes
Release Date 29 May 2023
Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
Changelog
Updated
- Internal refactoring to make storage related parts more stable and less affected by potential race issues
5.0.1 Release Notes
Release Date 25 Apr 2023
Release Highlights
This release primarily focuses on bug fixes. For a comprehensive list of changes, please refer to the detailed changelog below.Downloads
- [docker image to pull](https://hub.docker.com/layers/tykio/tyk-gateway/v5.0.1/images/sha256-5fa7aa910d62a7ed2c1cfbc68c69a988b4b0e9420d7a52018f80f9a45cadb083?context=explore
- source code
Changelog
Added
- Added a new
enable_distributed_tracingoption to the NewRelic config to enable support for Distributed Tracer
Fixed
- Fixed panic when JWK method was used for JWT authentication and the token didn’t include kid
- Fixed an issue where failure to load GoPlugin middleware didn’t prevent the API from proxying traffic to the upstream: now Gateway logs an error when the plugin fails to load (during API creation/update) and responds with HTTP 500 if the API is called; at the moment this is fixed only for file based plugins
- Fixed MutualTLS issue causing leak of allowed CAs during TLS handshake when there are multiple mTLS APIs
- Fixed a bug during hot reload of Tyk Gateway where APIs with JSVM plugins stored in filesystem were not reloaded
- Fixed a bug where the gateway would remove the trailing
/at the end of a URL - Fixed a bug where nested field-mappings in UDG weren’t working as intended
- Fixed a bug when using Tyk OAuth 2.0 flow on Tyk Cloud where a request for an Authorization Code would fail with a 404 error
- Fixed a bug where mTLS negotiation could fail when there are a large number of certificates and CAs; added an option
(
http_server_options.skip_client_ca_announcement) to use the alternative method for certificate transfer - Fixed CVE issue with go.uuid package
- Fixed a bug where rate limits were not correctly applied when policies are partitioned to separate access rights and rate limits into different scopes
5.0.0 Release Notes
Release Date 28 Mar 2023
Deprecations
- Tyk Gateway no longer natively supports LetsEncrypt integration. You still can use LetsEncrypt CLI tooling to generate certificates and use them with Tyk.
Release Highlights
Improved OpenAPI support
We have added some great features to the Tyk OAS API definition bringing it closer to parity with our Tyk Classic API and to make it easier to get on board with Tyk using your Open API workflows. Tyk’s OSS users can now make use of extensive custom middleware options with your OAS APIs, to transform API requests and responses, exposing your upstream services in the way that suits your users and internal API governance rules. We’ve enhanced the Request Validation for Tyk OAS APIs to include parameter validation (path, query, headers, cookie) as well as the body validation that was introduced in Tyk 4.1. Versioning your Tyk OAS APIs is easier than ever, with the Tyk OSS Gateway now looking after the maintenance of the list of versions associated with the base API for you; we’ve also added a new endpoint on the Tyk API that will return details of the versions for a given API. We’ve improved support for OAS Mock Responses, with the Tyk OAS API definition now allowing you to register multiple Mock Responses in a single API, providing you with increased testing flexibility. Of course, we’ve also addressed some bugs and usability issues as part of our ongoing ambition to make Tyk OAS API the best way for you to create and manage your APIs. Thanks to our community contributors armujahid, JordyBottelier and ls-michal-dabrowski for your PRs that further improve the quality of Tyk OSS Gateway!Downloads
Changelog
Added
- Support for request validation (including query params, headers and the rest of OAS rules) with Tyk OAS APIs
- Transform request/response middleware for Tyk OAS APIs
- Custom middleware for Tyk OAS APIs
- Added a new API endpoint to manage versions for Tyk OAS APIs
- Improved Mock API plugin for Tyk OAS APIs
- Universal Data Graph and GraphQL APIs now support using context variables in request headers, allowing passing information it to your subgraphs
- Now you can control access to introspection on policy and key level
Fixed
- Fixed potential race condition when using distributed rate limiter
4.3 Release Notes
4.3.0 Release Notes
Release Highlights
Mock Responses with Tyk OAS API Definitions
Does your Tyk OAS API Definition define examples or a schema for your path responses? If so, starting with Tyk v4.3, Tyk can use those configurations to mock your API responses, enabling your teams to integrate easily without being immediately dependent on each other. Check it out! Mock Responses DocumentationExternal OAuth - 3rd party OAuth IDP integration
If you’re using a 3rd party IDP to generate tokens for your OAuth applications, Tyk can now validate the generated tokens by either performing JWT validation or by communicating with the authorization server and executing token introspection. This can be achieved by configuring the new External OAuth authentication mechanism. Find out more here External OAuth IntegrationUpdated the Tyk Gateway version of Golang, to 1.16.
Our Gateway is using Golang 1.16 version starting with 4.3 release. This version of the Golang release deprecates x509 commonName certificates usage. This will be the last release where it’s still possible to use commonName, users need to explicitly re-enable it with an environment variable. The deprecated, legacy behavior of treating the CommonName field on X.509 certificates as a host name when no Subject Alternative Names are present is now disabled by default. It can be temporarily re-enabled by adding the value x509ignoreCN=0 to the GODEBUG environment variable. Note that if the CommonName is an invalid host name, it’s always ignored, regardless of GODEBUG settings. Invalid names include those with any characters other than letters, digits, hyphens and underscores, and those with empty labels or trailing dots.Improved GQL security
4.3 adds two important features that improve security settings for GraphQL APIs in Tyk.- Ability to turn on/off introspection - this feature allows much more control over what consumers are able to do when interacting with a GraphQL API. In cases where introspection is not desirable, API managers can now disallow it. The setting is done on API key level, which means API providers will have very granular control over who can and who cannot introspect the API.
- Support for allow list in field-based permissions - so far Tyk was offering field-based permissions as a “block list” only. That meant that any new field/query added to a graph was by default accessible for all consumers until API manager explicitly blocked it on key/policy level. Adding support for “allow list” gives API managers much more control over changing schemas and reduces the risk of unintentionally exposing part of the graph that are not ready for usage. See Introspection for more details.
Changelog
Tyk Gateway
Added
- Minor modifications to the Gateway needed for enabling support for Graph Mongo Pump.
- Added header
X-Tyk-Sub-Request-Idto each request dispatched by federated supergraph and Universal Data Graph, so that those requests can be distinguished from requests directly sent by consumers. - Added a functionality that allows to block introspection for any GraphQL API, federated supergraph and Universal Data Graph (currently only supported via Gateway, UI support coming in the next release).
- Added an option to use allow list in field-based permissions. Implemented for full types and individual fields. (currently only supported via Gateway, UI support coming in the next release)
- Added new middleware that can be used with HTTP APIs to set up persisted queries for GraphQL upstreams.
- Added support for two additional subscription protocols for GraphQL subscriptions. Default protocol used between the gateway and upstream remains to be
graphql-ws, two additional protocols are possible to configure and use:graphql-transport-wsandSSE.
Changed
Updated the Tyk Gateway version of Golang, to 1.16. SECURITY: The release deprecates x509 commonName certificates usage. This will be the last release where it’s still possible to use commonName, users need to explicitly re-enable it with an environment variable. The deprecated, legacy behavior of treating the CommonName field on X.509 certificates as a host name when no Subject Alternative Names are present is now disabled by default. It can be temporarily re-enabled by adding the value x509ignoreCN=0 to the GODEBUG environment variable. Note that if the CommonName is an invalid host name, it’s always ignored, regardless of GODEBUG settings. Invalid names include those with any characters other than letters, digits, hyphens and underscores, and those with empty labels or trailing dots.Fixed
- Fixed an issue where introspection query was returning a wrong response in cases where introspection query had additional objects.
- Fixed an issue where gateway was crashing when a subscription was started while no datasource was connected to it.
- Fixed a problem with missing configuration in the GraphQL config adapter that caused issues with batching requests to subgraphs in GraphQL API federation setting.
- A HTTP OAS API version lifetime respects now the date value of the expiration field from Tyk OAS API Definition.
- Now it is possible to proxy traffic from a HTTP API (using Tyk Classic API Definition) to a HTTP OAS API (using Tyk OAS API Definition) and vice versa.
Updated Versions
Tyk Gateway 4.3 (docker imagesUpgrade process
Follow the standard upgrade guide, there are no breaking changes in this release. If you want switch from MongoDB to SQL, you can use our migration tool, but keep in mind that it does not yet support the migration of your analytics data.4.2 Release Notes
4.2.0 Release Notes
Release Highlights
GraphQL Federation improvements
Changed GUI in Universal Data Graph configuration section.
A new GUI introduces enhancements to the user experience and more consistent user journey for UDG. This change does not yet cover all possible use cases and is released with a feature flag. To enable the new GUI, analytics.conf needs the following setting:- Importing GraphQL schema created outside of Tyk (formats accepted .json, .graphql, .grahqls)
- Creating GraphQL schema in Tyk using schema editor
- Hide/Unhide schema editor to focus on graphical representation of the schema
- Resizing schema editor to adjust workspace look & feel to user preferences
- Improved search in schema editor (search and search & replace available)
- Quick link to UDG documentation from schema editor
Note: Full configuration of new Universal Data Graph is not yet possible in the GUI, however any UDGs created earlier will not be broken and will work as previously.
Changes to federation entities
Defining the base entity
Entities must be defined with the@key directive. The fields argument must reference a field by which the entity can be uniquely identified. Multiple primary keys are possible. For example:
Subgraph 1 (base entity):
Entity stubs
Entities cannot be shared types (be defined in more than one single subgraph). If one subgraph references a base entity (an entity defined in another subgraph), that reference must be declared as a stub (stubs look like an extension without any new fields in federation v1). This stub would contain the minimal amount of information to identify the entity (referencing exactly one of the primary keys on the base entity regardless of whether there are multiple primary keys on the base entity). For example, a stub for MyEntity from Subgraph 1 (defined above): Subgraph 2 (stub)Supergraph extension orphans
It is now possible to define an extension for a type in a subgraph that does not define the base type. However, if an extension is unresolved (an extension orphan) after an attempted federation, the federation will fail and produce an error.Improved Dashboard UI and error messages
GraphQL-related (for example when federating subgraphs into a supergraph) errors in the Dashboard UI will show a lean error message with no irrelevant prefixes or suffixes. Changed the look & feel of request logs in Playground tab for GraphQL APIs. New component presents all logs in a clearer way and is easier to read for the userShared types
Types of the same name can be defined in more than one subgraph (a shared type). This will no longer produce an error if each definition is identical. Shared types cannot be extended outside of the current subgraph, and the resolved extension must be identical to the resolved extension of the shared type in all other subgraphs (see subgraph normalization notes). Attempting to extend a shared type will result in an error. The federated supergraph will include a single definition of a shared type, regardless of how many times it has been identically defined in its subgraphs.Subgraph normalization before federation
Extensions of types whose base type is defined in the same subgraph will be resolved before an attempt at federation. A valid example involving a shared type: Subgraph 1:Validation
Union members must be both unique and defined. Types must have bodies, e.g., enums must contain at least one value; inputs, interfaces, or objects must contain at least one fieldOpenAPI
Added support for the Request Body Transform middleware, for new Tyk OAS API Definitions.Universal Data Graph
Added support for Kafka as a data source in Universal Data Graph. Configuration allows the user to provide multiple topics and broker addresses.Changelog
Tyk Gateway
Added
- Added support for Kafka as a data source in Universal Data Graph.
- Adding a way to defining the base GraphQL entity via @key directive
- It is now possible to define an extension for a type in a subgraph that does not define the base type.
- Added support for the Request Body Transform middleware, for the new Tyk OAS API Definition
- Session lifetime now can be controlled by Key expiration, e.g. key removed when it is expired. Enabled by setting
session_lifetime_respects_key_expirationtotrue
Changed
- Generate API ID when API ID is not provided while creating API.
- Updated the Go plugin loader to load the most appropriate plugin bundle, honoring the Tyk version, architecture and OS
- When GraphQL query with a @skip directive is sent to the upstream it will no longer return “null” for the skipped field, but remove the field completely from the response
- Added validation to Union members - must be both unique and defined.
Fixed
- Fixed an issue where the Gateway would not create the circuit breaker events (BreakerTripped and BreakerReset) for which the Tyk Dashboard offers webhooks.
- Types of the same name can be defined in more than one subgraph (a shared type). This will no longer produce an error if each definition is exactly identical.
- Apply Federation Subgraph normalization do avoid merge errors. Extensions of types whose base type is defined in the same subgraph will be resolved before an attempt at federation.
Updated Versions
Tyk Gateway 4.2Upgrade process
Follow the standard upgrade guide, there are no breaking changes in this release. If you want switch from MongoDB to SQL, you can use our migration tool, but keep in mind that it does not yet support the migration of your analytics data.4.1 Release Notes
4.1.0 Release Notes
Release Highlights
OpenAPI as a native API definition format
Tyk has always had a proprietary specification for defining APIs. From Tyk v4.1 we now support defining APIs using the Open API Specification (OAS) as well, which can offer significant time and complexity savings. This is an early access capability. As we extend our OAS support, we would very much like your feedback on how we can extend and update to best meet your needs: . This capability is available in both the open source and paid versions of Tyk. See our Tyk OAS documentation for more details.MDCB Synchroniser
Tyk Gateway v4.1 enables an improved synchroniser functionality within Multi Data Center Bridge (MDCB) v2.0. Prior to this release, the API keys, certificates and OAuth clients required by worker Gateways were synchronised from the controller Gateway on-demand. With Gateway v4.1 and MDCB v2.0 we introduce proactive synchronisation of these resources to the worker Gateways when they start up. This change improves resilience in case the MDCB link or controller Gateway is unavailable, because the worker Gateways can continue to operate independently using the resources stored locally. There is also a performance improvement, with the worker Gateways not having to retrieve resources from the controller Gateway when an API is first called. Changes to keys, certificates and OAuth clients are still synchronised to the worker Gateways from the controller when there are changes and following any failure in the MDCB link.Go Plugin Loader
When upgrading your Tyk Installation you need to re-compile your plugin with the new version. At the moment of loading a plugin, the Gateway will try to find a plugin with the name provided in the API definition. If none is found then it will fallback to search the plugin file with the name:{plugin-name}_{Gw-version}_{OS}_{arch}.so
From v4.1.0 the plugin compiler automatically names plugins with the above naming convention. It enables you to have one directory with different versions of the same plugin. For example:
plugin_v4.1.0_linux_amd64.soplugin_v4.2.0_linux_amd64.so
Changelog
Tyk Gateway
Added
- Added support for new OAS API definition format
- Added support for headers on subgraph level for federated GraphQL APIs
- Added support for interfaces implementing interfaces in GQL schema editor
- Added support for passing authorization header in GQL API Playgrounds for subscription APIs
- Added TYK_GW_OMITCONFIGFILE option for Tyk Gateway to ignore the values in the config file and load its configuration only from environment variables and default values
- Added a way to modify Tyk analytics record via Go plugins configurable with API definition. Can be used to sanitise analytics data.
- Added new policy API REST endpoints
- Added option to configure certificates for Tyk Gateway using environment variable
- Added support for Python 3.9 plugins
- Added support for headers on subgraph level for federated GraphQL APIs
- Added support for introspecting schemas with interfaces implementing interfaces for proxy only GQL
- Added support for input coercion in lists for GraphQL
- Added support for repeatable directives for GraphQL
Changed
- Generate API ID when API ID is not provided while creating API.
- Updated the Go plugin loader to load the most appropriate plugin bundle, honoring Tyk version, architecture and OS
- When a GraphQL query with a @skip directive is sent to the upstream it will no longer return “null” for the skipped field, but remove the field completely from the response
Fixed
- Fixed a bug where the MDCB worker Gateway could become unresponsive when a certificate is added in the Tyk Dashboard
- Fixed an issue with the calculation of TTL for keys in an MDCB deployment such that TTL could be different between worker and controller Gateways
- Fixed a bug when using Open ID where quota was not tracked correctly
- Fixed multiple issues with schema merging in GraphQL federation. Federation subgraphs with the same name shared types like objects, interfaces, inputs, enums, unions and scalars will no longer cause errors when users are merging schemas into a federated supergraph.
- Fixed an issue where schema merging in GraphQL federation could fail depending on the order or resolving subgraph schemas and only first instance of a type and its extension would be valid. Subgraphs are now individually normalized before a merge is attempted and all extensions that are possible in the federated schema are applied.
- Fixed an issue with accessing child properties of an object query variable for GraphQL where query
{{.arguments.arg.foo}}would return{ "foo":"123456" }instead of “123456”
Updated Versions
Tyk Gateway 4.1 Tyk MDCB 2.0.1Upgrade process
Follow the standard upgrade guide, there are no breaking changes in this release. If you want switch from MongoDB to SQL, you can use our migration tool, but keep in mind that it does not yet support the migration of your analytics data.4.0 Release Notes
4.0.0 Release Notes
Release Highlights
GraphQL federation
As we know, ease-of-use is an important factor when adopting GraphQL. Modern enterprises have dozens of backend services and need a way to provide a unified interface for querying them. Building a single, monolithic GraphQL server is not the best option. It is hard to maintain and leads to a lot of dependencies and over-complication. To remedy this, Tyk 4.0 offers GraphQL federation that allows the division of GraphQL implementation across multiple backend services, while still exposing them all as a single graph for the consumers. Subgraphs represent backend services and define a distinct GraphQL schema. A subgraph can be queried directly, as a separate service or federated in the Tyk Gateway into a larger schema of a supergraph – a composition of several subgraphs that allows execution of a query across multiple services in the backend. Federation docs Subgraphs and Supergraphs docsGraphQL subscriptions
Subscriptions are a way to push data from the server to the clients that choose to listen to real-time messages from the server, using the WebSocket protocol. There is no need to enable subscriptions separately; Tyk supports them alongside GraphQL as standard. With release 4.0, users can federate GraphQL APIs that support subscriptions. Federating subscriptions means that events pushed to consumers can be enriched with information from other federated graphs. Subscriptions docsChangelog
- Now it is possible to configure GraphQL upstream authentification, in order for Tyk to work with its schema
- JWT scopes now support array and comma delimiters
- Go plugins can be attached on per-endpoint level, similar to virtual endpoints
Updated Versions
Tyk Gateway 4.0 Tyk Pump 1.5Upgrade process
Follow the standard upgrade guide, there are no breaking changes in this release. If you want switch from MongoDB to SQL, you can use our migration tool, but keep in mind that it does not yet support the migration of your analytics data.3.2 Release Notes
3.2.0 Release Notes
Release Highlights
GraphQL and UDG improvements
We’ve updated the GraphQL functionality of our Universal Data Graph. You’re now able to deeply nest GraphQL & REST APIs and stitch them together in any possible way. Queries are now possible via WebSockets and Subscriptions are coming in the next Release (3.3.0). You’re also able to configure upstream Headers dynamically, that is, you’re able to inject Headers from the client request into UDG upstream requests. For example, it can be used to access protected upstreams. We’ve added an easy to use URL-Builder to make it easier for you to inject object fields into REST API URLs when stitching REST APIs within UDG. Query-depth limits can now be configured on a per-field level. If you’re using GraphQL upstream services with UDG, you’re now able to forward upstream error objects through UDG so that they can be exposed to the client.Go response plugins
With Go response plugins you are now able to modify and create a full request round trip made through the Tyk Gateway. Find out more about plugins and how to write Go response plugins.Changelog
In addition to the above, version 3.2 includes all the fixes that are part of 3.0.5 https://github.com/TykTechnologies/tyk/releases/tag/v3.0.5Updated Versions
Tyk Gateway 3.2Upgrade process
If you already have GraphQL or UDG APIs you need to follow this upgrade guide3.1 Release Notes
3.1.0 Release Notes
Release Highlights
Identity Management UX and SAML support
You will notice that the experience for creating a new profile in the Identity management section of the dashboard was changed to a ‘wizard’ approach which reduces the time it takes to get started and configure a profile. In addition, users are now able to use SAML for the dashboard and portal login, whether you use TIB(Tyk Identity Broker) internally or externally of the dashboard. This follows the recent changes that we have made to embed TIB (Tyk Identity Broker)in the dashboard. See 3.0 release notes for more information regarding this. To learn more see the documentationUDG (Universal Data Graph) & GraphQL
Schema Validation
For any GraphQL API that is created via Dashboard or through our API, the GraphQL schema is now validated before saving the definition. Instant feedback is returned in case of error.Sync / Update schema with upstream API (Proxy Only Mode)
If you’ve configured just a proxy GraphQL API, you can now keep in sync the upstream schema with the one from the API definition, just by clicking on theGet latest version button on the Schema tab from API Designer
Docs here
Debug logs
You can now see what responses are being returned by the data sources used while configuring a UDG (universal data graph). These can be seen by calling the/api/debug API or using the playground tab within API designer.
The data that will be displayed will show information on the query before and after the request to a data source happens, as follows:
Before the request is sent:
Example log message: “Query.countries: preSendHttpHook executed”. Along with this message, the log entry will contain the following set of fields: Typename, Fieldname and Upstream url;
After the request is sent:
Example log message: “Query.countries: postReceiveHttpHook executed”. Along with this message, the log entry will contain the following set of fields: Typename, Filename, response body, status code.
Example:
{"typename": "Query", "fielname": "countries", "response_body": "{\"data\":{}}", "status_code": 200}
Docs here
Portal
GraphQL Documentation
Documentation for the GraphQL APIs that you are exposing to the portal is available now through a GraphQL Playground UI component, same as on the playground tab of API Designer. Also to overcome the CORS issues that you might encounter while testing documentation pages on the portal, we have pre-filled the CORS settings section in API Designer with explicit values from the start. All you need to do is to check the “Enable CORS” option.Portal - API key is hidden in email
You now have the option to hide the API key in the email generated after you approve the key request for a developer. Docs hereChangelog
The 3.1 version includes the fixes that are part of 3.0.1. https://github.com/TykTechnologies/tyk/releases/tag/v3.0.1Updated Versions
- Tyk Gateway 3.1
3.0 Release Notes
3.0.0 Release Notes
Release Highlights
Version changes and LTS releases
We have bumped our major Tyk Gateway version from 2 to 3, a long overdue change as we’ve been on version 2 for 3 years. We have also changed our Tyk Dashboard major version from 1 to 3, and from now on it will always be aligned with the Tyk Gateway for major and minor releases. The Tyk Pump has also now updated to 1.0, so we can better indicate major changes in future. Importantly, such a big change in versions does not mean that we going to break backward compatibility. More-over we are restructuring our internal release strategy to guarantee more stability and to allow us to deliver all Tyk products at a faster pace. We aim to bring more clarity to our users on the stability criteria they can expect, based on the version number. Additionally we are introducing Long Term Releases (also known as LTS). Read more about this changes in our blog post: https://tyk.io/blog/introducing-long-term-support-some-changes-to-our-release-process-product-versioning/Universal Data Graph and GraphQL
Tyk now supports GraphQL natively. This means Tyk doesn’t have to use any external services or process for any GraphQL middleware. You can securely expose existing GraphQL APIs using our GraphQL core functionality. In addition to this you can also use Tyk’s integrated GraphQL engine to build a Universal Data Graph. The Universal Data Graph (UDG) lets you expose existing services as one single combined GraphQL API. All this without even have to build your own GraphQL server. If you have existing REST APIs all you have to do is configure the UDG and Tyk has done the work for you. With the Universal Data Graph (UDG), Tyk becomes the central integration point for all your internal and external APIs. It also benefits from the full set of capabilities included with your Tyk installation—meaning your data graph is secure from the start and can take advantage of a wide range of out-of-the-box middleware to power your graph. Read more about the GraphQL and Universal Data GraphUsing external secret management services
Want to reference secrets from a KV store in your API definitions? We now have native Vault & Consul integration. You can even pull from a tyk.conf dictionary or environment variable file. Read moreCo-Process Response Plugins
We added a new middleware hook allowing middleware to modify the response from the upstream. Using response middleware you can transform, inspect or obfuscate parts of the response body or response headers, or fire an event or webhook based on information received by the upstream service. At the moment the Response hook is supported for Python and gRPC plugins.Enhanced Gateway health check API
Now the standard Health Check API response include information about health of the dashboard, redis and mdcb connections. You can configure notifications or load balancer rules, based on new data. For example, you can be notified if your Tyk Gateway can’t connect to the Dashboard (or even if it was working correctly with the last known configuration). Read MoreEnhanced Detailed logging
Detailed logging is used in a lot of the cases for debugging issues. Now as well as enabling detailed logging globally (which can cause a huge overhead with lots of traffic), you can enable it for a single key, or specific APIs. New detailed logging changes are available only to our Self-Managed customers currently. Read MoreAbility to shard analytics to different data-sinks
In a multi-org deployment, each organization, team, or environment might have their preferred analytics tooling. At present, when sending analytics to the Tyk Pump, we do not discriminate analytics by org - meaning that we have to send all analytics to the same database - e.g. MongoDB. Now the Tyk Pump can be configured to send analytics for different organizations to different places. E.g. Org A can send their analytics to MongoDB + DataDog. But Org B can send their analytics to DataDog + expose the Prometheus metrics endpoint. It also becomes possible to put a in-place, meaning that some data sinks can receive information for all orgs, whereas others will not receive OrgA’s analytics if blocked. This change requires updating to new Tyk Pump 1.0 Read More404 Error logging - unmatched paths
Concerned that client’s are getting a 404 response? Could it be that the API definition or URL rewrites have been misconfigured? Telling Tyk to track 404 logs, will cause the Tyk Gateway to produce error logs showing that a particular resource has not been found. The feature can be enabled by setting the configtrack_404_logs to true in the gateway’s config file.
Changelog
Fixes
- Fixed the bug when tokens created with non empty quota, and quota expiration set to
Never, were treated as having unlimited quota. Now such tokens will stop working, once initial quota is reached.
Updated Versions
- Tyk Gateway 3.0
- Tyk Pump 1.0