发布日期: 2026-05-05
版本号: v3.7.0

Traefik 发布了 v3.7.0 版本,此次更新包含众多功能增强、问题修复和文档优化。重要提示: 升级前请务必查阅官方迁移指南。本次更新的核心亮点包括:为 Kubernetes Ingress-NGINX 提供程序新增了大量注解支持(如限流、认证、重写、故障转移等),显著增强了兼容性和配置灵活性;Web 界面增加了服务器权重和 TLS 证书的展示;优化了 Kubernetes Gateway API 的支持,并新增了服务级别中间件、失败转移和重试策略等功能。同时,修复了大量与 Ingress-NGINX、认证中间件、TLS 处理、配置验证相关的缺陷,并更新了多项依赖库。文档方面进行了全面整理和改进,新增了迁移步骤和配置说明。杂项更新则涉及构建流程的优化。

更新内容 (中文)

重要: 请阅读迁移指南

增强功能:

  • [k8s/ingress-nginx] 使用元模型为ingress-nginx生成动态配置 (#13062 @juliens)
  • [k8s/ingress-nginx] 添加 limit-connections 支持 (#13030 @amazon7737)
  • [webui] 在服务详情视图中显示服务器权重 (#12325 @murataslan1)
  • [webui, tls] 添加证书菜单和概览 (#12628 @holomekc)
  • [provider] 添加提供程序路由优先级配置 (#12895 @juliens)
  • [k8s/ingress-nginx] 支持NGINX全局认证注解 (#12893 @foxcool)
  • [k8s/ingress-nginx] 添加 limit-burst-multiplier 注解支持 (#12899 @amazon7737)
  • [k8s/ingress-nginx, k8s/ingress, rules] 在 Host 和 HostSNI 匹配器中添加通配符主机支持 (#12884 @juliens)
  • [k8s/gatewayapi] 支持在网关监听器上使用多个 certificateRefs (#12590 @mortennordbye)
  • [k8s/gatewayapi] 为 BackendTLSPolicy 的 caCertificateRefs 添加 secret 支持 (#12927 @kevinpollet)
  • [accesslogs, k8s/ingress-nginx] 支持 nginx.ingress.kubernetes.io/enable-access-log 注解 (#12908 @ris-tlp)
  • [accesslogs, k8s/ingress-nginx, k8s/ingress] 添加 Kubernetes Ingress 日志字段 (#12913 @rtribotte)
  • [k8s/knative] 支持 knative v1.20.0 (#12441 @idurgakalyan)
  • [k8s/gatewayapi] 升级 sigs.k8s.io/gateway-api 至 v1.5.1 (#12768 @mmatur)
  • [k8s/ingress-nginx, middleware, authentication] 添加对 auth-snippet 的支持 (#12778 @juliens)
  • [accesslogs, otel] 允许 Stdio 访问日志与 OTLP 日志记录并存 (#12307 @Mulgish)
  • [acme] 添加 CertificateTimeout ACME 配置选项 (#12278 @ceko)
  • [k8s/ingress-nginx] 支持 nginx.ingress.kubernetes.io/allowlist-source-range (#12659 @ris-tlp)
  • [k8s/crd] 在 CRDs 规范中添加 ingressClassName 字段 (#12313 @kkrypt0nn)
  • [k8s/crd] 在 TraefikService CRD 中支持服务故障转移 (#12733 @jspdown)
  • [k8s/crd, service] 通过 ServersTransport 支持密码套件配置 (#11965 @NEwa-05)
  • [k8s/ingress, middleware, k8s/crd, service, k8s/gatewayapi] 在 HTTP 后端上服务中间件和网关API过滤器 (#12544 @juliens)
  • [k8s/ingress-nginx] 添加 nginx.ingress.kubernetes.io/proxy-connect-timeout 注解 (#12572 @gndz07)
  • [k8s/ingress-nginx] 添加 rewrite-target nginx 注解支持 (#12534 @LBF38)
  • [k8s/ingress-nginx] 添加对 app-root nginx 注解的支持 (#12576 @LBF38)
  • [k8s/ingress-nginx] 添加对 auth-signin 注解的支持 (#12502 @DesalLama)
  • [k8s/ingress-nginx] 添加对 from-to-www-redirect NGINX 注解的支持 (#12610 @LBF38)
  • [k8s/ingress-nginx] 添加对 proxy-read-timeout 和 proxy-send-timeout NGINX 注解的支持 (#12630 @LBF38)
  • [k8s/ingress-nginx] 添加对 session-cookie-expires nginx 注解的支持 (#12558 @LBF38)
  • [k8s/ingress-nginx] 添加对 upstream-hash-by NGINX 注解的支持 (#12749 @LBF38)
  • [k8s/ingress-nginx] 允许在 Nginx Ingress 上指定入口点 (#12727 @ajacques)
  • [k8s/ingress-nginx] 实现 proxy-http-version 注解 (#12743 @KshitijBharde)
  • [k8s/ingress-nginx] Nginx x-forwarded-prefix 注解 (#12697 @nandorKollar)
  • [k8s/ingress-nginx] 支持 auth-tls-secret 和 auth-tls-verify-client 注解 (#12595 @gndz07)
  • [k8s/ingress-nginx] 支持 ingress-nginx 的 limit-rpm 注解 (#12703 @Ph4rell)
  • [k8s/ingress-nginx] 支持 Ingress NGINX 的 limit-rps 注解 (#12709 @amazon7737)
  • [k8s/ingress-nginx] 支持 NGINX 缓冲注解 (#12459 @blasko03)
  • [k8s/ingress-nginx] 支持 NGINX 金丝雀发布注解 (#12739 @kevinpollet)
  • [k8s/ingress-nginx] 支持 NGINX custom-headers 注解 (#12414 @nandorKollar)
  • [k8s/ingress-nginx] 支持 NGINX upstream-vhost 注解 (#12412 @nandorKollar)
  • [k8s/ingress-nginx] 支持 NGINX whitelist-source-range 注解 (#12423 @blasko03)
  • [k8s/ingress-nginx] 支持 permanent-redirect 和 temporal-redirect 注解 (#12561 @LBF38)
  • [k8s/ingress-nginx] 支持 proxy-next-upstream* 注解 (#12710 @gndz07)
  • [k8s/ingress-nginx] 支持 Ingress NGINX 的 server-alias 注解 (#12707 @amazon7737)
  • [k8s/ingress-nginx] 支持 upstream-keepalive-timeout (#12708 @jcob-sikorski)
  • [k8s/ingress-nginx] 添加对 auth-signin NGINX 注解中变量插值的支持 (#12640 @LBF38)
  • [k8s/ingress-nginx] 实现 server-snippet 和 configuration-snippet 注解 (#12715 @juliens)
  • [k8s/ingress-nginx] 添加 custom-http-errors 和 default-backend 注解 (#12637 @juliens)
  • [k8s/ingress-nginx] 支持 auth-tls-pass-certificate-to-upstream 注解 (#12629 @gndz07)
  • [metrics] 支持 metrics.influxdb2.token 选项的文件路径 (#12458 @barhun)
  • [middleware] 添加 encodedCharacters 中间件 (#12555 @gndz07)
  • [middleware] 启用基于HTTP响应状态码、超时和非幂等方法的重试 (#12667 @LBF38)
  • [middleware, authentication] 在转发认证中间件中添加 authSignInURL (#12293 @kyounghunJang)
  • [server] 添加全局选项以禁用 X-Forwarded-For 附加 (#12374 @lbenguigui)
  • [server] 在循环中用更高效的 SplitSeq 替代 Split (#12316 @boqishan)
  • [service] 根据响应状态码进行故障转移 (#12596 @lbenguigui)
  • [tls] 使 TLSStore 优雅地处理缺失的 secrets (#12522 @david-garcia-garcia)
  • [webui] 添加仪表板名称配置 (#12410 @gndz07)
  • [webui] Web UI 仪表板改进 (#12236 @gndz07)
  • [webui] 详情页面UI改进 (#12377 @gndz07)
  • 使用 unicode.MaxASCII 进行更清晰的 ASCII 检查 (#12741 @1911860538)

错误修复:

  • [k8s/ingress-nginx] 为 allowlist/whitelist 注解添加 ipAllowListStrategy 选项 (#12932 @mathieuherbert)
  • [k8s/ingress-nginx] 修复 ingress-nginx 提供程序重构后的回归问题 (#13086 @juliens)
  • [k8s/ingress-nginx] 修复默认CORS允许头部中的拼写错误 (#13088 @mliang2)
  • [docker, ecs] 迁移至 github.com/moby/moby 模块 (#12672 @thaJeztah)
  • [logs, metrics, tracing] 升级 go.opentelemetry.io/otel (#13100 @juliens)
  • [k8s/crd] 移除 Kubernetes 服务加载的跨提供程序净化 (#13087 @rtribotte)
  • [docker, ecs] 迁移至 github.com/moby/moby 模块 (#13053 @mmatur)
  • [k8s/ingress-nginx] 修复 ingress-nginx 提供程序的 SSL 重定向行为 (#13028 @gndz07)
  • [k8s/ingress-nginx] 对于 ExternalName 服务不要求端口 (#13033 @kevinpollet)
  • [k8s, k8s/ingress-nginx] 添加无规则的 Ingress 默认后端的回归测试 (#13066 @mmatur)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.35.1 (#13027 @ldez)
  • [server] 升级 github.com/vulcand/oxy 至 v2.1.0 (#13046 @ldez)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.35.2 (#13043 @ldez)
  • [middleware] 为 Errors 中间件添加 errorRequestHeaders 选项 (#13034 @gndz07)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.34.0 (#12993 @ldez)
  • [docker] 降低检查时找不到容器的日志级别 (#12900 @Otoru)
  • [k8s/crd, k8s] 遵守链式中间件CRD中的allowCrossNamespace (#12976 @rtribotte)
  • [k8s/ingress-nginx] 避免当 rewrite-target 值不是绝对 URL 时,ingress-nginx 提供程序产生302重定向 (#12977 @gndz07)
  • [k8s/ingress-nginx] 修复使用自定义头部注解时出现503服务不可用 (#12969 @LBF38)
  • [k8s/ingress-nginx] 修复 ingress-nginx 上的服务不可用 (#12996 @LBF38)
  • [k8s/ingress-nginx] 处理 ingress-nginx 提供程序中重复的 server-alias (#13019 @gndz07)
  • [k8s/ingress-nginx] 构建金丝雀规则时对cookie名称使用 QuoteMeta (#12973 @kevinpollet)
  • [middleware, authentication] 清理并使 ForwardAuth 日志保持一致 (#13013 @kevinpollet)
  • [middleware, authentication] 修复转发认证中间件中的 trustForwardHeader (#12994 @juliens)
  • [middleware, authentication] 移除导致基本认证 notFoundSecret 为空的map查找 (#12960 @rtribotte)
  • [middleware, k8s/ingress-nginx] 修复带有查询参数的 app-root 重定向 (#12986 @LBF38)
  • [middleware, k8s/ingress-nginx] 修复ingress路径中使用完整URL且无正则表达式的重写目标 (#12992 @LBF38)
  • [middleware, k8s/ingress-nginx] 在绝对URL重定向时保留请求查询 (#13020 @SAY-5)
  • [middleware, k8s/ingress-nginx] 解析 ingress-nginx upstream-vhost 注解中的 NGINX 变量 (#12978 @mmatur)
  • [middleware] 弃用 ForwardAuth.TrustForwardHeader 选项 (#13012 @kevinpollet)
  • [middleware] 移除不带下划线的不可信 X 头部 (#12961 @rtribotte)
  • [middleware] 在剥离前缀后净化请求URL (#12990 @kevinpollet)
  • [sticky-session, k8s/crd] 使 SameSite cookie 值不区分大小写 (#12922 @murataslan1)
  • [tls] 当 serversTransport 没有显式 cipherSuites 时,恢复默认密码套件 (#12974 @mmatur)
  • [webui] 升级 lodash 版本 (#12954 @gndz07)
  • [webui] 升级 form-data 至 2.5.4, 3.0.4, 4.0.4 (#12958 @orbisai0security)
  • [k8s/ingress-nginx] 修复空路径和非正则路径的 rewrite-target 注解处理 (#12905 @LBF38)
  • [middleware] 升级 github.com/klauspost/compress 至 v1.18.4 (#12937 @thaJeztah)
  • [k8s/crd] 修复 Kubernetes 中 Failover 服务导致的 panic (#12853 @juliens)
  • [k8s/ingress-nginx] 修复 configuration-snippet 中的重写指令以修剪引号 (#12855 @gndz07)
  • [k8s/ingress-nginx] 修复 rewrite-target 以处理完整URL (#12854 @gndz07)
  • [k8s/ingress-nginx] 将空的 rewrite-target 视为未设置的 rewrite-target 处理 (#12832 @sathieu)
  • [k8s/ingress-nginx] 修复 ingress-nginx 提供程序中的 TLS 行为 (#12831 @LBF38)
  • [k8s/ingress-nginx] 修复 ingress-nginx 提供程序中的 auth-response-headers 空格修剪 (#12856 @mmatur)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.33.0 (#12840 @ldez)
  • [server, tcp] 修复使用 TLS 终止时的 postgres STARTTLS (#12847 @mmatur)
  • [api] 修复 api.basePath 验证中允许冒号和波浪号 (#12857 @mmatur)
  • [server] 修复 withRoutingPath 中的注释和不必要的分配 (#12880 @boinger)
  • [grpc] 升级 google.golang.org/grpc 至 v1.79.3 (#12845 @mmatur)
  • [middleware, authentication] 防止基本和摘要认证中间件中的重复用户头部 (#12851 @juliens)
  • [middleware] 修复 StripPrefix 和 StripPrefixRegex,使用编码前缀长度进行切片 (#12863 @gndz07)
  • [k8s/ingress-nginx] 修复 use-regex 注解行为并为 ingress-nginx 提供程序添加 strictValidatePathType 配置 (#12773 @gndz07)
  • [logs, otel] 向访问日志添加符合OTel的跟踪上下文属性 (#12801 @mmatur)
  • [k8s/gatewayapi] 修复监听器和路由之间不正确的主机名匹配 (#12599 @TheColorman)
  • [k8s/ingress] 修复 Ingress 路由器的规则 (#12808 @gndz07)
  • [webui] 从代码中移除 AGPL 许可证 (#12799 @Desel72)
  • [k8s/ingress-nginx] 修复 proxy-ssl-verify 注解 (#12825 @LBF38)
  • [http] 在HTTP提供程序上添加 maxResponseBodySize 配置 (#12788 @gndz07)
  • [tls] 支持分片的 TLS 客户端 hello (#12787 @rtribotte)
  • [middleware, authentication] 使基本认证检查时间恒定 (#12803 @rtribotte)
  • [acme] 添加缺失的续期选项 (#12467 @ldez)
  • [acme] 为 ACME-TLS/1 挑战握手添加超时 (#12516 @LBF38)
  • [acme] 调整 TLS 续期周期 (#12479 @LtHummus)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.28.0 (#12218 @ldez)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.29.0 (#12333 @ldez)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.30.1 (#12432 @ldez)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.31.0 (#12529 @ldez)
  • [acme] 升级 github.com/go-acme/lego/v4 至 v4.32.0 (#12702 @ldez)
  • [acme] 从日志中移除无效的私钥 (#12574 @juliens)
  • [acme] 替换日志消息中硬编码的 LetsEncrypt 引用 (#12464 @schildbach)
  • [cli] 修复健康检查 ping (#12512 @olamilekan000)
  • [docker] 自动协商 Docker API 版本 (#12256 @felixbuenemann)
  • [docker] 升级 Docker 和 OpenTelemetry 依赖项 (#12761 @mmatur)
  • [docker, docker/swarm] 自动协商 Docker API 版本 (#12262 @kevinpollet)
  • [fastproxy] 升级 github.com/valyala/fasthttp 至 v1.69.0 (#12763 @kevinpollet)
  • [healthcheck] 拒绝健康检查路径配置中的绝对URL (#12653 @rtribotte)
  • [healthcheck] 验证健康检查路径配置 (#12642 @rtribotte)
  • [healthcheck, grpc] 移除使用 grpc 健康检查时的路径解析 (#12760 @rtribotte)
  • [http3] 升级 github.com/quic-go/quic-go 至 v0.57.0 (#12308 @GreyXor)
  • [http3] 升级 github.com/quic-go/quic-go 至 v0.57.1 (#12319 @GreyXor)
  • [http3] 升级 github.com/quic-go/quic-go 至 v0.58.0 (#12448 @GreyXor)
  • [http3] 升级 github.com/quic-go/quic-go 至 v0.59.0 (#12553 @jnoordsij)
  • [k8s] 修复用于 serving 和 fenced 端点的条件 (#12521 @LBF38)
  • [k8s/gatewayapi] 修复 Gateway API 路由器的规则 (#12753 @rtribotte)
  • [k8s/ingress] 修复空的 defaultBackend 和没有资源的 defaultBackend 导致的 panic (#12509 @gndz07)
  • [k8s/ingress-nginx] 添加 AllowCrossNamespaceResources 和 GlobalAllowedResponseHeader 选项以控制自定义头部注解 (#12680 @rtribotte)
  • [k8s/ingress-nginx] 弃用 Kubernetes Ingress NGINX 提供程序实验性标志 (#12286 @rtribotte)
  • [k8s/ingress-nginx] 修复 nginx 重写目标 (#12730 @mmatur)
  • [k8s/ingress-nginx] 修复 NGINX sslredirect 注解支持 (#12387 @rtribotte)
  • [k8s/ingress-nginx] 修复 nginx.ingress.kubernetes.io/proxy-ssl-verify 注解支持 (#12351 @rtribotte)
  • [k8s/ingress-nginx] 修复 SSL 重定向以匹配 NGINX 行为 (#12361 @mmatur)
  • [k8s/ingress-nginx] 修复 ingress-nginx 提供程序的服务名称 (#12352 @mmatur)
  • [k8s/ingress-nginx] 修复 use-regex nginx 注解 (#12531 @LBF38)
  • [k8s/ingress-nginx] 防止 Ingress Nginx 提供程序的http路由器附加到带有TLS的入口点 (#12528 @rtribotte)
  • [metrics, tracing, accesslogs] 修复 ObservabilityConfig 的 SetDefaults (#12636 @mmatur)
  • [middleware] 修复 Connection 头的 x-forwarded 头的大小写敏感性 (#12690 @LBF38)
  • [middleware] 修复当 stsSeconds 为0时 HasSecureHeadersDefined 返回 false (#12684 @veeceey)
  • [middleware, authentication] 为 forwardAuth 中间件添加 maxResponseBodySize 配置 (#12694 @gndz07)
  • [middleware, authentication] 将 ForwardAuth 错误日志级别从 DEBUG 更改为 ERROR (#12324 @murataslan1)
  • [middleware, authentication] 处理空的/缺失的 User-Agent 头部 (#12545 @a-stangl)
  • [middleware, k8s, k8s/ingress-nginx] 修复 from to www nginx 注解 (#12736 @mmatur)
  • [middleware, k8s/ingress-nginx] 修复 ingress-nginx 提供程序的自定义错误页面行为 (#12738 @mmatur)
  • [otel] 升级 go.opentelemetry.io/otel 依赖项 (#12754 @rtribotte)
  • [plugins] 验证插件模块名称 (#12291 @kevinpollet)
  • [redis] 修复 Redis 的互斥验证 (#12442 @juliens)
  • [server] 升级 golang.org/x/crypto 至 v0.45.0 (#12296 @kevinpollet)
  • [server] 升级 golang.org/x/net 至 v0.51.0 (#12756 @kevinpollet)
  • [server] 使用文件和环境变量为弃用加载器过滤未知节点 (#12227 @rtribotte)
  • [server] 修复拒绝编码字符 (#12454 @rtribotte)
  • [server] 修复拒绝编码字符 (#12457 @rtribotte)
  • [server] 修复使用模型时的多层路由 (#12258 @juliens)
  • [server] 修复 TLS 握手错误处理 (#12692 @juliens)
  • [server] 使编码字符选项可选择启用 (#12540 @gndz07)
  • [server] 使聚合器计算路由器parentRefs的提供程序命名空间 (#12235 @rtribotte)
  • [server] 为被拒绝的请求打印访问日志并警告新行为 (#12424 @kevinpollet)
  • [server] 为被拒绝的请求打印访问日志并警告新行为 (#12426 @rtribotte)
  • [server] 拒绝可疑的编码字符 (#12360 @rtribotte)
  • [server] 在 STARTTLS 协商后移除连接截止时间 (#12639 @rtribotte)
  • [service] 避免服务递归 (#12591 @juliens)
  • [tls] 修复 verifyServerCertMatchesURI 函数行为 (#12575 @kevinpollet)
  • [tls, server] 在 ClientHello 探测中将 TLS 记录长度限制为 RFC 8446 限制 (#12638 @mmatur)
  • [tracing, otel] 使用 ParentBased 采样器以尊重父span采样决策 (#12403 @xe-leon)
  • [udp] 撤回“通过使用sync.Pool避免readLoop中的分配” (#12267 @kevinpollet)
  • [webui] 升级文档和webui的依赖项 (#12581 @gndz07)
  • [webui] 修复仪表板模板的basePath验证 (#12729 @gndz07)
  • [webui] 修复Safari上的导航阻塞 (#12231 @gndz07)
  • [webui] 修复缺失的类型定义 (#12780 @gndz07)
  • [webui] 修复仪表板中的优先级显示和ACME绕过重定向 (#12740 @mmatur)
  • [webui] 恢复远程升级到Hub按钮web组件 (#12219 @gndz07)
  • [webui] 使用 url.Parse 验证 X-Forwarded-Prefix 值 (#12643 @kevinpollet)
  • [webui] 验证仪表板重定向的 X-Forwarded-Prefix 值 (#12514 @LBF38)

文档:

  • [service] 服务级中间件文档 (#13095 @nmengin)
  • [k8s/gatewayapi] 更新 Kubernetes Gateway 的 Helm chart 值链接 (#13063 @0054)
  • [k8s/ingress-nginx] 添加 ingress-nginx ConfigMap 迁移步骤 (#12963 @sheddy-traefik)
  • [k8s/ingress-nginx] 从 ingress-nginx 文档中删除“即将推出”部分 (#13037 @nmengin)
  • [k8s] 修复yaml缩进 (#12957 @isayme)
  • [k8s] 澄清安装配置 watchNamespace 仅监视一个命名空间 (#12962 @parkerfath)
  • [k8s/crd] 更新 ingressroute.md (#12916 @Rajakavitha1)
  • [k8s/ingress-nginx] 记录 auth-signin 注解的 rd 参数行为 (#13017 @kevinpollet)
  • 在迁移指南中反转版本顺序 (#12959 @nmengin)
  • 更新漏洞提交指南 (#12968 @emilevauge)
  • [docker] 修复 Docker 设置页面中的 docker-compose.yaml 位置 (#12860 @ScottA38)
  • [docker, consul, ecs, k8s] 修复关于如何限制服务发现范围的文档 (#12645 @mloiseleur)
  • [k8s/gatewayapi] 将入门指南中的 gateway-api 链接更新至 v1.5.1 (#12930 @isayme)
  • [k8s/ingress-nginx] 将 OVHcloud (OpenStack Octavia) 添加到云特定的IP管理 (#12759 @antonin-a)
  • [k8s/ingress-nginx] 澄清 IngressClass 选择逻辑 (#12926 @kevinpollet)
  • 为已删除的页面添加重定向 (#12889 @sheddy-traefik)
  • 修复 http.sanitizePath 的默认值 (#12904 @iTob191)
  • [acme] 在ACME文档中澄清CNAME解释 (#12818 @sheddy-traefik)
  • [k8s/ingress-nginx] 在文档页面添加 ingress-nginx 迁移横幅 (#12872 @gndz07)
  • [k8s/ingress] 改进 Kubernetes Ingress 路由文档 (#12876 @sheddy-traefik)
  • [k8s/ingress-nginx] 澄清 NGINX Ingress 的 watchNamespace 仅监视一个命名空间 (#12873 @parkerfath)
  • [k8s] 改进多租户安全说明 (#12822 @nmengin)
  • 修复正则表达式示例中不必要的管道符转义 (#12784 @diegmonti)
  • 添加漏洞提交质量指南 (#12807 @emilevauge)
  • 修复启动消息格式 (#12806 @mloiseleur)
  • 从TCP标签示例中移除不支持的 servers[n].address (#12817 @sheddy-traefik)
  • 升级 mkdocs-traefiklabs 以使用同意模式 (#12804 @darkweaver87)
  • [acme] 添加缺失的ACME选项并清理表格以提高可见性 (#12208 @sheddy-traefik)
  • [api] 修复API仪表板配置说明中的拼写错误 (#12335 @NAICOLAS)
  • [docker] 为 Docker 和 Swarm 提供程序中的 loadbalancer.server.url 添加文档 (#12289 @webash)
  • [docker] 更新 docker 深入设置指南 (#12682 @mdevino)
  • [docker/swarm] 更新 swarm.md 中的 traefik 版本 (#12508 @DBouraoui)
  • [k8s] 修复 Gateway API 版本和受支持功能列表 (#12254 @nmengin)
  • [k8s] 修复 Kubernetes 参考 yml 文件 (#12406 @mmatur)
  • [k8s] 修复 kubernetes.md 中的正确http重定向 (#12603 @MartenM)
  • [k8s] 修复 Nginx 提供程序文档 (#12266 @nmengin)
  • [k8s] 改进 K8S 多租户安全说明 (#12444 @nmengin)
  • [k8s] 使 labelSelector 选项大小写更一致 (#12658 @holysoles)
  • [k8s, k8s/ingress-nginx] 向 Ingress NGINX RBAC 添加 configmaps 权限 (#12557 @kevinpollet)
  • [k8s/gatewayapi] 修复 providers.kubernetesGateway.enabled 的 Helm chart 值参考链接 (#12315 @shouhei)
  • [k8s/ingress, k8s] 修复 Kubernetes Ingress 提供程序文档 (#12443 @nmengin)
  • [k8s/ingress-nginx] 将 auth-signin 添加到不受支持的nginx注解列表 (#12370 @fibsifan)
  • [k8s/ingress-nginx] 为 Ingress NGINX 提供程序添加 RBAC 文档 (#12445 @nmn3m)
  • [k8s/ingress-nginx] 添加临时说明以宣传即将到来的NGINX注解 (#12699 @nmengin)
  • [k8s/ingress-nginx] 修复文档中 ingress-nginx 提供程序的默认值 (#12328 @mloiseleur)
  • [k8s/ingress-nginx] 修复 ingress-nginx 注解文档 (#12510 @nmengin)
  • [k8s/ingress-nginx] 改进 ingress-nginx 提供程序文档 (#12288 @sheddy-traefik)
  • [k8s/ingress-nginx] 改进 Kubernetes ingress-nginx 提供程序的配置选项显示 (#12297 @mloiseleur)
  • [k8s/ingress-nginx] NGINX Ingress Controller 到 Traefik 迁移指南 (#12318 @sheddy-traefik)
  • [middleware] 修正摘要认证的文档 (#12651 @Zash)
  • [middleware] 修复压缩中间件的默认编码 (#12216 @Belphemur)
  • [middleware, k8s/crd] 修复 Kubernetes CRD 的错误中间件文档 (#12600 @yuito-it)
  • [service] 修复最高随机权重负载均衡器文档 (#12283 @ozon2)
  • [tls] 澄清SNI选择 (#12482 @AnuragEkkati)
  • 添加 @gndz07 为当前维护者 (#12594 @emilevauge)
  • 在更新日志中添加破坏性变更说明 (#12398 @nmengin)
  • 添加关于 checkNewVersion 的文档 (#12298 @darkweaver87)
  • 向 TOML 表名添加缺失的 .http (#12713 @Darsstar)
  • 添加产品比较矩阵和功能页面 (#12037 @sheddy-traefik)
  • 在API和仪表板文档页面恢复安全部分 (#12507 @gndz07)
  • 澄清关于拒绝编码字符的文档 (#12391 @rtribotte)
  • 清理菜单条目并更新暴露概览 (#12405 @sheddy-traefik)
  • 更正 entrypoints.md 中的编码字符允许 (#12679 @Apflkuacha)
  • 正确格式化 HTTP 服务文档 (#12311 @sheddy-traefik)
  • 记录路由器的负优先级支持 (#12505 @understood-the-assignment)
  • 在v3迁移指南中记录路径匹配器占位符的移除 (#12570 @sheddy-traefik)
  • 修复 API basepath 选项文档 (#12744 @nmengin)
  • 修复TCP服务和HTTP路由器文档中的损坏链接 (#12215 @sheddy-traefik)
  • 修复代码复制按钮定位 (#12520 @AnuragEkkati)
  • 修复编码字符 entryPoint 选项文档 (#12384 @rtribotte)
  • 修复编码字符选项文档 (#12373 @kevinpollet)
  • 修复 encodedCharacters entryPoint 选项文档 (#12385 @rtribotte)
  • 修复入口点文档中不正确的TOML示例 (#12711 @mfmfuyu)
  • 修复Traefik Proxy文档中的链接描述 (#12488 @schaerfo)
  • 修复菜单项命名 (#12431 @sheddy-traefik)
  • 修复迁移指南缩进 (#12365 @kevinpollet)
  • 修复弃用通知中的迁移指南URL (#12430 @alexmar07)
  • 修复 kubernetes.md 中的拼写错误 (#12515 @EdwardSalkeld)
  • 修复 v3.6 迁移指南中的拼写错误 (#12212 @jnoordsij)
  • 修复JWT文档中的拼写错误 (#12616 @mdevino)
  • 改进服务参考页面 (#12541 @sheddy-traefik)
  • 改进路由参考页面的结构 (#12429 @sheddy-traefik)
  • 增加文档中的内容宽度 (#12632 @tobiasge)
  • 从迁移指南中移除多余的点 (#12573 @rtribotte)
  • 从迁移指南中移除多余的点 (#12571 @dathbe)
  • 恢复关于 http.maxHeaderBytes 的文档 (#12440 @mloiseleur)
  • 分割暴露用户指南并添加多层路由部分 (#12238 @sheddy-traefik)
  • 更新配置概览页面 (#12202 @sheddy-traefik)
  • 更新 SECURITY.md (#12304 @cwayne18)
  • 更新 SECURITY.md 以简化信息 (#12310 @emilevauge)

杂项:

  • 使 FLAGS Make 变量可用 (#13009 @twz123)

更新内容 (原始)

Important: Please read the migration guide.

Enhancements:

  • [k8s/ingress-nginx] Use a metamodel to generate dynamic configuration in ingress-nginx (#13062 @juliens)
  • [k8s/ingress-nginx] Add limit-connections support (#13030 @amazon7737)
  • [webui] Display server weight in service detail view (#12325 @murataslan1)
  • [webui, tls] Add certificates menu and overview (#12628 @holomekc)
  • [provider] Add providers routing precedence configuration (#12895 @juliens)
  • [k8s/ingress-nginx] Support NGINX global auth annotation (#12893 @foxcool)
  • [k8s/ingress-nginx] Add limit-burst-multiplier annotation support (#12899 @amazon7737)
  • [k8s/ingress-nginx, k8s/ingress, rules] Add wildcard host in Host and HostSNI matchers (#12884 @juliens)
  • [k8s/gatewayapi] Support multiple certificateRefs on gateway listeners (#12590 @mortennordbye)
  • [k8s/gatewayapi] Add secret support for BackendTLSPolicy caCertificateRefs (#12927 @kevinpollet)
  • [accesslogs, k8s/ingress-nginx] Support nginx.ingress.kubernetes.io/enable-access-log annotation (#12908 @ris-tlp)
  • [accesslogs, k8s/ingress-nginx, k8s/ingress] Add Kubernetes Ingress logs fields (#12913 @rtribotte)
  • [k8s/knative] Support knative v1.20.0 (#12441 @idurgakalyan)
  • [k8s/gatewayapi] Bump sigs.k8s.io/gateway-api to v1.5.1 (#12768 @mmatur)
  • [k8s/ingress-nginx, middleware, authentication] Add support for auth-snippet (#12778 @juliens)
  • [accesslogs, otel] Allow Stdio access logs alongsige OTLP logging (#12307 @Mulgish)
  • [acme] Add CertificateTimeout ACME configuration option (#12278 @ceko)
  • [k8s/ingress-nginx] Support nginx.ingress.kubernetes.io/allowlist-source-range (#12659 @ris-tlp)
  • [k8s/crd] Add ingressClassName field to the CRDs spec (#12313 @kkrypt0nn)
  • [k8s/crd] Service failover support in TraefikService CRD (#12733 @jspdown)
  • [k8s/crd, service] Support cipher suites configuration with ServersTransport (#11965 @NEwa-05)
  • [k8s/ingress, middleware, k8s/crd, service, k8s/gatewayapi] Services middleware and Gateway API filters on HTTP backends (#12544 @juliens)
  • [k8s/ingress-nginx] Add nginx.ingress.kubernetes.io/proxy-connect-timeout annotation (#12572 @gndz07)
  • [k8s/ingress-nginx] Add rewrite-target nginx annotations support (#12534 @LBF38)
  • [k8s/ingress-nginx] Add support for app-root nginx annotation (#12576 @LBF38)
  • [k8s/ingress-nginx] Add support for auth-signin annotation (#12502 @DesalLama)
  • [k8s/ingress-nginx] Add support for from-to-www-redirect NGINX annotation (#12610 @LBF38)
  • [k8s/ingress-nginx] Add support for proxy-read-timeout and proxy-send-timeout NGINX annotations (#12630 @LBF38)
  • [k8s/ingress-nginx] Add support for session-cookie-expires nginx annotation (#12558 @LBF38)
  • [k8s/ingress-nginx] Add support for upstream-hash-by NGINX annotation (#12749 @LBF38)
  • [k8s/ingress-nginx] Allow entry points to be specified on Nginx Ingresses (#12727 @ajacques)
  • [k8s/ingress-nginx] Implement proxy-http-version annotation (#12743 @KshitijBharde)
  • [k8s/ingress-nginx] Nginx x-forwarded-prefix annotation (#12697 @nandorKollar)
  • [k8s/ingress-nginx] Support auth-tls-secret and auth-tls-verify-client annotations (#12595 @gndz07)
  • [k8s/ingress-nginx] Support limit-rpm annotation for ingress-nginx (#12703 @Ph4rell)
  • [k8s/ingress-nginx] Support limit-rps annotation for Ingress NGINX (#12709 @amazon7737)
  • [k8s/ingress-nginx] Support NGINX buffering annotations (#12459 @blasko03)
  • [k8s/ingress-nginx] Support NGINX canary annotations (#12739 @kevinpollet)
  • [k8s/ingress-nginx] Support NGINX custom-headers annotation (#12414 @nandorKollar)
  • [k8s/ingress-nginx] Support NGINX upstream-vhost annotation (#12412 @nandorKollar)
  • [k8s/ingress-nginx] Support NGINX whitelist-source-range annotation (#12423 @blasko03)
  • [k8s/ingress-nginx] Support permanent-redirect and temporal-redirect annotations (#12561 @LBF38)
  • [k8s/ingress-nginx] Support proxy-next-upstream* annotations (#12710 @gndz07)
  • [k8s/ingress-nginx] Support server-alias annotation for Ingress NGINX (#12707 @amazon7737)
  • [k8s/ingress-nginx] Support upstream-keepalive-timeout (#12708 @jcob-sikorski)
  • [k8s/ingress-nginx] Add support for variable interpolation in auth-signin NGINX annotation (#12640 @LBF38)
  • [k8s/ingress-nginx] Implement server-snippet and configuration-snippet annotations (#12715 @juliens)
  • [k8s/ingress-nginx] Add custom-http-errors and default-backend annotations (#12637 @juliens)
  • [k8s/ingress-nginx] Support auth-tls-pass-certificate-to-upstream annotation (#12629 @gndz07)
  • [metrics] Support file path for metrics.influxdb2.token option (#12458 @barhun)
  • [middleware] Add encodedCharacters middleware (#12555 @gndz07)
  • [middleware] Enable retries based on HTTP response status codes, timeout, and non-idempotent methods (#12667 @LBF38)
  • [middleware, authentication] Add authSignInURL in forward auth middleware (#12293 @kyounghunJang)
  • [server] Add global option to disable X-Forwarded-For appending (#12374 @lbenguigui)
  • [server] Replace Split in loops with more efficient SplitSeq (#12316 @boqishan)
  • [service] Failover according to response status code (#12596 @lbenguigui)
  • [tls] Make TLSStore gracefully handle missing secrets (#12522 @david-garcia-garcia)
  • [webui] Add dashboard name configuration (#12410 @gndz07)
  • [webui] Web UI dashboard improvements (#12236 @gndz07)
  • [webui] Details pages UI improvement (#12377 @gndz07)
  • Use unicode.MaxASCII for clearer ASCII check (#12741 @1911860538)

Bug fixes:

  • [k8s/ingress-nginx] Add ipAllowListStrategy option for allowlist/whitelist annotations (#12932 @mathieuherbert)
  • [k8s/ingress-nginx] Fix regressions after refacto of the ingress-nginx provider (#13086 @juliens)
  • [k8s/ingress-nginx] Fix typo in default CORS allowed headers (#13088 @mliang2)
  • [docker, ecs] Migrate to github.com/moby/moby modules (#12672 @thaJeztah)
  • [logs, metrics, tracing] Bump go.opentelemetry.io/otel (#13100 @juliens)
  • [k8s/crd] Remove cross-provider sanitization for Kubernetes service loading (#13087 @rtribotte)
  • [docker, ecs] Migrate to github.com/moby/moby modules (#13053 @mmatur)
  • [k8s/ingress-nginx] Fix SSL redirect behavior for ingress-nginx provider (#13028 @gndz07)
  • [k8s/ingress-nginx] Do not require a port for ExternalName services (#13033 @kevinpollet)
  • [k8s, k8s/ingress-nginx] Add regression test for ingress default backend without rules (#13066 @mmatur)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.35.1 (#13027 @ldez)
  • [server] Bump github.com/vulcand/oxy to v2.1.0 (#13046 @ldez)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.35.2 (#13043 @ldez)
  • [middleware] Add errorRequestHeaders option to Errors middleware (#13034 @gndz07)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.34.0 (#12993 @ldez)
  • [docker] Downgrade log level for missing container on inspect (#12900 @Otoru)
  • [k8s/crd, k8s] Honor allowCrossNamespace with chain middleware CRD (#12976 @rtribotte)
  • [k8s/ingress-nginx] Avoid 302 redirect when rewrite-target value is not an absolute URL for ingress-nginx provider (#12977 @gndz07)
  • [k8s/ingress-nginx] Fix custom headers annotation with 503 Service Unavailable (#12969 @LBF38)
  • [k8s/ingress-nginx] Fix service unavailable on ingress-nginx (#12996 @LBF38)
  • [k8s/ingress-nginx] Handle duplicate server-alias on ingress-nginx provider (#13019 @gndz07)
  • [k8s/ingress-nginx] Use QuoteMeta for cookie name when building canary rules (#12973 @kevinpollet)
  • [middleware, authentication] Cleanup and make ForwardAuth logs consistent (#13013 @kevinpollet)
  • [middleware, authentication] Fix trustForwardHeader on forward auth middleware (#12994 @juliens)
  • [middleware, authentication] Remove map lookup making the basic auth notFoundSecret empty (#12960 @rtribotte)
  • [middleware, k8s/ingress-nginx] Fix app-root with query params redirect (#12986 @LBF38)
  • [middleware, k8s/ingress-nginx] Fix rewrite target with full URL and no regex in ingress path (#12992 @LBF38)
  • [middleware, k8s/ingress-nginx] Preserve request query on absolute-URL redirect (#13020 @SAY-5)
  • [middleware, k8s/ingress-nginx] Resolve NGINX variables in ingress-nginx upstream-vhost annotation (#12978 @mmatur)
  • [middleware] Deprecate ForwardAuth.TrustForwardHeader option (#13012 @kevinpollet)
  • [middleware] Remove untrusted X headers with underscores (#12961 @rtribotte)
  • [middleware] Sanitize the request URL after stripping the prefix (#12990 @kevinpollet)
  • [sticky-session, k8s/crd] Make SameSite cookie value case-insensitive (#12922 @murataslan1)
  • [tls] Restore default cipher suites when serversTransport has no explicit cipherSuites (#12974 @mmatur)
  • [webui] Bump lodash version (#12954 @gndz07)
  • [webui] Upgrade form-data to 2.5.4, 3.0.4, 4.0.4 (#12958 @orbisai0security)
  • [k8s/ingress-nginx] Fix rewrite-target annotation handling with empty path and non-regex path (#12905 @LBF38)
  • [middleware] Bump github.com/klauspost/compress v1.18.4 (#12937 @thaJeztah)
  • [k8s/crd] Fix panic with Failover services in Kubernetes (#12853 @juliens)
  • [k8s/ingress-nginx] Fix rewrite directive in configuration-snippet to trim quotes (#12855 @gndz07)
  • [k8s/ingress-nginx] Fix rewrite-target to handle full URL (#12854 @gndz07)
  • [k8s/ingress-nginx] Handle empty rewrite-target like unset rewrite-target (#12832 @sathieu)
  • [k8s/ingress-nginx] Fix TLS behavior in ingress-nginx provider (#12831 @LBF38)
  • [k8s/ingress-nginx] Fix auth-response-headers whitespace trimming in ingress-nginx provider (#12856 @mmatur)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.33.0 (#12840 @ldez)
  • [server, tcp] Fix postgres STARTTLS with TLS termination (#12847 @mmatur)
  • [api] Fix allow colons and tildes in api.basePath validation (#12857 @mmatur)
  • [server] Fix comment and unnecessary allocation in withRoutingPath (#12880 @boinger)
  • [grpc] Bump google.golang.org/grpc to v1.79.3 (#12845 @mmatur)
  • [middleware, authentication] Prevent duplicate user headers in basic and digest auth middleware (#12851 @juliens)
  • [middleware] Fix StripPrefix and StripPrefixRegex to slice the prefix using encoded prefix length (#12863 @gndz07)
  • [k8s/ingress-nginx] Fix use-regex annotation behavior and add strictValidatePathType config for ingress-nginx provider (#12773 @gndz07)
  • [logs, otel] Add OTel-conformant trace context attributes to access logs (#12801 @mmatur)
  • [k8s/gatewayapi] Fix incorrect hostname matching between listener and route (#12599 @TheColorman)
  • [k8s/ingress] Fix ingress router’s rule (#12808 @gndz07)
  • [webui] Remove AGPL license in code (#12799 @Desel72)
  • [k8s/ingress-nginx] Fix proxy-ssl-verify annotation (#12825 @LBF38)
  • [http] Add maxResponseBodySize configuration on HTTP provider (#12788 @gndz07)
  • [tls] Support fragmented TLS client hello (#12787 @rtribotte)
  • [middleware, authentication] Make basic auth check timing constant (#12803 @rtribotte)
  • [acme] Add missing renew options (#12467 @ldez)
  • [acme] Add timeout to ACME-TLS/1 challenge handshake (#12516 @LBF38)
  • [acme] Alter TLS renewal period (#12479 @LtHummus)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.28.0 (#12218 @ldez)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.29.0 (#12333 @ldez)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.30.1 (#12432 @ldez)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.31.0 (#12529 @ldez)
  • [acme] Bump github.com/go-acme/lego/v4 to v4.32.0 (#12702 @ldez)
  • [acme] Remove invalid private key in log (#12574 @juliens)
  • [acme] Replace hardcoded references to LetsEncrypt in log messages (#12464 @schildbach)
  • [cli] Fix health check ping (#12512 @olamilekan000)
  • [docker] Auto-negotiate Docker API Version (#12256 @felixbuenemann)
  • [docker] Bump Docker and OpenTelemetry dependencies (#12761 @mmatur)
  • [docker, docker/swarm] Auto-negotiate Docker API version (#12262 @kevinpollet)
  • [fastproxy] Bump github.com/valyala/fasthttp to v1.69.0 (#12763 @kevinpollet)
  • [healthcheck] Reject absolute URL in healthcheck path configuration (#12653 @rtribotte)
  • [healthcheck] Validate healthcheck path configuration (#12642 @rtribotte)
  • [healthcheck, grpc] Remove path parsing with grpc healthcheck (#12760 @rtribotte)
  • [http3] Bump github.com/quic-go/quic-go to v0.57.0 (#12308 @GreyXor)
  • [http3] Bump github.com/quic-go/quic-go to v0.57.1 (#12319 @GreyXor)
  • [http3] Bump github.com/quic-go/quic-go to v0.58.0 (#12448 @GreyXor)
  • [http3] Bump github.com/quic-go/quic-go to v0.59.0 (#12553 @jnoordsij)
  • [k8s] Fix condition used for serving and fenced endpoints (#12521 @LBF38)
  • [k8s/gatewayapi] Fix Gateway API router’s rules (#12753 @rtribotte)
  • [k8s/ingress] Fix panic for empty defaultBackend and defaultBackend without resources (#12509 @gndz07)
  • [k8s/ingress-nginx] Add AllowCrossNamespaceResources and GlobalAllowedResponseHeader options to control custom headers annotations (#12680 @rtribotte)
  • [k8s/ingress-nginx] Deprecate Kubernetes Ingress NGINX provider experimental flag (#12286 @rtribotte)
  • [k8s/ingress-nginx] Fix nginx rewrite target (#12730 @mmatur)
  • [k8s/ingress-nginx] Fix NGINX sslredirect annotation support (#12387 @rtribotte)
  • [k8s/ingress-nginx] Fix nginx.ingress.kubernetes.io/proxy-ssl-verify annotation support (#12351 @rtribotte)
  • [k8s/ingress-nginx] Fix SSL redirect to match NGINX behavior (#12361 @mmatur)
  • [k8s/ingress-nginx] Fix the service name for ingress-nginx provider (#12352 @mmatur)
  • [k8s/ingress-nginx] Fix use-regex nginx annotation (#12531 @LBF38)
  • [k8s/ingress-nginx] Prevent Ingress Nginx provider http router to attach to an entrypoint with TLS (#12528 @rtribotte)
  • [metrics, tracing, accesslogs] Fix ObservabilityConfig SetDefaults (#12636 @mmatur)
  • [middleware] Fix case sensitivity on x-forwarded headers for Connection (#12690 @LBF38)
  • [middleware] Fix HasSecureHeadersDefined returning false when stsSeconds is 0 (#12684 @veeceey)
  • [middleware, authentication] Add maxResponseBodySize configuration to forwardAuth middleware (#12694 @gndz07)
  • [middleware, authentication] Change ForwardAuth error log level from DEBUG to ERROR (#12324 @murataslan1)
  • [middleware, authentication] Handle empty/missing User-Agent header (#12545 @a-stangl)
  • [middleware, k8s, k8s/ingress-nginx] Fix from to www nginx annotation (#12736 @mmatur)
  • [middleware, k8s/ingress-nginx] Fix custom error pages behavior for ingress-nginx provider (#12738 @mmatur)
  • [otel] Bump go.opentelemetry.io/otel dependencies (#12754 @rtribotte)
  • [plugins] Validate plugin module name (#12291 @kevinpollet)
  • [redis] Fix mutually exclusive verification for Redis (#12442 @juliens)
  • [server] Bump golang.org/x/crypto to v0.45.0 (#12296 @kevinpollet)
  • [server] Bump golang.org/x/net to v0.51.0 (#12756 @kevinpollet)
  • [server] Filter unknown nodes with file and env for the deprecation loader (#12227 @rtribotte)
  • [server] Fix deny encoded characters (#12454 @rtribotte)
  • [server] Fix deny encoded characters (#12457 @rtribotte)
  • [server] Fix multi-layer routing with models (#12258 @juliens)
  • [server] Fix TLS handshake error handling (#12692 @juliens)
  • [server] Make encoded character options opt-in (#12540 @gndz07)
  • [server] Make the aggregator compute provider namespace for router’s parentRefs (#12235 @rtribotte)
  • [server] Print access logs for rejected requests and warn about new behavior (#12424 @kevinpollet)
  • [server] Print access logs for rejected requests and warn about new behavior (#12426 @rtribotte)
  • [server] Reject suspicious encoded characters (#12360 @rtribotte)
  • [server] Remove conn deadline after STARTTLS negociation (#12639 @rtribotte)
  • [service] Avoid recursion with services (#12591 @juliens)
  • [tls] Fix verifyServerCertMatchesURI function behavior (#12575 @kevinpollet)
  • [tls, server] Cap TLS record length to RFC 8446 limit in ClientHello peeking (#12638 @mmatur)
  • [tracing, otel] Use ParentBased sampler to respect parent span sampling decision (#12403 @xe-leon)
  • [udp] Revert “Avoid allocations in readLoop by using sync.Pool” (#12267 @kevinpollet)
  • [webui] Bump dependencies of documentation and webui (#12581 @gndz07)
  • [webui] Fix basePath validation for dashboard template (#12729 @gndz07)
  • [webui] Fix blocked navigation on Safari (#12231 @gndz07)
  • [webui] Fix missing type definition (#12780 @gndz07)
  • [webui] Fix priority display in dashboard and ACME bypass redirect (#12740 @mmatur)
  • [webui] Restore remote Upgrade to Hub button web component (#12219 @gndz07)
  • [webui] Use url.Parse to validate X-Forwarded-Prefix value (#12643 @kevinpollet)
  • [webui] Validate X-Forwarded-Prefix value for dashboard redirect (#12514 @LBF38)

Documentation:

  • [service] Service-level Middleware Documentation (#13095 @nmengin)
  • [k8s/gatewayapi] Update Helm chart values link for Kubernetes Gateway (#13063 @0054)
  • [k8s/ingress-nginx] Add ingress-nginx ConfigMap migration step (#12963 @sheddy-traefik)
  • [k8s/ingress-nginx] Delete the coming soon section from the ingress-nginx documentation (#13037 @nmengin)
  • [k8s] Fix yaml indentation (#12957 @isayme)
  • [k8s] Clarify install config watchNamespace watches only one namespace (#12962 @parkerfath)
  • [k8s/crd] Update ingressroute.md (#12916 @Rajakavitha1)
  • [k8s/ingress-nginx] Document the rd parameter behavior for the auth-signin annotation (#13017 @kevinpollet)
  • Reverse versions order in migration guide (#12959 @nmengin)
  • Update vulnerability submission guidelines (#12968 @emilevauge)
  • [docker] Fix docker-compose.yaml location in Docker setup page (#12860 @ScottA38)
  • [docker, consul, ecs, k8s] Fix documentation on how to restrict the scope of service discovery (#12645 @mloiseleur)
  • [k8s/gatewayapi] Update gateway-api link in getting-started to v1.5.1 (#12930 @isayme)
  • [k8s/ingress-nginx] Add OVHcloud (OpenStack Octavia) to Cloud-Specific IP Management (#12759 @antonin-a)
  • [k8s/ingress-nginx] Clarify IngressClass selection logic (#12926 @kevinpollet)
  • Add redirects for deleted pages (#12889 @sheddy-traefik)
  • Fix default value of http.sanitizePath (#12904 @iTob191)
  • [acme] Clarify CNAME explanation in ACME Documentation (#12818 @sheddy-traefik)
  • [k8s/ingress-nginx] Add ingress-nginx migration banner on documentation pages (#12872 @gndz07)
  • [k8s/ingress] Improve Kubernetes Ingress Routing Documentation (#12876 @sheddy-traefik)
  • [k8s/ingress-nginx] Clarify that NGINX Ingress watchNamespace watches only one namespace (#12873 @parkerfath)
  • [k8s] Improve the multi tenant security note (#12822 @nmengin)
  • Fix unnecessary escaping of pipe in regexp examples (#12784 @diegmonti)
  • Add vulnerability submission quality guidelines (#12807 @emilevauge)
  • Fix start up message format (#12806 @mloiseleur)
  • Remove unsupported servers[n].address from TCP label examples (#12817 @sheddy-traefik)
  • Bump mkdocs-traefiklabs to use consent mode (#12804 @darkweaver87)
  • [acme] Add missing ACME options and clean up table for more visibility (#12208 @sheddy-traefik)
  • [api] Fix typo in API dashboard configuration instructions (#12335 @NAICOLAS)
  • [docker] Add documentation for loadbalancer.server.url in Docker and Swarm providers (#12289 @webash)
  • [docker] Update docker in-depth setup guide (#12682 @mdevino)
  • [docker/swarm] Update swarm.md traefik version (#12508 @DBouraoui)
  • [k8s] Fix Gateway API version and the list of features supported (#12254 @nmengin)
  • [k8s] Fix Kubernetes reference yml file (#12406 @mmatur)
  • [k8s] Fix kubernetes.md with correct http redirections (#12603 @MartenM)
  • [k8s] Fix Nginx provider documentation (#12266 @nmengin)
  • [k8s] Improve the K8S multi-tenancy security note (#12444 @nmengin)
  • [k8s] Make labelSelector option casing more consistent (#12658 @holysoles)
  • [k8s, k8s/ingress-nginx] Add configmaps right to Ingress NGINX RBAC (#12557 @kevinpollet)
  • [k8s/gatewayapi] Fix links of Helm chart values reference to providers.kubernetesGateway.enabled (#12315 @shouhei)
  • [k8s/ingress, k8s] Fix Kubernetes Ingress provider documentation (#12443 @nmengin)
  • [k8s/ingress-nginx] Add auth-signin to unsupported nginx annotations list (#12370 @fibsifan)
  • [k8s/ingress-nginx] Add RBAC documentation for Ingress NGINX provider (#12445 @nmn3m)
  • [k8s/ingress-nginx] Add temporary note to advertise the incoming NGINX annotations (#12699 @nmengin)
  • [k8s/ingress-nginx] Fix default value of ingress-nginx provider in documentation (#12328 @mloiseleur)
  • [k8s/ingress-nginx] Fix ingress-nginx annotations documentation (#12510 @nmengin)
  • [k8s/ingress-nginx] Improve ingress-nginx provider documentation (#12288 @sheddy-traefik)
  • [k8s/ingress-nginx] Improve the configuration options display of the Kubernetes ingress-nginx provider (#12297 @mloiseleur)
  • [k8s/ingress-nginx] NGINX Ingress Controller to Traefik Migration Guide (#12318 @sheddy-traefik)
  • [middleware] Correct documentation for Digest auth (#12651 @Zash)
  • [middleware] Fix default encodings in compress middleware (#12216 @Belphemur)
  • [middleware, k8s/crd] Fix the errors middleware’s document for Kubernetes CRD (#12600 @yuito-it)
  • [service] Fix loadbalancer doc for highest random weight (#12283 @ozon2)
  • [tls] Clarify SNI selection (#12482 @AnuragEkkati)
  • Add @gndz07 as a current maintainer (#12594 @emilevauge)
  • Add a Breaking change note to the changelog (#12398 @nmengin)
  • Add documentation about checkNewVersion (#12298 @darkweaver87)
  • Add missing .http to TOML table names (#12713 @Darsstar)
  • Add product comparison matrix and features page (#12037 @sheddy-traefik)
  • Bring back security section on API & Dashboard documentation page (#12507 @gndz07)
  • Clarify doc about encoded characters rejection (#12391 @rtribotte)
  • Clean Up Menu Entries & Update Expose Overview (#12405 @sheddy-traefik)
  • Correct encoded characters allowance in entrypoints.md (#12679 @Apflkuacha)
  • Correctly Format the HTTP Service Documentation (#12311 @sheddy-traefik)
  • Document negative priority support for routers (#12505 @understood-the-assignment)
  • Document Path matcher placeholder removal in v3 migration guide (#12570 @sheddy-traefik)
  • Fix API basepath option documentation (#12744 @nmengin)
  • Fix broken links in TCP Service and HTTP Router documentation (#12215 @sheddy-traefik)
  • Fix code copy button positioning (#12520 @AnuragEkkati)
  • Fix encoded characters entryPoint option documentation (#12384 @rtribotte)
  • Fix encoded characters option documentation (#12373 @kevinpollet)
  • Fix encodedCharacters entryPoint option documentation (#12385 @rtribotte)
  • Fix incorrect TOML example in entrypoints docs (#12711 @mfmfuyu)
  • Fix link description in Traefik Proxy documentation (#12488 @schaerfo)
  • Fix Menu Item Naming (#12431 @sheddy-traefik)
  • Fix migration guide indentation (#12365 @kevinpollet)
  • Fix migration guide URLs in deprecation notice (#12430 @alexmar07)
  • Fix typo in kubernetes.md (#12515 @EdwardSalkeld)
  • Fix typo in v3.6 migration guide (#12212 @jnoordsij)
  • Fix typo on JWT documentation (#12616 @mdevino)
  • Improve Service Reference page (#12541 @sheddy-traefik)
  • Improve the structure of the routing reference pages (#12429 @sheddy-traefik)
  • Increased content width in documentation (#12632 @tobiasge)
  • Remove extra dots in migration guide (#12573 @rtribotte)
  • Remove extraneous dots in migration guide (#12571 @dathbe)
  • Restore documentation on http.maxHeaderBytes (#12440 @mloiseleur)
  • Split Expose User Guides & Add Multi-Layer Routing Section (#12238 @sheddy-traefik)
  • Update Configuration Overview Page (#12202 @sheddy-traefik)
  • Update SECURITY.md (#12304 @cwayne18)
  • Update SECURITY.md to streamline information (#12310 @emilevauge)

Misc:

  • Make FLAGS Make variable usable (#13009 @twz123)

下载链接