内容

旧闻

2021-12-08 Tomcat 10.0.14 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.14 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 针对已知操作系统错误提供保护,该错误导致接收器多次报告传入连接。
  • 为 JVM 错误实施了一个变通方案,该错误在使用多部分上传且应用程序未明确关闭缓存到磁盘的上传文件的输入流时,可能导致文件描述符泄漏。
  • 修复了在启用安全管理器且启动后收到的第一个请求是对启用 TLS 的 NIO2 连接器的 HTTP 请求时发生的异常。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-12-08 Tomcat 10.1.0-M8 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M8 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 限制 Cookie 支持为 RFC 6265,以与 Servlet 规范的最新更新保持一致。
  • 更新 WebSocket API 打包,从服务器 API 中移除客户端 API 的副本,并替换为对客户端 API 的依赖。这使得 Tomcat 与 WebSocket 2.1 规范中的更改保持一致。
  • 针对已知操作系统错误提供保护,该错误导致接收器多次报告传入连接。

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-12-08 Tomcat 9.0.56 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.56 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.55 相比,显著的变化包括

  • 针对已知操作系统错误提供保护,该错误导致接收器多次报告传入连接。
  • 为 JVM 错误实施了一个变通方案,该错误在使用多部分上传且应用程序未明确关闭缓存到磁盘的上传文件的输入流时,可能导致文件描述符泄漏。
  • 修复了在启用安全管理器且启动后收到的第一个请求是对启用 TLS 的 NIO2 连接器的 HTTP 请求时发生的异常。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-11-17 Tomcat 8.5.73 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.73 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.72 相比,显著的变化包括

  • 改进了 native/APR,包括避免在 APR 未能正确初始化时 JVM 崩溃,并改进了错误处理。
  • 提高了 JNDIRealm 在获取连接时发生异常的健壮性。

这些变化以及所有其他变化的完整细节可在 Tomcat 8 变更日志 中找到。

下载

2021-11-15 Tomcat 9.0.55 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.55 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.54 相比,显著的变化包括

  • 通过 Java 17 中孵化的 Panama API 提供实验性 OpenSSL 支持,支持 OpenSSL 1.1+。
  • 添加了对 Web 应用程序资源自定义缓存策略的支持。此初始实现允许控制资源是否被缓存。
  • 提高了 JNDIRealm 在获取连接时发生异常的健壮性。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-11-15 Tomcat 10.0.13 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.13 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 通过 Java 17 中孵化的 Panama API 提供实验性 OpenSSL 支持,支持 OpenSSL 1.1+
  • 添加了对 Web 应用程序资源自定义缓存策略的支持。此初始实现允许控制资源是否被缓存。
  • 提高了 JNDIRealm 在获取连接时发生异常的健壮性。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-11-15 Tomcat 10.1.0-M7 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M7 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • Servlet 6 的 Servlet API 更新,包括重构 HttpServlet.doHead()、支持 Cookie 的通用属性、更一致的 URI 处理(包括拒绝“可疑”URI 的选项)
  • EL 5.0 的 EL API 更新,包括 ELResolver.getType() 的更改
  • 通过 Java 17 中孵化的 Panama API 提供实验性 OpenSSL 支持,支持 OpenSSL 1.1+

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-10-06 Tomcat 8.5.72 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.72 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.71 相比,显著的变化包括

  • 进一步提高了 HTTP/2 流量控制窗口管理的健壮性
  • 修复了导致某些 Servlet 非阻塞 API 读取 HTTP 请求体时错误地使用阻塞 IO 的问题

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-10-01 Tomcat 9.0.54 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.54 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.53 相比,显著的变化包括

  • 进一步提高了 HTTP/2 流量控制窗口管理的健壮性
  • 改进了 DataSourceUserDatabase
  • 修复了导致某些 Servlet 非阻塞 API 读取 HTTP 请求体时错误地使用阻塞 IO 的问题

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-10-01 Tomcat 10.0.12 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.12 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 进一步提高了 HTTP/2 流量控制窗口管理的健壮性。
  • 改进了 DataSourceUserDatabase。
  • 修复了导致某些 Servlet 非阻塞 API 读取 HTTP 请求体时错误地使用阻塞 IO 的问题。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-10-01 Tomcat 10.1.0-M6 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M6 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • Servlet 6 的 Servlet API 更新,包括移除所有已弃用代码、更新架构以及用于连接和请求 ID 的新 API。
  • EL 5.0 的 EL API 更新,包括弃用 FeatureDescriptor 的使用、改进 BeanELResolver 以及添加 MethodReference。
  • 进一步提高了 HTTP/2 流量控制窗口管理的健壮性

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-09-13 Tomcat 8.5.71 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.71 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.70 相比,显著的变化包括

  • 将 Apache Commons DBCP 的内部分支更新到 2.9.0,Apache Commons Pool 到 2.9.1,Apache Commons FileUpload 到 2.0,以及 Apache Commons Codec 到 1.16。
  • 将打包的 Tomcat Native Library 版本更新到 1.2.31,以获取使用 OpenSSL 1.1.1l 构建的 Windows 二进制文件。
  • 修正了 Content-Range 头的解析

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-09-10 Tomcat 9.0.53 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.53 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.52 相比,显著的变化包括

  • 添加了一个 UserDatabase 实现,作为 DataSourceRealm 功能的超集
  • 将 Apache Commons DBCP 的内部分支更新到 2.9.0,Apache Commons Pool 到 2.11.1
  • 将打包的 Tomcat Native Library 版本更新到 1.2.31,以获取使用 OpenSSL 1.1.1l 构建的 Windows 二进制文件

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-09-10 Tomcat 10.0.11 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.11 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 添加了一个 UserDatabase 实现,作为 DataSourceRealm 功能的超集。
  • 将 Apache Commons DBCP 的内部分支更新到 2.9.0,Apache Commons Pool 到 2.11.1
  • 将打包的 Tomcat Native Library 版本更新到 1.2.31,以获取使用 OpenSSL 1.1.1l 构建的 Windows 二进制文件。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-09-10 Tomcat 10.1.0-M5 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M5 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 移除了已弃用的 APR/Native 连接器,其中包括 HTTP APR 和 AJP APR 连接器。同时移除了 OpenSSL 集成用于 NIO 和 NIO2 连接器时未使用的 APR/Native 库的 Java 接口。
  • 添加了一个 UserDatabase 实现,作为 DataSourceRealm 功能的超集。
  • 将 Apache Commons DBCP 的内部分支更新到 2.9.0,Apache Commons Pool 到 2.11.1

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-09-01 Tomcat Native 1.2.31 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.31 版本。自 1.2.30 以来的显著变化包括

  • 使用 OpenSSL 1.1.1l 构建的 Windows 二进制文件。
  • 修正了使用 OpenSSL 3.0.0 构建时的问题。

