BlogTomcat

Tomcat 9 End of Life: 31 March 2027, and EOL Dates for Every Tomcat Version

Scott Sternloff

By Scott Sternloff, Senior Enterprise Architect

LinkedIn · Updated · 7 min read

Tomcat 9 End of Life: 31 March 2027, and EOL Dates for Every Tomcat Version
On this page

Apache Tomcat 9 reaches end of life on 31 March 2027, when support for the 9.0.x branch ends. A new 9.1.x branch will carry Tomcat 9 releases until 31 December 2030. Tomcat 8.5 reached end of life on 31 March 2024, Tomcat 10.0 on 31 October 2022 and Tomcat 7 on 31 March 2021. Tomcat 10.1 and Tomcat 11.0 are supported, and no end of life date has been announced for either. The dates below are from tomcat.apache.org, checked on 22 October 2026.

Apache Tomcat versions and end of life dates

Tomcat versionSpecificationMinimum JavaStatus
11.0.xJakarta EE 11 (Servlet 6.1)17Supported, no EOL date announced (latest 11.0.27)
10.1.xJakarta EE 10 (Servlet 6.0)11Supported, no EOL date announced (latest 10.1.61)
9.0.xJava EE 8 (Servlet 4.0)8Support ends 31 March 2027 (latest 9.0.123)
9.1.xJava EE 8 (Tomcat 9 line)Not yet publishedStarts shortly before 9.0 support ends; releases until 31 December 2030
10.0.xJakarta EE 9 (Servlet 5.0)8End of life 31 October 2022 (final 10.0.27)
8.5.xServlet 3.17End of life 31 March 2024 (final 8.5.100)
8.0.xServlet 3.17End of life 30 June 2018
7.0.xServlet 3.06End of life 31 March 2021

Source: Which version do I want? on tomcat.apache.org.

Keep Tomcat 9 supported past March 2027. Apache stops supporting Tomcat 9.0.x on 31 March 2027. AceMQ delivers patched 9.0.x builds with backported CVE fixes after that date, and 24/7 Tomcat support with a 15-minute emergency response. See AceMQ Tomcat support.

Tomcat 9 end of life: what changes on 31 March 2027

The Tomcat team announced the end of support for Tomcat 9.0.x on 11 February 2026. After 31 March 2027, new 9.0.x releases are highly unlikely, bugs that affect only 9.0.x will not be fixed, and security vulnerability reports will not be checked against the 9.0.x branch. Three months later the download links and documentation come down, although every release stays in the Apache archive.

Tomcat 9 gets a longer tail than earlier majors because it is the last version that implements Java EE rather than Jakarta EE. Instead of ending Tomcat 9 outright, the project will start a 9.1.x branch shortly before 9.0.x support ends. The differences are small but they matter for older configurations:

  • The APR/native connectors for HTTP, HTTPS and AJP are not available in 9.1.x.
  • Tomcat Native 2.0.x stays supported; Tomcat Native 1.3.x does not.
  • Teams on APR connectors should move to the NIO connectors now, and to NIO with JSSE or NIO with OpenSSL for HTTPS.

For servers that do not use Tomcat Native, moving from 9.0.x to 9.1.x should be no different from a normal point release. The Tomcat team itself still recommends upgrading to a newer major version rather than settling on 9.1.

Tomcat 8.5 and Tomcat 10.0: already end of life

Tomcat 8.5 support ended on 31 March 2024. The last security fixes listed for it are in 8.5.99, and since then new vulnerability reports are not checked against 8.5 at all. That is the real cost of an EOL Tomcat: nobody tells you whether you are affected. In September 2026, for example, the project fixed CVE-2026-76183, an important-rated bypass of security constraints for WebSocket endpoints that affected every 9.0, 10.1 and 11.0 release up to 9.0.121, 10.1.59 and 11.0.25. Whether 8.5.x or 10.0.x is exposed has not been assessed by the project.

Tomcat 10.0 was a short-lived bridge to Jakarta EE and ended on 31 October 2022, with 10.0.27 as its final release. Anyone still on it should move to 10.1, which keeps the same jakarta.* packages.

Known exploitation is not hypothetical. CVE-2025-24813, a partial PUT flaw in the default servlet that can lead to remote code execution in some configurations, was made public on 10 March 2025, fixed in 9.0.99, 10.1.35 and 11.0.3, and added to CISA's Known Exploited Vulnerabilities catalog on 1 April 2025.

What each major Tomcat upgrade breaks

  • Tomcat 9 to 10.x: javax to jakarta. The Servlet, JSP, EL and WebSocket APIs moved from javax.* to jakarta.*, so applications must be recompiled. Tomcat can convert a Java EE application at deployment if you drop it into webapps-javaee, and the Tomcat Migration Tool for Jakarta EE does the same conversion ahead of time.
  • Tomcat 10.1: Java 11 and no APR connector. Tomcat 10.1 requires Java 11 or later, and the APR connector was removed from 10.1.0-M5 onward.
  • Tomcat 11: Java 17 and no SecurityManager. Tomcat 11 requires Java 17, removes support for running under a SecurityManager and drops HTTP/2 server push.
  • Connector defaults inside Tomcat 9. Since 9.0.31, the release that fixed the Ghostcat AJP flaw CVE-2020-1938, the AJP connector listens on the loopback address and will not start without a secret unless secretRequired is set to false. Since 9.0.74 the default maxParameterCount dropped from 10,000 to 1,000. Old server.xml files carried forward between upgrades are where these surprises hide.

