内容

旧新闻

2023-12-12 Tomcat 9.0.84 发布

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

  • 容器的后台进程在该容器的生命周期操作进行时不再执行。
  • 纠正了某些 WebDAV 响应中 XML 的意外转义问题。
  • 如果在 HTTP 请求处理期间发生读取超时,则使用 408 状态码,而不是 HTTP 400 状态码。

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

下载

2023-12-12 Tomcat 11.0.0-M15 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M15(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 容器的后台进程在该容器的生命周期操作进行时不再执行。
  • 与 Servlet 6.1 规范的最新增补和更改保持一致。
  • 更新文档中包含的 sample.war,以使用 Jakarta EE API。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

下载

2023-12-12 Tomcat 8.5.97 发布

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

  • 容器的后台进程在该容器的生命周期操作进行时不再执行。
  • 纠正了某些 WebDAV 响应中 XML 的意外转义问题。
  • 如果在 HTTP 请求处理期间发生读取超时,则使用 408 状态码,而不是 HTTP 400 状态码。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-12-12 Tomcat 10.1.17 发布

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

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

此版本的显著变化包括

  • 容器的后台进程在该容器的生命周期操作进行时不再执行。
  • 纠正了某些 WebDAV 响应中 XML 的意外转义问题。
  • 如果在 HTTP 请求处理期间发生读取超时,则使用 408 状态码,而不是 HTTP 400 状态码。

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-11-15 Tomcat 9.0.83 发布

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

  • 修复了重新加载 TLS 配置可能导致连接器拒绝新连接或 JVM 崩溃的问题。
  • 确保在读取请求期间发生的 IOException 总是触发错误处理,无论应用程序是否吞噬该异常。

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

下载

2023-11-14 Tomcat 10.1.16 发布

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

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

此版本的显著变化包括

  • 修复了重新加载 TLS 配置可能导致连接器拒绝新连接或 JVM 崩溃的问题。
  • 确保在读取请求期间发生的 IOException 总是触发错误处理,无论应用程序是否吞噬该异常。

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-11-13 Tomcat 8.5.96 发布

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

  • 修复了重新加载 TLS 配置可能导致连接器拒绝新连接或 JVM 崩溃的问题。
  • 确保在读取请求期间发生的 IOException 总是触发错误处理,无论应用程序是否吞噬该异常。
  • 状态管理器 servlet 现在可以将统计信息输出为 JSON 格式。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-11-15 Tomcat 11.0.0-M14 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M14(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 添加使用 FFM API 而非 Tomcat Native 的 OpenSSL 集成。在使用 Java 22 或更高版本时,可以通过在 Server 元素上添加 org.apache.catalina.core.OpenSSLLifecycleListener 监听器来启用 OpenSSL 支持。
  • 修复了重新加载 TLS 配置可能导致连接器拒绝新连接或 JVM 崩溃的问题。
  • 确保在读取请求期间发生的 IOException 总是触发错误处理,无论应用程序是否吞噬该异常。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-13 Tomcat 9.0.82 发布

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

  • 纠正了 9.0.81 中破坏 Tomcat JBDC 连接池的回归问题。
  • 纠正了 9.0.81 中破坏 HTTP 压缩的回归问题。

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

下载

2023-10-10 Tomcat 9.0.81 发布

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

  • 将 Tomcat Native 更新至 1.2.39,以包含使用 OpenSSL 3.0.11 构建的 Windows 二进制文件。
  • 提供一个生命周期监听器,它将在证书到期前固定时间自动重新加载 TLS 配置。此功能旨在与定期更新 TLS 证书的第三方工具配合使用。
  • 提高使用隐式对象的 JSP 中 EL 表达式的性能。
  • 对线程安全和回收清理进行了多项改进。

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

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-16 Tomcat 10.1.15 发布

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

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

此版本的显著变化包括

  • 纠正了 10.1.14 中破坏 Tomcat JBDC 连接池的回归问题
  • 纠正了 10.1.14 中破坏 HTTP 压缩的回归问题

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-10-16 Tomcat 8.5.95 发布

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

  • 纠正了 8.5.94 中破坏 Tomcat JBDC 连接池的回归问题
  • 纠正了 8.5.94 中破坏 HTTP 压缩的回归问题

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-10-14 Tomcat 11.0.0-M13 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M13(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 纠正了 11.0.0-M12 中破坏 Tomcat JBDC 连接池的回归问题。
  • 纠正了 11.0.0-M12 中破坏 HTTP 压缩的回归问题。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-10 Tomcat 10.1.14 发布

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

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

此版本的显著变化包括

  • 将 Tomcat Native 更新至 1.2.39,以包含使用 OpenSSL 3.0.11 构建的 Windows 二进制文件。
  • 提供一个生命周期监听器,它将在证书到期前固定时间自动重新加载 TLS 配置。此功能旨在与定期更新 TLS 证书的第三方工具配合使用。
  • 提高使用隐式对象的 JSP 中 EL 表达式的性能。
  • 对线程安全和回收清理进行了多项改进。

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-10 Tomcat 8.5.94 发布

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

  • 将 Tomcat Native 更新至 1.2.39,以包含使用 OpenSSL 3.0.11 构建的 Windows 二进制文件。
  • 提供一个生命周期监听器,它将在证书到期前固定时间自动重新加载 TLS 配置。此功能旨在与定期更新 TLS 证书的第三方工具配合使用。
  • 提高使用隐式对象的 JSP 中 EL 表达式的性能。
  • 对线程安全和回收清理进行了多项改进。

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

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-10-10 Tomcat 9.0.81 发布

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

  • 将 Tomcat Native 更新至 1.2.39,以包含使用 OpenSSL 3.0.11 构建的 Windows 二进制文件。
  • 提供一个生命周期监听器,它将在证书到期前固定时间自动重新加载 TLS 配置。此功能旨在与定期更新 TLS 证书的第三方工具配合使用。
  • 提高使用隐式对象的 JSP 中 EL 表达式的性能。
  • 对线程安全和回收清理进行了多项改进。

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

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-10 Tomcat 11.0.0-M12 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M12(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 提供一个生命周期监听器,它将在证书到期前固定时间自动重新加载 TLS 配置。此功能旨在与定期更新 TLS 证书的第三方工具配合使用。
  • 移除对 HTTP/2 服务器推送的支持。
  • 将 Tomcat Native 更新至 2.0.6,以包含使用 OpenSSL 3.0.11 构建的 Windows 二进制文件。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

注意:存在已知回归问题:与 jdbc-pool 相关(参见 bug 67664),以及在启用 compression 时的连接器配置问题(参见 bug 67670)。这些问题将在下个版本中修复。

下载

2023-10-02 Tomcat Native 2.0.6 发布

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

  • 如果使用了不安全的 optionalNoCA 证书验证选项,则禁用 OCSP
  • 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.11 构建

下载 | 2.0.6 的变更日志

2023-09-12 Tomcat Connectors 1.2.49 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat Connectors 1.2.49 版本。此版本修复了先前版本中发现的多个错误。

下载 | 1.2.49 的变更日志

2023-08-25 Tomcat 10.1.13 发布

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

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

此版本的显著变化包括

  • 如果应用程序或库同时设置了非 500 错误代码和 jakarta.servlet.error.exception 请求属性,则在错误页面处理期间使用提供的错误代码,而不是假定错误代码为 500。
  • 修复 FORM 认证开放重定向问题 - CVE-2023-41080

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-08-25 Tomcat 9.0.80 发布

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

  • 如果应用程序或库同时设置了非 500 错误代码和 jakarta.servlet.error.exception 请求属性,则在错误页面处理期间使用提供的错误代码,而不是假定错误代码为 500。
  • 修复 FORM 认证开放重定向问题 - CVE-2023-41080

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

下载

2023-08-25 Tomcat 11.0.0-M11 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M11(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 更新 HTTP 参数处理,以与 Jakarta Servlet 6.1 API Javadoc 中用于获取请求参数的 ServletRequest 方法的更改保持一致。现在,无效参数、超出参数大小限制和/或超出数量限制都会触发异常。因此,FailedRequestFilter 已被移除。
  • 如果应用程序或库同时设置了非 500 错误代码和 jakarta.servlet.error.exception 请求属性,则在错误页面处理期间使用提供的错误代码,而不是假定错误代码为 500。
  • 修复 FORM 认证开放重定向问题 - CVE-2023-41080

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

下载

2023-08-25 Tomcat 8.5.93 发布

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

  • 如果应用程序或库同时设置了非 500 错误代码和 jakarta.servlet.error.exception 请求属性,则在错误页面处理期间使用提供的错误代码,而不是假定错误代码为 500。
  • 修复 FORM 认证开放重定向问题 - CVE-2023-41080

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-08-15 Tomcat 9.0.79 发布

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

  • 重构 HTTP/2 实现,以在使用虚拟线程时减少固定。
  • 传递引用 OpenSSL 配置文件的密码,例如 PROFILE=SYSTEM,而不是在尝试解析时产生错误。
  • 将 Tomcat Native 更新至 2.0.5。

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

下载

2023-08-14 Tomcat 10.1.12 发布

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

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

此版本的显著变化包括

  • 重构 HTTP/2 实现,以在使用虚拟线程时减少固定。
  • 传递引用 OpenSSL 配置文件的密码,例如 PROFILE=SYSTEM,而不是在尝试解析时产生错误。
  • 将 Tomcat Native 更新至 2.0.5。

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-08-14 Tomcat 8.5.92 发布

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

  • 重构 HTTP/2 实现,以在使用虚拟线程时减少固定。
  • 修复了在使用 permessage-deflate 启用压缩时刷新批量 WebSocket 消息时出现 NullPointerException 的问题。
  • 将 Tomcat Native 更新至 1.2.38,以包含使用 OpenSSL 1.1.1v 构建的 Windows 二进制文件

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-08-14 Tomcat 11.0.0-M10 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M10(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 重构 HTTP/2 实现,以在使用虚拟线程时减少固定。
  • 传递引用 OpenSSL 配置文件的密码,例如 PROFILE=SYSTEM,而不是在尝试解析时产生错误。
  • 将 Tomcat Native 更新至 2.0.5。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

下载

2023-08-07 Tomcat Native 2.0.5 发布

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

  • 将默认密码短语提示与 HTTPd 对齐
  • 更新 autotools 及相关修复
  • 修复 SNI 处理中的内存泄漏
  • 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.10 构建

下载 | 2.0.5 的变更日志

2023-08-07 Tomcat Native 1.2.38 发布

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

  • 将默认密码短语提示与 HTTPd 对齐
  • 修复 SNI 处理中的内存泄漏
  • 使用 OpenSSL 1.1.1v 构建的 Windows 二进制文件。

下载 | 1.2.38 的变更日志

2023-07-10 Tomcat 9.0.78 发布

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

  • 添加 ContextNamingInfoListener,这是一个创建上下文命名信息环境条目的监听器。
  • 添加 PropertiesRoleMappingListener,这是一个从属性文件填充上下文角色映射的监听器。

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

下载

2023-07-10 Tomcat 10.1.11 发布

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

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

此版本的显著变化包括

  • 添加 ContextNamingInfoListener,这是一个创建上下文命名信息环境条目的监听器。
  • 添加 PropertiesRoleMappingListener,这是一个从属性文件填充上下文角色映射的监听器。

这些以及所有其他更改的完整详细信息可在Tomcat 10.1 变更日志中找到。

下载

2023-07-10 Tomcat 8.5.91 发布

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

  • 添加 ContextNamingInfoListener,这是一个创建上下文命名信息环境条目的监听器。
  • 添加 PropertiesRoleMappingListener,这是一个从属性文件填充上下文角色映射的监听器。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-07-10 Tomcat 11.0.0-M9 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 11.0.0-M9(alpha)版本。此版本是一个里程碑版本,面向 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 添加 ContextNamingInfoListener,这是一个创建上下文命名信息环境条目的监听器。
  • 添加 PropertiesRoleMappingListener,这是一个从属性文件填充上下文角色映射的监听器。
  • 更新 Jakarta EL 和 Jakarta WebSocket 实现,以与 Jakarta EE 11 计划的最新更改保持一致。

这些以及所有其他更改的完整详细信息可在Tomcat 11 (alpha) 变更日志中找到。

下载

2023-06-12 Tomcat 10.1.10 发布

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

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

此版本的显著变化包括

  • 添加对虚拟线程的支持。(仅限 Java 21+)
  • 更新 HTTP/2 以使用 RFC-9218 优先级方案。
  • 弃用 HttpHeaderSecurityFilter 中的 xssProtectionEnabled,并将其默认值设置为 false。
  • 将 Tomcat Native 更新到 2.0.4,其中包含使用 OpenSSL 3.0.9 构建的 Windows 二进制文件。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载

2023-06-12 Tomcat 8.5.90 发布

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

  • 添加对虚拟线程的支持。(仅限 Java 21+)
  • 更新 HTTP/2 以使用 RFC-9218 优先级方案。
  • 弃用 HttpHeaderSecurityFilter 中的 xssProtectionEnabled,并将其默认值设置为 false。
  • 将 Tomcat Native 更新到 1.2.37,其中包含使用 OpenSSL 1.1.1u 构建的 Windows 二进制文件。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-06-09 Tomcat 9.0.76 发布

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

  • 添加对虚拟线程的支持。(仅限 Java 21+)
  • 更新 HTTP/2 以使用 RFC-9218 优先级方案。
  • 弃用 HttpHeaderSecurityFilter 中的 xssProtectionEnabled,并将其默认值设置为 false。
  • 将 Tomcat Native 更新到 2.0.4,其中包含使用 OpenSSL 3.0.9 构建的 Windows 二进制文件。

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

下载

2023-06-08 Tomcat 11.0.0-M7 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 11.0.0-M7 (alpha) 版本。此版本是一个里程碑版本,目标是 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 最低 Java 版本已提升至 Java 21。
  • 增加对虚拟线程的支持。
  • 增加 RateLimitFilter,可用于缓解 DoS 和暴力破解攻击。
  • 将 Tomcat Native 更新到 2.0.4,其中包含使用 OpenSSL 3.0.9 构建的 Windows 二进制文件。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 11 (alpha) 变更日志中找到。

下载

2023-06-02 Tomcat Native 2.0.4 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 的 2.0.4 版本。与 2.0.3 相比的显著变化包括

  • 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.9 构建。

下载 | 2.0.4 的变更日志

2023-06-02 Tomcat Native 1.2.37 发布

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

  • 使用 OpenSSL 1.1.1u 构建的 Windows 二进制文件。

下载 | 1.2.37 的变更日志

2023-05-19 Tomcat 10.1.9 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 10.1.9 版本。此版本实现了 Jakarta EE 10 平台中的规范。

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

此版本的显著变化包括

  • 对 JSON 访问日志阀进行了多项改进。
  • 弃用对 HTTP 连接器设置 rejectIllegalHeader 和 allowHostHeaderMismatch 的支持,并拒绝没有名称的 HTTP 头。
  • 增加 RateLimitFilter,可用于缓解 DoS 和暴力破解攻击。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载

2023-05-19 Tomcat 8.5.89 发布

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

  • 将 maxParameterCount 的默认值从 10,000 减少到 1,000。
  • 纠正了对错误 66442 修复中的回归问题,该问题导致没有响应体的流在完成时不会减少活动流计数,从而导致某些连接出现 ERR_HTTP2_SERVER_REFUSED_STREAM。
  • 重构对 SocketWrapper 进行锁定的同步块,以使用 ReentrantLock 来支持希望尝试 Project Loom 的用户。
  • 实现了 RFC 9239;请注意 Javascript 的 MIME 类型已更改为 text/javascript。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-05-10 Tomcat 9.0.75 发布

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

  • 对 JSON 访问日志阀进行了多项改进。
  • 弃用对 HTTP 连接器设置 rejectIllegalHeader 和 allowHostHeaderMismatch 的支持。

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

下载

2023-05-09 Tomcat 11.0.0-M6 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 11.0.0-M6 (alpha) 版本。此版本是一个里程碑版本,目标是 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 对访问日志进行了各种改进。
  • 移除对 HTTP 连接器设置 rejectIllegalHeader 和 allowHostHeaderMismatch 的支持。这些现在已硬编码为之前的默认值。
  • 将 Jakarta EE 的 Tomcat 迁移工具的打包版本更新到 1.0.7。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 11 (alpha) 变更日志中找到。

下载

2023-05-02 Jakarta EE 的 Tomcat 迁移工具 1.0.7 发布

Apache Tomcat 项目荣幸地宣布发布 Jakarta EE 的 Apache Tomcat 迁移工具 1.0.7 版本。此版本包含与版本 1.0.6 相比的若干错误修复和改进。

此版本的显著变化包括

  • 如果清单文件中存在,则更新 OSGI servlet 规范版本。PR #42 由 Ivan Furnadjiev 提供。
  • 增加配置选项 matchExcludesAgainstPathName,可用于根据路径名而非文件名配置排除项。PR 38 由 Réda Housni Alaoui 提供。
  • 转换目录时,根据所选配置文件重命名文件。
  • 采用流式转换方法时,解决一个已知的 JDK 错误。

这些更改以及所有其他更改的完整详细信息可在 变更日志中找到。

下载

2023-04-19 Tomcat 10.1.8 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 10.1.8 版本。此版本实现了 Jakarta EE 10 平台中的规范。

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

此版本的显著变化包括

  • 将 maxParameterCount 的默认值从 10,000 减少到 1,000。
  • 纠正了对错误 66442 修复中的回归问题,该问题导致没有响应体的流在完成时不会减少活动流计数,从而导致某些连接出现 ERR_HTTP2_SERVER_REFUSED_STREAM。
  • 扩展了在启动 WebSocket 连接的 HTTP 升级请求中对 Sec-Websocket-Key 头值进行验证。该值未解码,但会检查其长度是否正确以及是否仅使用了 base64 字母表中有效字符。
  • 实现了 RFC 9239;请注意 Javascript 的 MIME 类型已更改为 text/javascript。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载

2023-04-19 Tomcat 8.5.88 发布

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

  • 将 maxParameterCount 的默认值从 10,000 减少到 1,000。
  • 纠正了对错误 66442 修复中的回归问题,该问题导致没有响应体的流在完成时不会减少活动流计数,从而导致某些连接出现 ERR_HTTP2_SERVER_REFUSED_STREAM。
  • 重构对 SocketWrapper 进行锁定的同步块,以使用 ReentrantLock 来支持希望尝试 Project Loom 的用户。
  • 实现了 RFC 9239;请注意 Javascript 的 MIME 类型已更改为 text/javascript。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-04-18 Tomcat 9.0.74 发布

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

  • 纠正了对错误 66442 修复中的回归问题,该问题导致没有响应体的流在完成时不会减少活动流计数,从而导致某些连接出现 ERR_HTTP2_SERVER_REFUSED_STREAM。
  • 增加了一个使用 JSON 格式的访问日志阀。基于 Thomas Meyer 提供的拉取请求。
  • 重构对 SocketWrapper 进行锁定的同步块,以使用 ReentrantLock 来支持希望尝试 Project Loom 的用户。

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

下载

2023-04-19 Tomcat 11.0.0-M5 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 11.0.0-M5 (alpha) 版本。此版本是一个里程碑版本,目标是 Jakarta EE 11。

Tomcat 10 及更高版本的用户应注意,由于 Java EE 迁移到 Jakarta EE(作为 Java EE 转移到 Eclipse Foundation 的一部分),所有已实现 API 的主包已从 javax.* 更改为 jakarta.*。这几乎肯定需要代码更改,以便应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。一个迁移工具可用于辅助此过程。

此版本的显著变化包括

  • 将 maxParameterCount 的默认值从 10,000 减少到 1,000。
  • 纠正了对错误 66442 修复中的回归问题,该问题导致没有响应体的流在完成时不会减少活动流计数,从而导致某些连接出现 ERR_HTTP2_SERVER_REFUSED_STREAM。
  • 扩展了在启动 WebSocket 连接的 HTTP 升级请求中对 Sec-Websocket-Key 头值进行验证。该值未解码,但会检查其长度是否正确以及是否仅使用了 base64 字母表中有效字符。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 11 (alpha) 变更日志中找到。

下载

2023-03-03 Tomcat 10.1.7 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 10.1.7 版本。此版本实现了 Jakarta EE 10 平台中的规范。

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

此版本的显著变化包括

  • 纠正了对错误 66196 修复中引入的回归问题,该问题导致 HTTP 头和/或请求行在单个请求中可能损坏(一部分覆盖另一部分)。
  • 恢复使用 ServiceLoader 机制加载 Tomcat 使用的自定义 URL 协议处理程序。已恢复基于原始系统属性的方法。
  • 在 NIO2 异步操作后恢复内联状态,以考虑实现有时会抛出意外异常的事实。补丁由 zhougang 提交。
  • 当使用 CONNECT 方法拒绝 HTTP 请求时,提供更合适的响应(501 而非 400)。
  • 增加对 mod_rewrite 的 txt: 和 rnd: 重写映射类型的支持。基于 Dimitrios Soumis 提供的拉取请求。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载

2023-03-03 Tomcat 8.5.87 发布

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

  • 纠正了对错误 66196 修复中引入的回归问题,该问题导致 HTTP 头和/或请求行在单个请求中可能损坏(一部分覆盖另一部分)。
  • 当使用 CONNECT 方法拒绝 HTTP 请求时,提供更合适的响应(501 而非 400)。
  • 增加对 mod_rewrite 的 txt: 和 rnd: 重写映射类型的支持。基于 Dimitrios Soumis 提供的拉取请求。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-03-06 Tomcat 11.0.0-M4 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 11.0.0-M4 (alpha) 版本。此版本是一个里程碑版本,目标是 Jakarta EE 11。

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

此版本的显著变化包括

  • 恢复使用 ServiceLoader 机制加载 Tomcat 使用的自定义 URL 协议处理程序。已恢复基于原始系统属性的方法。
  • 提供 JavaBeans 支持的子集实现,该实现不依赖于 java.beans 包。当 java.desktop 模块(java.beans 包所在位置)不可用时,供 Expression Language 使用。
  • 在 NIO2 异步操作后恢复内联状态,以考虑实现有时会抛出意外异常的事实。补丁由 zhougang 提交。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 11 (alpha) 变更日志中找到。

下载

2023-03-03 Tomcat 9.0.73 发布

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

  • 纠正了对错误 66196 修复中引入的回归问题,该问题导致 HTTP 头和/或请求行在单个请求中可能损坏(一部分覆盖另一部分)。
  • 当使用 CONNECT 方法拒绝 HTTP 请求时,提供更合适的响应(501 而非 400)。
  • 增加对 mod_rewrite 的 txt: 和 rnd: 重写映射类型的支持。基于 Dimitrios Soumis 提供的拉取请求。

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

下载

2023-02-24 Tomcat 10.1.6 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 10.1.6 版本。此版本实现了 Jakarta EE 10 平台中的规范。

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

此版本的显著变化包括

  • 切换到使用 ServiceLoader 机制加载 Tomcat 使用的自定义 URL 协议处理程序。
  • 将 Apache Tomcat Native Library 的打包版本更新到 2.0.3,以获取使用 OpenSSL 3.0.8 构建的 Windows 二进制文件。
  • 将 RFC 6598 (100.64.0.0/10) 指定的共享地址空间添加到 RemoteIPValve/Filter 的可信代理列表中。
  • 默认情况下将示例 Web 应用程序的访问权限限制为 localhost。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载

2023-02-24 Tomcat 8.5.86 发布

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

  • 增加一个错误报告阀,允许重定向或从外部 Web 服务器代理。
  • 将 RFC 6598 (100.64.0.0/10) 指定的共享地址空间添加到 RemoteIPValve/Filter 的可信代理列表中。
  • Tomcat 启动时为每个配置的 TLS 证书记录基本信息。
  • 默认情况下将示例 Web 应用程序的访问权限限制为 localhost。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-02-23 Tomcat 9.0.72 发布

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

  • 增加一个错误报告阀,允许重定向或从外部 Web 服务器代理。
  • Tomcat 启动时为每个配置的 TLS 证书记录基本信息。
  • 将 RFC 6598 (100.64.0.0/10) 指定的共享地址空间添加到 RemoteIPValve/Filter 的可信代理列表中。
  • 默认情况下将示例 Web 应用程序的访问权限限制为 localhost。

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

下载

2023-02-23 Tomcat 11.0.0-M3 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 11.0.0-M3 (alpha) 版本。此版本是一个里程碑版本,目标是 Jakarta EE 11。

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

此版本的显著变化包括

  • 将最低支持的 Java 版本提高到 Java 17。
  • 移除在 SecurityManager 下启动 Tomcat 的支持。
  • 移除 JAX-RPC 支持,该支持已从 Jakarta EE 9 的 Jakarta EE 平台中移除。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 11 (alpha) 变更日志中找到。

下载

2023-02-13 Tomcat Native 2.0.3 发布

Apache Tomcat 项目荣幸地宣布发布 Tomcat Native 的 2.0.3 版本。与 2.0.2 相比的显著变化包括

  • 此版本中的 Windows 二进制文件已使用 OpenSSL 3.0.8 构建。

下载 | 2.0.3 的变更日志

2023-02-13 Tomcat Native 1.2.36 发布

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

  • 使用 OpenSSL 1.1.1t 构建的 Windows 二进制文件。

下载 | 1.2.36 的变更日志

2023-01-19 Tomcat 8.5.85 发布

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

  • AccessLogValve 的文件编码默认值现在为 UTF-8。
  • 纠正了替换 URL 构造函数使用的重构中的回归问题。此回归问题破坏了对名称中包含一个或多个字符(在 URI 路径中使用时需要转义)的资源的查找。
  • 当 HTTP/2 流被重置时,当前活动流计数未减少。如果在连接上发生足够多的重置,则达到当前活动流计数限制,并且无法在该连接上创建新流。
  • 更改 org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED 系统属性的默认值为 true,除非 EL 库在 Tomcat 上运行,在这种情况下默认值仍为 false,因为 EL 库已在特权块内调用,并且跳过不必要的特权块可以提高性能。

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

请注意,Apache Tomcat 8.5.x 将于 2024 年 3 月 31 日到达生命周期结束 (EOL)。

下载

2023-01-13 Tomcat 9.0.71 发布

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

  • 纠正了替换 URL 构造函数使用的重构中的回归问题。此回归问题破坏了对名称中包含一个或多个字符(在 URI 路径中使用时需要转义)的资源的查找。
  • 当由于在请求完全读取之前已生成最终响应而重置 HTTP/2 流时,使用 HTTP/2 错误代码 NO_ERROR,以便客户端不会丢弃响应。基于 Lorenzo Dalla Vecchia 的建议。
  • 更改 org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED 系统属性的默认值为 true,除非 EL 库在 Tomcat 上运行,在这种情况下默认值仍为 false,因为 EL 库已在特权块内调用,并且跳过不必要的特权块可以提高性能。

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

下载

2023-01-13 Tomcat 10.1.5 发布

Apache Tomcat 项目荣幸地宣布发布 Apache Tomcat 的 10.1.5 版本。此版本实现了 Jakarta EE 10 平台中的规范。

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

此版本的显著变化包括

  • 纠正了替换 URL 构造函数使用的重构中的回归问题。此回归问题破坏了对名称中包含一个或多个字符(在 URI 路径中使用时需要转义)的资源的查找。
  • 当由于在请求完全读取之前已生成最终响应而重置 HTTP/2 流时,使用 HTTP/2 错误代码 NO_ERROR,以便客户端不会丢弃响应。基于 Lorenzo Dalla Vecchia 的建议。
  • 更改 org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED 系统属性的默认值为 true,除非 EL 库在 Tomcat 上运行,在这种情况下默认值仍为 false,因为 EL 库已在特权块内调用,并且跳过不必要的特权块可以提高性能。

这些更改以及所有其他更改的完整详细信息可在 Tomcat 10.1 变更日志中找到。

下载