Stable Release in branch 8.5
8.5.100
Released 19 Mar 2024
(2 years ago)
SoftwareApache Tomcat
Version8.5
Status
End of life
Supported
Java versions
Java 7+
Initial release8.5.0
17 Mar 2016
(10 years ago)
Latest release8.5.100
19 Mar 2024
(2 years ago)
End of life31 Mar 2024
(Ended 2 years ago)
Release noteshttps://tomcat.apache.org/tomcat-8.5-doc/RELEASE-NOTES.txt
Source codehttps://github.com/apache/tomcat/tree/8.5.100
Documentationhttps://tomcat.apache.org/tomcat-8.5-doc/index.html
Apache Tomcat 8.5 ReleasesView full list

What Is New in Apache Tomcat 8.5

This version brings a host of updates focused on modernizing the codebase and improving developer experience. It introduces support for newer specifications while maintaining compatibility with the Java EE 7 and Servlet 3.1 features from Tomcat 8.0.

Category Key Changes
New Features HTTP/2 support, TLS virtual hosting, JSON-P 1.0
Improvements JASPIC 1.1 authentication, WebSocket 1.1 API, JNI library probing
Bug Fixes Numerous fixes for WebSocket, HTTP, and connection handling
Deprecated BIO connector, JMX "Queue" and "ThreadPool" prefixes

What are the major protocol and API upgrades?

The headline feature is the addition of HTTP/2 support, which significantly improves page load times through multiplexing and header compression. This works alongside the existing TLS virtual hosting capability, allowing multiple certificates on a single connector.

For API enhancements, Tomcat 8.5 now includes JSON-P 1.0 (JSR 353) for processing JSON data and an upgraded WebSocket implementation to the 1.1 API (JSR 356). The JASPIC 1.1 implementation also received updates for better authentication integration.

How did connection handling and I/O improve?

This release continues the push toward non-blocking I/O by formally deprecating the BIO connector. The NIO and NIO2 connectors are now the recommended choices for production environments due to their better scalability and performance under load.

Several bugs related to connection timeout handling and request parsing were fixed, making the server more resilient. The NIO2 connector also saw improvements in its SSL support, fixing issues that could cause premature connection closures.

What changed for JSP and EL expressions?

Tomcat 8.5 includes the Apache Jasper 2.3 engine which implements the JSP 2.3 specification. The main practical difference is in the EL expression handling, which now properly supports lambda expressions.

This means you can use more modern Java 8 idioms directly within your JSP pages. The EL processor was also updated to fix several edge cases in expression evaluation that could cause unexpected behavior.

Were there any classloading or JNI changes?

Yes, the common classloader now uses a different approach for loading JNI libraries. Instead of the previous method, it now uses the system class loader which provides more consistent behavior across different environments.

This change matters because it resolves issues where native libraries might not be found or loaded correctly, particularly in complex deployment scenarios with multiple web applications requiring native code.

FAQ

Should I use HTTP/2 immediately in production?
Yes, but ensure your client browsers support it. HTTP/2 provides real performance benefits, but you'll want to keep HTTP/1.1 available for older clients during transition.

Is the BIO connector removal going to break my existing setup?
It's deprecated, not removed. Your existing config will work, but you should plan to migrate to NIO or NIO2 connectors for future-proofing and better performance.

Does the JSON-P 1.0 support replace my need for other JSON libraries?
It provides a standard API for JSON processing, but you can still use libraries like Jackson or Gson if you prefer their specific features or already have them integrated.

What's the impact of the JNI library loading change?
Most applications won't notice, but if you have custom native libraries, test thoroughly. The new loading approach is more standard but might require path adjustments in rare cases.

Are there any special considerations for upgrading from Tomcat 8.0?
The upgrade path is straightforward since 8.5 maintains API compatibility. Just watch for deprecated features you might be using, particularly the BIO connector and old JMX naming patterns.

Releases In Branch 8.5

