Changelog

Tomcat 10.0.0-M1 (markt)

General

This release contains all of the changes upto and including those in Apache Tomcat 9.0.31 plus the additional changes listed below. (markt)

Catalina

  • Update: Refactor recycle facade system property into a new connector attribute named discardFacades and enable it by default. (remm)
  • Update: Update to Jakarta Servlet 5.0, Jakarta Server Pages 3.0. Jakarta Expression Language 4.0, Jakarta WebSocket 2.0, Jakarta Authentication 2.0 and Jakarta Annotations 2.0. (markt)
  • Update: Remove GenericPrincipal.getPassword. The credentials should remain managed by the realm. (remm)
  • Update: Add connection pooling to JNDI realm. (remm)
  • Update: Use <request-character-encoding> and <response-character-encoding> in conf/web.xml to set the default request and response character encodings to UTF-8. (markt)
  • Fix: Store config compatibility with HostWebXmlCacheCleaner listener. (remm)
  • Fix: Modify the RewriteValve to use ServletRequest.getServerName() to populate the HTTP_HOST variable rather than extracting it from the Host header as this allows HTTP/2 to be supported. (markt)
  • Fix: Switch Tomcat embedded to loading MIME type mappings from a property file generated from the default web.xml so the MIME type mappings are consistent regardless of how Tomcat is started. (markt)
  • Fix: Missing store config attributes for Resources elements. (remm)

Coyote

  • Update: Update endpoint cache sizes defaults. (remm)
  • Update: Remove unused NIO blocking selector. (remm)
  • Add: When using an AJP Connector, convert Java Servlet specific request attributes to the Jakarta Servlet equivalent. (markt)
  • Add: When reporting / logging invalid HTTP headers encode any non-printing characters using the 0xNN form. (markt)
  • Update: Remove duplication of HTTP/1.1 configuration on the HTTP/2 UpgradeProtocol element. Configuration from the main Connector element will now be used. (remm)
  • Fix: When the NIO or APR/native connectors were configured with useAsyncIO="true" and a zero length read or write was performed, the read/write would time out rather than return immediately. (markt)

Jasper

  • Code: Parameterize JSP version and API class names in localization messages to allow simpler re-use between major versions. (markt)
  • Fix: Ensure that TLD files listed in the jsp-config section of web.xml that are registered in the uriTldResourcePathMap with the URI specified in web.xml are also registered with the URI in the TLD file if it is different. Patch provided by Markus Lottmann. (markt)

Cluster

  • Fix: Fix cloud environment lookup order and add a dedicated DNS_MEMBERSHIP_SERVICE_NAME environment for use with the DNS membership provider. Submitted by Bernd Bohmann. (remm)

Other

  • Fix: 53620: JULI now only creates logging files when there is a log entry to write. Based on a patch by Karol Bucek. (markt)
  • Fix: Update implementated specification version information in a few places where it has not been updated for Jakarta EE 9. (markt)
  • Add: Expand the coverage of the French translations provided with Apache Tomcat. (remm)
  • Add: Expand the coverage of the Chinese translations provided with Apache Tomcat. Contribution provided by BoltzmannWxd. (markt)