What traefik/traefik shipped
Written by FoxPlug from the repository's own releases; not affiliated with Traefik. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/traefik/traefik; Traefik did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- Released v3.7.17 with a CVE advisory fix and dependency bumps for ACME libraries and HTTP/3. Release
- Released v2.11.61 with the same CVE advisory fix, an entry point option to limit request header values, and dependency bumps. Release
- Added a regression test for gRPC bidirectional streams that could hang when a backend ends the stream while the client is still sending its body. Pull request #14037
- Changed path sanitization to remove path parameters from dot-segments and empty segments before cleaning, so paths like /foo/..;bar/baz forward as /baz. Pull request #14188
- Added validation that rejects HTTP Host matcher values which are not valid hostnames or IP addresses, matching how HostSNI is validated. Pull request #13571
- Limited zstd encoder memory in the Compress middleware by using the same encoder options as gzhttp instead of library defaults. Pull request #14167
- BasicAuth middleware now rejects passwords longer than 1024 bytes. Pull request #14168
- Proxy-Authorization with NTLM or Negotiate credentials now uses a dedicated connection to the auth server per client connection, as the Authorization header already did. Pull request #14203
- Fixed Ssl-Client-Verify, Ssl-Client-Subject-Dn and Ssl-Client-Issuer-Dn headers when several Ingresses share a host with client certificate authentication in the ingress-nginx provider. Pull request #14160
- Fixed the official Docker image link in the README, which pointed at a page returning 404. Pull request #14198
Why it matters
This week brings two patch releases that carry a CVE advisory fix, so users on the v3.7 and v2.11 lines should upgrade. On the HTTP side, gRPC bidirectional streams get a regression test and path handling, Host matcher validation and Compress memory use are tightened, which affects routing and resource behavior for existing configurations.
Changelog entry
- Release v3.7.17: CVE advisory fix, ACME library bumps, quic-go update. Release
- Release v2.11.61: CVE advisory fix, entry point option to limit request header values, dependency bumps. Release
- Add regression test for gRPC bidirectional streams that could hang on early backend completion. Pull request #14037
- Remove path parameters from dot-segments and empty segments before path cleanup. Pull request #14188
- Validate HTTP Host matcher values as hostnames or IP addresses. Pull request #13571
- Limit zstd encoder memory in the Compress middleware using gzhttp options. Pull request #14167
- Reject BasicAuth passwords longer than 1024 bytes. Pull request #14168
- Use a dedicated auth server connection per client for NTLM and Negotiate in Proxy-Authorization. Pull request #14203
- Fix Ssl-Client-* headers when Ingresses share a host with auth-tls-secret. Pull request #14160
- Apply host-less auth-tls annotations to the default TLS option. Pull request #14224
- Fix SPIFFE configuration for the TCP servers transport to read the TCP option. Pull request #14200
- Fix the official Docker image link in the README. Pull request #14198
Two patch releases this week: v3.7.17 and v2.11.61, both with a CVE advisory fix. Also in: a gRPC bidirectional stream regression test, stricter HTTP Host matcher validation, path parameter handling for dot-segments, and lower zstd memory in the Compress middleware.
Two patch releases landed this week: v3.7.17 and v2.11.61, each fixing advisory GHSA-xv5x-242w-7hf7 along with dependency updates. For HTTP routing, Host matcher values that are not valid hostnames or IP addresses are now rejected, matching HostSNI validation. Path sanitization removes parameters from dot-segments and empty segments, so /foo/..;bar/baz forwards as /baz. The Compress middleware now uses gzhttp's zstd encoder options to limit memory per response, and BasicAuth rejects passwords over 1024 bytes. A regression test covers gRPC bidirectional streams that could hang when a backend ends the stream while the client is still sending.
Week of October 26, 2026
What shipped
- Released v3.8.0-rc.1 with per-router responding timeouts, an acme reusePrivateKey option and managedFields stripping in Kubernetes informers. Release
- Released v3.7.17 with updated acme and http3 dependencies and a Gateway API fix. Release
- Released v2.11.61 with a new entry point option to limit request header values and dependency bumps. Release
- Added support for the HTTPRoute RequestMirror filter with percent and fraction settings. Pull request #14123
- Added support for the HTTPRoute retry field, giving rules a Retry middleware. Pull request #14127
- Added support for the Gateway backend client certificate reference. Pull request #14119
- Added support for ClusterTrustBundle CA certificate references in BackendTLSPolicy and Gateway frontend TLS validation. Pull request #13410
- Fixed a FastProxy backend connection leak for NTLM and Kerberos by releasing dedicated pools when a client connection closes. Pull request #14158
- Fixed a backend connection leak for NTLM and Kerberos authentication on the standard proxy. Pull request #14144
- Fixed generated name collisions across namespaces in the ingress-nginx provider. Pull request #14140
Why it matters
This week brought a release candidate for version 3.8 plus maintenance releases on the 3.7 and 2.11 lines, so users can try the new features early. It also extended Gateway API support with request mirroring, retries, backend client certificates and ClusterTrustBundle references, and closed connection leaks for NTLM and Kerberos authentication.
Changelog entry
- Release v3.8.0-rc.1 with per-router responding timeouts, acme reusePrivateKey and managedFields stripping. Release
- Release v3.7.17 with acme and http3 dependency bumps and a Gateway API fix. Release
- Release v2.11.61 with an entry point option to limit request header values. Release
- Add HTTPRoute RequestMirror filter support with percent and fraction. Pull request #14123
- Add HTTPRoute retry support as a Retry middleware. Pull request #14127
- Add Gateway backend client certificate support. Pull request #14119
- Add ClusterTrustBundle CA certificate references. Pull request #13410
- Fix FastProxy backend connection leak for NTLM and Kerberos. Pull request #14158
- Fix backend connection leak for NTLM and Kerberos authentication. Pull request #14144
- Avoid generated name collisions across namespaces in the ingress-nginx provider. Pull request #14140
- Add SyncPeriod option to the etcd KV provider. Pull request #14054
- Accept uppercase Q weight in compress Accept-Encoding parsing. Pull request #14153
V3.8.0-rc.1, v3.7.17 and v2.11.61 are out. New this week: HTTPRoute RequestMirror and retry support, Gateway backend client certificates, ClusterTrustBundle CA references, and fixes for NTLM and Kerberos connection leaks.
Three releases this week: v3.8.0-rc.1, v3.7.17 and v2.11.61. The release candidate adds per-router responding timeouts, an acme reusePrivateKey option and managedFields stripping in Kubernetes informers. Gateway API support grew with the HTTPRoute RequestMirror filter, HTTPRoute retries, Gateway backend client certificates and ClusterTrustBundle CA certificate references. We also fixed backend connection leaks for NTLM and Kerberos authentication, avoided generated name collisions across namespaces in the ingress-nginx provider, and updated the Docker Basic guide to use v3.7. See the migration guide before upgrading.
Week of October 19, 2026
What shipped
- Release v3.7.16 fixed advisory GHSA-hrpp-p4fc-wwf8 and added NTLM and Kerberos support in ForwardAuth and ingress-nginx auth-url along with several Kubernetes Gateway API fixes. Release
- Release v2.11.60 fixed advisory GHSA-hrpp-p4fc-wwf8 and added NTLM and Kerberos authentication in ForwardAuth. Release
- Added a per-router respondingTimeouts.roundTrip option that bounds the whole client transaction on a single HTTP router, exposed by all providers. Pull request #13537
- Added support for Gateway.Spec.TLS.Frontend client certificate validation (mTLS) on the Kubernetes Gateway API provider, per GEP-91. Pull request #14129
- Added support for the HTTPRoute backendRequest timeout, enabling the HTTPRouteBackendTimeout Gateway API extended feature. Pull request #14130
- Added a gatewayClass option to the Kubernetes Gateway provider to watch a GatewayClass by name, with labelSelector now deprecated in its favor and the two options mutually exclusive. Pull request #14029
- Fixed broken flush, hijack and deadlines in wrapped ResponseWriters by making http.ResponseController work through the whole middleware chain, including third-party handlers. Pull request #14082
- Gateway status updates now preserve Gateway and listener conditions owned by other controllers instead of replacing the whole status. Pull request #14128
- Added a maxHeaderValueCount option on the entry point HTTP configuration, passed to the MaxHeaderValueCount field of the Go http.Server. Pull request #14111
- The Kubernetes CRD and Ingress-NGINX providers now keep a Secret key reference in the routing configuration and resolve it only when the middleware is built. Pull request #14083
Why it matters
This week brought two patch releases fixing a security advisory, so users on v3.7 and v2.11 have fixes available. It also landed several Gateway API additions, including backendRequest timeouts, frontend mTLS validation and a GatewayClass selector, plus a fix for flush, hijack and deadlines through wrapped response writers.
Changelog entry
- Release v3.7.16: fixed GHSA-hrpp-p4fc-wwf8 and added NTLM and Kerberos support in ForwardAuth and ingress-nginx auth-url. Release
- Release v2.11.60: fixed GHSA-hrpp-p4fc-wwf8 and added NTLM and Kerberos authentication in ForwardAuth. Release
- Added the respondingTimeouts.roundTrip router option to bound the whole client transaction per router. Pull request #13537
- Added Gateway.Spec.TLS.Frontend client certificate validation (mTLS) to the Kubernetes Gateway API provider. Pull request #14129
- Added support for the HTTPRoute backendRequest timeout. Pull request #14130
- Added a gatewayClass option to the Kubernetes Gateway provider and deprecated labelSelector in its favor. Pull request #14029
- Fixed flush, hijack and deadlines in wrapped ResponseWriters by supporting http.ResponseController across the middleware chain. Pull request #14082
- Preserved Gateway status conditions owned by other controllers when updating Gateway status. Pull request #14128
- Added a maxHeaderValueCount entry point option, passed to the Go http.Server MaxHeaderValueCount field. Pull request #14111
- Kubernetes CRD and Ingress-NGINX providers now keep Secret key references and resolve them when the middleware is built. Pull request #14083
- Added the urn:k8s:configmap reference scheme for plugin configuration under the Kubernetes CRD provider. Pull request #14118
- Exposed disableRequestBuffer and disableResponseBuffer in the buffering middleware configuration. Pull request #13029
V3.7.16 and v2.11.60 are out with a security advisory fix and NTLM/Kerberos support in ForwardAuth. Also new: a per-router roundTrip timeout, Gateway API frontend mTLS, HTTPRoute backendRequest timeouts, a gatewayClass option, and a fix for flush, hijack and deadlines in wrapped
Two patch releases this week: v3.7.16 and v2.11.60 fix advisory GHSA-hrpp-p4fc-wwf8 and add NTLM and Kerberos support in ForwardAuth, also available in ingress-nginx auth-url on v3.7. On the Gateway API side, there is now support for the HTTPRoute backendRequest timeout, client certificate validation on Gateway.Spec.TLS.Frontend, and a gatewayClass option to watch a GatewayClass by name, with labelSelector deprecated in its favor. A new per-router respondingTimeouts.roundTrip option bounds the whole client transaction, and a fix makes http.ResponseController flush, hijack and deadlines work through the middleware chain.
Week of October 12, 2026
What shipped
- Released v3.7.15, which fixes three security advisories and changes the server to reject CONNECT requests on every HTTP version. Release
- Released v2.11.59 with the same CONNECT request rejections and an update of golang.org/x/net to v0.60.0. Release
- Removed CONNECT tunneling support so all CONNECT requests are rejected before reaching the muxer, because CONNECT over HTTP/2 was not handled properly. Pull request #14050
- Rejected CONNECT requests regardless of HTTP version for security reasons. Pull request #14031
- Added a tap middleware that sends a copy of requests and responses to Traefik services as separate JSON records. Pull request #13962
- Moved the allowCrossNamespaceResources check on the auth-tls-secret annotation so it runs for every Ingress before the cached TLS option is looked up. Pull request #14066
- Applied the auth-tls-secret client authentication TLS option to every Ingress declaring a path on the same host. Pull request #14057
- Changed getHTTPServiceProtocol so a nil appProtocol yields http instead of inferring HTTPS from the port number or port name. Pull request #13935
- Fixed a fastproxy bug where switching protocol read the buffer concurrently. Pull request #14023
- Allowed non-root routers to carry an Observability configuration that only holds provider-defined metadata. Pull request #14018
Why it matters
This week brings security fixes to both the v3.7 and v2.11 lines, and the server no longer accepts CONNECT requests on any HTTP version. Several Kubernetes Ingress fixes change how auth-tls-secret and cross-namespace checks behave, so users of that provider should review the release notes before upgrading. A new tap middleware and changes to child router observability metadata give users more ways to inspect traffic and configure routers.
Changelog entry
- Release v3.7.15 with fixes for three security advisories. Release
- Release v2.11.59 with CONNECT rejections and a golang.org/x/net bump. Release
- Reject CONNECT requests regardless of HTTP version. Pull request #14031
- Reject the CONNECT method before reaching the muxer. Pull request #14050
- Add a tap middleware that sends copies of requests and responses as JSON records. Pull request #13962
- Fix concurrent buffer reads on upgraded connections in fastproxy. Pull request #14023
- Fix the cross-namespace check on shared auth-tls-secret TLS options. Pull request #14066
- Apply auth-tls client authentication to every Ingress on the same host. Pull request #14057
- Default HTTPRoute backend scheme to HTTP when appProtocol is not set. Pull request #13935
- Allow observability metadata on child routers. Pull request #14018
- Document that rewrite is supported in configuration-snippet. Pull request #14070
- Add a non-regression test for CR and LF in FastProxy request headers. Pull request #13642
V3.7.15 and v2.11.59 are out, fixing three security advisories and rejecting CONNECT requests on every HTTP version. Also this week: a new tap middleware, auth-tls-secret fixes in the Kubernetes Ingress provider, and HTTPRoute backends defaulting to http when appProtocol is unset
Traefik v3.7.15 and v2.11.59 are released. Both fix three security advisories and reject all CONNECT requests, whatever the HTTP version, because CONNECT over HTTP/2 was not handled properly. The v2.11.59 release also bumps golang.org/x/net to v0.60.0. Beyond the releases, the Kubernetes Ingress provider gets fixes to the auth-tls-secret annotation: the cross-namespace check now runs for every Ingress, and client authentication applies to the whole host. HTTPRoute backends now default to http when appProtocol is unset. A new tap middleware sends a copy of requests and responses to Traefik services as JSON records, and non-root routers can carry observability metadata.
Week of October 5, 2026
What shipped
- Release v3.7.14 was prepared, also known as langres. Pull request #14009
- Release v2.11.58 was prepared, also known as mimolette. Pull request #14007
- The v3.7 branch was merged into master, and the Gateway API conformance reports were regenerated. Pull request #14020
- The v3.7 branch was merged into master again to keep it up to date. Pull request #14012
- The v2.11 branch was merged into v3.7. Pull request #14008
- A spelling typo in SPIFFE test comments was fixed, changing ceritificate to certificate. Pull request #14001
Why it matters
This week brings two new releases, v3.7.14 and v2.11.58, so users on those lines can update. Branch merges keep master and v3.7 current, and the Gateway API conformance reports were regenerated against master. A test comment typo fix makes the SPIFFE mTLS tests easier to read.
Changelog entry
- Prepare release v3.7.14 (langres). Pull request #14009
- Prepare release v2.11.58 (mimolette). Pull request #14007
- Merge branch v3.7 into master; regenerate Gateway API conformance reports against master. Pull request #14020
- Merge branch v3.7 into master. Pull request #14012
- Merge branch v2.11 into v3.7. Pull request #14008
- Fix typo in SPIFFE test comments: ceritificate to certificate. Pull request #14001
Release v3.7.14 (langres) and v2.11.58 (mimolette) are prepared. Merged v3.7 into master, merged v2.11 into v3.7, and regenerated Gateway API conformance reports. Also fixed a certificate typo in SPIFFE test comments.
This week Traefik prepared two releases: v3.7.14 (langres) and v2.11.58 (mimolette). The v3.7 branch was merged into master, with Gateway API conformance reports regenerated against master, and the v2.11 branch was merged into v3.7. A one-word spelling mistake in SPIFFE mTLS test comments was corrected from ceritificate to certificate. Users on the v3.7 and v2.11 lines can update to the new releases.
Week of September 28, 2026
What shipped
- Gateway API ListenerSet (GEP-1713) support added for multi-tenant isolation with per-listener certificate management and cross-namespace delegation. Pull request #12909
- Traefik request duration histograms no longer force explicit bucket aggregation, allowing exporters to use their own histogram aggregation settings. Pull request #13873
- Kubernetes Ingress NGINX provider now supports nginx.ingress.kubernetes.io/limit-allowlist annotation to exempt IPs and CIDR ranges from rate limiting. Pull request #12918
- Ingress NGINX app-root annotation now works for Ingresses that do not declare a forward slash path. Pull request #13601
- Authorization header is now removed for basic and digest auth in ingress-nginx provider. Pull request #13631
- SSL-passthrough default backend no longer gets a TLS router created for it. Pull request #13992
- Request TLS state is now always set via an entry point middleware. Pull request #13985
- Partially configured internal entry points now default to:8080 when required. Pull request #13939
- New reusePrivateKey option added to control certificate private key reuse behavior. Pull request #13004
- Security submission documentation now includes coordinated disclosure embargo details. Pull request #13982
Why it matters
This week brings improved Gateway API support for complex Kubernetes deployments, better observability with OTLP metrics control, and expanded Ingress NGINX annotation compatibility. These changes address enterprise deployment patterns and strengthen security practices.
Changelog entry
- Gateway API ListenerSet (GEP-1713) support for per-listener certificate management and cross-namespace delegation Pull request #12909
- Traefik request duration histograms no longer override exporter histogram aggregation settings Pull request #13873
- Kubernetes Ingress NGINX: support for nginx.ingress.kubernetes.io/limit-allowlist annotation Pull request #12918
- Kubernetes Ingress NGINX: app-root annotation now works for Ingresses without explicit forward slash path Pull request #13601
- Kubernetes Ingress NGINX: Authorization header removed after basic and digest authentication Pull request #13631
- Kubernetes Ingress NGINX: SSL-passthrough default backend no longer creates TLS router Pull request #13992
- Request TLS state always set via entry point middleware Pull request #13985
- Partially configured internal entry points default to:8080 Pull request #13939
- New reusePrivateKey option to control certificate private key reuse Pull request #13004
Traefik ships Gateway API ListenerSet support, fixes OTLP histogram aggregation, and expands Ingress NGINX annotation coverage for better Kubernetes integration.
This week's Traefik updates focus on Kubernetes improvements and observability. Gateway API ListenerSet support enables multi-tenant isolation, OTLP metrics now respect exporter configuration, and new Ingress NGINX annotations handle rate limiting allowlists and app-root paths correctly. These changes improve both enterprise deployments and cloud-native integrations.
Week of September 21, 2026
What shipped
- Fixed TLSRoute router name collisions when multiple TLS listeners share an entry point. Pull request #13959
- Gateway API provider now creates only the router serving a given rule on a given entry point, preventing routers from shadowing each other. Pull request #13946
- TLSRoute routers no longer shadow TCPRoute routers that share the same entry point and rule. Pull request #13953
- BackendTLSPolicy ancestor now reports in the namespace of its Gateway instead of the backend namespace. Pull request #13964
- GRPCRoute and TLSRoute BackendTLSPolicy ancestors now report in the namespace of their Gateway. Pull request #13966
- Added QUERY HTTP method to metrics labeling instead of grouping it as EXTENSION_METHOD. Pull request #13667
- Fixed selection bias in the P2C load balancer when drawing the second index. Pull request #13644
- Rate limiter Lua script now uses # operator instead of deprecated table.maxn for Redis-compatible servers. Pull request #13825
- UDP listener now copies datagrams into right-sized buffers instead of queuing full 64 KiB allocations. Pull request #13941
- Gateway API conformance entry points now have a 1s read timeout. Pull request #13947
Why it matters
This week focused on Gateway API correctness and cross-namespace routing, fixing collisions and shadowing issues that affected multi-listener deployments. Performance improvements to UDP handling and the P2C load balancer reduce resource waste, while the QUERY method support expands HTTP compatibility.
Changelog entry
- Fixed TLSRoute router name collision across listeners sharing an entry point Pull request #13959
- Gateway API provider now avoids creating shadowed routers when multiple routes share an entry point and rule Pull request #13946
- TLSRoute routers no longer shadow TCPRoute routers on the same entry point and rule Pull request #13953
- BackendTLSPolicy ancestor now reports in the Gateway namespace for cross-namespace deployments Pull request #13964
- GRPCRoute and TLSRoute BackendTLSPolicy ancestors now report in the namespace of their Gateway Pull request #13966
- Added QUERY HTTP method to metrics labeling Pull request #13667
- Fixed selection bias in P2C load balancer for second server index Pull request #13644
- Rate limiter Lua script now compatible with Redis using newer Lua versions Pull request #13825
- UDP listener now uses right-sized buffers for datagrams to reduce memory allocation Pull request #13941
- Gateway API conformance entry points now have 1s read timeout Pull request #13947
Fixed TLSRoute router collisions, Gateway API shadowing issues, and cross-namespace BackendTLSPolicy handling. Improved UDP buffer efficiency and added QUERY HTTP method support.
This week's releases focused on Gateway API stability and performance. We fixed router name collisions in TLSRoute deployments, resolved shadowing issues between different route types, and corrected BackendTLSPolicy ancestor reporting across namespaces. Performance improvements include optimized UDP datagram handling and P2C load balancer corrections. Added QUERY HTTP method support for expanded protocol compatibility.
Week of September 14, 2026
What shipped
- FastProxy now isolates NTLM and Negotiate backend connections to the frontend connection that authenticated them, matching the behavior of the default proxy. Pull request #13914
- NTLM and Kerberos credential-bearing requests are dispatched on dedicated connection-scoped transports before reaching the shared backend connection pool. Pull request #13902
- SSL-passthrough Ingress routes now follow the same routing path as other Ingress routes, with the TCP router forwarding connections without decryption. Pull request #13915
- The Ingress-NGINX provider no longer normalizes namespace and resource names, preventing collisions when names contain dots. Pull request #13922
- The Ssl-Client-* request headers are now set on the HTTP router when the nginx.ingress.kubernetes.io/auth-tls-pass-certificate-to-upstream annotation is enabled. Pull request #13912
- Documentation grammar corrected in TCP HostSNI rules reference. Pull request #13895
- Documentation grammar corrected in TCP ServersTransport reference. Pull request #13894
- Test fixed to properly wait for connection handler to return before starting subsequent connections. Pull request #13870
- Integration test example regular expression end anchor corrected. Pull request #13898
- Branch v3.7 merged into master. Pull request #13889
Why it matters
This week's changes improve authentication handling for connection-bound schemes like NTLM and Kerberos, ensure consistent Ingress routing behavior, and fix a Kubernetes resource naming issue that could cause configuration collisions. These fixes strengthen reliability for users relying on advanced authentication and Kubernetes integration.
Changelog entry
- FastProxy: isolate NTLM and Negotiate backend connections to frontend connection Pull request #13914
- Dispatch NTLM and Kerberos credential-bearing requests on dedicated connection-scoped transports Pull request #13902
- Route ssl-passthrough Ingress through standard routing path Pull request #13915
- Ingress-NGINX provider: do not normalize resource names Pull request #13922
- Set Ssl-Client-* request headers on Ingress-NGINX HTTP router for auth-tls-pass-certificate-to-upstream Pull request #13912
Improved NTLM and Kerberos connection isolation in FastProxy. Fixed SSL-passthrough routing consistency. Prevented Ingress-NGINX resource name collisions with dotted names.
This week we improved handling of connection-bound authentication schemes. FastProxy now properly isolates NTLM and Negotiate connections matching the default proxy. SSL-passthrough Ingress routes follow standard routing paths. We also fixed a Kubernetes resource naming issue in the Ingress-NGINX provider that could cause collisions when resource names contain dots.