Apache Tomcat 11 Preview: New Features to Watch
The stable release of Apache Tomcat 11 — the next major version of the widely used web server and Java servlet container — is expected approximately one year from now. The alpha release recently became available, giving developers some sense of what specs, features, and changes to expect in the new version.
In this blog, find out what's new in Tomcat 11, how it compares to Tomcat 10, and what teams should consider before upgrading next year.
About Apache Tomcat 11
Apache Tomcat has been a dominant open-source Java-based application server since its inception 24 years ago. In 2005, it became a top-level Apache project between the releases of Tomcat 5.5 and Tomcat 6. Major Tomcat versions come out typically every three years and the support lifecycle is usually 10 years. Tomcat 11 is in its seventh milestone alpha release, and there are some interesting changes for users taking their current application servers to the latest specifications.
Tomcat 11 Release Date
Back to top
The Tomcat 11 release is expected in June 2024, after all of the bugs are worked out and the committers declare Tomcat 11 stable.
Tomcat 11 Features and Changes
The most notable change in Tomcat 11 is the addition of virtual thread support provided by Project Loom (JEP 444) which brings “easy-to-use, high-throughput, lightweight concurrency” that is managed by the Java Runtime Environment. This is an alternative to Tomcat’s standard thread pool which allocates platform and operating system kernel threads. There will be other Project Loom- related changes such as concurrency, but this will be determined as Tomcat 11 is being developed and tested.
Java 21 (and later) will be the supported versions of Tomcat 11, which is a significant jump from Java 11+ in Tomcat 10.1 and Java 8 in Tomcat 10.0. Keep in mind that the proposed release date for Java 21 is September 19, 2023. However, you can still test Tomcat 11 now with an early-access build of OpenJDK 21, but it is not recommended for production use.
The Tomcat community is planning to use Project Panama to simply OpenSSL integration and add QUIC transport protocol over HTTP/3 support in Tomcat 11, but it appears that it may remain in preview for Java 21. This is still to be determined. Project Panama will be non-preview in Java 22.Back to top
Tomcat 10 vs. Tomcat 11
The main difference between Tomcat 10 vs. Tomcat 11 is that Tomcat 11 takes advantage of the new specifications and JDK features, making it a smaller jump between versions — less significant than, for example, the one between Tomcat 9 and Tomcat 10.
Tomcat 10.1 implements the Servlet 6.0, JSP 3.1, EL 5.0, WebSocket 2.1 and Authentication 3.0 specifications that are required by Jakarta EE 10. Tomcat 11 will include the latest versions of specifications like Jakarta Servlet 6.1, Jakarta Server Pages 4.0, Jakarta Expression Language 6.0, Java WebSocket, Jakarta Authentication, and Jakarta Annotations in Jakarta EE 11. The Jakarta specification changes between versions 10 and 11 look to be mostly about clarifying gray areas, small feature improvements, and addressing technical debt.
Back to top
Need Help With Tomcat Tuning or Configuration?
OpenLogic can support your Tomcat deployments and assist you with performance tuning, configuration, security, and more. Click the button below to learn more or connect with one of our Tomcat experts.
Tomcat 11 Upgrade and Migration Considerations
Due to the migration from Java EE to Jakarta EE as part of the move to the Eclipse Foundation, the package names for the implementation API were changed from
jakarta.*. This change started in Tomcat 10.0. Any code written using the pre-Tomcat 10 API will require changes before moving to this release. If you are already on Tomcat 10.x, then this change will not affect you. Tomcat 10.0 and 10.1 implemented the specifications in Jakarta EE 9 and 10, respectively.
Read more about how to upgrade Tomcat >>Back to top
What to Expect from Future Tomcat 11.x Releases
The current focus is implementing all of the specifications in Jakarta 11 EE when the official spec is released sometime in March 2024. Servlet 6.1, JSP 4.0, and EL 6.0 will be a part of that specification, and the WebSocket and Authentication specification versions are still to be determined.
Part of declaring a major release stable depends on the judgment of the core committers to the project. Previous major versions of Tomcat releases had significantly different code bases, and a window was given to allow time for bugs to be found before declaring a major release stable. This will change going forward as future releases will attempt to keep the code base more in-line and reduce differences between releases. This will give people a greater degree of confidence in code, and therefore, in the stability of future releases.Back to top
Major Tomcat releases are supported by the community for ten years, so upgrading to the latest and greatest version may not feel all that urgent. However, upgrades offer many benefits in terms of new features and improved performance, and running the most current version of Tomcat is also the best way to avoid being exposed to vulnerabilities. As always, make sure you have a proper test environment set up whenever you are planning to upgrade or migrate.
To keep up with the latest updates to Tomcat 11, follow the release milestones in the changelog. The community is always open to suggestions, so if there are features you would like to see added, make your voice heard!
The Enterprise Guide to Apache Tomcat
In this free guide, our team of Tomcat experts discusses the key strategies enterprises can employ to improve their Tomcat deployments, with detailed analysis and examples to help guide the way.
- Webinar - Taming Apache Tomcat: Key Considerations for Enterprise Deployment
- Datasheet - Support and Services for Apache Tomcat
- Blog - Apache Tomcat 10
- Blog - Tomcat Configuration Tips and Tricks
- Blog - 5 Apache Tomcat Performance Best Practices
- Guide - Apache Tomcat Overview
Back to top