Stable Release in branch 10.0
10.0.27
Released 03 Oct 2022
(3 years ago)
SoftwareApache Tomcat
Version10.0
Status
End of life
Supported
Java versions
Java 8+
Initial release10.0.0
02 Dec 2020
(5 years ago)
Latest release10.0.27
03 Oct 2022
(3 years ago)
End of life31 Oct 2022
(Ended 3 years ago)
Release noteshttps://tomcat.apache.org/tomcat-10.0-doc/RELEASE-NOTES.txt
Source codehttps://github.com/apache/tomcat/tree/10.0.27
Documentationhttps://tomcat.apache.org/tomcat-10.0-doc/index.html
Apache Tomcat 10.0 ReleasesView 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

VersionRelease date
10.0.2703 Oct 2022
(3 years ago)
10.0.2623 Sep 2022
(3 years ago)
10.0.2522 Sep 2022
(3 years ago)
10.0.2414 Sep 2022
(3 years ago)
10.0.2314 Jul 2022
(4 years ago)
10.0.2202 Jun 2022
(4 years ago)
10.0.2110 May 2022
(4 years ago)
10.0.2031 Mar 2022
(4 years ago)
10.0.1929 Mar 2022
(4 years ago)
10.0.1809 Mar 2022
(4 years ago)
10.0.1721 Feb 2022
(4 years ago)
10.0.1615 Jan 2022
(4 years ago)
10.0.1512 Jan 2022
(4 years ago)
10.0.1402 Dec 2021
(4 years ago)
10.0.1309 Nov 2021
(4 years ago)
10.0.1228 Sep 2021
(4 years ago)
10.0.1106 Sep 2021
(4 years ago)
10.0.1030 Jul 2021
(5 years ago)
10.0.929 Jul 2021
(5 years ago)
10.0.825 Jun 2021
(5 years ago)
10.0.708 Jun 2021
(5 years ago)
10.0.608 May 2021
(5 years ago)
10.0.530 Mar 2021
(5 years ago)
10.0.405 Mar 2021
(5 years ago)
10.0.304 Mar 2021
(5 years ago)
10.0.228 Jan 2021
(5 years ago)
10.0.127 Jan 2021
(5 years ago)
10.0.002 Dec 2020
(5 years ago)
10.0.0-M1012 Nov 2020
(5 years ago)
10.0.0-M906 Oct 2020
(5 years ago)
10.0.0-M809 Sep 2020
(5 years ago)
10.0.0-M730 Jun 2020
(6 years ago)
10.0.0-M603 Jun 2020
(6 years ago)
10.0.0-M505 May 2020
(6 years ago)
10.0.0-M403 Apr 2020
(6 years ago)
10.0.0-M310 Mar 2020
(6 years ago)
10.0.0-M205 Mar 2020
(6 years ago)
10.0.0-M113 Feb 2020
(6 years ago)
10.0.0.0-M105 Feb 2020
(6 years ago)