Apache Tomcat is a widely-used open-source implementation of the Jakarta Servlet, Jakarta Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations, and Jakarta Authentication specifications. These specifications are essential components of the Jakarta EE platform, the evolution of the Java EE platform. For developers relying on robust and scalable web application servers, staying updated with the latest Apache Tomcat releases is crucial.
Tomcat versions 10 and later are built to implement Jakarta EE specifications, while Tomcat 9 and earlier versions implement Java EE specifications. This shift is a significant change for those migrating from older Java EE applications.
The Apache Tomcat project thrives on community collaboration, inviting developers worldwide to contribute to its open development environment. Distributed under the Apache License version 2, Tomcat powers a vast array of mission-critical web applications across diverse industries globally. You can find some of these users and their success stories on the PoweredBy wiki page.
Below are the recent updates and releases from the Apache Tomcat project, providing you with the latest features, bug fixes, and improvements.
Recent Apache Tomcat Releases
Tomcat 10.1.36 Released (2025-02-18)
The Apache Tomcat Project announced the release of version 10.1.36. This version is a key update as it implements specifications within the Jakarta EE 10 platform. A critical point for users migrating from older versions: applications running on Tomcat 9 or earlier are not directly compatible with Tomcat 10 without modifications.
To assist with this transition, Tomcat provides a solution for Java EE-based applications designed for Tomcat 9 and earlier. By placing these applications in the $CATALINA_BASE/webapps-javaee
directory, Tomcat automatically converts them to Jakarta EE and copies them to the webapps
directory. This conversion process is facilitated by the Apache Tomcat migration tool for Jakarta EE. This tool is also available as a separate download for offline use, offering flexibility for different deployment scenarios.
Key changes in this release include:
- Bug Fix: Resolved issue 69576 by adding a catch for
InaccessibleObjectException
. This prevents embedded users from needing to add an extra--add-opens
command, simplifying the setup process. - Enhancement: Introduced a JSON formatter to JULI (Java Utility Logging Implementation), enhancing logging capabilities and making logs more easily parseable and usable in modern monitoring systems.
For comprehensive details on these and other changes, refer to the Tomcat 10.1 changelog.
Download Tomcat 10.1.36
Tomcat 9.0.100 Released (2025-02-17)
The Apache Tomcat Project also announced the release of version 9.0.100 of Apache Tomcat. This release continues to implement specifications from the Java EE 8 platform, making it a stable and reliable choice for applications still on the Java EE platform.
The notable change in this version is:
- Regression Fix: Addressed a regression introduced in version 9.0.99 and incorporated a catch for
InaccessibleObjectException
. Similar to the Tomcat 10.1.36 update, this fix is aimed at users of embedded Tomcat, eliminating the need for the--add-opens
command and streamlining configurations.
Detailed information on all changes can be found in the Tomcat 9 changelog.
Download Tomcat 9.0.100
Tomcat 11.0.4 Released (2025-02-17)
Simultaneously released, Apache Tomcat version 11.0.4 is available. This version implements the latest Jakarta EE 11 platform specifications, positioning it at the forefront of Jakarta EE application support.
Users upgrading to Tomcat 10 and later versions need to be particularly aware of the namespace change from Java EE to Jakarta EE. The primary package for all implemented APIs has transitioned from javax.*
to jakarta.*
. This namespace change necessitates code modifications for applications migrating from Tomcat 9 or earlier. The migration tool is again highlighted as a valuable resource to assist in this migration, reducing the manual effort and potential errors in the process.
The key change in this release is:
- Regression Fix: Fixed a regression from version 11.0.3 and added a catch for
InaccessibleObjectException
. Consistent with the other releases, this fix benefits users of embedded Tomcat by removing the requirement for the--add-opens
argument.
For complete details, see the Tomcat 11 changelog.
Download Tomcat 11.0.4
Tomcat Migration Tool for Jakarta EE 1.0.9 Released (2025-01-21)
Recognizing the importance of smooth transitions, the Apache Tomcat Project released version 1.0.9 of the Apache Tomcat Migration Tool for Jakarta EE. This tool is essential for developers moving applications from Java EE to Jakarta EE environments. This release focuses on bug fixes and feature enhancements to improve the migration experience.
Notable changes include:
- Bug Fix: Resolved an issue where
matchExcludesAgainstPathName
was not functioning correctly for files. This fix, based on a contribution by Semiao Marco, enhances the tool’s file handling capabilities during migration. - New Feature: Introduced a new profile,
SERVLET
, which allows users to migrate only thejavax.servlet
package and its sub-packages. This targeted migration option, provided by Ralf Wiebicke, offers more granular control over the migration process. - Dependency Updates: Updated dependencies to ensure compatibility and incorporate the latest improvements from underlying libraries.
Full details are available in the changelog for the Migration Tool.
Download Tomcat Migration Tool 1.0.9
Tomcat Connectors 1.2.50 Released (2024-08-12)
For those utilizing Tomcat Connectors, version 1.2.50 is available. This release is focused on stability, addressing a number of bugs identified in previous versions to improve the reliability and performance of Tomcat connectors.
Download Tomcat Connectors 1.2.50 | ChangeLog for 1.2.50
Tomcat Native Releases (2024-07-24)
Two versions of Tomcat Native were released on the same day, version 2.0.8 and version 1.3.1. Tomcat Native provides performance enhancements by using native libraries for certain functionalities.
Tomcat Native 2.0.8:
Notable changes:
- Bug Fix: Addressed a crash on Windows that occurred when
SSLContext.setCACertificate()
was invoked with specific null and non-null value combinations for certificate file paths. This fix enhances stability on Windows environments. - OpenSSL Update: Windows binaries in this release are built with OpenSSL 3.0.14, ensuring up-to-date security and performance improvements from the underlying OpenSSL library.
Download Tomcat Native 2.0.8 | Change log for 2.0.8
Tomcat Native 1.3.1:
This release shares the same key changes as version 2.0.8, including:
- Bug Fix: Resolution for the Windows crash issue related to
SSLContext.setCACertificate()
. - OpenSSL Update: Windows binaries are built with OpenSSL 3.0.14.
Download Tomcat Native 1.3.1 | Change log for 1.3.1
Apache Standard Taglib 1.2.5 Released (2015-03-17)
While slightly older, the Apache Standard Taglib 1.2.5 release is still relevant for developers using JSTL (JSP Standard Tag Library). This version provides Apache’s implementation of the JSTL 1.2 specification and includes bug fixes.
Version 1.2.5 is a minor bug fix release that addressed issues introduced in version 1.2.1, specifically reverting a change that modified the HTTP method during POST operations. It also fixes an AccessControlException
during startup related to reading the accessExternalEntity
property.
For more details, refer to the Taglibs section.
Download Apache Standard Taglib 1.2.5 | Changes
Tomcat Maven Plugin 2.2 Released (2013-11-11)
The Tomcat Maven Plugin 2.2 remains a useful tool for developers using Maven to manage and deploy web applications to Apache Tomcat. This plugin provides goals to manipulate WAR projects within the Tomcat servlet container, streamlining development workflows.
The Apache Tomcat Maven Plugin simplifies tasks such as deploying, undeploying, and reloading web applications directly from Maven.
Changelog for Tomcat Maven Plugin 2.2
The binaries are available from Maven repositories. To use the plugin, specify the version in your project’s plugin
configuration, for example:
For Tomcat 7:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
For Tomcat 6:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
Staying Up-to-Date with Apache Tomcat
Keeping your Apache Tomcat server updated is essential for performance, security, and compatibility with the latest Jakarta EE and Java EE specifications. Regularly reviewing release announcements and changelogs ensures you are leveraging the latest improvements and fixes. Whether you are using the core Tomcat server, connectors, native libraries, or Maven plugins, staying informed about updates will contribute to a more robust and efficient development and deployment environment. Make sure to check the official Apache Tomcat website for the most current information and resources.