下载 | 1.2.31 的变更日志

2021-08-16 Tomcat 8.5.70 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.70 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.70 相比,显著的变化包括

  • 修正了上一版本中 HTTP/2 流量控制窗口管理的一个回归,并对 HTTP/2 流量控制进行了额外改进
  • 使 CorsFilter 更易于扩展
  • 为避免不必要的缓存重新验证,在设置 CacheControl: private HTTP 头时,不要添加 HTTP Expires 头

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-08-06 Tomcat 9.0.52 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.52 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.50 相比,显著的变化包括

  • 修正了上一版本中 HTTP/2 流量控制窗口管理的一个回归
  • 修正了一个可能导致在使用 NIO 时某些 TLS 连接挂起的回归
  • 使用 GraalVM 本机镜像不再自动禁用 JMX 支持

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-08-06 Tomcat 10.1.0-M4 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M4 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 最低 Java 版本已提高到 Java 11,以与 Jakarta EE 10 平台的计划保持一致
  • 修正了上一版本中 HTTP/2 流量控制窗口管理的一个回归
  • 使 EL lambda 表达式能够强制转换为函数式接口。这是 Jakarta Expression Language 规范的一个提议扩展的实现。

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-08-05 Tomcat 10.0.10 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.10 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 修正了上一版本中 HTTP/2 流量控制窗口管理的一个回归
  • 修正了一个可能导致在使用 NIO 时某些 TLS 连接挂起的回归
  • 使用 GraalVM 本机镜像不再自动禁用 JMX 支持。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-07-05 Tomcat 8.5.69 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.69 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.68 相比,显著的变化包括

  • 重新设计 HTTP/2 开销保护,以减少误报的可能性。请注意,默认的 overheadCountFactor 已从 1 更改为 10,并且现在有效范围是 0 到约 20。
  • 修复了上一版本中 JSP 编译的回归。
  • 改进了 HTTP 头解析,以根据 RFC 7230 第 7 节忽略 1#token 值中的空元素。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-07-02 Tomcat 9.0.50 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.50 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.48 相比,显著的变化包括

  • 重新设计 HTTP/2 开销保护,以减少误报的可能性。请注意,默认的 overheadCountFactor 已从 1 更改为 10,并且现在有效范围是 0 到约 20。
  • 更新到 Eclipse JDT 编译器 4.20。
  • 修复了上一版本中 JSP 编译的回归。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-07-02 Tomcat 10.0.8 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.8 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 重新设计 HTTP/2 开销保护,以减少误报的可能性。请注意,默认的 overheadCountFactor 已从 1 更改为 10,并且现在有效范围是 0 到约 20。
  • 更新到 Eclipse JDT 编译器 4.20。
  • 修复了上一版本中 JSP 编译的回归。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-07-02 Tomcat 10.1.0-M2 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M2 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 重新设计 HTTP/2 开销保护,以减少误报的可能性。请注意,默认的 overheadCountFactor 已从 1 更改为 10,并且现在有效范围是 0 到约 20。
  • 更新到 Eclipse JDT 编译器 4.20。
  • 修复了上一版本中 JSP 编译的回归。

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-06-15 Tomcat 8.5.68 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.68 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.66 相比,显著的变化包括

  • 提高 HTTP/2 HPACK 解码的健壮性
  • 改进了 Transfer-Encoding 头的处理
  • 审查用于从 JSP 和标签生成 Java 源代码的代码,并移除发现不必要的代码。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-06-15 Tomcat 9.0.48 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.48 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.48 相比,显著的变化包括

  • 提高 HTTP/2 HPACK 解码的健壮性。
  • 改进了 Transfer-Encoding 头的处理。
  • 审查用于从 JSP 和标签生成 Java 源代码的代码,并移除发现不必要的代码。
  • 将 Tomcat 10.0 中更新的阻塞 NIO 代码和优化反向移植。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-06-15 Tomcat 10.0.7 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.7 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 提高 HTTP/2 HPACK 解码的健壮性
  • 改进了 Transfer-Encoding 头的处理
  • 审查用于从 JSP 和标签生成 Java 源代码的代码,并移除发现不必要的代码。
    警告:请测试您所有的 JSP 页面是否成功编译。此更改已知会导致回归,将在下个版本中修复。请参阅错误 6538765390

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-06-15 Tomcat 10.1.0-M1 (alpha) 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.1.0-M1 版本。此版本是一个里程碑版本,面向 Jakarta EE 10。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 移除先前在 10.1.x 中标记为移除的代码(但不包括 APR/Native 连接器)。APR/Native 连接器几乎肯定会在未来的里程碑版本中被移除。
  • 使 Servlet API 实现与当前的 Servlet API 开发分支保持一致。
  • 使 EL API 实现与当前的 EL API 开发分支保持一致。