Embedded Tomcat: when Spring Boot reaches end of life, so does Tomcat

Many Tomcat installs are not installs at all. Spring Boot embeds Tomcat inside the application JAR: Spring Boot 2.7 uses Tomcat 9.0, Spring Boot 3.x uses Tomcat 10.1 and Spring Boot 4.x uses Tomcat 11.0. The last public Spring Boot 2.7 release, 2.7.18, manages Tomcat 9.0.83, so an application built on it without an override ships without the CVE-2025-24813 fix and every Tomcat 9 fix after it. Overriding the tomcat.version property works within a major line, but after 31 March 2027 there is no supported 9.0.x left to override to. See Spring Boot end of life for the framework dates.

Your options for an end-of-life Tomcat version

First, find every Tomcat you run. For standalone servers, bin/version.sh prints the exact version. For Spring Boot and other fat-JAR applications, look for tomcat-embed-core in the dependency tree or inside the JAR. For the other technologies AceMQ covers past end of life, see end-of-life software support.

  • Stay on your version with AceMQ patches. AceMQ delivers patched Apache Tomcat builds with CVE fixes backported to the line you run: 8.5.x and 10.0.x today, and 9.0.x after Apache support ends on 31 March 2027. Signed builds arrive as Docker images, packages or zip archives, and AceMQ's 24/7 Tomcat support adds emergency response, a named senior engineer and the Java and Tomcat upgrade plan. For applications pinned to a Java EE stack or an old JDK, this is the most direct way to stay patched without a forced migration. Software vendors that bundle Tomcat 9 in an on-premises product are one group that asks for this, because their customers cannot all upgrade on the Apache schedule.
  • Move to Tomcat 9.1. A reasonable bridge for Tomcat 9 servers that already use NIO connectors, with releases planned through 2030.
  • Upgrade to Tomcat 10.1 or 11.0. The long-term answer, budgeted as a Jakarta migration plus a JDK upgrade.
  • Use a commercial Spring subscription. Tanzu Spring includes Tomcat binaries alongside Spring and OpenJDK, and AceMQ brokers Tanzu Spring support.

Sources

Frequently Asked Questions

When is Tomcat 9 end of life?

Support for Apache Tomcat 9.0.x ends on 31 March 2027, as announced by the Tomcat team on 11 February 2026. A new 9.1.x branch will start shortly before that date and receive releases until 31 December 2030.

What is the Tomcat 9.1 release date?

Apache has not published an exact date. The Tomcat team announced on 11 February 2026 that releases from a new 9.1.x branch will be made available shortly before 9.0.x support ends on 31 March 2027, and that 9.1.x releases will continue until 31 December 2030. As of 22 October 2026 no 9.1.x release has been published.

What is Tomcat 9.1?

Tomcat 9.1.x is the continuation of Tomcat 9 after 9.0.x support ends. It keeps the Java EE 8 APIs but drops the APR/native connectors for HTTP, HTTPS and AJP, and supports only Tomcat Native 2.0.x. Servers that do not use Tomcat Native should be able to move to it like a point release.

Is Tomcat 8.5 end of life?

Yes. Apache Tomcat 8.5 reached end of life on 31 March 2024, and the final release was 8.5.100. New vulnerability reports are no longer checked against 8.5, so the project cannot tell you whether a new CVE affects it.

Is Tomcat 10 end of life?

Tomcat 10.0 reached end of life on 31 October 2022, with 10.0.27 as its final release. Tomcat 10.1 is supported and has no announced end of life date. Users of 10.0 should move to 10.1, which uses the same jakarta.* packages but requires Java 11.

Which Tomcat versions are currently supported?

As of October 2026, Apache Tomcat 11.0, 10.1 and 9.0 are supported. Tomcat 9.0 support ends on 31 March 2027. No end of life date has been announced for 10.1 or 11.0.

Which Java version does each Tomcat version need?

Tomcat 11.0 needs Java 17 or later, Tomcat 10.1 needs Java 11 or later, and Tomcat 9.0 and 10.0 run on Java 8 or later. Tomcat 8.5 required Java 7 or later.

Can I get security patches for Tomcat 8.5 or 9 after end of life?

Yes. AceMQ backports CVE fixes to Apache Tomcat 8.5.x and 10.0.x today, and will deliver patched builds for 9.0.x after Apache support ends on 31 March 2027, as signed Docker images, packages or zip archives. AceMQ's Tomcat support page covers the 24/7 support, emergency response and upgrade planning that go with them.

Scott Sternloff

Author

Scott SternloffSenior Enterprise Architect

Senior Enterprise Architect at AceMQ. Writes the technical coverage here: RabbitMQ, Kafka and Redis architecture, clustering and migrations.

Talk to an engineer

Need a hand with Tomcat?

Senior engineers who run it in production. Get a quote or a free consultation, no sales pitch.

Free Consultation

Get Expert Eyes on Your Tomcat Environment

Whether you're troubleshooting a production incident, planning a migration, or want a second opinion on your architecture — our team is ready. No pitch, just answers.

Email Us