Content
Apache Tomcat
The Apache Tomcat® software is an open source implementation
of the
Jakarta Servlet,
Jakarta Server Pages,
Jakarta Expression Language,
Jakarta WebSocket,
Jakarta Annotations and
Jakarta Authentication
specifications. These specifications are part of the
Jakarta EE platform.
The Jakarta EE platform is the evolution of the Java EE platform. Tomcat 10
and later implement specifications developed as part of Jakarta EE. Tomcat 9 and
earlier implement specifications developed as part of Java EE.
The Apache Tomcat software is developed in an open and participatory
environment and released under the
Apache License version 2. The
Apache Tomcat project is intended to be a collaboration of the best-of-breed
developers from around the world. We invite you to participate in this open
development project. To learn more about getting involved,
click here.
Apache Tomcat software powers numerous large-scale, mission-critical web
applications across a diverse range of industries and organizations. Some of
these users and their stories are listed on the
PoweredBy
wiki page.
Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
project logo are trademarks of the Apache Software Foundation.
2023-01-19 Tomcat 8.5.85 Released
The Apache Tomcat Project is proud to announce the release of version 8.5.85
of Apache Tomcat. This release implements specifications that are part of the
Java EE 7 platform. The notable changes compared to 8.5.85 include:
- The default value of
AccessLogValve
's file encoding is
now UTF-8.
- Correct a regression in the refactoring that replaced the use of the
URL constructors. The regression broke lookups for resources that
contained one or more characters in their name that required escaping
when used in a URI path.
- When an HTTP/2 stream was reset, the current active stream count was
not reduced. If enough resets occurred on a connection, the current
active stream count limit was reached and no new streams could be
created on that connection.
- Change the default of the org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED
system property to true unless the EL library is running on Tomcat in
which case the default remains false as the EL library is already
called from within a privileged block and skipping the unnecessary
privileged block improves performance.
Full details of these changes, and all the other changes, are available in the
Tomcat 8
changelog.
Please note that Apache Tomcat 8.5.x will
reach End-of-life
(EOL) on 31 March 2024.
Download
2023-01-13 Tomcat 10.1.5 Released
The Apache Tomcat Project is proud to announce the release of version 10.1.5
of Apache Tomcat. This release implements specifications that are part of the
Jakarta EE 10 platform.
Applications that run on Tomcat 9 and earlier will not run on Tomcat 10
without changes. Java EE based applications designed for Tomcat 9 and earlier
may be placed in the $CATALINA_BASE/webapps-javaee
directory and
Tomcat will automatically convert them to Jakarta EE and copy them to the
webapps directory. This conversion is performed using the
Apache Tomcat
migration tool for Jakarta EE tool which is also available as a separate
download for off-line use.
The notable changes in this release are:
- Correct a regression in the refactoring that replaced the use of the URL
constructors. The regression broke lookups for resources that contained one
or more characters in their name that required escaping when used in a URI
path.
- When resetting an HTTP/2 stream because the final response has been
generated before the request has been fully read, use the HTTP/2 error code
NO_ERROR so that client does not discard the response. Based on a suggestion
by Lorenzo Dalla Vecchia.
- Change the default of the org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED
system property to true unless the EL library is running on Tomcat in which
case the default remains false as the EL library is already called from
within a privileged block and skipping the unnecessary privileged block
improves performance.
Full details of these changes, and all the other changes, are available in the
Tomcat 10.1
changelog.
Download
2023-01-13 Tomcat 9.0.71 Released
The Apache Tomcat Project is proud to announce the release of version 9.0.71
of Apache Tomcat. This release implements specifications that are part of the
Java EE 8 platform. The notable changes compared to 9.0.70 include:
- Correct a regression in the refactoring that replaced the use of the
URL constructors. The regression broke lookups for resources that
contained one or more characters in their name that required escaping
when used in a URI path.
- When resetting an HTTP/2 stream because the final response has been
generated before the request has been fully read, use the HTTP/2 error
code NO_ERROR so that client does not discard the response. Based on a
suggestion by Lorenzo Dalla Vecchia.
- Change the default of the org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED
system property to true unless the EL library is running on Tomcat in
which case the default remains false as the EL library is already
called from within a privileged block and skipping the unnecessary
privileged block improves performance.
Full details of these changes, and all the other changes, are available in the
Tomcat 9
changelog.
Download
2022-12-05 Tomcat 11.0.0-M1 Released
The Apache Tomcat Project is proud to announce the release of version 11.0.0-M1
(alpha) of Apache Tomcat. This release is a milestone release and is targeted at
Jakarta EE 11.
Users of Tomcat 10 onwards should be aware that, as a result of the move from
Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
Foundation, the primary package for all implemented APIs has changed from
javax.*
to jakarta.*
. This will almost certainly
require code changes to enable applications to migrate from Tomcat 9 and earlier
to Tomcat 10 and later. A
migration
tool is under development to aid this process.
The notable changes in this release are:
- Alignment with the current development versions of the Jakarta Servlet,
Pages and Expression Language specifications. This includes removal of
deprecated code and addition of the jakarta.servlet.error.query_string
attribute for error dispatches
- BASIC authentication now uses UTF-8 by default
- Conversions from bytes to characters now trigger exceptions rather than
replacement for invalid byte sequences for the given encoding
Full details of these changes, and all the other changes, are available in the
Tomcat 11
(alpha) changelog.
Download
The Apache Tomcat Project is proud to announce the release of 1.0.6 of the
Apache Tomcat Migration Tool for Jakarta EE. This release contains a number of
bug fixes and improvements compared to version 1.0.5.
The notable changes in this release are:
- Correct regression in handling of javax.annotation package introduced in
1.0.5. PR provided by Danny Thomas.
- Allow parallel use of ClassConverter. PR provided by Danny Thomas.
Full details of these changes, and all the other changes, are available in the
changelog.
Download
2022-11-08 Tomcat Native 2.0.2 Released
The Apache Tomcat Project is proud to announce the release of version 2.0.2 of
Tomcat Native. The notable changes compared to 2.0.1 include:
- The minimum supported version of LibreSSL has been increased to 3.5.2.
- The windows binaries in this release have been built with OpenSSL 3.0.7
Download |
ChangeLog for 2.0.1
2022-10-10 Tomcat 10.0.27 Released
The Apache Tomcat Project is proud to announce the release of version 10.0.27
of Apache Tomcat. This release implements specifications that are part of the
Jakarta EE 9 platform.
Applications that run on Tomcat 9 and earlier will not run on Tomcat 10
without changes. Java EE based applications designed for Tomcat 9 and earlier
may be placed in the $CATALINA_BASE/webapps-javaee
directory and
Tomcat will automatically convert them to Jakarta EE and copy them to the
webapps directory. This conversion is performed using the
Apache Tomcat
migration tool for Jakarta EE tool which is also available as a separate
download for off-line use.
The notable changes in this release are:
- Fix bug 66277, a refactoring regression that broke JSP includes
amongst other functionality
- Fix unexpected timeouts that may appear as client disconnections when using
HTTP/2 and NIO2
- Enforce the requirement of RFC 7230 onwards that a request with a malformed
content-length header should always be rejected with a 400 response.
Full details of these changes, and all the other changes, are available in the
Tomcat 10
changelog.
Download
2022-07-12 Tomcat Native 1.2.35 Released
The Apache Tomcat Project is proud to announce the release of version 1.2.35 of
Tomcat Native. The notable changes since 1.2.34 include:
- Windows binaries built with OpenSSL 1.1.1q.
- Document TLS renegotiation behaviour
- Document the release process
Download |
ChangeLog for 1.2.35
2020-03-06 Tomcat Connectors 1.2.48 Released
The Apache Tomcat Project is proud to announce the release of version 1.2.48 of
Apache Tomcat Connectors.
This version fixes a number of bugs found in previous releases.
Download |
ChangeLog for 1.2.48
2015-03-17 Apache Standard Taglib 1.2.5 Released
The Apache Tomcat Project is proud to announce the release of version 1.2.5 of
the Standard Taglib. This tag library provides Apache's implementation
of the JSTL 1.2 specification.
Version 1.2.5 is a minor bug fix release reverting a change made in 1.2.1 where
<c:import> modified the HTTP method during POST operations, and fixing an
issues that resulted in an AccessControlException during startup unless
permission was granted to read the accessExternalEntity property.
Please see the Taglibs section for more details.
Download |
Changes
2013-11-11 Tomcat Maven Plugin 2.2 Released
The Apache Tomcat team is pleased to announce the release of Tomcat Maven Plugin 2.2.
Changelog available here.
The Apache Tomcat Maven Plugin provides goals
to manipulate WAR projects within the Apache Tomcat servlet container.
The binaries are available from Maven repositories. You should specify the
version in your project's plugin configuration:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
or
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
Old news