The Apache Tomcat team announces the immediate availability of Apache
Tomcat 10.1.29.
Apache Tomcat 10 is an open source software implementation of the
Jakarta Servlet, Jakarta Pages, Jakarta Expression Language,
Jakarta WebSocket, Jakarta Authentication and Jakarta Annotations
specifications.
Applications that run on Tomcat 9 and earlier will not run on Tomcat 10
without changes. Java EE applications designed for Tomcat 9 and earlier
may be placed in the /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.
Apache Tomcat 10.1.29 is a bugfix and feature release. The notable
changes compared to 10.1.28 include:
- If an HTTP/2 client resets a stream before the request body is fully
written, ensure that any ReadListener is notified via a call to
ReadListener.onErrror().
- An Exception being thrown during WebSocket message processing (e.g. in
a method annotated with @onMessage) should not automatically
cause the
connection to close. The application should handle the exception and
make the decision whether or not to close the connection.
- Correct a regression in the fix for non-blocking reads of chunked
request bodies that caused <code>InputStream.available()</code> to
return a non-zero value when there was no data to read. In some
circumstances this could cause a blocking read to block waiting for
more data rather than return the data it had already received.
Please refer to the change log for the complete list of changes:
http://tomcat.apache.org/tomcat-10.1-doc/changelog.html
Downloads:
http://tomcat.apache.org/download-10.cgi
Migration guides from Apache Tomcat 8.5.x and 9.0.x:
http://tomcat.apache.org/migration.html
Enjoy!
- The Apache Tomcat team