10.0.27

Latest release in branch 10.0
Released 3 years ago (October 03, 2022)

Software Apache Tomcat
Branch 10.0
Status
End of life
End of life October 31, 2022
First official release version 10.0.0
First official release date 5 years ago (December 02, 2020)
Supported
Java versions
Java 8+
Release notes https://tomcat.apache.org/tomcat-10.0-doc/RELEASE-NOTES.txt
Source code https://github.com/apache/tomcat/tree/10.0.27
Documentation https://tomcat.apache.org/tomcat-10.0-doc/index.html
Apache Tomcat 10.0 Releases View full list

What Is New in Apache Tomcat 10.0

Tomcat 10.0 is a major release focused on implementing the latest Jakarta EE specifications. This update brings the servlet container in line with the new namespace and represents a significant step forward from previous versions.

Category Key Changes
Specification Updates Migration from Java EE to Jakarta EE 9, including the new jakarta.* namespace.
New Features Support for HTTP/2, Virtual Threads (Project Loom), and new JSP features.
Removals & Deprecations Removal of deprecated APIs and support for legacy protocols like WebSocket RFC 6455.
Security Updates to the OpenSSL and TLS configuration handling.
Internal Updates Refactored internal clustering and session management code.

What are the major specification changes in Tomcat 10.0?

The biggest change is the move from Java EE to Jakarta EE 9. This isn't just a version bump; it changes the package namespace from javax.* to jakarta.* for all core APIs like Servlet, JSP, and EL.

In practice, this means existing applications will not run on Tomcat 10 without first being migrated. You'll need to recompile your code against the new Jakarta EE 9 APIs or use a migration tool. This change was necessary to reflect the transfer of the Java EE specifications to the Eclipse Foundation.

What new features should developers know about?

Tomcat 10.0 introduces support for HTTP/2, which can significantly improve page load times for modern web applications. It also includes initial support for Virtual Threads (from Project Loom), allowing for more efficient handling of blocking operations.

For JSP developers, there are new features like the jsp:import action. The WebSocket implementation has been updated to the latest Jakarta WebSocket 2.0 API, which also uses the new jakarta.* namespace.

What was removed or deprecated in this release?

This release removes several legacy features to streamline the codebase. Support for the WebSocket RFC 6455 API (javax.websocket) has been dropped in favor of the Jakarta WebSocket 2.0 API.

Several internal APIs that were deprecated in Tomcat 9 have also been completely removed. If you were using any deprecated methods or classes, you'll need to update your code before deploying on Tomcat 10.

How did security and internals improve?

The TLS/SSL configuration has been enhanced with better OpenSSL support and more flexible cipher suite configuration. This matters because it allows for finer control over your secure connections.

Under the hood, the clustering and session replication code got a significant refactor. The internal implementation is now cleaner and more maintainable, which translates to better stability for large-scale deployments.

FAQ

Is Tomcat 10.0 a drop-in replacement for Tomcat 9?
No. The change from javax.* to jakarta.* namespace means existing applications must be migrated and recompiled against the Jakarta EE 9 APIs before they will work on Tomcat 10.

What is the minimum Java version required for Tomcat 10.0?
Tomcat 10.0 requires Java 8 or later. However, to use features like Virtual Threads, you will need a more recent Java version that includes those capabilities.

Can I use my old Tomcat 9 configuration files with Tomcat 10?
Most server.xml and web.xml configuration files should work, but you must update the schema locations and version declarations to reflect the Jakarta EE 9 schemas.

Does Tomcat 10.0 still support the old javax.websocket API?
No, support for the WebSocket RFC 6455 API (javax.websocket) has been removed. You must use the new Jakarta WebSocket 2.0 API (jakarta.websocket).

Where can I find the official changelog for this version?
The complete and detailed list of changes is available in the official Apache Tomcat 10.0 changelog.

Releases In Branch 10.0

Version Release date
10.0.27 3 years ago
(October 03, 2022)
10.0.26 3 years ago
(September 23, 2022)
10.0.25 3 years ago
(September 22, 2022)
10.0.24 3 years ago
(September 14, 2022)
10.0.23 3 years ago
(July 14, 2022)
10.0.22 3 years ago
(June 02, 2022)
10.0.21 3 years ago
(May 10, 2022)
10.0.20 4 years ago
(March 31, 2022)
10.0.19 4 years ago
(March 29, 2022)
10.0.18 4 years ago
(March 09, 2022)
10.0.17 4 years ago
(February 21, 2022)
10.0.16 4 years ago
(January 15, 2022)
10.0.15 4 years ago
(January 12, 2022)
10.0.14 4 years ago
(December 02, 2021)
10.0.13 4 years ago
(November 09, 2021)
10.0.12 4 years ago
(September 28, 2021)
10.0.11 4 years ago
(September 06, 2021)
10.0.10 4 years ago
(July 30, 2021)
10.0.9 4 years ago
(July 29, 2021)
10.0.8 4 years ago
(June 25, 2021)
10.0.7 4 years ago
(June 08, 2021)
10.0.6 4 years ago
(May 08, 2021)
10.0.5 5 years ago
(March 30, 2021)
10.0.4 5 years ago
(March 05, 2021)
10.0.3 5 years ago
(March 04, 2021)
10.0.2 5 years ago
(January 28, 2021)
10.0.1 5 years ago
(January 27, 2021)
10.0.0 5 years ago
(December 02, 2020)
10.0.0-M10 5 years ago
(November 12, 2020)
10.0.0-M9 5 years ago
(October 06, 2020)
10.0.0-M8 5 years ago
(September 09, 2020)
10.0.0-M7 5 years ago
(June 30, 2020)
10.0.0-M6 5 years ago
(June 03, 2020)
10.0.0-M5 5 years ago
(May 05, 2020)
10.0.0-M4 6 years ago
(April 03, 2020)
10.0.0-M3 6 years ago
(March 10, 2020)
10.0.0-M2 6 years ago
(March 05, 2020)
10.0.0-M1 6 years ago
(February 13, 2020)
10.0.0.0-M1 6 years ago
(February 05, 2020)