往年公告可在此处找到
内容
旧新闻
2022-12-05 Tomcat Jakarta EE 迁移工具 1.0.6 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.6 版。与 1.0.5 版相比,此版本包含多项错误修复和改进。
此版本的主要更改包括
- 纠正 1.0.5 中引入的 javax.annotation 包处理中的回归问题。由 Danny Thomas 提供的 PR。
- 允许并行使用 ClassConverter。由 Danny Thomas 提供的 PR。
这些更改以及所有其他更改的完整详细信息可在更新日志中查看。
2022-12-05 Tomcat 11.0.0-M1 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M1 (alpha) 版本。此版本是一个里程碑版本,面向 Jakarta EE 11。
Tomcat 10 及更高版本的用户应注意,由于 Java EE 转移到 Eclipse Foundation,并从 Java EE 迁移到 Jakarta EE,所有已实现 API 的主包已从 javax.*
更改为 jakarta.*
。这几乎肯定需要代码更改才能使应用程序从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具正在开发中,以帮助此过程。
此版本的主要更改包括
- 与 Jakarta Servlet、Pages 和 Expression Language 规范的当前开发版本保持一致。这包括删除已弃用代码以及为错误分派添加 jakarta.servlet.error.query_string 属性
- BASIC 认证现在默认使用 UTF-8
- 从字节到字符的转换现在会触发异常,而不是替换给定编码的无效字节序列
这些更改以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 更新日志中查看。
2022-11-21 Tomcat 8.5.84 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.84 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.83 相比,主要更改包括
- 修复包含 Lambda 表达式的表达式语言评估中的并发问题。
- 修正 HTTP cookie 的 expires 属性使用的日期格式。应使用单个空格而不是单个破折号来分隔日、月和年组件,以符合 RFC 6265。
- 更新到 Commons Daemon 1.3.2。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-12-09 Tomcat 10.1.4 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.4 版本。此版本实现了 Jakarta EE 10 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 重构 WebappLoader,使其仅在配置为在加载类时使用转换器时才对 Jakarta EE 迁移工具具有运行时依赖。
- 当 HTTP/2 流被重置时,当前活动流计数未减少。如果连接上发生足够的重置,则达到当前活动流计数限制,并且无法在该连接上创建新流。
- 更新到 Commons Daemon 1.3.3。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 更新日志中查看。
2022-12-05 Tomcat 9.0.70 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.70 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.69 相比,主要更改包括
- 当 HTTP/2 流被重置时,当前活动流计数未减少。如果连接上发生足够的重置,则达到当前活动流计数限制,并且无法在该连接上创建新流。
- 更新到 Commons Daemon 1.3.3。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-11-14 Tomcat 10.1.2 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.2 版本。此版本实现了 Jakarta EE 10 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 修复包含 Lambda 表达式的表达式语言评估中的并发问题。
- 将 Apache Tomcat Native Library 的打包版本更新到 2.0.2,以包含使用 OpenSSL 3.0.7 构建的 Windows 二进制文件。
- 修正 HTTP cookie 的 expires 属性使用的日期格式。应使用单个空格而不是单个破折号来分隔日、月和年组件,以符合 RFC 6265。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 更新日志中查看。
2022-11-14 Tomcat 9.0.69 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.69 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.68 相比,主要更改包括
- 修复包含 Lambda 表达式的表达式语言评估中的并发问题。
- 修正 HTTP cookie 的 expires 属性使用的日期格式。应使用单个空格而不是单个破折号来分隔日、月和年组件,以符合 RFC 6265。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-11-08 Tomcat Jakarta EE 迁移工具 1.0.5 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.5 版。与 1.0.4 版相比,此版本包含多项错误修复和改进。
此版本的主要更改包括
- 将 javax.annotation 转换的范围缩小到 Java EE。由 Danny Thomas 提供的 Pull 请求
- 改进清单处理和转换性能。由 Danny Thomas 提供的 Pull 请求。
这些更改以及所有其他更改的完整详细信息可在更新日志中查看。
2022-11-08 Tomcat Native 2.0.2 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 2.0.2 版本。与 2.0.1 相比,主要更改包括
- LibreSSL 的最低支持版本已提升至 3.5.2。
- 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.7 构建
2022-10-11 Tomcat 8.5.83 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.83 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.82 相比,主要更改包括
- 添加对通过需要身份验证的正向代理建立与 WebSocket 端点的连接时,使用 HTTP 正向代理验证 WebSocket 客户端的支持。基于 Joe Mokos 提供的补丁。
- 修复 EL 处理中各种边缘情况的 Bug。
- 强制执行 RFC 7230 及后续版本的要求,即具有格式错误 Content-Length 头的请求应始终以 400 响应拒绝。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-10-11 Tomcat 10.1.1 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.1 版本。此版本实现了 Jakarta EE 10 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 修复 Bug 66277,这是一个重构回归问题,导致 JSP 包含等功能损坏
- 修复在使用 HTTP/2 和 NIO2 时可能表现为客户端断开连接的意外超时问题
- 强制执行 RFC 7230 及后续版本的要求,即具有格式错误 Content-Length 头的请求应始终以 400 响应拒绝。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 更新日志中查看。
2022-10-10 Tomcat 10.0.27 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.27 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 修复 Bug 66277,这是一个重构回归问题,导致 JSP 包含等功能损坏
- 修复在使用 HTTP/2 和 NIO2 时可能表现为客户端断开连接的意外超时问题
- 强制执行 RFC 7230 及后续版本的要求,即具有格式错误 Content-Length 头的请求应始终以 400 响应拒绝。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-10-07 Tomcat 9.0.68 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.68 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.67 相比,主要更改包括
- 修复 Bug 66277,这是一个重构回归问题,导致 JSP 包含等功能损坏
- 修复在使用 HTTP/2 和 NIO2 时可能表现为客户端断开连接的意外超时问题
- 强制执行 RFC 7230 及后续版本的要求,即具有格式错误 Content-Length 头的请求应始终以 400 响应拒绝。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-09-27 Tomcat 10.0.26 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.26 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 添加对通过需要身份验证的正向代理建立与 WebSocket 端点的连接时,使用 HTTP 正向代理验证 WebSocket 客户端的支持。基于 Joe Mokos 提供的补丁。
- 修复 EL 处理中各种边缘情况的 Bug。
- 改进 HTTP/2 请求的主机头处理。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-09-26 Tomcat 10.1.0 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0 版本。这是 Apache Tomcat 首个面向 Jakarta EE 10 的稳定版本。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 添加对通过需要身份验证的正向代理建立与 WebSocket 端点的连接时,使用 HTTP 正向代理验证 WebSocket 客户端的支持。基于 Joe Mokos 提供的补丁。
- 修复 EL 处理中各种边缘情况的 Bug。
- 改进 HTTP/2 请求的主机头处理。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 更新日志中查看。
2022-09-26 Tomcat 9.0.67 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.67 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.65 相比,主要更改包括
- 添加对通过需要身份验证的正向代理建立与 WebSocket 端点的连接时,使用 HTTP 正向代理验证 WebSocket 客户端的支持。基于 Joe Mokos 提供的补丁。
- 修复 EL 处理中各种边缘情况的 Bug。
- 改进 HTTP/2 请求的主机头处理。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-09-20 Tomcat Jakarta EE 迁移工具 1.0.4 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.4 版。与 1.0.3 版相比,此版本包含多项错误修复和改进。
此版本的主要更改包括
- 改进了修复,该修复用于转换包含以未压缩形式存储一个或多个条目的 JAR 的 Web 应用程序。
- 添加了一个新的转换配置文件,用于从 Jakarta EE 9 转换为 Java EE 8。
这些更改以及所有其他更改的完整详细信息可在更新日志中查看。
2022-08-13 Tomcat 8.5.82 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.82 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.81 相比,主要更改包括
- 将 Tomcat Native Library 的打包版本更新到 1.2.35,以包含使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。
- 在使用 Tomcat Native 1.2.34 及更高版本,且使用 OpenSSL 3.0.x 及更高版本构建时,为启用 TLS 的连接器启用 FIPS 提供程序的使用。
- 改进 HTTP/2 头部处理。
- 修复 CVE-2022-34305,这是表单认证示例中一个低严重性 XSS 漏洞。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-07-26 Tomcat 10.0.23 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.23 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 实现可重复构建的支持
- 将 Tomcat Native Library 的打包版本更新到 1.2.35。这包括使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。
- 修复 CVE-2022-34305,这是表单认证示例中一个低严重性 XSS 漏洞
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-07-20 Tomcat 9.0.65 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.65 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.64 相比,主要更改包括
- 实现可重复构建的支持。
- 将 Tomcat Native Library 的打包版本更新到 1.2.35。这包括使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。
- 修复 CVE-2022-34305,这是表单认证示例中一个低严重性 XSS 漏洞。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-09-12 Tomcat Jakarta EE 迁移工具 1.0.3 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.3 版。与 1.0.1 版相比,此版本包含多项错误修复和改进。
此版本的主要更改包括
- 更新修改文件的校验和,以避免在使用迁移后的 JAR 文件时出现问题
- 处理作为解压 JAR 一部分的清单文件的迁移
这些更改以及所有其他更改的完整详细信息可在更新日志中查看。
2022-07-20 Tomcat 10.1.0-M17 (beta) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M17 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 实现可重复构建的支持。
- 将 Tomcat Native Library 的打包版本更新到 2.0.1。这包括使用 OpenSSL 3.0.5 构建的 Windows 二进制文件。
- 更新实验性 Panama 模块,支持 OpenSSL 3.0+。OpenSSL 1.1 仍受支持。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (beta) 更新日志中查看。
2022-07-12 Tomcat Native 2.0.1 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 2.0.1 版本。这是 2.0.x 分支的首次发布。与 1.2.x 分支相比,主要更改包括
- JNI API 已缩减为仅支持 Tomcat 基于 OpenSSL 的 TLS 实现所需的部分。APR/native 连接器在 2.0.x 分支中不再受支持。
- 最低支持版本已提升至 OpenSSL 3.0.x、Apache APR 1.7.x、Java 11、Windows 7 / Server 2008 R2。
- 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.5 构建
2022-07-12 Tomcat Native 1.2.35 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.35 版本。自 1.2.34 以来,主要更改包括
- 使用 OpenSSL 1.1.1q 构建的 Windows 二进制文件。
- 记录 TLS 重新协商行为
- 记录发布流程
2022-07-11 Tomcat Jakarta EE 迁移工具 1.0.1 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.1 版。与 1.0.0 版相比,此版本包含多项错误修复和改进。
此版本的主要更改包括
- 添加对 .groovy 文件的支持
- 更好地支持非标准归档文件
- 大量库更新
这些更改以及所有其他更改的完整详细信息可在更新日志中查看。
2022-06-11 Tomcat 8.5.81 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.81 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.79 相比,主要更改包括
- 确保 RemoteIPValve 对请求所做的更改在请求进入异步模式后仍然保留。
- 纠正了先前版本中为加密 PKCS#1 格式私钥添加的支持中的回归问题,该问题导致对未加密 PKCS#1 格式私钥的支持中断。
- 将集群消息的默认缓冲区大小从 43800 字节增加到 65536 字节。这有望在基于 Linux 的系统上运行大型消息时提高性能。
- 当使用 TLS、非阻塞写入和 NIO 连接器时,确保刷新缓冲区会尝试清空所有输出缓冲区。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-06-11 Tomcat 10.0.22 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.22 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 纠正了先前版本中为加密 PKCS#1 格式私钥添加的支持中的回归问题,该问题导致对未加密 PKCS#1 格式私钥的支持中断。
- 将集群消息的默认缓冲区大小从 43800 字节增加到 65536 字节。这有望在基于 Linux 的系统上运行大型消息时提高性能。
- 当使用 TLS、非阻塞写入和 NIO 连接器时,确保刷新缓冲区会尝试清空所有输出缓冲区。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-06-09 Tomcat 9.0.64 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.64 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.63 相比,主要更改包括
- 纠正了先前版本中为加密 PKCS#1 格式私钥添加的支持中的回归问题,该问题导致对未加密 PKCS#1 格式私钥的支持中断。
- 将集群消息的默认缓冲区大小从 43800 字节增加到 65536 字节。这有望在基于 Linux 的系统上运行大型消息时提高性能。
- 当使用 TLS、非阻塞写入和 NIO 连接器时,确保刷新缓冲区会尝试清空所有输出缓冲区。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-06-14 Tomcat Native 1.2.34 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.34 版本。自 1.2.33 以来,主要更改包括
- 重构本机代码的初始化,使其与 Tomcat 10.1.x 兼容,其中已弃用的 Java 类将被移除。
- 将 OpenSSL 3.0.x FIPS 行为映射到 1.1.1 API,以允许客户端在 Tomcat Native 针对 OpenSSL 3.0.x 编译时确定是否正在使用 FIPS 提供程序。
2022-06-09 Tomcat 10.1.0-M16 (beta) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M16 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 重构锁定 SocketWrapper 的同步块以使用 ReentrantLock,以支持希望试验 Loom 项目的用户。
- 纠正了先前版本中为加密 PKCS#1 格式私钥添加的支持中的回归问题,该问题导致对未加密 PKCS#1 格式私钥的支持中断。
- 将集群消息的默认缓冲区大小从 43800 字节增加到 65536 字节。这有望在基于 Linux 的系统上运行大型消息时提高性能。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (beta) 更新日志中查看。
2022-05-23 Tomcat 8.5.79 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.79 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.78 相比,主要更改包括
- 提供一个属性源,该属性源从 Kubernetes 服务绑定中获取值。由 Sumit Kulhadia 和 Gareth Evans 提供。
- Linux 内核重复 accept Bug 的根本原因已查明,并确定了包含修复的内核版本。发生此 Bug 时显示的错误消息已更新,以反映此新信息,并建议用户更新到使用内核 5.10 或更高版本的操作系统。感谢 Christopher Gual 对此问题的研究。
- 将 Tomcat Native Library 的打包版本更新到 1.2.33,以包含使用 OpenSSL 1.1.1o 构建的 Windows 二进制文件。
- 在配置内部内存密钥库时,添加对加密 PKCS#1 格式私钥的支持。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-05-16 Tomcat 10.0.21 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.21 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 提供一个属性源,该属性源从 Kubernetes 服务绑定中获取值。由 Sumit Kulhadia 和 Gareth Evans 提供。
- Linux 内核重复 accept Bug 的根本原因已查明,并确定了包含修复的内核版本。发生此 Bug 时显示的错误消息已更新,以反映此新信息,并建议用户更新到使用内核 5.10 或更高版本的操作系统。感谢 Christopher Gual 对此问题的研究。
- 将 Tomcat Native Library 的打包版本更新到 1.2.33,以包含使用 OpenSSL 1.1.1o 构建的 Windows 二进制文件。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-05-16 Tomcat 9.0.63 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.63 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.62 相比,主要更改包括
- 提供一个属性源,该属性源从 Kubernetes 服务绑定中获取值。由 Sumit Kulhadia 和 Gareth Evans 提供。
- Linux 内核重复 accept Bug 的根本原因已查明,并确定了包含修复的内核版本。发生此 Bug 时显示的错误消息已更新,以反映此新信息,并建议用户更新到使用内核 5.10 或更高版本的操作系统。感谢 Christopher Gual 对此问题的研究。
- 将 Tomcat Native Library 的打包版本更新到 1.2.33,以包含使用 OpenSSL 1.1.1o 构建的 Windows 二进制文件。
- 在配置内部内存密钥库时,添加对加密 PKCS#1 格式私钥的支持。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-05-16 Tomcat 10.1.0-M15 (alpha) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M15 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 提供一个属性源,该属性源从 Kubernetes 服务绑定中获取值。由 Sumit Kulhadia 和 Gareth Evans 提供。
- Linux 内核重复 accept Bug 的根本原因已查明,并确定了包含修复的内核版本。发生此 Bug 时显示的错误消息已更新,以反映此新信息,并建议用户更新到使用内核 5.10 或更高版本的操作系统。感谢 Christopher Gual 对此问题的研究。
- 将 Tomcat Native Library 的打包版本更新到 1.2.33,以包含使用 OpenSSL 1.1.1o 构建的 Windows 二进制文件。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (alpha) 更新日志中查看。
2022-05-09 Tomcat Native 1.2.33 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.33 版本。自 1.2.32 以来,主要更改包括
- 使用 OpenSSL 1.1.1o 构建的 Windows 二进制文件。
- 修复在握手失败后尝试读取 TLS 会话 ID 时可能发生的崩溃。
2022-04-01 Tomcat 9.0.62 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.62 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.60 相比,主要更改包括
- 将 Tomcat Native Library 的打包版本更新到 1.2.32,以包含使用 OpenSSL 1.1.1n 构建的 Windows 二进制文件。
- 改进未知 HTTP/2 设置帧的日志记录。由 Thomas Hoffmann 提供的 Pull 请求。
- 如果使用不兼容的 TLS 配置(例如 HTTP/2 结合 CLIENT-CERT 认证),则添加额外警告。
- 加强类加载器,为 Spring Framework 漏洞 CVE-2022-22965 提供缓解措施。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-04-01 Tomcat 10.0.20 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.20 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 将 Tomcat Native Library 的打包版本更新到 1.2.32,以包含使用 OpenSSL 1.1.1n 构建的 Windows 二进制文件。
- 改进未知 HTTP/2 设置帧的日志记录。由 Thomas Hoffmann 提供的 Pull 请求。
- 如果使用不兼容的 TLS 配置(例如 HTTP/2 结合 CLIENT-CERT 认证),则添加额外警告。
- 加强类加载器,为 Spring Framework 漏洞 CVE-2022-22965 提供缓解措施。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-04-01 Tomcat 10.1.0-M14 (alpha) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M14 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 将 Tomcat Native Library 的打包版本更新到 1.2.32,以包含使用 OpenSSL 1.1.1n 构建的 Windows 二进制文件。
- 改进未知 HTTP/2 设置帧的日志记录。由 Thomas Hoffmann 提供的 Pull 请求。
- 将 JASPIC 2.0 API 更新到 Jakarta Authentication 3.0 (JASPIC 在 Jakarta EE 10 中已重命名)。
- 加强类加载器,为 Spring Framework 漏洞 CVE-2022-22965 提供缓解措施。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (alpha) 更新日志中查看。
2022-04-01 Tomcat 8.5.78 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.78 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.77 相比,主要更改包括
- 将 Tomcat Native Library 的打包版本更新到 1.2.32,以包含使用 OpenSSL 1.1.1n 构建的 Windows 二进制文件。
- 改进未知 HTTP/2 设置帧的日志记录。由 Thomas Hoffmann 提供的 Pull 请求。
- 如果使用不兼容的 TLS 配置(例如 HTTP/2 结合 CLIENT-CERT 认证),则添加额外警告。
- 加强类加载器,为 Spring Framework 漏洞 CVE-2022-22965 提供缓解措施。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-03-22 Tomcat Native 1.2.32 发布
Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.32 版本。自 1.2.31 以来,主要更改包括
- 使用 OpenSSL 1.1.1n 构建的 Windows 二进制文件。
2022-03-14 Tomcat 9.0.60 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.60 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.59 相比,主要更改包括
- 修复一个潜在的线程安全问题,该问题可能导致 HTTP/1.1 请求处理暂停,并可能超时,等待在收到完整请求后获取额外数据。
- 修复因 65757 Bug 修复引入的回归问题,该修复更好地识别了非请求线程,但当用户代码在单个线程中执行顺序操作时,却引入了类似问题。
- 在解析使用 Bean 和/或静态字段的 EL 表达式中的方法时,确保在识别要调用的方法时考虑任何自定义类型转换。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-03-14 Tomcat 10.0.18 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.18 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 修复一个潜在的线程安全问题,该问题可能导致 HTTP/1.1 请求处理暂停,并可能超时,等待在收到完整请求后获取额外数据。
- 修复因 65757 Bug 修复引入的回归问题,该修复更好地识别了非请求线程,但当用户代码在单个线程中执行顺序操作时,却引入了类似问题。
- 在解析使用 Bean 和/或静态字段的 EL 表达式中的方法时,确保在识别要调用的方法时考虑任何自定义类型转换。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-03-17 Tomcat 8.5.77 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.77 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.76 相比,主要更改包括
- 修复一个潜在的线程安全问题,该问题可能导致 HTTP/1.1 请求处理暂停,并可能超时,等待在收到完整请求后获取额外数据。
- 修复因 65757 Bug 修复引入的回归问题,该修复更好地识别了非请求线程,但当用户代码在单个线程中执行顺序操作时,却引入了类似问题。
- 在解析使用 Bean 和/或静态字段的 EL 表达式中的方法时,确保在识别要调用的方法时考虑任何自定义类型转换。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-03-14 Tomcat 10.1.0-M12 (alpha) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M12 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 修复一个潜在的线程安全问题,该问题可能导致 HTTP/1.1 请求处理暂停,并可能超时,等待在收到完整请求后获取额外数据。
- 修复因 65757 Bug 修复引入的回归问题,该修复更好地识别了非请求线程,但当用户代码在单个线程中执行顺序操作时,却引入了类似问题。
- 在解析使用 Bean 和/或静态字段的 EL 表达式中的方法时,确保在识别要调用的方法时考虑任何自定义类型转换。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (alpha) 更新日志中查看。
2022-02-28 Tomcat 8.5.76 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.76 版本。此版本实现了 Java EE 7 平台中的规范。与 8.5.75 相比,主要更改包括
- 纠正了 65454 号修复中的回归问题,该问题导致当连接器使用内部执行器时,minSpareThreads 和 maxThreads 设置被忽略。
- 改进 Linux 重复接受 Bug 的检测,并减少(有望避免)误报实例。
- 回溯修复 BZ 65408,以重构套接字关闭操作,从而在应用程序重用对象时提高弹性。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。
2022-02-28 Tomcat 9.0.59 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.59 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.58 相比,主要更改包括
- 为 TomcatPrincipal 和 GenericPrincipal 添加对其他用户属性的支持
- 纠正了 65454 号修复中的回归问题,该问题导致当连接器使用内部执行器时,minSpareThreads 和 maxThreads 设置被忽略
- 改进 Linux 重复接受 Bug 的检测,并减少(有望避免)误报实例。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-02-28 Tomcat 10.0.17 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.17 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 为
TomcatPrincipal
和GenericPrincipal
添加对其他用户属性的支持。 - 纠正了对 65454 的修复中的回归问题,该问题导致当连接器使用内部执行器时,
minSpareThreads
和maxThreads
设置被忽略。 - 改进 Linux 重复接受 Bug 的检测,并减少(有望避免)误报实例。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-02-28 Tomcat 10.1.0-M11 (alpha) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M11 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 为
TomcatPrincipal
和GenericPrincipal
添加对其他用户属性的支持。 - 纠正了对 65454 的修复中的回归问题,该问题导致当连接器使用内部执行器时,
minSpareThreads
和maxThreads
设置被忽略。 - 改进 Linux 重复接受 Bug 的检测,并减少(有望避免)误报实例。
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (alpha) 更新日志中查看。
2022-01-20 Tomcat 9.0.58 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.58 版本。此版本实现了 Java EE 8 平台中的规范。与 9.0.56 相比,主要更改包括
- 在输入和输出流的 isReady 中添加回收检查,以在门面被回收时尝试提供更具信息性的 ISE。
- 实现对请求包含正文时的 HTTP/1.1 升级支持。正文的最大允许大小由 maxSavePostSize 控制。
- 改进了各种情况下,一个请求/响应处理线程尝试管理不同请求/响应的异步 I/O 的处理方式。
这些更改以及所有其他更改的完整详细信息可在Tomcat 9 更新日志中查看。
2022-01-20 Tomcat 10.0.16 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.16 版本。此版本实现了 Jakarta EE 9 平台中的规范。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 在输入和输出流的 isReady 中添加回收检查,以在门面被回收时尝试提供更具信息性的 ISE。
- 实现对请求包含正文时的 HTTP/1.1 升级支持。正文的最大允许大小由 maxSavePostSize 控制。
- 改进了各种情况下,一个请求/响应处理线程尝试管理不同请求/响应的异步 I/O 的处理方式
这些更改以及所有其他更改的完整详细信息可在Tomcat 10 更新日志中查看。
2022-01-20 Tomcat 10.1.0-M10 (alpha) 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M10 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。
在 Tomcat 9 及更早版本上运行的应用程序在 Tomcat 10 上将无法运行,除非进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee
目录中,Tomcat 将自动将其转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用Apache Tomcat Jakarta EE 迁移工具执行的,该工具也可作为单独的下载用于离线使用。
此版本的主要更改包括
- 在输入和输出流的 isReady 中添加回收检查,以在门面被回收时尝试提供更具信息性的 ISE。
- 实现对请求包含正文时的 HTTP/1.1 升级支持。正文的最大允许大小由 maxSavePostSize 控制。
- 改进了各种情况下,一个请求/响应处理线程尝试管理不同请求/响应的异步 I/O 的处理方式
这些更改以及所有其他更改的完整详细信息可在Tomcat 10.1 (alpha) 更新日志中查看。
2022-01-17 Tomcat 8.5.75 发布
Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.75 版本。此版本实现了 Java EE 7 平台中的规范。(请注意,8.5.74 未发布,因此上一个版本是 8.5.73。)与 8.5.73 相比,主要更改包括
- 提供针对已知操作系统 Bug 的保护,该 Bug 导致接受器多次报告传入连接。
- 为 JVM 中的一个 Bug 实现了一个变通方案,该 Bug 在使用多部分上传且应用程序未明确关闭缓存到磁盘的上传文件输入流时,可能触发文件描述符泄漏。
- 修复使用 APR 连接器时 JVM 几次潜在的崩溃。
- 添加对请求包含正文时的 HTTP/1.1 升级支持。正文的最大允许大小由
maxSavePostSize
控制。 - 改进了各种情况下,一个请求/响应处理线程尝试管理不同请求/响应的异步 I/O 的处理方式。
这些更改以及所有其他更改的完整详细信息可在Tomcat 8 更新日志中查看。