VersionRelease date
8.5.10019 Mar 2024
(2 years ago)
8.5.9914 Feb 2024
(2 years ago)
8.5.9805 Jan 2024
(2 years ago)
8.5.9707 Dec 2023
(2 years ago)
8.5.9610 Nov 2023
(2 years ago)
8.5.9512 Oct 2023
(2 years ago)
8.5.9409 Oct 2023
(2 years ago)
8.5.9323 Aug 2023
(2 years ago)
8.5.9209 Aug 2023
(2 years ago)
8.5.9106 Jul 2023
(3 years ago)
8.5.9002 Jun 2023
(3 years ago)
8.5.8909 May 2023
(3 years ago)
8.5.8814 Apr 2023
(3 years ago)
8.5.8727 Feb 2023
(3 years ago)
8.5.8618 Feb 2023
(3 years ago)
8.5.8512 Jan 2023
(3 years ago)
8.5.8416 Nov 2022
(3 years ago)
8.5.8303 Oct 2022
(3 years ago)
8.5.8208 Aug 2022
(3 years ago)
8.5.8108 Jun 2022
(4 years ago)
8.5.8007 Jun 2022
(4 years ago)
8.5.7916 May 2022
(4 years ago)
8.5.7831 Mar 2022
(4 years ago)
8.5.7713 Mar 2022
(4 years ago)
8.5.7623 Feb 2022
(4 years ago)
8.5.7517 Jan 2022
(4 years ago)
8.5.7412 Jan 2022
(4 years ago)
8.5.7311 Nov 2021
(4 years ago)
8.5.7201 Oct 2021
(4 years ago)
8.5.7109 Sep 2021
(4 years ago)
8.5.7005 Aug 2021
(5 years ago)
8.5.6929 Jun 2021
(5 years ago)
8.5.6811 Jun 2021
(5 years ago)
8.5.6710 Jun 2021
(5 years ago)
8.5.6608 May 2021
(5 years ago)
8.5.6530 Mar 2021
(5 years ago)
8.5.6404 Mar 2021
(5 years ago)
8.5.6329 Jan 2021
(5 years ago)
8.5.6227 Jan 2021
(5 years ago)
8.5.6103 Dec 2020
(5 years ago)
8.5.6012 Nov 2020
(5 years ago)
8.5.5906 Oct 2020
(5 years ago)
8.5.5810 Sep 2020
(5 years ago)
8.5.5730 Jun 2020
(6 years ago)
8.5.5603 Jun 2020
(6 years ago)
8.5.5505 May 2020
(6 years ago)
8.5.5403 Apr 2020
(6 years ago)
8.5.5311 Mar 2020
(6 years ago)
8.5.5206 Mar 2020
(6 years ago)
8.5.5105 Feb 2020
(6 years ago)
8.5.5007 Dec 2019
(6 years ago)
8.5.4917 Nov 2019
(6 years ago)
8.5.4816 Nov 2019
(6 years ago)
8.5.4707 Oct 2019
(6 years ago)
8.5.4616 Sep 2019
(6 years ago)
8.5.4414 Aug 2019
(6 years ago)
8.5.4514 Aug 2019
(6 years ago)
8.5.4304 Jul 2019
(7 years ago)
8.5.4204 Jun 2019
(7 years ago)
8.5.4104 May 2019
(7 years ago)
8.5.4010 Apr 2019
(7 years ago)
8.5.3914 Mar 2019
(7 years ago)
8.5.3805 Feb 2019
(7 years ago)
8.5.3612 Dec 2018
(7 years ago)
8.5.3712 Dec 2018
(7 years ago)
8.5.3503 Nov 2018
(7 years ago)
8.5.3404 Sep 2018
(7 years ago)
8.5.3311 Aug 2018
(7 years ago)
8.5.3220 Jun 2018
(8 years ago)
8.5.3127 Apr 2018
(8 years ago)
8.5.3003 Apr 2018
(8 years ago)
8.5.2905 Mar 2018
(8 years ago)
8.5.2806 Feb 2018
(8 years ago)
8.5.2718 Jan 2018
(8 years ago)
8.5.2615 Jan 2018
(8 years ago)
8.5.2515 Jan 2018
(8 years ago)
8.5.2427 Nov 2017
(8 years ago)
8.5.2328 Sep 2017
(8 years ago)
8.5.2222 Sep 2017
(8 years ago)
8.5.2113 Sep 2017
(8 years ago)
8.5.2002 Aug 2017
(9 years ago)
8.5.1924 Jul 2017
(9 years ago)
8.5.1818 Jul 2017
(9 years ago)
8.5.1704 Jul 2017
(9 years ago)
8.5.1621 Jun 2017
(9 years ago)
8.5.1505 May 2017
(9 years ago)
8.5.1413 Apr 2017
(9 years ago)
8.5.1327 Mar 2017
(9 years ago)
8.5.1208 Mar 2017
(9 years ago)
8.5.1110 Jan 2017
(9 years ago)
8.5.1005 Jan 2017
(9 years ago)
8.5.905 Dec 2016
(9 years ago)
8.5.803 Nov 2016
(9 years ago)
8.5.702 Nov 2016
(9 years ago)
8.5.606 Oct 2016
(9 years ago)
8.5.531 Aug 2016
(9 years ago)
8.5.406 Jul 2016
(10 years ago)
8.5.309 Jun 2016
(10 years ago)
8.5.111 May 2016
(10 years ago)
8.5.211 May 2016
(10 years ago)
8.5.017 Mar 2016
(10 years ago)