这些变化以及所有其他变化的完整细节可在 Tomcat 10.1 (alpha) 变更日志 中找到。

下载

2021-06-04 Tomcat Native 1.2.30 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.30 版本。自 1.2.28 以来的显著变化包括

  • 修复了在某些配置中,一些 Windows 系统在双栈系统上即使配置为同时监听 IPv6 和 IPv4 地址,却只监听 IPv6 地址的问题。
  • 对错误 65181 的额外修复(支持加载专有格式的私钥)。

下载 | 1.2.30 的变更日志

2021-05-12 Tomcat 9.0.46 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.46 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.45 相比,显著的变化包括

  • 确保 JNDIRealm 中属性值和搜索过滤器的正确转义。
  • HandlesTypes 应包括在字段或方法上使用指定注解类型的类。
  • 重构 WebSocket 端点、解码器和编码器实例的创建,使其更符合 IoC 友好性。现在尽可能通过 InstanceManager 创建实例。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2021-05-12 Tomcat 10.0.6 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.6 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 确保 JNDIRealm 中属性值和搜索过滤器的正确转义。
  • HandlesTypes 应包括在字段或方法上使用指定注解类型的类。
  • 重构 WebSocket 端点、解码器和编码器实例的创建,使其更符合 IoC 友好性。现在尽可能通过 InstanceManager 创建实例。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-05-12 Tomcat 8.5.66 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.66 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.65 相比,显著的变化包括

  • 确保 JNDIRealm 中属性值和搜索过滤器的正确转义。
  • HandlesTypes 应包括在字段或方法上使用指定注解类型的类。
  • 重构 WebSocket 端点、解码器和编码器实例的创建,使其更符合 IoC 友好性。现在尽可能通过 InstanceManager 创建实例。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-05-07 Tomcat Jakarta EE 迁移工具 1.0.0 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 1.0.0 版本。与 0.2.0 版本相比,此版本包含多项错误修复和改进。

