Important: Please read the migration guide.
Enhancements:
- [consul] ConsulCatalog StrictChecks (#10388 by djenriquez)
- [docker,docker/swarm] Split Docker provider (#9652 by ldez)
- [docker,service] Adds weight on ServersLoadBalancer (#10372 by juliens)
- [ecs] Add option to keep only healthy ECS tasks (#8027 by Michampt)
- [file] Reload provider file configuration on SIGHUP (#9993 by sokoide)
- [healthcheck] Support gRPC healthcheck (#8583 by jjacque)
- [healthcheck] Add a status option to the service health check (#9463 by guoard)
- [http] Support custom headers when fetching configuration through HTTP (#9421 by kevinpollet)
- [http3] Moves HTTP/3 outside the experimental section (#9570 by sdelicata)
- [k8s,hub] Remove deprecated code (#9804 by ldez)
- [k8s,k8s/gatewayapi] Support for cross-namespace references / GatewayAPI ReferenceGrants (#10346 by pascal-hofmann)
- [k8s,k8s/gatewayapi] Support HostSNIRegexp in GatewayAPI TLS routes (#9486 by ddtmachado)
- [k8s,k8s/gatewayapi] Upgrade gateway api to v1.0.0 (#10205 by mmatur)
- [k8s/crd,k8s] Support file path as input param for Kubernetes token value (#10232 by sssash18)
- [k8s/gatewayapi] Add option to set Gateway status address (#10582 by kevinpollet)
- [k8s/gatewayapi] Toggle support for experimental channel (#10435 by SantoDE)
- [k8s/gatewayapi] Add option to set Gateway status address (#10582 by kevinpollet)
- [k8s/gatewayapi] Add support for HTTPRequestRedirectFilter in k8s Gateway API (#9408 by romantomjak)
- [k8s/gatewayapi] Handle middlewares in filters extension reference (#10511 by youkoulayley)
- [k8s/ingress,k8s/crd,k8s,k8s/gatewayapi] Use runtime.Object in routerTransform (#10523 by juliens)
- [k8s/ingress,k8s] Add option to the Ingress provider to disable IngressClass lookup (#9281 by jandillenkofer)
- [k8s/ingress,k8s] Remove support of the networking.k8s.io/v1beta1 APIVersion (#9949 by rtribotte)
- [logs] Introduce static config hints (#10351 by rtribotte)
- [logs,performance] New logger for the Traefik logs (#9515 by ldez)
- [logs,plugins] Retry on plugin API calls (#9530 by ldez)
- [logs,provider] Improve provider logs (#9562 by ldez)
- [logs] Improve test logger assertions (#9533 by ldez)
- [marathon] Remove Marathon provider (#9614 by rtribotte)
- [metrics,tracing,accesslogs] Remove observability for internal resources (#9633 by rtribotte)
- [metrics,tracing] Upgrade opentelemetry dependencies (#10472 by mmatur)
- [metrics] Add support for sending DogStatsD metrics over Unix Socket (#10199 by liamvdv)
- [metrics] Remove InfluxDB v1 metrics middleware (#9612 by tomMoulard)
- [metrics] Upgrade OpenTelemetry dependencies (#10181 by mmatur)
- [metrics] Support gRPC and gRPC-Web protocol in metrics (#9483 by longit644)
- [middleware,accesslogs] Log TLS client subject (#9285 by xmessi)
- [middleware,metrics,tracing,otel] Add OpenTelemetry tracing and metrics support (#8999 by tomMoulard)
- [middleware] Disable Content-Type auto-detection by default (#9546 by sdelicata)
- [middleware] Add gRPC-Web middleware (#9451 by juliens)
- [middleware] Add support for Brotli (#9387 by glinton)
- [middleware] Renaming IPWhiteList to IPAllowList (#9457 by wxmbugu)
- [middleware,authentication,tracing] Add captured headers options for tracing (#10457 by rtribotte)
- [middleware,authentication] Add forwardAuth.addAuthCookiesToResponse (#8924 by tgunsch)
- [middleware,metrics] Semconv OTLP stable HTTP metrics (#10421 by mmatur)
- [middleware] Feat re introduce IpWhitelist middleware as deprecated (#10341 by mmatur)
- [middleware] Disable br compression when no Accept-Encoding header is present (#10178 by robin-moser)
- [middleware] Implements the includedContentTypes option for the compress middleware (#10207 by rjsocha)
- [middleware] Add
rejectStatusCode
option toIPAllowList
middleware (#10130 by jfly) - [middleware] Merge v2.11 into v3.0 (#10426 by mmatur)
- [middleware] Add ResponseCode to CircuitBreaker (#10147 by fahhem)
- [nomad] Allow empty services (#10375 by chrispruitt)
- [nomad] Support multiple namespaces in the Nomad Provider (#9332 by 0teh)
- [plugins] Add http-wasm plugin support to Traefik (#10189 by zetaab)
- [plugins] Upgrade http-wasm host to v0.6.0 to support clients using v0.4.0 (#10475 by jcchavezs)
- [rancher] Remove Rancher v1 provider (#9613 by tomMoulard)
- [rules] Bring back v2 rule matchers (#10339 by rtribotte)
- [rules] Remove containous/mux from HTTP muxer (#9558 by tomMoulard)
- [rules] Update routing syntax (#9531 by skwair)
- [server] Add SO_REUSEPORT support for EntryPoints (#9834 by aofei)
- [server] Rework servers load-balancer to use the WRR (#9431 by juliens)
- [server] Allow default entrypoints definition (#9100 by applejag)
- [sticky-session] Support setting sticky cookie max age (#10176 by Patrick0308)
- [tls,tcp,service] Add TCP Servers Transports support (#9465 by sdelicata)
- [tls,service] Support SPIFFE mTLS between Traefik and Backend servers (#9394 by jlevesy)
- [tls] Add Tailscale certificate resolver (#9237 by kevinpollet)
- [tls] Support SNI routing with Postgres STARTTLS connections (#9377 by rtribotte)
- [tracing,otel] Migrate to opentelemetry (#10223 by zetaab)
- [tracing] Support OTEL_PROPAGATORS to configure tracing propagation (#10465 by youkoulayley)
- [webui,middleware,k8s/gatewayapi] Support RequestHeaderModifier filter (#10521 by rtribotte)
- [webui] Added router priority to webui's list and detail page (#9004 by bendre90)
- Reintroduce dropped v2 dynamic config (#10355 by rtribotte)
- Remove deprecated options (#9527 by sdelicata)
Bug fixes:
- [consul,tls] Enable TLS for Consul Connect TCP services (#10140 by rtribotte)
- [docker] Fix struct names in comment (#10503 by hishope)
- [k8s/crd,k8s] Adds the missing circuit-breaker response code for CRD (#10625 by ldez)
- [k8s/crd,k8s] Delete warning in Kubernetes CRD provider about the supported version (#10414 by nmengin)
- [logs] Avoid cumulative send anonymous usage log (#10579 by mmatur)
- [logs] Change traefik cmd error log to error level (#9569 by tomMoulard)
- [logs] Fix log level (#9545 by ldez)
- [metrics] Fix OpenTelemetry metrics (#9962 by rtribotte)
- [metrics] Fix OpenTelemetry service name (#9619 by tomMoulard)
- [metrics] Fix open connections metric (#9656 by mpl)
- [metrics] Remove config reload failure metrics (#9660 by rtribotte)
- [metrics] Fix OpenTelemetry unit tests (#10380 by mmatur)
- [metrics] Fix ServerUp metric (#9534 by kevinpollet)
- [middleware,authentication,metrics,tracing] Align OpenTelemetry tracing and metrics configurations (#10404 by rtribotte)
- [middleware] Fix brotli response status code when compression is disabled (#10396 by rtribotte)
- [middleware] Allow short healthcheck interval with long timeout (#9832 by kevinmcconnell)
- [middleware] Fix GrpcWeb middleware to clear ContentLength after translating to normal gRPC message (#9782 by CleverUnderDog)
- [provider,tls] Bump tscert dependency to 28a91b69a046 (#10668 by kevinpollet)
- [rules] Rework Host and HostRegexp matchers (#9559 by tomMoulard)
- [rules] Support regexp in path/pathprefix in matcher v2 (#10546 by youkoulayley)
- [sticky-session,server] Set sameSite field for wrr load balancer sticky cookie (#10066 by sunyakun)
- [tcp] Don't log EOF or timeout errors while peeking first bytes in Postgres StartTLS hook (#9663 by rtribotte)
- [tls,server] Compute priority for https forwarder TLS routes (#10288 by rtribotte)
- [tls,service] Enforce default servers transport SPIFFE config (#9444 by jlevesy)
- [webui] Detect dashboard assets content types (#9622 by tomMoulard)
- [webui] Add missing Docker Swarm logo (#10529 by ldez)
- [webui] fix: detect dashboard content types (#9594 by ldez)
- Fix a regression on flags using spaces between key and value (#10445 by ldez)
Documentation:
- [docker/swarm] Remove documentation of old swarm options (#10001 by ldez)
- [docker/swarm] Fix minor typo in swarm example (#10071 by kaznovac)
- [k8s,k8s/gatewayapi] Add ReferenceGrants to Gateway API Traefik controller RBAC (#10462 by rtribotte)
- [k8s] Update Kubernetes version for v3 Helm chart (#10637 by jnoordsij)
- [k8s] Improve Kubernetes support documentation (#9974 by rtribotte)
- [k8s] Fix invalid version in docs about Gateway API on Traefik v3 (#10474 by mloiseleur)
- [rules] Improve ruleSyntax option documentation (#10441 by rtribotte)
- Prepare release v3.0.0 (#10666 by rtribotte)
- Prepare release v3.0.0-rc2 (#10514 by rtribotte)
- Fix typo in migration docs (#10478 by Eisberge)
- Prepare release v3.0.0 rc3 (#10520 by rtribotte)
- Fix typo in dialer_test.go (#10552 by eltociear)
- Fix typo and improve explanation on internal resources (#10563 by mloiseleur)
- Prepare release v3.0.0-rc1 (#10429 by mmatur)
- Update version comment in quick-start.md (#10383 by matthieuwerner)
- Improve migration guide (#10319 by rtribotte)
- Prepare release v3.0.0 beta5 (#10273 by rtribotte)
- Prepare release v3.0.0-beta4 (#10165 by mmatur)
- Prepare release v3.0.0-rc4 (#10588 by kevinpollet)
- Fix bad anchor on documentation (#10041 by mmatur)
- Prepare release v3.0.0-rc5 (#10605 by ldez)
- Fix migration guide heading (#9989 by ldez)
- Prepare release v3.0.0-beta3 (#9978 by ldez)
- Fix some typos in comments (#10626 by hidewrong)
- Adjust quick start (#9790 by svx)
- Mention PathPrefix matcher changes in V3 Migration Guide (#9727 by aofei)
- Fix yaml indentation in the HTTP3 example (#9724 by benwaffle)
- Add OpenTelemetry in observability overview (#9654 by tomMoulard)
- Prepare release v3.0.0-beta2 (#9587 by tomMoulard)
- Prepare release v3.0.0-beta1 (#9577 by rtribotte)
Misc:
- Merge current v2.11 into v3.0 (#10651 by ldez)
- Merge current v2.11 into v3.0 (#10632 by kevinpollet)
- Merge current v2.11 into v3.0 (#10604 by ldez)
- Merge branch v2.11 into v3.0 (#10587 by kevinpollet)
- Merge current v2.11 into v3.0 (#10566 by mmatur)
- Merge current v2.11 into v3.0 (#10564 by ldez)
- Merge branch v2.11 into v3.0 (#10519 by rtribotte)
- Merge v2.11 into v3.0 (#10513 by mmatur)
- Merge v2.11 into v3.0 (#10417 by mmatur)
- Merge current v2.11 into v3.0 (#10382 by mmatur)
- Merge back v2.11 into v3.0 (#10377 by mmatur)
- Merge back v2.11 into v3.0 (#10353 by youkoulayley)
- Merge current v2.11 into v3.0 (#10328 by mmatur)
- Merge current v2.10 into v3.0 (#10272 by rtribotte)
- Merge current v2.10 into v3.0 (#10164 by mmatur)
- Merge current v2.10 into v3.0 (#10038 by mmatur)
- Merge branch v2.10 into v3.0 (#9977 by ldez)
- Merge branch v2.10 into v3.0 (#9931 by ldez)
- Merge branch v2.10 into v3.0 (#9896 by ldez)
- Merge branch v2.10 into v3.0 (#9867 by ldez)
- Merge branch v2.10 into v3.0 (#9850 by ldez)
- Merge branch v2.10 into v3.0 (#9845 by ldez)
- Merge branch v2.10 into v3.0 (#9803 by ldez)
- Merge branch v2.10 into v3.0 (#9793 by ldez)
- Merge branch v2.9 into v3.0 (#9722 by rtribotte)
- Merge branch v2.9 into v3.0 (#9650 by tomMoulard)
- Merge branch v2.9 into v3.0 (#9632 by kevinpollet)
- Merge current v2.9 into master (#9576 by rtribotte)
- Merge branch v2.9 into master (#9554 by ldez)
- Merge branch v2.9 into master (#9536 by ldez)
- Merge branch v2.9 into master (#9532 by ldez)
- Merge branch v2.9 into master (#9482 by kevinpollet)
- Merge branch v2.9 into master (#9464 by ldez)
- Merge branch v2.9 into master (#9449 by kevinpollet)
- Merge branch v2.9 into master (#9419 by kevinpollet)
- Merge branch v2.9 into master (#9351 by rtribotte)