Tyk Gateway 5.0 Release Notes

Last updated: 6 minutes read.

Open Source (Mozilla Public License)

This page contains all release notes for version 5.0.X displayed in reverse chronological order


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 dataplanes. 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

  • Resolved an issue where changes to custom keys were not properly replicated to dataplanes

    Resolved a critical issue affecting MDCB environments, where changes to custom keys made via the dashboard were not properly replicated to dataplanes. This affected both the key data and associated quotas. This issue was present in 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 are advised to clear their edge Redis instances of any keys that might have been affected by this bug to ensure data consistency and proper synchronization across their environments. There are several methods available to address this issue:

    1. Specific Key Deletion via API: To remove individual buggy keys, you can use the following API call:
    curl --location --request DELETE 'http://tyk-gateway:{tyk-hybrid-port}/tyk/keys/my-custom-key' \ --header 'X-Tyk-Authorization: {dashboard-key}'
    

    Replace {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.

    1. Bulk Key Deletion Using Redis CLI: For environments with numerous affected keys, you might consider using the Redis CLI to remove keys en masse:
    redis-cli --scan --pattern 'apikey-*' | xargs -L 1 redis-cli del
    redis-cli --scan --pattern 'quota-*' | xargs -L 1 redis-cli del
    

    This method can temporarily impact the performance of the Redis server, so it should be executed during a maintenance window or when the impact on production traffic is minimal.

    1. Complete Redis Database Flush: If feasible, flushing the entire Redis database offers a clean slate:
    redis-cli FLUSHALL ASYNC
    

    Implications Regardless of the chosen method, be aware that quotas will be reset and will need to resynchronize across the system. This may temporarily affect reporting and rate limiting capabilities.


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

Changelog

Added
  • Added a new enable_distributed_tracing option 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

Further Information

Upgrading Tyk

Please refer to the upgrading Tyk page for further guidance with respect to the upgrade strategy.

API Documentation

FAQ

Please visit our Developer Support page for further information relating to reporting bugs, upgrading Tyk, technical support and how to contribute.