此版本的显著变化包括

  • 进一步修复,以在迁移中排除不属于 Java EE 的 javax.xml 包。
  • 类转换器现在验证 Jakarta 命名空间中的目标类是否存在于运行时环境中。

这些变化以及所有其他变化的完整细节可在 变更日志 中找到。

下载

2021-04-06 Tomcat 10.0.5 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.5 版本。此版本实现了 Jakarta EE 9 平台的一部分规范。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的基于 Java EE 的应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 修复了 10.0.4 中的一个回归,该回归意味着异步读取期间的错误会中断与同一请求实例关联的所有未来异步读取。
  • 防止并发调用 ServletInputStream.isReady() 破坏输入缓冲区。
  • 将打包的 Tomcat Native 版本更新到 1.2.27,以获取使用 OpenSSL 1.1.1k 构建的二进制文件。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-04-06 Tomcat 9.0.45 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.45 版本。此版本实现了 Java EE 8 平台的一部分规范。与 9.0.44 相比,显著的变化包括

  • 修复了 9.0.44 中的一个回归,该回归意味着异步读取期间的错误会中断与同一请求实例关联的所有未来异步读取。
  • 防止并发调用 ServletInputStream.isReady() 破坏输入缓冲区。
  • 将打包的 Tomcat Native 版本更新到 1.2.27,以获取使用 OpenSSL 1.1.1k 构建的二进制文件。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2020-04-06 Tomcat 8.5.65 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.65 版本。此版本实现了 Java EE 7 平台的一部分规范。与 8.5.64 相比,显著的变化包括

  • 修复了 8.5.64 中的一个回归,该回归意味着异步读取期间的错误会中断与同一请求实例关联的所有未来异步读取。
  • 防止并发调用 ServletInputStream.isReady() 破坏输入缓冲区。
  • 将打包的 Tomcat Native 版本更新到 1.2.27,以获取使用 OpenSSL 1.1.1k 构建的二进制文件。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-04-06 Tomcat Native 1.2.28 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.28 版本。自 1.2.27 以来的显著变化包括

  • 修正了针对 65181 修复中的一个回归,该回归阻止了在提供无效密钥文件且未配置 OpenSSL 引擎时显示错误消息。

下载 | 1.2.28 的变更日志

