Skip to content

Commit 947907e

Browse files
authored
Update gateway.mdx
1 parent d1dde8d commit 947907e

File tree

1 file changed

+56
-10
lines changed

1 file changed

+56
-10
lines changed

developer-support/release-notes/gateway.mdx

Lines changed: 56 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,25 @@ For a comprehensive list of changes, please refer to the detailed [changelog](#C
4444

4545
#### Breaking Changes
4646

47-
There are no breaking changes in this release.
47+
**1. Query parameter handling in Tyk internal loops (tyk://) now requires explicit configuration**
48+
49+
In Tyk Gateway version 5.8.14, we have fixed inconsistent query parameter behavior in URL rewrites using Tyk internal loops (`tyk://api-id/path`). Previously, query parameters added to the `rewrite_to` URL were silently dropped, while original request parameters were automatically preserved. This behavior was inconsistent with standard HTTP URL rewrites and prevented proper parameter transformation during internal API routing.
50+
51+
**Impact**
52+
- Original request query parameters are no longer automatically forwarded through internal loops
53+
- Existing URL rewrite configurations may lose query parameters that were previously passed through automatically
54+
- APIs relying on automatic parameter forwarding will receive incomplete requests
55+
56+
**Migration Required**
57+
Update your URL rewrite configurations to explicitly include any original query parameters you want to preserve. For example:
58+
- **Before:** `"rewrite_to": "tyk://api-123/endpoint"` (original params auto-forwarded)
59+
- **After:** `"rewrite_to": "tyk://api-123/endpoint?param1=$tyk_context.request_data.param1"`
4860

4961
##### Compatibility Matrix For Tyk Components
5062

5163
| Gateway Version | Recommended Releases | Backwards Compatibility |
5264
|--------|-------------------|---- |
53-
| 5.12.0 | MDCB v2.10.0 | MDCB v2.10.0 |
65+
| 5.13.0 | MDCB v2.10.0 | MDCB v2.10.0 |
5466
| | Operator v1.4.0 | Operator v0.17 |
5567
| | Sync v2.1.7 | Sync v2.1.0 |
5668
| | Helm Chart v5.2.0 | Helm all versions |
@@ -315,17 +327,34 @@ For example, if an API has `config_data: {"environment": "staging", "team": "pla
315327

316328
<AccordionGroup>
317329

318-
(TBR!!)<Accordion title='Reduced Log Noise for TLS Certificate Authentication Errors'>
319-
Resolved an issue where TLS certificate authentication errors were creating excessive log noise. Previously, when clients attempted to connect without required TLS certificates, the "Client TLS certificate is required" message was logged at WARNING level, causing unnecessary alert fatigue in production environments where this is often expected behavior. The Gateway now logs these authentication failures at INFO level, maintaining security visibility while reducing log noise for operators.
330+
<Accordion title='Fixed Log Level for Client TLS Certificate Requirement Errors'>
331+
Resolved an issue where "Client TLS certificate is required" errors were logged at WARNING level, creating unnecessary noise in production logs. Previously, these common client-side authentication failures generated excessive warning-level log entries that could trigger false alerts and obscure more critical issues. The Gateway now logs these authentication failures at INFO level, maintaining security visibility while reducing log noise and alert fatigue for operations teams.
332+
</Accordion>
333+
334+
<Accordion title='Fixed malformed responses from Go plugins returning error status codes'>
335+
Resolved an issue where Go plugins returning error status codes caused duplicate `response.WriteHeader` calls, resulting in malformed response bodies that concatenated the original plugin response with additional Gateway error messages.
336+
337+
The Gateway now properly handles plugin-generated error responses without double-writing headers, ensuring response bodies contain only the original plugin content and eliminating superfluous WriteHeader warnings in logs.
338+
</Accordion>
339+
340+
<Accordion title='Fixed query parameter handling in Tyk internal loops (tyk://)'>
341+
Resolved inconsistent query parameter handling in URL rewrites using Tyk internal loops (`tyk://api-id/path`). Previously, custom query parameters specified in the `rewrite_to` URL were silently dropped, while original request parameters were unexpectedly preserved.
342+
343+
**What's Fixed:**
344+
- Query parameters explicitly added to `rewrite_to` URLs are now correctly passed to target APIs
345+
- Control parameters (`method`, `loop_limit`, `check_limits`) are properly consumed and removed
346+
- Behavior now matches standard HTTP URL rewrites for consistency
347+
348+
Original request query parameters are no longer automatically forwarded through internal loops. Update your URL rewrite configurations to explicitly include any required parameters in the `rewrite_to` URL.
320349
</Accordion>
321350

322-
<Accordion title='!!Fixed Client mTLS Authentication Between Tyk Gateways'>
351+
<Accordion title='Fixed Client mTLS Authentication Between Tyk Gateways'>
323352
Resolved an issue where a Tyk Gateway acting as a client (using upstream mTLS) would fail to authenticate against another mTLS-protected Tyk Gateway or upstream server, resulting in `HTTP 403 Forbidden: "Client TLS certificate is required"` errors.
324353

325354
The Gateway now reliably presents the configured upstream client certificate whenever requested by the target server, ensuring seamless mTLS communication between gateways and other upstream services.
326355
</Accordion>
327356

328-
<Accordion title='!!Fixed Default Gateway TLS Version to TLS 1.3'>
357+
<Accordion title='Fixed Default Gateway TLS Version to TLS 1.3'>
329358
Resolved an issue where the Tyk Gateway default maximum TLS version was incorrectly set to TLS 1.2 instead of TLS 1.3.
330359

331360
Tyk Gateway now follows Go's native TLS defaults (TLS 1.2 minimum, TLS 1.3 maximum), aligning with industry security standards. This maintains full backward compatibility for existing deployments that explicitly configure TLS versions.
@@ -335,24 +364,24 @@ To change the maximum TLS version, you must now explicitly set `TYK_GW_HTTPSERVE
335364
To change the minimum TLS version, you must now explicitly set `TYK_GW_HTTPSERVEROPTIONS_MINVERSION` for client-to-Gateway connections or `TYK_GW_PROXYSSLMINVERSION` for Gateway-to-upstream connections.
336365
</Accordion>
337366

338-
<Accordion title='!!Fixed CORS Preflight Blocking by AllowList Middleware'>
367+
<Accordion title='Fixed CORS Preflight Blocking by AllowList Middleware'>
339368
Resolved an issue where CORS preflight OPTIONS requests were incorrectly blocked by the AllowList middleware when `options_passthrough` was disabled. Previously, when APIs had CORS enabled with Tyk handling OPTIONS requests internally (`options_passthrough: false`), preflight requests would fail AllowList validation because users typically don't explicitly define OPTIONS endpoints in their AllowList configurations, causing "Requested endpoint is forbidden" errors.
340369

341370
The Tyk Gateway now properly recognizes CORS preflight requests and allows them to bypass AllowList middleware checks when Tyk is configured to handle OPTIONS internally, restoring the expected behavior where CORS preflight handling works automatically without requiring explicit OPTIONS endpoint definitions.
342371
</Accordion>
343372

344-
Accordion title='!!Fixed Analytics Generation for OAS API Mock Endpoints'>
373+
Accordion title='Fixed Analytics Generation for OAS API Mock Endpoints'>
345374
Resolved an issue where OAS APIs with mock endpoints stopped generating analytics data. Previously, analytics were properly captured for mock responses in OAS APIs since the Mock Middleware executes at the end of the middleware chain, but this functionality was inadvertently broken while fixing an unrelated internal API proxying issue.
346375

347376
Tyk Gateway now correctly generates analytics for OAS API mock endpoints while maintaining the existing behavior for Classic APIs, which intentionally do not generate analytics for mock endpoints, as it is documented.
348377
</Accordion>
349378

350-
<Accordion title='!!Fixed OpenTelemetry Configuration File Settings Being Ignored'>
379+
<Accordion title='Fixed OpenTelemetry Configuration File Settings Being Ignored'>
351380
Resolved an issue where OpenTelemetry settings in the Gateway configuration file were not being applied. Previously, when users configured OpenTelemetry via the `opentelemetry` section in the Gateway config file (including `enabled`, `exporter`, and `endpoint` fields), these settings were ignored, and only environment variables like `TYK_GW_OPENTELEMETRY_ENABLED` would take effect.
352381
Tyk Gateway now properly reads and applies OpenTelemetry configuration from the config file as documented.
353382
</Accordion>
354383

355-
<Accordion title='!!Resolved issue with Gateway entering an unresponsive state during registration failures'>
384+
<Accordion title='Resolved issue with Gateway entering an unresponsive state during registration failures'>
356385
Fixed an issue where the Gateway would fail to load APIs and policies if the Dashboard database was temporarily unavailable during startup. The Gateway will now automatically retry loading configurations with exponential backoff until successful, restoring self-healing capabilities without requiring a manual restart.
357386
</Accordion>
358387

@@ -380,6 +409,23 @@ Resolved an issue where the `tyk.gateway.apis.loaded` and `tyk.gateway.policies.
380409

381410
</AccordionGroup>
382411

412+
##### Security Fixes
413+
414+
<AccordionGroup>
415+
416+
<Accordion title='CVE fixed'>
417+
Addressed CVEs reported in dependent libraries, providing increased protection against security
418+
vulnerabilities, including, but not limited to:
419+
420+
- <a href="https://cvereports.com/reports/GHSA-6G7G-W4F8-9C9X" target="_blank">GHSA-6g7g-w4f8-9c9x</a>
421+
- <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-33186" target="_blank">CVE-2026-33186</a>
422+
- <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-15558" target="_blank">CVE-2025-15558</a>
423+
- <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-39883" target="_blank">CVE-2026-39883</a>
424+
- <a href="https://nvd.nist.gov/vuln/detail/CVE-2026-39882" target="_blank">CVE-2026-39882</a>
425+
426+
</Accordion>
427+
428+
</AccordionGroup>
383429

384430
---
385431

0 commit comments

Comments
 (0)