2021-03-29 Tomcat Native 1.2.27 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 1.2.27 版本。自 1.2.26 以来的显著变化包括

  • 使用 OpenSSL 1.1.1k 构建的 Windows 二进制文件
  • 改进了对使用专有密钥格式的 OpenSSL 引擎的支持。补丁由 Edin Hodzic 提供。(错误 65181

下载 | 1.2.26 的变更日志

2021-03-10 Tomcat 10.0.4 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.4 版本。此版本面向 Jakarta EE 9。

在 Tomcat 9 及更早版本上运行的应用程序,在 Tomcat 10 上运行时需要进行更改。为 Tomcat 9 及更早版本设计的 Java EE 应用程序可以放置在 $CATALINA_BASE/webapps-javaee 目录下,Tomcat 将自动把它们转换为 Jakarta EE 并复制到 webapps 目录。此转换是使用 Apache Tomcat Jakarta EE 迁移工具 完成的,该工具也可作为单独的 下载 用于离线使用。

此版本的显著变化包括

  • 通过 webapps-javaee 目录集成 Apache Tomcat Jakarta EE 迁移工具
  • 改进了异步和非阻塞 IO 错误处理
  • 为 APR/Native 连接器添加了 Unix 域套接字支持

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-03-10 Tomcat 9.0.44 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.44 版本。与 9.0.43 相比,显著的变化包括

  • 改进了异步和非阻塞 IO 错误处理
  • 改进了 OpenSSL 错误处理
  • 将 ServletResponse 方法 setCharacterEncoding()、setContentType() 和 setLocale() 在传递 null 时的行为与 Jakarta Servlet 项目最近对这些情况的预期行为的澄清保持一致。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2020-03-10 Tomcat 8.5.64 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.64 版本。Apache Tomcat 8.5.x 取代了 8.0.x,并包含了从 Tomcat 9.0.x 中引入的新功能。最低 Java 版本和实现的规范版本保持不变。与 8.5.63 相比,显著的变化包括

  • 改进了异步和非阻塞 IO 错误处理
  • 改进了 OpenSSL 错误处理
  • 将 ServletResponse 方法 setCharacterEncoding()、setContentType() 和 setLocale() 在传递 null 时的行为与 Jakarta Servlet 项目最近对这些情况的预期行为的澄清保持一致。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载

2021-02-18 Tomcat Jakarta EE 迁移工具 0.2.0 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Jakarta EE 迁移工具 0.2.0 版本。与 0.1.0 版本相比,此版本包含多项错误修复和改进。

此版本的显著变化包括

  • 对已转换和未转换的包进行了各种修复
  • 新增一个选项,可在内存中处理 zip 归档,以支持使用与流式处理不兼容的选项的 zip 文件
  • 新增一个选项,可将文件排除在转换之外

这些变化以及所有其他变化的完整细节可在 变更日志 中找到。

下载

2021-02-05 Tomcat 7.0.108 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 7.0.108 版本。此版本实现了 Java EE 6 平台的一部分规范。与 7.0.107 版本相比,此版本包含多项错误修复和改进。

  • 修复了当 WebSocket 连接尝试失败时可能的文件描述符泄漏问题。补丁由 Maurizio Adami 提供。

这些变化以及所有其他变化的完整细节可在 Tomcat 7 变更日志 中找到。

注意: Apache Tomcat 7.0.x 的生命周期结束日期已公布。 阅读更多...

下载

2021-02-02 Tomcat 10.0.2 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 10.0.2 版本。此版本是 10.0.x 系列的第一个稳定版本,面向 Jakarta EE 9。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 转移到 Eclipse 基金会并转换为 Jakarta EE,所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要修改代码,以使应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个 迁移工具 正在开发中,以帮助此过程。

此版本的显著变化包括

  • 在 Java 16 或更高版本上运行时,添加了对 NIO 使用 Unix 域套接字的支持。
  • 添加了一个新的 StringInterpreter 接口,允许应用程序在 JSP 中提供自定义的字符串属性值到类型转换。这使得应用程序能够提供针对应用程序优化的转换实现。
  • 向 coyote 请求添加了 peerAddress,其中包含直接连接对等体的 IP 地址。如果 Tomcat 前面有一个反向代理并使用了 RemoteIp(Valve|Filter),则 peerAddress 可能与 remoteAddress 不同。remoteAddress 可能包含反向代理前面客户端的地址,而不是代理本身的地址。

这些变化以及所有其他变化的完整细节可在 Tomcat 10 变更日志 中找到。

下载

2021-02-02 Tomcat 9.0.43 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 9.0.43 版本。与 9.0.41 相比,显著的变化包括

  • 在 Java 16 或更高版本上运行时,添加了对 NIO 使用 Unix 域套接字的支持。
  • 添加了一个新的 StringInterpreter 接口,允许应用程序在 JSP 中提供自定义的字符串属性值到类型转换。这使得应用程序能够提供针对应用程序优化的转换实现。
  • 向 coyote 请求添加了 peerAddress,其中包含直接连接对等体的 IP 地址。如果 Tomcat 前面有一个反向代理并使用了 RemoteIp(Valve|Filter),则 peerAddress 可能与 remoteAddress 不同。remoteAddress 可能包含反向代理前面客户端的地址,而不是代理本身的地址。

这些变化以及所有其他变化的完整细节可在 Tomcat 9 变更日志 中找到。

下载

2020-02-03 Tomcat 8.5.63 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 8.5.63 版本。Apache Tomcat 8.5.x 取代了 8.0.x,并包含了从 Tomcat 9.0.x 中引入的新功能。最低 Java 版本和实现的规范版本保持不变。与 8.5.61 相比,显著的变化包括

  • 添加了一个新的 StringInterpreter 接口,允许应用程序在 JSP 中提供自定义的字符串属性值到类型转换。这使得应用程序能够提供针对应用程序优化的转换实现。
  • 向 coyote 请求添加了 peerAddress,其中包含直接连接对等体的 IP 地址。如果 Tomcat 前面有一个反向代理并使用了 RemoteIp(Valve|Filter),则 peerAddress 可能与 remoteAddress 不同。remoteAddress 可能包含反向代理前面客户端的地址,而不是代理本身的地址。
  • 转义访问日志中需要转义的元素,以便访问日志能够清晰地解析。

这些变化以及所有其他变化的完整细节可在 Tomcat 8.5 变更日志 中找到。

下载