--- /dev/null
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="./images/docs-stylesheet.css" rel="stylesheet" type="text/css"><title>Apache Tomcat 9 (9.0.11) - Changelog</title></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="https://tomcat.apache.org/"><img alt="Tomcat Home" src="./images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="https://www.apache.org/" target="_blank"><img src="./images/asf-logo.svg" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>Apache Tomcat 9</h1><div class="versionInfo">
+ Version 9.0.11,
+ <time datetime="2018-08-11">Aug 11 2018</time></div><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2>Links</h2><ul><li><a href="index.html">Docs Home</a></li><li><a href="https://wiki.apache.org/tomcat/FAQ">FAQ</a></li><li><a href="#comments_section">User Comments</a></li></ul></div><div><h2>User Guide</h2><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="host-manager-howto.html">6) Host Manager</a></li><li><a href="realm-howto.html">7) Realms and AAA</a></li><li><a href="security-manager-howto.html">8) Security Manager</a></li><li><a href="jndi-resources-howto.html">9) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">10) JDBC DataSources</a></li><li><a href="class-loader-howto.html">11) Classloading</a></li><li><a href="jasper-howto.html">12) JSPs</a></li><li><a href="ssl-howto.html">13) SSL/TLS</a></li><li><a href="ssi-howto.html">14) SSI</a></li><li><a href="cgi-howto.html">15) CGI</a></li><li><a href="proxy-howto.html">16) Proxy Support</a></li><li><a href="mbeans-descriptors-howto.html">17) MBeans Descriptors</a></li><li><a href="default-servlet.html">18) Default Servlet</a></li><li><a href="cluster-howto.html">19) Clustering</a></li><li><a href="balancer-howto.html">20) Load Balancer</a></li><li><a href="connectors.html">21) Connectors</a></li><li><a href="monitoring.html">22) Monitoring and Management</a></li><li><a href="logging.html">23) Logging</a></li><li><a href="apr.html">24) APR/Native</a></li><li><a href="virtual-hosting-howto.html">25) Virtual Hosting</a></li><li><a href="aio.html">26) Advanced IO</a></li><li><a href="extras.html">27) Additional Components</a></li><li><a href="maven-jars.html">28) Mavenized</a></li><li><a href="security-howto.html">29) Security Considerations</a></li><li><a href="windows-service-howto.html">30) Windows Service</a></li><li><a href="windows-auth-howto.html">31) Windows Authentication</a></li><li><a href="jdbc-pool.html">32) Tomcat's JDBC Pool</a></li><li><a href="web-socket-howto.html">33) WebSocket</a></li><li><a href="rewrite.html">34) Rewrite</a></li></ul></div><div><h2>Reference</h2><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Configuration</a></li><li><a href="api/index.html">Tomcat Javadocs</a></li><li><a href="servletapi/index.html">Servlet Javadocs</a></li><li><a href="jspapi/index.html">JSP 2.3 Javadocs</a></li><li><a href="elapi/index.html">EL 3.0 Javadocs</a></li><li><a href="websocketapi/index.html">WebSocket 1.1 Javadocs</a></li><li><a href="https://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li></ul></div><div><h2>Apache Tomcat Development</h2><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="https://wiki.apache.org/tomcat/TomcatVersions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</a></li><li><a href="funcspecs/index.html">Functional Specs.</a></li><li><a href="tribes/introduction.html">Tribes</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>Changelog</h2><h3 id="Tomcat_9.0.11_(markt)">Tomcat 9.0.11 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make the <code>isLocked()</code> method of the <code>LockOutRealm</code>
+ public and expose the method via JMX. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53387">53387</a>: Add support for regular expression capture groups to
+ the SSI servlet and filter. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53411">53411</a>: Improve the handling of HTTP requests that do not
+ explicitly specify a host name when no default host is configured. Also
+ improve the tracking of changes to the default host as hosts are added
+ and removed while Tomcat is running. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the HTTP Vary header is set correctly when using the CORS
+ filter and improve the cacheability of requests that pass through the
+ COPRS filter. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62527">62527</a>: Revert restriction of JNDI to the <code>java:</code>
+ namespace. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Introduce a new class - <code>MultiThrowable</code> - to report
+ exceptions when multiple actions are taken where each action may throw
+ an exception but all actions are taken before any errors are reported.
+ Use this new class when reporting multiple container (e.g. web
+ application) failures during start. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly decode URL paths (<code>+</code> should not be decoded to a
+ space in the path) in the <code>RequestDispatcher</code> and the web
+ application class loader. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make logout more robust if JASPIC subject is unexpectedly unavailable.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62547">62547</a>: JASPIC <code>cleanSubject()</code> was not called on
+ logout when the authenticator was configured to cache the authenticated
+ Principal. Patch provided by Guillermo González de Agüero. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62559">62559</a>: Add <code>jaxb-*.jar</code> to the list of JARs
+ ignored by <code>StandardJarScanner</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62560">62560</a>: Add <code>oraclepki.jar</code> to the list of JARs
+ ignored by <code>StandardJarScanner</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62607">62607</a>: Return a non-zero exit code from
+ <code>catalina.[bat|sh] run</code> if Tomcat fails to start. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use short circuit logic to prevent potential NPE in CorsFilter. (fschumacher)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Simplify construction of appName from container name in JAASRealm. (fschumacher)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove <code>ServletException</code> from declaration of
+ <code>Tomcat.addWebapp(String,String)</code> since it is never thrown.
+ Patch provided by Tzafrir. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor HTTP date creation and parsing to reduce code duplication,
+ reduce the use of ThreadLocals and to increase the use of caching.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56676">56676</a>: Add a default location for the native library, as
+ ${catalina.home}/bin, which the testsuite already uses. (remm)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60560">60560</a>: Add support for using an inherited channel to
+ the NIO connector. Based on a patch submitted by Thomas Meyer with
+ testing and suggestions by Coty Sutherland. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62507">62507</a>: Ensure that JSSE based TLS connectors work correctly
+ with a DKS keystore. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor code that adds an additional header name to the
+ <code>Vary</code> HTTP response header to use a common utility method
+ that addresses several additional edge cases. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62515">62515</a>: When a connector is configured (via setting
+ <code>bindOnInit</code> to <code>false</code>) to bind/unbind the server
+ socket during start/stop, close the socket earlier in the stop process
+ so new connections do not sit in the TCP backlog during the shutdown
+ process only to be dropped as stop completes. In this scenario new
+ connections will now be refused immediately. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62526">62526</a>: Correctly handle PKCS12 format key stores when the key
+ store password is configured to be the empty string. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62605">62605</a>: Ensure <code>ReadListener.onDataAvailable()</code> is
+ called when the initial request body data arrives after the request
+ headers when using asynchronous processing over HTTP/2. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62614">62614</a>: Ensure that
+ <code>WriteListener.onWritePossible()</code> is called after
+ <code>isReady()</code> returns <code>false</code> and the window size is
+ subsequently incremented when using asynchronous processing over HTTP/2.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53492">53492</a>: Make the Java file generation process multi-threaded.
+ By default, one thread will be used per core. Based on a patch by Dan
+ Fabulich. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62453">62453</a>: Add a performance optimisation for using expressions
+ in tags that depend on uninitialised tag attributes with implied scope.
+ Generally, using an explicit scope with tag attributes in EL is the best
+ way to avoid various potential performance issues. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly decode URL paths (<code>+</code> should not be decoded to a
+ space in the path) in the Jasper class loader. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62603">62603</a>: Fix a potential race condition when development mode
+ is disabled and background compilation checks are enabled. It was
+ possible that some updates would not take effect and/or
+ <code>ClassNotFoundException</code>s would occur. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62596">62596</a>: Remove the limit on the size of the initial HTTP
+ upgrade request used to establish the web socket connection. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62558">62558</a>: Add Russian translations for the Manager and Host
+ Manager web applications. Based on a patch by Ivan Krasnov. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add documents for Static Membership service. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62561">62561</a>: Add advanced class loader configuration information
+ regarding the use of the Server and Shared class loaders to the
+ documentation web application. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensures that the specified <code>rxBufSize</code> is correctly set to
+ receiver buffer size. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the stop order of the Channel components. It stops in the
+ reverse order to that at startup. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Added new StaticMembership implementation. This implementation does not
+ require any additional configuration of other
+ <code>ChannelInterceptors</code>. It works only with membership service.
+ (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.11_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Support building with Java 9+ while preserving the Java 8 compatibility
+ at runtime (requires Ant 1.9.8 or later). (ebourg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update WSDL4J library to version 1.6.3 (from 1.6.2). (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update JUnit library to version 4.12 (from 4.11). (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Downgrade CGLib library used for testing with EasyMock to version
+ 2.2.2 (from 2.2.3) as version 2.2.3 is not available from Maven Central.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Implement checksum checks when downloading dependencies that are used
+ to build Tomcat. (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed spelling. Patch provided by Jimmy Casey via GitHub. (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Apache Commons Pool 2 to 3e02523
+ (2018-08-09) to pick up some bug fixes and enhancements. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Apache Commons DBCP 2 to abc0484
+ (2018-08-09) to pick up some bug fixes and enhancements. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct various spelling errors throughout the source code and
+ documentation. Patch provided by Kazuhiro Sera. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.10_(markt)"><span style="float: right;">2018-06-25</span> Tomcat 9.0.10 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.10_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62476">62476</a>: Use GMT timezone for the value of
+ <code>Expires</code> header as required by HTTP specification
+ (RFC 7231, 7234). (kkolinko)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.9_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.9 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Treat the <code><mapped-name></code> element of a
+ <code><env-entry></code> in web.xml in the same way as the
+ <code>mappedName</code> element of the equivalent <code>@Resource</code>
+ annotation. Both now attempt to set the <code>mappedName</code> property
+ of the resource. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the processing of resources with
+ <code><injection-target></code>s defined in web.xml. First look
+ for a match using JavaBean property names and then, only if a match is
+ not found, look for a match using fields. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When restoring a saved request with a request body after FORM
+ authentication, ensure that calls to the <code>HttpServletRequest</code>
+ methods <code>getRequestURI()</code>, <code>getQueryString()</code> and
+ <code>getProtocol()</code> are not corrupted by the processing of the
+ saved request body. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ JNDI resources that are defined with injection targets but no value are
+ now treated as if the resource is not defined. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that JNDI names used for <code><lookup-name></code> entries
+ in web.xml and for <code>lookup</code> elements of
+ <code>@Resource</code> annotations specify a name with an explicit
+ <code>java:</code> namespace. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=50019">50019</a>: Add support for <code><lookup-name></code>.
+ Based on a patch by Gurkan Erdogdu. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add the <code>AuthenticatedUserRealm</code> for use with CLIENT-CERT and
+ SPNEGO when just the authenticated user name is required. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=50175">50175</a>: Add a new attribute to the standard context
+ implementation, <code>skipMemoryLeakChecksOnJvmShutdown</code>, that
+ allows the user to configure Tomcat to skip the memory leak checks
+ usually performed during web application stop if that stop is triggered
+ by a JVM shutdown. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=51497">51497</a>: Add an option, <code>ipv6Canonical</code>, to the
+ <code>AccessLogValve</code> that causes IPv6 addresses to be output in
+ canonical form defined by RFC 5952. (ognjen/markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=51953">51953</a>: Add the <code>RemoteCIDRFilter</code> and
+ <code>RemoteCIDRValve</code> that can be used to allow/deny requests
+ based on IPv4 and/or IPv6 client address where the IP ranges are defined
+ using CIDR notation. Based on a patch by Francis Galiegue. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62343">62343</a>: Make CORS filter defaults more secure. This is the fix
+ for CVE-2018-8014. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the web application resources implementation does not
+ incorrectly cache results for resources that are only visible as class
+ loader resources. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62387">62387</a>: Do not log a warning message if the file based
+ persistent session store fails to delete the file for a session when the
+ session is invalidated because the file has not been created yet.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make all loggers associated with Tomcat provided Filters non-static to
+ ensure that log messages are not lost when a web application is
+ reloaded. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the manifest for the annotations-api.jar. The JAR implements the
+ Common Annotations API 1.3 and the manifest should reflect that. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Switch to non-static loggers where there is a possibility of a logger
+ becoming associated with a web application class loader causing log
+ messages to be lost if the web application is stopped. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62389">62389</a>: Add the IPv6 loopback address to the default
+ <code>internalProxies</code> regular expression. Patch by Craig Andrews.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ In the <code>RemoteIpValve</code> and <code>RemoteIpFilter</code>,
+ correctly handle the case when the request passes through one or more
+ <code>trustedProxies</code> but no <code>internalProxies</code>. Based
+ on a patch by zhanhb. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the logic in <code>MBeanFactory.removeConnector()</code> to
+ ensure that the correct Connector is removed when there are multiple
+ Connectors using different addresses but the same port. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make <code>JAASRealm</code> mis-configuration more obvious by requiring
+ the authenticated Subject to include at least one Principal of a type
+ specified by <code>userClassNames</code>. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the error page handling that prevented error
+ pages from issuing redirects or taking other action that required the
+ response status code to be changed. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Consistent exception propagation for NIO2 SSL close. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Followup sync fix for NIO2 async IO blocking read/writes. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Log an error message if the AJP connector detects the the reverse proxy
+ is sending AJP messages that are too large for the configured
+ <code>packetSize</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Relax Host validation by removing the requirement that the final
+ component of a FQDN must be alphabetic. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62371">62371</a>: Improve logging of Host validation failures. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a couple of unlikely edge cases in the shutting down of the
+ APR/native connector. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add missing handshake timeout for NIO2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle a digest authorization header when the user name
+ contains an escaped character. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle a digest authorization header when one of the hex
+ field values ends the header with in an invalid character. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle an invalid quality value in an
+ <code>Accept-Language</code> header. (markt)
+ </li>
+ <li><img alt="Docs: " class="icon" src="./images/docs.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62423">62423</a>: Fix SSL docs CRL attribute typo. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve IPv6 validation by ensuring that IPv4-Mapped IPv6 addresses do
+ not contain leading zeros in the IPv4 part. Based on a patch by Katya
+ Stoycheva. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix <code>NullPointerException</code> thrown from <code>
+ replaceSystemProperties()</code> when trying to log messages. (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid unnecessary processing of async timeouts. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=50234">50234</a>: Add the capability to generate a web-fragment.xml file
+ to JspC. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62080">62080</a>: Ensure that all reads of the current thread's context
+ class loader made by the UEL API and implementation are performed via a
+ <code>PrivilegedAction</code> to ensure that a
+ <code>SecurityException</code> is not triggered when running under a
+ <code>SecurityManager</code>. (mark)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62350">62350</a>: Refactor
+ <code>org.apache.jasper.runtime.BodyContentImpl</code> so a
+ <code>SecurityException</code> is not thrown when running under a
+ SecurityManger and additional permissions are not required in the
+ <code>catalina.policy</code> file. This is a follow-up to the fix for
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=43925">43925</a>. (kkolinko/markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable JspC from Tomcat 9 to work with Maven JspC compiler plug-ins
+ written for Tomcat 8.5.x. Patch provided by Pavel Cibulka. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update web.xml, web-fragment.xml and web.xml extracts generated by JspC
+ to use the Servlet 4.0 version of the relevant schemas. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Cluster">Cluster</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove duplicate calls when creating a replicated session to reduce the
+ time taken to create the session and thereby reduce the chances of a
+ subsequent session update message being ignored because the session does
+ not yet exist. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add the method to send a message with a specified sendOptions. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When sending the <code>GET_ALL_SESSIONS</code> message, make sure that
+ sends with asynchronous option in order to avoid ack timeout. Waiting to
+ receive the <code>ALL_SESSION_DATA</code> message should be done with
+ <code>waitForSendAllSessions</code> instead of ACK. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Use NIO2 API for websockets writes. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When decoding of path parameter failed, make sure to throw
+ <code>DecodeException</code> instead of throwing
+ <code>ArrayIndexOutOfBoundsException</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the handling of exceptions during TLS handshakes for the
+ WebSocket client. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable host name verification when using TLS with the WebSocket client.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62395">62395</a>: Clarify the meaning of the connector attribute
+ <code>minSpareThreads</code> in the documentation web application.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the documentation for the <code>allowHostHeaderMismatch</code>
+ attribute of the standard HTTP Connector implementations. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the correct default value is returned when retrieve unset
+ properties in <code>McastService</code>. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make <code>MembershipService</code> more easily extensible. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When <code>logValidationErrors</code> is set to true, the connection
+ validation error is logged as <code>SEVERE</code> instead of
+ <code>WARNING</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.9_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that Apache Tomcat may be built from source with Java 11. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52381">52381</a>: Add OSGi metadata to JAR files. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62391">62391</a>: Remove references to <code>javaw.exe</code> as this
+ file is not required by Tomcat and the references prevent the use of the
+ Server JRE. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.17 to
+ pick up the latest Windows binaries built with APR 1.6.3 and OpenSSL
+ 1.0.2o. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62458">62458</a>: Update the internal fork of Commons Pool 2 to dfef97b
+ (2018-06-18) to pick up some bug fixes and enhancements. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons DBCP 2 to 2.4.0. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.8_(markt)"><span style="float: right;">2018-05-03</span> Tomcat 9.0.8 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.8_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62263">62263</a>: Avoid a <code>NullPointerException</code> when the
+ <code>RemoteIpValve</code> processes a request for which no Context can
+ be found. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62258">62258</a>: Don't trigger the standard error page mechanism when
+ the error has caused the connection to the client to be closed as no-one
+ will ever see the error page. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Register MBean when DataSource Resource <code>
+ type="javax.sql.XADataSource"</code>. Patch provided by Masafumi Miura.
+ (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a rare edge case that is unlikely to occur in real usage. This edge
+ case meant that writing long streams of UTF-8 characters to the HTTP
+ response that consisted almost entirely of surrogate pairs could result
+ in one surrogate pair being dropped. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Update the internal fork of Apache Commons BCEL to r1829827 to add early
+ access Java 11 support to the annotation scanning code. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62297">62297</a>: Enable the <code>CrawlerSessionManagerValve</code> to
+ correctly handle bots that crawl multiple hosts and/or web applications
+ when the Valve is configured on a Host or an Engine. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62309">62309</a>: Fix a <code>SecurityException</code> when using JASPIC
+ under a <code>SecurityManager</code> when authentication is not
+ mandatory. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62329">62329</a>: Correctly list resources in JAR files when directories
+ do not have dedicated entries. Patch provided by Meelis Müür. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Collapse multiple leading <code>/</code> characters to a single
+ <code>/</code> in the return value of
+ <code>HttpServletRequest#getContextPath()</code> to avoid issues if the
+ value is used with <code>HttpServletResponse#sendRedirect()</code>. This
+ behaviour is enabled by default and configurable via the new Context
+ attribute <code>allowMultipleLeadingForwardSlashInPath</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve handling of overflow in the UTF-8 decoder with supplementary
+ characters. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.8_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct off-by-one error in thread pool that allowed thread pools to
+ increase in size to one more than the configured limit. Patch provided
+ by usc. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent unexpected TLS handshake failures caused by errors during a
+ previous handshake that were not correctly cleaned-up when using the NIO
+ or NIO2 connector with the <code>OpenSSLImplementation</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62273">62273</a>: Implement configuration options to work-around
+ specification non-compliant user agents (including all the major
+ browsers) that do not correctly %nn encode URI paths and query strings
+ as required by RFC 7230 and RFC 3986. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix sync for NIO2 async IO blocking read/writes. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.8_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Eclipse Compiler for Java to 4.7.3a. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Allow <code>9</code> to be used to specify Java 9 as the compiler source
+ and/or compiler target for JSP compilation. The Early Access value of
+ <code>1.9</code> is still supported. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for specifying Java 10 (with the value <code>10</code>) as
+ the compiler source and/or compiler target for JSP compilation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62287">62287</a>: Do not rely on hash codes to test instances of
+ <code>ValueExpressionImpl</code> for equality. Patch provided by Mark
+ Struberg. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.8_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62301">62301</a>: Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61491">61491</a>
+ that didn't correctly handle a final empty message part in all
+ circumstances when using <code>PerMessageDeflate</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62332">62332</a>: Ensure WebSocket connections are closed after an I/O
+ error is experienced reading from the client. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.8_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid warning when running under Cygwin when the
+ <code>JAVA_ENDORSED_DIRS</code> environment variable is not set. Patch
+ provided by Zemian Deng. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.7_(markt)"><span style="float: right;">2018-04-07</span> Tomcat 9.0.7 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=51195">51195</a>: Avoid a false positive report of a web application
+ memory leak by clearing <code>ObjectStreamClass$Caches</code> of classes
+ loaded by the web application when the web application is stopped.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52688">52688</a>: Add support for the <code>maxDays</code> attribute to
+ the <code>AccessLogValve</code> and <code>ExtendedAccessLogValve</code>.
+ This allows the maximum number of days for which rotated access logs
+ should be retained before deletion to be defined. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure the MBean names for the <code>SSLHostConfig</code> and
+ <code>SSLHostConfigCertificate</code> are correctly formed when the
+ <code>Connector</code> is bound to a specific IP address. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62168">62168</a>: When using the <code>PersistentManager</code> honor a
+ value of <code>-1</code> for <code>minIdleSwap</code> and do not swap
+ out sessions to keep the number of active sessions under
+ <code>maxActive</code>. Patch provided by Holger Sunke. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62172">62172</a>: Improve Javadoc for
+ <code>org.apache.catalina.startup.Constants</code> and ensure that the
+ constants are correctly used. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62175">62175</a>: Avoid infinite recursion, when trying to validate
+ a session while loading it with <code>PersistentManager</code>.
+ (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>NamingContextListener</code> instances are only
+ notified once of property changes on the associated naming resources.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62224">62224</a>: Disable the <code>forkJoinCommonPoolProtection</code>
+ of the <code>JreMemoryLeakPreventionListener</code> when running on Java
+ 9 and above since the underlying JRE bug has been fixed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid potential loop in APR/Native poller. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure streams that are received but not processed are excluded from the
+ tracking of maximum ID of processed streams. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the check for a paused connector to consistently prevent new
+ streams from being created after the connector has been paused. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve debug logging for HTTP/2 pushed streams. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ The OpenSSL engine SSL session will now ignore invalid accesses. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62177">62177</a>: Correct two protocol errors with HTTP/2
+ <code>PUSH_PROMISE</code> frames. Firstly, the HTTP/2 protocol only
+ permits pushes to be sent on peer initiated requests. Secondly, pushes
+ must be sent in order of increasing stream ID. These restriction were
+ not being enforced leading to protocol errors at the client. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add document for <code>FragmentationInterceptor</code>. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Document how the roles for an authenticated user are determined when the
+ <code>CombinedRealm</code> is used. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62163">62163</a>: Correct the Tomcat Setup documentation that
+ incorrectly referred to Java 7 as the minimum version rather than Java
+ 8. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add JMX support for <code>FragmentationInterceptor</code> in order to
+ prevent warning of startup. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>SQLWarning</code> has been cleared when connection
+ returns to the pool. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Enable clearing of <code>SQLWarning</code> via JMX. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that parameters have been cleared when
+ <code>PreparedStatement</code> and/or <code>CallableStatement</code> are
+ cached. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable PoolCleaner to be started even if <code>validationQuery</code>
+ is not set. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.7_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the build script so MD5 hashes are no longer generated for
+ releases as per the change in the ASF distribution policy. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62164">62164</a>: Switch the build script to use TLS for downloads from
+ SourceForge and Maven Central to avoid failures due to HTTP to HTTPS
+ redirects. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Always report the OS's umask when launching the JVM. (schultz)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add managed connections package to the package renamed DBCP2 to provide
+ a complete DBCP2 in Tomcat. (remm)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.6_(markt)"><span style="float: right;">2018-03-08</span> Tomcat 9.0.6 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.6_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=43866">43866</a>: Add additional attributes to the Manager to provide
+ control over which listeners are called when an attribute is added to
+ the session when it has already been added under the same name. This is
+ to aid clustering scenarios where <code>setAttribute()</code> is often
+ called to signal that the attribute value has been mutated and needs to
+ be replicated but it may not be required, or even desired, for the
+ associated listeners to be triggered. The default behaviour has not been
+ changed. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Minor optimization when calling class transformers. (rjung)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Pass errors triggered by invalid requests or unavailable services to the
+ application provided error handling and/or the container provided error
+ handling (<code>ErrorReportValve</code>) as appropriate. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=41007">41007</a>: Add the ability to specify static HTML responses for
+ specific error codes and/or exception types with the
+ <code>ErrorReportValve</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent Tomcat from applying gzip compression to content that is already
+ compressed with brotli compression. Based on a patch provided by burka.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62090">62090</a>: Null container names are not allowed. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62104">62104</a>: Fix programmatic login regression as the
+ NonLoginAuthenticator has to be set for it to work (if no login method
+ is specified). (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62117">62117</a>: Improve error message in <code>catalina.sh</code> when
+ calling <code>kill -0 <pid></code> fails. Based on a suggestion
+ from Mark Morschhaeuser. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62118">62118</a>: Correctly create a JNDI <code>ServiceRef</code> using
+ the specified interface rather than the concrete type. Based on a
+ suggestion by Ángel Álvarez Páscua. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix for <code>RequestDumperFilter</code> log attribute. Patch provided
+ by Kirill Romanov via Github. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62123">62123</a>: Avoid <code>ConcurrentModificationException</code>
+ when attempting to clean up application triggered RMI memory leaks on
+ web application stop. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When a deployment descriptor is deployed that includes a
+ <code>path</code> attribute, log a warning that the <code>path</code>
+ attribute will be ignored. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When a deployment descriptor is deployed that references an external
+ <code>docBase</code> and, as a result, a <code>docBase</code> under the
+ <code>appBase</code> will be ignored, log a warning. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60276">60276</a> that meant that
+ compression was applied to all MIME types. Patch provided by Stefan
+ Knoblich. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.6_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add async HTTP/2 parser for NIO2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add minor HPACK fixes, based on fixes by Stuart Douglas. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61751">61751</a>: Follow up fix so that OpenSSL engine returns
+ underflow when unwrapping if no bytes were produced and the input is
+ empty. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Minor OpenSSL engine cleanups. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ NIO SSL handshake should throw an exception on overflow status, like
+ NIO2 SSL. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.6_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=47467">47467</a>: When deploying a web application via the manager
+ application and a path is not explicitly specified, derive it from the
+ provided deployment descriptor or, if that is not present, the WAR or
+ DIR. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=48672">48672</a>: Add documentation for the Host Manager web
+ application. Patch provided by Marek Czernek. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for specifying the application version when deploying an
+ application via the Manager application HTML interface. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Work-around a known, non-specification compliant behaviour in some
+ versions of IE that can allow XSS when the Manager application generates
+ a plain text response. Based on a suggestion from Muthukumar Marikani.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.5_(markt)"><span style="float: right;">2018-02-11</span> Tomcat 9.0.5 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent a stack trace being written to standard out when running on Java
+ 10 due to changes in the <code>LogManager</code> implementation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid duplicate load attempts if one has been made already. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid NPE in ThreadLocalLeakPreventionListener if there is no Engine.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62000">62000</a>: When a JNDI reference cannot be resolved, ensure that
+ the root cause exception is reported rather than swallowed. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62036">62036</a>: When caching an authenticated user Principal in the
+ session when the web application is configured with the
+ <code>NonLoginAuthenticator</code>, cache the internal Principal object
+ rather than the user facing Principal object as Tomcat requires the
+ internal object to correctly process later authorization checks. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Refactor error handling to enable errors that occur before processing is
+ passed to the application to be handled by the application provided
+ error handling and/or the container provided error handling
+ (<code>ErrorReportValve</code>) as appropriate. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Pass 404 errors triggered by a missing ROOT web application to the
+ container error handling to generate the response body. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Pass 400 errors triggered by invalid request targets to the container
+ error handling to generate the response body. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Provide a correct <code>Allow</code> header when responding to an HTTP
+ <code>TRACE</code> request for a JSP with a 405 status code. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When using Tomcat embedded, only perform Authenticator configuration
+ once during web application start. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62067">62067</a>: Correctly apply security constraints mapped to the
+ context root using a URL pattern of <code>""</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Process all <code>ServletSecurity</code> annotations at web application
+ start rather than at servlet load time to ensure constraints are applied
+ consistently. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61751">61751</a>: Fix truncated request input streams when using NIO2
+ with TLS. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62023">62023</a>: Log error reporting multiple SSLHostConfig elements
+ when using the APR Connector instead of crashing Tomcat. (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62032">62032</a>: Fix NullPointerException when certificateFile is not
+ defined on an SSLHostConfig and unify the behavior when a
+ certificateFile is defined but the file does not exist for both
+ JKS and PEM file types. (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the <code>toString()</code> method behaves consistently for
+ <code>ByteChunk</code> and <code>CharChunk</code> and that
+ <code>null</code> is returned when <code>toString()</code> is called
+ both on newly created objects and immediately after a call to
+ <code>recycle()</code>. This should not impact typical Tomcat users. It
+ may impact users who use these classes directly in their own code.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the <code>toString()</code>, <code>toBytes()</code> and
+ <code>toChars()</code> methods of <code>MessageBytes</code> behave
+ consistently and do not throw a <code>NullPointerException</code> both
+ on newly created objects and immediately after a call to
+ <code>recycle()</code>. This should not impact typical Tomcat users. It
+ may impact users who use these classes directly in their own code.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When processing an HTTP 1.0 request in the HTTP connector and no host
+ information is provided in the request, obtain the server port from the
+ local port rather than the connector configuration since the configured
+ value maybe zero. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Enable strict validation of the provided host name and port for all
+ connectors. Requests with invalid host names and/or ports will be
+ rejected with a 400 response. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update the host validation to permit host names and components of domain
+ names (excluding top-level domains) to start with a number and to ensure
+ that top-level domains are fully alphabetic. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62053">62053</a>: Fix NPE when writing push headers with HTTP/2 NIO2.
+ Patch submitted by Holger Sunke. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Include an HTTP <code>Allow</code> header when a JSP generates a
+ 405 response due to a request with an unsupported method. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for the HTTP <code>OPTION</code> method to JSPs. The
+ JSP specification explicitly states that the behaviour for this
+ method is undefined for JSPs so this is a Tomcat specific
+ behaviour. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62024">62024</a>: When closing a connection with an abnormal close,
+ close the socket immediately rather than waiting for a close message
+ from the client that may never arrive. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Webapps">Webapps</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62049">62049</a>: Fix missing class from manager 404 JSP error page.
+ (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Enhance the JMX support for jdbc-pool in order to expose
+ <code>PooledConnection</code> and <code>JdbcInterceptors</code>.
+ (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add MBean for <code>PooledConnection</code>. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62011">62011</a>: Add MBean for <code>StatementCache</code>. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Expose the cache size for each connection via JMX in
+ <code>StatementCache</code>. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add MBean for <code>ResetAbandonedTimer</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.5_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the list with the public interfaces in the RELEASE-NOTES.
+ (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the NSIS Installer used to build the Windows installer to version
+ 3.03. (kkolinko)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.4_(markt)"><span style="float: right;">2018-01-22</span> Tomcat 9.0.4 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.4_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the previous fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61916">61916</a> that meant
+ that any call to <code>addHeader()</code> would have been replaced with
+ a call to <code>setHeader()</code> for all requests mapped to the
+ <code>AddDefaultCharsetFilter</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61999">61999</a>: maxSavePostSize set to 0 should disable saving POST
+ data during authentication. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.4_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix NIO2 HTTP/2 sendfile. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61993">61993</a>: Improve handling for <code>ByteChunk</code> and
+ <code>CharChunk</code> instances that grow close to the maximum size
+ allowed by the JRE. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.4_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=43925">43925</a>: Add a new system property
+ (<code>org.apache.jasper.runtime.BodyContentImpl.BUFFER_SIZE</code>) to
+ control the size of the buffer used by Jasper when buffering tag bodies.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.4_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62006">62006</a>: Document the new <code>JvmOptions9</code> command line
+ parameter for <code>tomcat9.exe</code>. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.3_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.3 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57619">57619</a>: Implement a small optimisation to how JAR URLs are
+ processed to reduce the storage of duplicate String objects in memory.
+ Patch provided by Dmitri Blinov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add some missing NPEs to ServletContext. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update the Java EE 8 XML schema to the released versions. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Minor HTTP/2 push fixes. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61916">61916</a>: Extend the <code>AddDefaultCharsetFilter</code> to add
+ a character set when the content type is set via
+ <code>setHeader()</code> or <code>addHeader()</code> as well as when it
+ is set via <code>setContentType()</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When using WebDAV to copy a file resource to a destination that requires
+ a collection to be overwritten, ensure that the operation succeeds
+ rather than fails (with a 500 response). This enables Tomcat to pass two
+ additional tests from the Litmus WebDAV test suite. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Modify the Default and WebDAV Servlets so that a 405 status code is
+ returned for <code>PUT</code> and <code>DELETE</code> requests when
+ disabled via the <code>readonly</code> initialisation parameter.
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Align the contents of the <code>Allow</code> header with the response
+ code for the Default and WebDAV Servlets. For any given resource a
+ method that returns a 405 status code will not be listed in the
+ <code>Allow</code> header and a method listed in the <code>Allow</code>
+ header will not return a 405 status code. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60276">60276</a>: Implement GZIP compression support for responses
+ served over HTTP/2. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not call onDataAvailable without any data to read. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle EOF when <code>ServletInputStream.isReady()</code> is
+ called. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61886">61886</a>: Log errors on non-container threads at
+ <code>DEBUG</code> rather than <code>INFO</code>. The exception will be
+ made available to the application via the asynchronous error handling
+ mechanism. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61914">61914</a>: Possible NPE with Java 9 when creating a SSL engine.
+ Patch submitted by Evgenij Ryazanov. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61918">61918</a>: Fix connectionLimitLatch counting when closing an
+ already closed socket. Based on a patch by Ryan Fong. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for the OpenSSL ARIA ciphers to the OpenSSL to JSSE
+ cipher mapping. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61932">61932</a>: Allow a call to <code>AsyncContext.dispatch()</code>
+ to terminate non-blocking I/O. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61948">61948</a>: Improve the handling of malformed ClientHello messages
+ in the code that extracts the SNI information from a TLS handshake for
+ the JSSE based NIO and NIO2 connectors. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix NIO2 handshaking with a full input buffer. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Return a simple, plain text error message if a client attempts to make a
+ plain text HTTP connection to a TLS enabled NIO or NIO2 Connector.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61854">61854</a>: When using sets and/or maps in EL expressions, ensure
+ that Jasper correctly parses the expression. Patch provided by Ricardo
+ Martin Camarero. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the handling of methods with varargs in EL expressions. In
+ particular, the calling of a varargs method with no parameters now works
+ correctly. Based on a patch by Nitkalya (Ing) Wiriyanuparb. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61945">61945</a>: Fix prototype mode used to compile tags. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61223">61223</a>: Add the mbeans-descriptors.dtd file to the custom
+ MBean documentation so users have a reference to use when constructing
+ mbeans-descriptors.xml files for custom components. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61565">61565</a>: Add the ability to trigger a reloading of TLS host
+ configuration (certificate and key files, server.xml is not re-parsed)
+ via the Manager web application. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61566">61566</a>: Expose the currently in use certificate chain and list
+ of trusted certificates for all virtual hosts configured using the JSSE
+ style (keystore) TLS configuration via the Manager web application.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Partial fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61886">61886</a>. Ensure that multiple threads do not
+ attempt to complete the <code>AsyncContext</code> if an I/O error occurs
+ in the stock ticker example Servlet. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61886">61886</a>: Prevent <code>ConcurrentModificationException</code>
+ when running the asynchronous stock ticker in the examples web
+ application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61886">61886</a>: Prevent <code>NullPointerException</code> and other
+ errors if the stock ticker example is running when the examples web
+ application is stopped. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61910">61910</a>: Clarify the meaning of the <code>allowLinking</code>
+ option in the documentation web application. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add OCSP configuration information to the SSL How-To. Patch provided by
+ Marek Czernek. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61312">61312</a>: Prevent <code>NullPointerException</code>n when using
+ the statement cache of connection that has been closed. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.3_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add an additional system property for the system property replacement.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add missing SHA-512 hash for release artifacts to the build script.
+ (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Pool 2 to 2.4.3. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons DBCP 2 to 8a71764 (2017-10-18) to
+ pick up some bug fixes and enhancements. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons FileUpload to 6c00d57 (2017-11-23)
+ to pick up some code clean-up. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Codec to r1817136 to pick up some
+ code clean-up. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ The native source bundles (for Commons Daemon and Tomcat Native) are no
+ longer copied to the bin directory for the deploy target. They are now
+ only copied to the bin directory for the release target. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.2_(markt)"><span style="float: right;">2017-11-30</span> Tomcat 9.0.2 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix possible <code>SecurityException</code> when using TLS related
+ request attributes. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61597">61597</a>: Extend the <code>StandardJarScanner</code> to scan
+ JARs on the module path when running on Java 9 and class path scanning
+ is enabled. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61601">61601</a>: Add support for multi-release JARs in JAR scanning and
+ web application class loading. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61681">61681</a>: Allow HTTP/2 push when using request wrapping. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Provide the <code>SessionInitializerFilter</code> that can be used to
+ ensure that an HTTP session exists when initiating a WebSocket
+ connection. Patch provided by isapir. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61682">61682</a>: When re-prioritising HTTP/2 streams, ensure that both
+ parent and children fields are correctly updated to avoid a possible
+ <code>StackOverflowError</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve concurrency by reducing the scope of the synchronisation for
+ <code>javax.security.auth.message.config.AuthConfigFactory</code> in the
+ JASPIC API implementation. Based on a patch by Pavan Kumar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid a possible <code>NullPointerException</code> when timing out
+ <code>AsyncContext</code> instances during shut down. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61777">61777</a>: Avoid a <code>NullPointerException</code> when
+ detaching a JASPIC <code>RegistrationListener</code>. Patch provided by
+ Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61778">61778</a>: Correct the return value when detaching a JASPIC
+ <code>RegistrationListener</code>. Patch provided by Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61779">61779</a>: Avoid a <code>NullPointerException</code> when a
+ <code>null</code> <code>RegistrationListener</code> is passed to
+ <code>AuthConfigFactory.getConfigProvider()</code>. Patch provided by
+ Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61780">61780</a>: Only include the default JASPIC registration ID in the
+ return value for a call to
+ <code>AuthConfigFactory.getRegistrationIDs()</code> if a
+ <code>RegistrationContext</code> has been registered using the default
+ registration ID. Patch provided by Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61781">61781</a>: Enable JASPIC provider registrations to be persisted
+ when the layer and/or application context are <code>null</code>. Patch
+ provided by Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61782">61782</a>: When calling
+ <code>AuthConfigFactory.doRegisterConfigProvider()</code> and the
+ requested JASPIC config provider class is found by the web application
+ class loader, do not attempt to load the class with the class loader
+ that loaded the JASPIC API. Patch provided by Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61783">61783</a>: When calling
+ <code>AuthConfigFactory.removeRegistration()</code> and the registration
+ is persistent, it should be removed from the persistent store. Patch
+ provided by Lazar. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61784">61784</a>: Correctly handle the case when
+ <code>AuthConfigFactoryImpl.registerConfigProvider()</code> is called
+ with a provider name of <code>null</code>. Patch provided by Lazar.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61795">61795</a>: Add a property to the <code>Authenticator</code>
+ implementations to enable a custom JASPIC <code>CallbackHandler</code>
+ to be specified. Patch provided by Lazar. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61568">61568</a>: Avoid a potential <code>SecurityException</code> when
+ using the NIO2 connector and a new thread is added to the pool. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61583">61583</a>: Correct a further regression in the fix to enable the
+ use of Java key stores that contained multiple keys that did not all
+ have the same password. This fixes PKCS11 key store handling with
+ multiple keys selected with an alias. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve NIO2 syncing for async IO operations. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Sendfile support for HTTP/2 and NIO2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Reduce default HTTP/2 stream concurrent execution within a connection
+ from 200 to 20. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61668">61668</a>: Avoid a possible NPE when calling
+ <code>AbstractHttp11Protocol.getSSLProtocol()</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61673">61673</a>: Avoid a possible
+ <code>ConcurrentModificationException</code> when working with the
+ streams associated with a connection. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61719">61719</a>: Avoid possible NPE calling
+ InputStream.setReadListener with HTTP/2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61736">61736</a>: Improve performance of NIO connector when clients
+ leave large time gaps between network packets. Patch provided by Zilong
+ Song. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61740">61740</a>: Correct an off-by-one error in the Hpack header index
+ validation that caused intermittent request failures when using HTTP/2.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61604">61604</a>: Fix SMAP generation for JSPs that generate no output.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61816">61816</a>: Invalid expressions in attribute values or template
+ text should trigger a translation (compile time) error, not a run time
+ error. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61604">61604</a>: Add support for authentication in the websocket
+ client. Patch submitted by J Fernandez. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct Javadoc links to point to Java SE 8 and Java EE 8. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable Javadoc to be built with Java 9. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61603">61603</a>: Add XML filtering for the status servlet output where
+ needed. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the description of how the CGI servlet maps a request to a
+ script in the CGI How-To. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix incorrect behavior that attempts to resend channel messages more
+ than the actual setting value of <code>maxRetryAttempts</code>.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the remaining Sender can send channel messages by avoiding
+ unintended <code>ChannelException</code> caused by comparing the number
+ of failed members and the number of remaining Senders. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that remaining SelectionKeys that were not handled by throwing a
+ <code>ChannelException</code> during SelectionKey processing are
+ handled. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.2_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61439">61439</a> and exclude the JPA, JAX-WS and EJB
+ annotations completely from the Tomcat distributions. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve handling of endorsed directories. The endorsed directory
+ mechanism will only be used if the <code>JAVA_ENDORSED_DIRS</code>
+ system property is explicitly set or if
+ <code>$CATALINA_HOME/endorsed</code> exists. When running on Java 9, any
+ such attempted use of the endorsed directory mechanism will trigger an
+ error and Tomcat will fail to start. (rjung)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=51496">51496</a>: When using the Windows installer, check if the
+ requested service name already exists and, if it does, prompt the user
+ to select an alternative service name. Patch provided by Ralph
+ Plawetzki. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61590">61590</a>: Enable <code>service.bat</code> to recognise when
+ <code>JAVA_HOME</code> is configured for a Java 9 JDK. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61598">61598</a>: Update the Windows installer to search the new (as of
+ Java 9) registry locations when looking for a JRE. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add generation of a SHA-512 hash for release artifacts to the build
+ script. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61658">61658</a>: Update MIME mappings for fonts to use
+ <code>font/*</code> as per RFC8081. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.16 to
+ pick up the latest Windows binaries built with APR 1.6.3 and OpenSSL
+ 1.0.2m. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the NSIS Installer used to build the Windows installer to version
+ 3.02.1. (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Windows installer to use "The Apache Software Foundation" as
+ the Publisher when Tomcat is displayed in the list of installed
+ applications in Microsoft Windows. (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61803">61803</a>: Remove outdated SSL information from the Security
+ documentation. (remm)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.1_(markt)"><span style="float: right;">2017-09-30</span> Tomcat 9.0.1 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.1_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use the correct path when loading the JVM <code>logging.properties</code>
+ file for Java 9. (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add additional validation to the resource handling required to fix
+ CVE-2017-12617 on Windows. The checks were being performed elsewhere but
+ adding them to the resource handling ensures that the checks are always
+ performed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.1_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61563">61563</a>: Correct typos in Spanish translation. Patch provided by
+ Gonzalo Vásquez. (csutherl)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61542">61542</a>: Fix CVE-2017-12617 and prevent JSPs from being
+ uploaded via a specially crafted request when HTTP PUT was enabled.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61554">61554</a>: Exclude test files in unusual encodings and markdown
+ files intended for display in GitHub from RAT analysis. Patch provided
+ by Chris Thistlethwaite. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60762">60762</a>: Add the ability to make changes to the TLS
+ configuration of a connector at runtime without having to restart the
+ Connector. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add an option to reject requests that contain HTTP headers with invalid
+ (non-token) header names with a 400 response and reject such requests by
+ default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Implement the requirements of RFC 7230 (and RFC 2616) that HTTP/1.1
+ requests must include a <code>Host</code> header and any request that
+ does not must be rejected with a 400 response. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Implement the requirements of RFC 7230 that any HTTP/1.1 request that
+ specifies a host in the request line, must specify the same host in the
+ <code>Host</code> header and that any such request that does not, must
+ be rejected with a 400 response. This check is optional but enabled by
+ default. It may be disabled with the
+ <code>allowHostHeaderMismatch</code> attribute of the Connector. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Implement the requirements of RFC 7230 that any HTTP/1.1 request that
+ contains multiple <code>Host</code> headers is rejected with a 400
+ response. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Add a way to set the property source in embedded mode. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61557">61557</a>: Correct a further regression in the fix to enable the
+ use of Java key stores that contain multiple keys that do not all have
+ the same password. The regression broke support for some FIPS compliant
+ key stores. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61545">61545</a>: Correctly handle invocations of methods defined in the
+ <code>PooledConnection</code> interface when using pooled XA
+ connections. Patch provided by Nils Winkler. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59904">59904</a> so that values less than zero are accepted
+ instead of throwing a NegativeArraySizeException. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Complete the implementation of the Servlet 4.0 specification. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M27_(markt)"><span style="float: right;">2017-09-19</span> Tomcat 9.0.0.M27 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Before generating an error page in the <code>ErrorReportValve</code>,
+ check to see if I/O is still permitted for the associated connection
+ before generating the error page so that the page generation can be
+ skipped if the page is never going to be sent. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61189">61189</a>: Add the ability to set environment variables for
+ individual CGI scripts. Based on a patch by jm009. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61210">61210</a>: When running under a SecurityManager, do not print a
+ warning about not being able to read a logging configuration file when
+ that file does not exist. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61280">61280</a>: Add RFC 7617 support to the
+ <code>BasicAuthenticator</code>. Note that the default configuration
+ does not change the existing behaviour. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61424">61424</a>: Avoid a possible <code>StackOverflowError</code> when
+ running under a <code>SecurityManager</code> and using
+ <code>Subject.doAs()</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When running under Java 9 or later, and the
+ <code>urlCacheProtection</code> option of the
+ <code>JreMemoryLeakPreventionListener</code> is enabled, use the API
+ added in Java 9 to only disable the caching for JAR URL connections.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61489">61489</a>: When using the CGI servlet, make the generation of
+ command line arguments from the query string (as per section 4.4 of RFC
+ 3875) optional and disabled by default. Based on a patch by jm009.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61503">61503</a>: This corrects a potential regression in the fix for
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60940">60940</a> with an alternative solution that adds the
+ <code>JarEntry</code> objects normally skipped by a
+ <code>JarInputStream</code> only if those entries exist. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ The minimum required Tomcat Native version has been increased to 1.2.14.
+ This version includes a new API needed for correct client certificate
+ support when using a Java connector with OpenSSL TLS implementation and
+ support for the <code>SSL_CONF</code> OpenSSL API. (rjung)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for the OpenSSL <code>SSL_CONF</code> API when using
+ TLS with OpenSSL implementation. It can be used by adding
+ <code>OpenSSLConf</code> elements underneath <code>SSLHostConfig</code>.
+ The new element contains a list of <code>OpenSSLConfCmd</code> elements,
+ each with the attributes <code>name</code> and <code>value</code>.
+ (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When using a Java connector in combination with the OpenSSL TLS
+ implementation, do not configure each SSL connection object via
+ the OpenSSLEngine. For OpenSSL the SSL object inherits its
+ settings from the SSL_CTX which we have already configured.
+ (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When using JSSE TLS configuration with the OpenSSL implementation and
+ client certificates: include client CA subjects in the TLS handshake
+ so that the client can choose an appropriate client certificate to
+ present. (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If an invalid option is specified for the
+ <code>certificateVerification</code> attribute of an
+ <code>SSLHostConfig</code> element, treat it as <code>required</code>
+ which is the most secure / restrictive option in addition to reporting
+ the configuration error. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the handling of client disconnections during the TLS
+ renegotiation handshake. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent exceptions being thrown during normal shutdown of NIO
+ connections. This enables TLS connections to close cleanly. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix possible race condition when setting IO listeners on an upgraded
+ connection. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the APR/native connector uses blocking I/O for TLS
+ renegotiation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=48655">48655</a>: Enable Tomcat to shutdown cleanly when using sendfile,
+ the APR/native connector and a multi-part download is in progress.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58244">58244</a>: Handle the case when OpenSSL resumes a TLS session
+ using a ticket and the full client certificate chain is not available.
+ In this case the client certificate without the chain will be presented
+ to the application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the warning message when JSSE and OpenSSL configuration styles
+ are mixed on the same <code>SSLHostConfig</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61415">61415</a>: Fix TLS renegotiation with OpenSSL based connections
+ and session caching. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Delay checking that the configured attributes for an
+ <code>SSLHostConfig</code> instance are consistent with the configured
+ SSL implementation until <code>Connector</code> start to avoid incorrect
+ warnings when the SSL implementation changes during initialisation.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61450">61450</a>: Fix default key alias algorithm. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61451">61451</a>: Correct a regression in the fix to enable the use of
+ Java key stores that contained multiple keys that did not all have the
+ same password. The regression broke support for any key store that did
+ not store keys in PKCS #8 format such as hardware key stores and Windows
+ key stores. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60523">60523</a>: Reduce the number of packets used to send WebSocket
+ messages by not flushing between the header and the payload when the
+ two are written together. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61491">61491</a>: When using the <code>permessage-deflate</code>
+ extension, correctly handle the sending of empty messages after
+ non-empty messages to avoid the <code>IllegalArgumentException</code>.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Show connector cipher list in the manager web application in the
+ correct cipher order. (rjung)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ To avoid unexpected session timeout notification from backup session,
+ update the access time when receiving the map member notification
+ message. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add member info to the log message when the failure detection check
+ fails in <code>TcpFailureDetector</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid Ping timeout until the added map member by receiving
+ <code>MSG_START</code> message is completely started. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When sending a channel message, make sure that the Sender has connected.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the backup node selection logic that node 0 is returned twice
+ consecutively. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix race condition of <code>responseMap</code> in
+ <code>RpcChannel</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61391">61391</a>: Ensure that failed queries are logged if the
+ <code>SlowQueryReport</code> interceptor is configured to do so and the
+ connection has been abandoned. Patch provided by Craig Webb. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61425">61425</a>: Ensure that transaction of idle connection has
+ terminated when the <code>testWhileIdle</code> is set to
+ <code>true</code> and <code>defaultAutoCommit</code> is set to
+ <code>false</code>. Patch provided by WangZheng. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M27_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61419">61419</a>: Replace a Unix style comment in the DOS bat file
+ <code>catalina.bat</code> with the correct <code>rem</code> markup.
+ (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61439">61439</a>: Remove the Java Annotation API classes from
+ tomcat-embed-core.jar and package them in a separate JAR in the
+ embedded distribution to provide end users with greater flexibility to
+ handle potential conflicts with the JRE and/or other JARs. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61441">61441</a>: Improve the detection of <code>JAVA_HOME</code> by the
+ <code>daemon.sh</code> script when running on a platform where Java has
+ been installed from an RPM. (rjung)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.14 to
+ pick up the latest Windows binaries built with APR 1.6.2 and OpenSSL
+ 1.0.2l. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61599">61599</a>: Update to Commons Daemon 1.1.0 for improved Java 9
+ support. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M26_(markt)"><span style="float: right;">2017-08-08</span> Tomcat 9.0.0.M26 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M26_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct multiple regressions in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=49464">49464</a> that could
+ corrupt static content served by the <code>DefaultServlet</code>.(markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a bug in the <code>PushBuilder</code> implementation that
+ meant push URLs containing <code>%nn</code> sequences were not correctly
+ decoded. Identified by FindBugs. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61164">61164</a>: Add support for the <code>%X</code> pattern in the
+ <code>AccessLogValve</code> that reports the connection status at the
+ end of the request. Patch provided by Zemian Deng. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61351">61351</a>: Correctly handle %nn decoding of URL patterns in
+ web.xml and similar locations that may legitimately contain characters
+ that are not permitted by RFC 3986. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61366">61366</a>: Add a new attribute, <code>localDataSource</code>, to
+ the <code>JDBCStore</code> that allows the Store to be configured to use
+ a DataSource defined by the web application rather than the default of
+ using a globally defined DataSource. Patch provided by Jonathan
+ Horowitz. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M26_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61086">61086</a>: Ensure to explicitly signal an empty request body for
+ HTTP 205 responses. Additional fix to r1795278. Based on a patch
+ provided by Alexandr Saperov. (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61345">61345</a>: Add a server listener that can be used to do system
+ property replacement from the property source configured in the
+ digester. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add additional logging to record problems that occur while waiting for
+ the NIO pollers to stop during the Connector stop process. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M26_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61364">61364</a>: Ensure that files are closed after detecting encoding
+ of JSPs so that files do not remain locked by the file system. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M26_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57767">57767</a>: Add support to the WebSocket client for following
+ redirects when attempting to establish a WebSocket connection. Patch
+ provided by J Fernandez. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M25_(markt)"><span style="float: right;">2017-07-28</span> Tomcat 9.0.0.M25 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M25_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Performance improvements for service loader look-ups (and look-ups of
+ other class loader resources) when the web application is deployed in a
+ packed WAR file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60963">60963</a>: Add <code>ExtractingRoot</code>, a new
+ <code>WebResourceRoot</code> implementation that extracts JARs to the
+ work directory for improved performance when deploying packed WAR files.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61253">61253</a>: Add warn message when Digester.updateAttributes
+ throws an exception instead of ignoring it. (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a further regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=49464">49464</a> that could
+ cause an byte order mark character to appear at the start of content
+ included by the <code>DefaultServlet</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61313">61313</a>: Make the read timeout configurable in the
+ <code>JNDIRealm</code> and ensure that a read timeout will result in an
+ attempt to fail over to the alternateURL. Based on patches by Peter
+ Maloney and Felix Schumacher. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M25_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the documentation for how <code>StandardRoot</code> is
+ configured. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M25_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61316">61316</a>: Fix corruption of UTF-16 encoded source files in
+ released source distributions. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M24_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M24 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M24_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52924">52924</a>: Add support for a Tomcat specific deployment
+ descriptor, <code>/WEB-INF/tomcat-web.xml</code>. This descriptor has an
+ identical format to <code>/WEB-INF/web.xml</code>. The Tomcat descriptor
+ takes precedence over any settings in <code>conf/web.xml</code> but does
+ not take precedence over any settings in <code>/WEB-INF/web.xml</code>.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61232">61232</a>: When log rotation is disabled only one separator will
+ be used when generating the log file name. For example if the prefix is
+ <code>catalina.</code> and the suffix is <code>.log</code> then the log
+ file name will be <code>catalina.log</code> instead of
+ <code>catalina..log</code>. Patch provided by Katya Stoycheva.
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61264">61264</a>: Correct a regression in the refactoring to use
+ <code>Charset</code> rather than <code>String</code> to store request
+ character encoding that prevented <code>getReader()</code> throwing an
+ <code>UnsupportedEncodingException</code> if the user agent specifies
+ an unsupported character encoding. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=49464">49464</a> that could cause an
+ incorrect <code>Content-Length</code> header to be sent by the
+ <code>DefaultServlet</code> if the encoding of a static is not
+ consistent with the encoding of the response. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M24_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable TLS connectors to use Java key stores that contain multiple keys
+ where each key has a separate password. Based on a patch by Frank
+ Taffelt. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the handling of HTTP/2 stream resets due to excessive headers
+ when a continuation frame is used. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M24_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53031">53031</a>: Add support for the <code>fork</code> option when
+ compiling JSPs with the Jasper Ant task and javac. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M24_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=52791">52791</a>: Add the ability to set the defaults used by the
+ Windows installer from a configuration file. Patch provided by Sandra
+ Madden. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M23_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M23 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=49464">49464</a>: Improve the Default Servlet's handling of static files
+ when the file encoding is not compatible with the required response
+ encoding. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61214">61214</a>: Remove deleted attribute <code>servlets</code> from
+ the Context MBean description. Patch provided by Alexis Hassler. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61215">61215</a>: Correctly define <code>addConnectorPort</code> and
+ <code>invalidAuthenticationWhenDeny</code> in the
+ <code>mbean-descriptors.xml</code> file for the
+ <code>org.apache.catalina.valves</code> package so that the attributes
+ are accessible via JMX. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61216">61216</a>: Improve layout for <code>CompositeData</code> and
+ <code>TabularData</code> when viewing via the JMX proxy servlet. Patch
+ provided by Alexis Hassler. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Additional permission for deleting files is granted to JULI as it is
+ required by FileHandler when running under a Security Manager. The
+ thread that cleans the log files is marked as daemon thread.
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61229">61229</a>: Correct a regression in 9.0.0.M21 that broke WebDAV
+ handling for resources with names that included a <code>&</code>
+ character. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Restore the ability to configure support for SSLv3. Enabling this
+ protocol will trigger a warning in the logs since it is known to be
+ insecure. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add LoadBalancerDrainingValve, a Valve designed to reduce the amount of
+ time required for a node to drain its authenticated users. (schultz)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not log a warning when a <code>null</code> session is returned for an
+ OpenSSL based TLS session since this is expected when session tickets
+ are enabled. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When the access log valve logs a TLS related request attribute and the
+ NIO2 connector is used with OpenSSL, ensure that the TLS attributes are
+ available to the access log valve when the connection is closing.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60461">60461</a>: Sync SSL session access for the APR connector. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61224">61224</a>: Make the <code>GlobalRequestProcessor</code> MBean
+ attributes read-only. Patch provided by Alexis Hassler. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=49176">49176</a>: When generating JSP runtime error messages that quote
+ the relevant JSP source code, switch from using the results of the JSP
+ page parsing process to using the JSR 045 source map data to identify
+ the correct part of the JSP source from the stack trace. This
+ significantly reduces the memory footprint of Jasper in development
+ mode, provides a small performance improvement for error page generation
+ and enables source quotes to continue to be provided after a Tomcat
+ restart. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove references to the Loader attribute
+ <code>searchExternalFirst</code> from the documentation since the
+ attribute is no longer supported. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=51513">51513</a>: Add support for the <code>compressionMinSize</code>
+ attribute to the <code>GzipInterceptor</code>, add optional statistics
+ collection and expose the Interceptor over JMX. Based on a patch by
+ Christian Stöber. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61127">61127</a>Allow human-readable names for channelSendOptions and
+ mapSendOptions. Patch provided by Igal Sapir. (schultz)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M23_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Restore the local definition of the web service annotations since the
+ JRE provided versions are deprecated and Java 9 does not provide them by
+ default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add necessary Java 9 configuration options to the startup scripts to
+ prevent warnings being generated on web application stop. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M22_(markt)"><span style="float: right;">2017-06-26</span> Tomcat 9.0.0.M22 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=48543">48543</a>: Add the option to specify an alternative file name for
+ the <code>catalina.config</code> system property. Also document that
+ relative, as well as absolute, URLs are permitted. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61072">61072</a>: Respect the documentation statements that allow
+ using the platform default secure random for session id generation.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the javadoc for
+ <code>o.a.c.connector.CoyoteAdapter#parseSessionCookiesId</code>.
+ Patch provided by John Andrew (XUZHOUWANG) via Github. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61101">61101</a>: CORS filter should set Vary header in response.
+ Submitted by Rick Riemer. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61105">61105</a>: Add a new JULI FileHandler configuration for
+ specifying the maximum number of days to keep the log files. By default
+ the log files will be kept 90 days as configured in
+ <code>logging.properties</code>. (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Servlet 4.0 implementation to add support for setting
+ trailer fields for HTTP responses. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61125">61125</a>: Ensure that <code>WarURLConnection</code> returns the
+ correct value for calls to <code>getLastModified()</code> as this is
+ required for the correct detection of JSP modifications when the JSP is
+ packaged in a WAR file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the <code>SSLValve</code> so it is able to handle client
+ certificate headers from Nginx. Based on a patch by Lucas Ventura Carro.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61134">61134</a>: Do not use '[' and ']' symbols around substituted
+ text fragments when generating the default error pages. Patch provided
+ by Katya Todorova. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61154">61154</a>: Allow the Manager and Host Manager web applications to
+ start by default when running under a security manager. This was
+ accomplished by adding a custom permission,
+ <code>org.apache.catalina.security.DeployXmlPermission</code>, that
+ permits an application to use a <code>META-INF/context.xml</code> file
+ and then granting that permission to the Manager and Host Manager.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61173">61173</a>: Polish the javadoc for
+ <code>o.a.catalina.startup.Tomcat</code>. Patch provided by
+ peterhansson_se. (violetagg)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ A new configuration property <code>crawlerIps</code> is added to the
+ <code>o.a.catalina.valves.CrawlerSessionManagerValve</code>. Using this
+ property one can specify a regular expression that will be used to
+ identify crawlers based on their IP address. Based on a patch provided
+ by Tetradeus. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61180">61180</a>: Log a warning message rather than an information
+ message if it takes more than 100ms to initialised a
+ <code>SecureRandom</code> instance for a web application to use to
+ generate session identifiers. Patch provided by Piotr Chlebda. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61185">61185</a>: When an asynchronous request is dispatched via
+ <code>AsyncContext.dispatch()</code> ensure that
+ <code>getRequestURI()</code> for the dispatched request matches that of
+ the original request. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61197">61197</a>: Ensure that the charset name used in the
+ <code>Content-Type</code> header has exactly the same form as that
+ provided by the application. This reverts a behavioural change in
+ 9.0.0.M21 that caused problems for some clients. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61201">61201</a>: Ensure that the <code>SCRIPT_NAME</code> environment
+ variable for CGI executables is populated in a consistent way regardless
+ of how the CGI servlet is mapped to a request. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure to send a space between trailer field name and field value
+ for HTTP responses trailer fields. (huxing)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61086">61086</a>: Explicitly signal an empty request body for HTTP 205
+ responses. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61120">61120</a>: Do not ignore path parameters when processing HTTP/2
+ requests. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Revert a change introduced in the fix for bug <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60718">60718</a> that
+ changed the status code recorded in the access log when the client
+ dropped the connection from 200 to 500. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make asynchronous error handling more robust. In particular ensure that
+ <code>onError()</code> is called for any registered
+ <code>AsyncListener</code>s after an I/O error on a non-container
+ thread. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add additional syncs to the SSL session object provided by the OpenSSL
+ engine so that a concurrent destruction cannot cause a JVM crash.
+ (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=44787">44787</a>: Improve error message when JSP compiler configuration
+ options are not valid. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=45931">45931</a>: Extend Jasper's <code>timeSpaces</code> option to add
+ support for <code>single</code> which replaces template text that
+ consists entirely of whitespace with a single space character. Based on
+ a patch by Meetesh Karia. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53011">53011</a>: When pre-compiling with JspC, report all compilation
+ errors rather than stopping after the first error. A new option
+ <code>-failFast</code> can be used to restore the previous behaviour of
+ stopping after the first error. Based on a patch provided by Marc Pompl.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61137">61137</a>: <code>j.s.jsp.tagext.TagLibraryInfo#uri</code> and
+ <code>j.s.jsp.tagext.TagLibraryInfo#prefix</code> fields should not be
+ final. Patch provided by Katya Todorova. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the log message when a <code>MessageHandler</code> for
+ <code>PongMessage</code> does not implement
+ <code>MessageHandler.Whole</code>. (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve thread-safety of <code>Future</code>s used to report the result
+ of sending WebSocket messages. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61183">61183</a>: Correct a regression in the previous fix for
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58624">58624</a> that could trigger a deadlock depending on the locking
+ strategy employed by the client code. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Better document the meaning of the trimSpaces option for Jasper. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61150">61150</a>: Configure the Manager and Host-Manager web
+ applications to permit serialization and deserialization of
+ CRSFPreventionFilter related session objects to avoid warning messages
+ and/or stack traces on web application stop and/or start when running
+ under a security manager. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the TLS configuration documentation to remove SSLv2 and SSLv3
+ from the list of supported protocols. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M22_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=45832">45832</a>: Add HTTP DIGEST authentication support to the Catalina
+ Ant tasks used to communicate with the Manager application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=45879">45879</a>: Add the <code>RELEASE-NOTES</code> file to the root of
+ the installation created by the Tomcat installer for Windows to make it
+ easier for users to identify the installed Tomcat version. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61055">61055</a>: Clarify the code comments in the rewrite valve to make
+ clear that there are no plans to provide proxy support for this valve
+ since Tomcat does not have proxy capabilities. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61076">61076</a>: Document the <code>altDDName</code> attribute for the
+ <code>Context</code> element. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct typo in Jar Scan Filter Configuration Reference.
+ Issue reported via comments.apache.org. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the requirement for the minimum Java SE version in Application
+ Developer's Guide. Issue reported via comments.apache.org. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61145">61145</a>: Add missing <code>@Documented</code> annotation to
+ annotations in the annotations API. Patch provided by Katya Todorova.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61146">61146</a>: Add missing <code>lookup()</code> method to
+ <code>@EJB</code> annotation in the annotations API. Patch provided by
+ Katya Todorova. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct typo in Context Container Configuration Reference.
+ Patch provided by Katya Todorova. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M21_(markt)"><span style="float: right;">2017-05-10</span> Tomcat 9.0.0.M21 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/General">General</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Allow to exclude JUnit test classes using the build property
+ <code>test.exclude</code> and document the property in
+ BUILDING.txt. (rjung)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Review those places where Tomcat re-encodes a URI or URI component and
+ ensure that that correct encoding (path differs from query string) is
+ applied and that the encoding is applied consistently. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid a <code>NullPointerException</code> when reading attributes for a
+ initialised HTTP connector where TLS is enabled. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Always quote the <code>hostName</code> of an <code>SSLHostConfig</code>
+ element when using it as part of the JMX object name to avoid errors that
+ prevent the associated TLS connector from starting if a wild card
+ <code>hostName</code> is configured (because <code>*</code> is a
+ reserved character for JMX object names). (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the default <code>URIEncoding</code> for a <code>Connector</code>
+ to <code>UTF-8</code> as required by the Servlet 4.0 specification.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Switch to using <code>Charset</code> rather than <code>String</code> to
+ store encoding settings (including for configuration and for the
+ <code>Content-Type header</code>) to reduce the number of places the
+ associated <code>Charset</code> needs to be looked up. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use a more reliable mechanism for the <code>DefaultServlet</code> when
+ determining if the current request is for custom error page or not.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that when the Default or WebDAV servlets process an error
+ dispatch that the error resource is processed via the
+ <code>doGet()</code> method irrespective of the method used for the
+ original request that triggered the error. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If a static custom error page is specified that does not exist or cannot
+ be read, ensure that the intended error status is returned rather than a
+ 404 or 403. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When the WebDAV servlet is configured and an error dispatch is made to a
+ custom error page located below <code>WEB-INF</code>, ensure that the
+ target error page is displayed rather than a 404 response. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Servlet 4.0 implementation to add support for obtaining
+ trailer fields from chunked HTTP requests. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61047">61047</a>: Add MIME mapping for woff2 fonts in the default
+ web.xml. Patch provided by Justin Williamson. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the logic that selects the encoding to use to decode the query
+ string in the <code>SSIServletExternalResolver</code> so that the
+ <code>useBodyEncodingForURI</code> attribute of the
+ <code>Connector</code> is correctly taken into account. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Within the Expires filter, make the content type value specified with the
+ <code>ExpiresByType</code> parameter, case insensitive. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When a <code>TrustManager</code> is configured that does not support
+ <code>certificateVerificationDepth</code> only log a warning about that
+ lack of support when <code>certificateVerificationDepth</code> has been
+ explicitly set. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60970">60970</a>: Extend the fix for large headers to push requests.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not include a <code>Date</code> header in HTTP/2 responses with
+ status codes less than 200. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When sending an HTTP/2 push promise with the NIO2 connector, the pushed
+ stream ID should only be included with the initial push promise frame
+ and not any subsequent continuation frames. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When no BOM is present and an encoding is detected, do not skip the
+ bytes used to detect the encoding since they are not part of a BOM.
+ (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61057">61057</a>: Update to Eclipse JDT Compiler 4.6.3. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61065">61065</a>: Ensure that once the class is resolved by
+ <code>javax.el.ImportHandler#resolveClass</code> it will be cached with
+ the proper name. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Introduce new API <code>o.a.tomcat.websocket.WsSession#suspend</code>/
+ <code>o.a.tomcat.websocket.WsSession#resume</code> that can be used to
+ suspend/resume reading of the incoming messages. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=61003">61003</a>: Ensure the flags for reading/writing in
+ <code>o.a.t.websocket.AsyncChannelWrapperSecure</code> are correctly
+ reset even if some exceptions occurred during processing. (markt/violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Web_Applications">Web Applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add documents for <code>maxIdleTime</code> attribute to Channel Receiver
+ docs. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add features to get the statistics of the thread pool of the
+ <code>Receiver</code> component and
+ <code>MessageDispatchInterceptor</code>. These statistics information
+ can be acquired via JMX. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add <code>maxIdleTime</code> attribute to <code>NioReceiverMBean</code>
+ in order to expose to JMX. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add JMX support for <code>Channel Interceptors</code>. The Interceptors
+ that implement JMX support are <code>TcpFailureDetector</code>,
+ <code>ThroughputInterceptor</code>, <code>TcpPingInterceptor</code>,
+ <code>StaticMembershipInterceptor</code>,
+ <code>MessageDispatchInterceptor</code> and
+ <code>DomainFilterInterceptor</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M21_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Modify the Ant build script used to publish to a Maven repository so
+ that it no longer requires artifacts to be GPG signed. This is make it
+ possible for the CI system to upload snapshot builds to the ASF Maven
+ repository. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M20_(markt)"><span style="float: right;">2017-04-18</span> Tomcat 9.0.0.M20 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Servlet 4.0 API implementation to reflect the change in
+ method name from <code>getPushBuilder()</code> to
+ <code>newPushBuilder()</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct various edge cases in the new HTTP Host header validation
+ parser. Patch provided by Katya Todorova. (martk)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the X to comma refactoring that broke JMX
+ operations that take parameters. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid a <code>NullPointerException</code> when reading attributes for a
+ running HTTP connector where TLS is not enabled. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=47214">47214</a>: Refactor code so that explicitly referenced inner
+ classes are given explicit names rather than being anonymous. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59825">59825</a>: Log a message that lists the components in the
+ processing chain that do not support async processing when a call to
+ <code>ServletRequest.startAsync()</code> fails. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60940">60940</a>: Improve the handling of the <code>META-INF/</code> and
+ <code>META-INF/MANIFEST.MF</code> entries for Jar files located in
+ <code>/WEB-INF/lib</code> when running a web application from a packed
+ WAR file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Pre-load the <code>ExceptionUtils</code> class. Since the class is used
+ extensively in error handling, it is prudent to pre-load it to avoid any
+ failure to load this class masking the true problem during error
+ handling. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid potential <code>NullPointerException</code>s related to access
+ logging during shutdown, some of which have been observed when running
+ the unit tests. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When there is no <code>javax.servlet.WriteListener</code> registered
+ then a call to <code>javax.servlet.ServletOutputStream#isReady</code>
+ will return <code>false</code> instead of throwing
+ <code>IllegalStateException</code>. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When there is no <code>javax.servlet.ReadListener</code> registered
+ then a call to <code>javax.servlet.ServletInputStream#isReady</code>
+ will return <code>false</code> instead of throwing
+ <code>IllegalStateException</code>. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Align cipher configuration parsing with current OpenSSL master. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60970">60970</a>: Fix infinite loop if application tries to write a
+ large header to the response when using HTTP/2. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=47214">47214</a>: Refactor code so that explicitly referenced inner
+ classes are given explicit names rather than being anonymous. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60925">60925</a>: Improve the handling of access to properties defined
+ by interfaces when a <code>BeanELResolver</code> is used under a
+ <code>SecurityManager</code>. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add JMX support for Tribes components. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the creating a constructor for a proxy class to reduce
+ duplicate code. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ In <code>StatementFacade</code>, the method call on the statements that
+ have been closed throw <code>SQLException</code> rather than
+ <code>NullPointerException</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M20_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60932">60932</a>: Correctly escape single quotes when used in i18n
+ messages. Based on a patch by Michael Osipov. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Review i18n property files, remove unnecessary escaping and consistently
+ use <code>[...]</code> to delimit inserted values. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update the custom Ant task that integrates with the Symantec code
+ signing service to use the now mandatory 2-factor authentication.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactoring in preparation for Java 9. Refactor to avoid using some
+ methods that will be deprecated in Java 9 onwards. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M19_(markt)"><span style="float: right;">2017-03-30</span> Tomcat 9.0.0.M19 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M19_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=54618">54618</a>: Add support to the
+ <code>HttpHeaderSecurityFilter</code> for the HSTS preload parameter.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a bug in the implementation of the Servlet 4.0 feature that
+ allows specifying a default request and/or response character encoding
+ per web application. <code>null</code> values passed via the
+ programmatic interface no longer trigger a
+ <code>NullPointerException</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a potential exception during shutdown when one or more
+ Containers are configured with a value of 1 for startStopThreads.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60853">60853</a>: Expose the <code>SSLHostConfig</code> and
+ <code>SSLHostConfigCertificate</code> objects via JMX. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60876">60876</a>: Ensure that <code>Set-Cookie</code> headers generated
+ by the <code>Rfc6265CookieProcessor</code> are aligned with the
+ specification. Patch provided by Jim Griswold. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60882">60882</a>: Fix a <code>NullPointerException</code> when obtaining
+ a <code>RequestDispatcher</code> for a request that will not have any
+ pathInfo associated with it. This was a regression in the changes in
+ 9.0.0.M18 for the Servlet 4.0 API changes. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Align <code>PushBuilder</code> API with changes from the Servlet expert
+ group. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Align web.xml parsing rules with changes from the Servlet expert group
+ for <code><request-character-encoding></code> and
+ <code><response-character-encoding></code>. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the various implementations of X to comma separated list to a
+ single utility class and update the code to use the new utility class.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60911">60911</a>: Ensure NPE will not be thrown when looking for SSL
+ session ID. Based on a patch by Didier Gutacker. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M19_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add async based IO groundwork for HTTP/2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix HTTP/2 incorrect input unblocking on EOF. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Close the connection sooner if an event occurs for a current connection
+ that is not consistent with the current state of that connection.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Speed up shutdown when using multiple acceptor threads by ensuring that
+ the code that unlocks the acceptor threads correctly handles the case
+ where there are multiple threads. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60851">60851</a>: Add <code>application/xml</code> and
+ <code>application/json</code> to the default list of compressible MIME
+ types. Patch by Michael Osipov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60852">60852</a>: Correctly spell compressible when used in
+ configuration attributes and internal code. Based on a patch by Michael
+ Osipov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60900">60900</a>: Avoid a <code>NullPointerException</code> in the APR
+ Poller if a connection is closed at the same time as new data arrives on
+ that connection. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve HPACK specification compliance by fixing some test failures
+ reported by the h2spec tool written by Moto Ishizawa. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve HTTP/2 specification compliance by fixing some test failures
+ reported by the h2spec tool written by Moto Ishizawa. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60918">60918</a>: Fix sendfile processing error that could lead to
+ subsequent requests experiencing an <code>IllegalStateException</code>.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve sendfile handling when requests are pipelined. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M19_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60844">60844</a>: Correctly handle the error when fewer parameter values
+ than required by the method are used to invoke an EL method expression.
+ Patch provided by Daniel Gray. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M19_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60764">60764</a>: Implement <code>equals()</code> and
+ <code>hashCode()</code> in the <code>StatementFacade</code> in order to
+ enable these methods to be called on the closed statements if any
+ statement proxy is set. This behavior can be changed with
+ <code>useStatementFacade</code> attribute. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M19_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the build script and the NSIS installer script so that either
+ NSIS 2.x or NSIS 3.x can be used to build the installer. This is
+ primarily to re-enable building the installer on the Linux based CI
+ system where the combination of NSIS 3.x and wine leads to failed
+ installer builds. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M18_(markt)"><span style="float: right;">2017-03-13</span> Tomcat 9.0.0.M18 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60469">60469</a>: Refactor <code>RealmBase</code> for better code re-use
+ when implementing Realms that use a custom <code>Principal</code>.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60490">60490</a>: Various formatting and layout improvements for the
+ <code>ErrorReportValve</code>. Patch provided by Michael Osipov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60573">60573</a>: Remove the reason phrase when sending a
+ <code>100</code> response status for consistency with other response
+ status lines. Patch provided by Michael Osipov. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60596">60596</a>: Improve performance of DefaultServlet when sendfile
+ feature is disabled on connector. (kkolinko)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Make it easier for sub-classes of <code>Tomcat</code> to modify the
+ default web.xml settings by over-riding
+ <code>getDefaultWebXmlListener()</code>. Patch provided by Aaron
+ Anderson. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Reduce the contention in the default <code>InstanceManager</code>
+ implementation when multiple threads are managing objects and need to
+ reference the annotation cache. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60623">60623</a>: When startStopThreads is 1 (or a special value that
+ is equivalent to 1) then rather than using an
+ <code>ExecutorService</code> to start the children of the current
+ component, the children will be started on the current thread. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60674">60674</a>: Remove <code>final</code> marker from
+ <code>CorsFilter</code> to enable sub-classing. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60683">60683</a>: Security manager failure causing NPEs when doing IO
+ on some JVMs. (csutherl)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60688">60688</a>: Update the internal fork of Apache Commons BCEL to
+ r1782855 to add early access Java 9 support to the annotation scanning
+ code. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60694">60694</a>: Prevent NPE during authentication when no JASPIC
+ <code>AuthConfigFactory</code> is available. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60697">60697</a>: When HTTP TRACE requests are disabled on the
+ Connector, ensure that the HTTP OPTIONS response from custom servlets
+ does not include TRACE in the returned Allow header. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60718">60718</a>: Improve error handling for asynchronous processing and
+ correct a number of cases where the <code>requestDestroyed()</code>
+ event was not being fired and an entry wasn't being made in the access
+ logs. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60720">60720</a>: Replace "WWW-Authenticate" literal with static final
+ AUTH_HEADER_NAME in SpnegoAuthenticator. Patch provided by Michael
+ Osipov. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ The default JASPIC <code>AuthConfigFactory</code> now correctly notifies
+ registered <code>RegistrationListener</code>s when a new
+ <code>AuthConfigProvider</code> is registered. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Improve the performance of <code>AuthenticatorBase</code> when there is
+ no JASPIC configuration available. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When HTTP TRACE requests are disabled on the Connector, ensure that the
+ HTTP OPTIONS response from the WebDAV servlet does not include
+ TRACE in the returned Allow header. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60722">60722</a>: Take account of the
+ <strong>dispatchersUseEncodedPaths</strong> setting on the current
+ <strong>Context</strong> when generating paths for dispatches triggered
+ by <code>AsyncContext.dispatch()</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60728">60728</a>: Make the separator Tomcat uses in the Tomcat specific
+ <code>war:file:...</code> URL protocol customizable via a system
+ property. The separator is equivalent to the use of the <code>!</code>
+ character in <code>jar:file:...</code> URLs. The default separator of
+ <code>*</code> remains unchanged. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the Servlet 4.0 API implementation to align with the latest
+ proposals from the Servlet 4.0 expert group. This includes updates to
+ the new Servlet mapping API, new methods on the
+ <code>ServletContext</code> to make the available API more equivalent to
+ the deployment descriptor, updates to the HTTP push API and the ability
+ to set default request and response character encoding per web
+ application. Note that the Servlet 4.0 API is still a work in progress
+ and further changes are likely. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60798">60798</a>: Correct a bug in the handling of JARs in unpacked WARs
+ that meant multiple attempts to read the same entry from a JAR in
+ succession would fail for the second and subsequent attempts. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60808">60808</a>: Ensure that the <code>Map</code> returned by
+ <code>ServletRequest.getParameterMap()</code> is fully immutable. Based
+ on a patch provided by woosan. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60824">60824</a>: Correctly cache the <code>Subject</code> in the
+ session - if there is a session - when running under a
+ <code>SecurityManager</code>. Patch provided by Jan Engehausen. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure request and response facades are used when firing application
+ listeners. (markt/remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve handling of case when an HTTP/2 client sends more data that is
+ subject to flow control than the current window size allows. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve NIO2 look-ahead parsing of TLS client hello for SNI with large
+ client hello messages. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Enable ALPN and also, therefore, HTTP/2 for the NIO and NIO2 HTTP
+ connectors when using the JSSE implementation for TLS when running on
+ Java 9. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Restore Java 9 direct byte buffer compatibility. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59807">59807</a>: Provide a better error message when there is no
+ <strong>SSLHostConfig</strong> defined with a <code>hostName</code> that
+ matches the <code>defaultSSLHostConfigName</code> for the associated
+ <strong>Connector</strong>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60627">60627</a>: Modify the <code>Rfc6265CookieProcessor</code> so that
+ in addition to cookie headers that start with an explicit RFC 2109
+ <code>$Version=1</code>, cookies that start with <code>$Version=0</code>
+ are also parsed as RFC 2109 cookies. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Include the value of <code>SslHostConfig.truststoreAlgorithm</code> when
+ warning that the algorithm does not support the
+ <code>certificateVerificationDepth</code> configuration option. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that executor thread pools used with connectors pre-start the
+ configured minimum number of idle threads. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60716">60716</a>: Add a new JSSE specific attribute,
+ <code>revocationEnabled</code>, to <code>SSLHostConfig</code> to permit
+ JSSE provider revocation checks to be enabled when no
+ <code>certificateRevocationListFile</code> has been configured. The
+ expectation is that configuration will be performed via a JSSE provider
+ specific mechanisms. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Modify the cookie header generated by the
+ <code>Rfc6265CookieProcessor</code> so it always sends an
+ <code>Expires</code> attribute as well as a <code>Max-Age</code>
+ attribute to avoid problems with Microsoft browsers that do not support
+ the <code>Max-Age</code> attribute. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60761">60761</a>: Expose a protected getter and setter for
+ <code>NioEndpoint.stopLatch</code> to make the class easier to extend.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent blocking reads after a stream exception occurs with HTTP/2.
+ (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Follow up to the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58178">58178</a>. When creating the
+ <code>ELContext</code> for a tag file, ensure that any registered
+ <code>ELContextListener</code>s are fired. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor code generated for JSPs to reduce the size of the code required
+ for tags. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the error handling for simple tags to ensure that the tag is
+ released and destroyed once used. (remm, violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60769">60769</a>: Correct a regression in the XML encoding detection
+ refactoring carried out for 9.0.0.M16 that incorrectly always used the
+ detected BOM encoding in preference to any encoding specified in the
+ prolog. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Cluster">Cluster</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make the <code>accessTimeout</code> configurable in
+ <code>BackupManager</code> and <code>ClusterSingleSignOn</code>. The
+ <code>accessTimeout</code> is used as a timeout period for PING in
+ replication map. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60806">60806</a>: To avoid <code>ClassNotFoundException</code>, make
+ sure that the web application class loader is passed to
+ <code>ReplicatedContext</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60617">60617</a>: Correctly create a <code>CONNECT</code> request when
+ establishing a WebSocket connection via a proxy. Patch provided by
+ Svetlin Zarev. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add log message that PING message has received beyond the timeout
+ period. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When a PING message that beyond the time-out period has been received,
+ make sure that valid member is added to the map membership. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>NoRpcChannelReply</code> messages are not received on
+ <code>RpcCallback</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Web_Applications">Web Applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add Specification and Javadoc references for JASPIC to the Docs
+ application. (csutherl)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M18_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Spelling corrections provided by Josh Soref. (violetagg)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove local definition of web service annotations since these are
+ provided by the JRE. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.12 to
+ pick up the latest Windows binaries built with OpenSSL 1.0.2k. (violetagg)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60784">60784</a>: Update all unit tests that test the HTTP status line
+ to check for the required space after the status code. Patch provided by
+ Michael Osipov. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M17_(markt)"><span style="float: right;">2017-01-16</span> Tomcat 9.0.0.M17 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60620">60620</a>:
+ Extend the <code>JreMemoryLeakPreventionListener</code> to provide
+ protection against <code>ForkJoinPool.commonPool()</code> related memory
+ leaks. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure UpgradeProcessor instances associated with closed connections are
+ removed from the map of current connections to Processors. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove a workaround for a problem previously reported with WebSocket,
+ TLS and APR that treated some error conditions as not errors. The
+ original problem cannot be reproduced with the current code and the
+ work-around is now causing problems. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60497">60497</a>: Follow up fix using a better variable name for the
+ tag reuse flag. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Revert use of try/finally for simple tags. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Prevent potential processing loop on unexpected WebSocket connection
+ closure. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Enable reset the statistics without restarting the pool. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M17_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the NSIS Installer used to build the Windows installer to version
+ 3.01. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Spelling corrections provided by Josh Soref. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M16_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M16 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=53602">53602</a>: Add HTTP status code 451 (RFC 7725) to the list of
+ HTTP status codes recognised by the ErrorReportValve. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60446">60446</a>: Handle the case where the stored user credential uses
+ a different key length than the length currently configured for the
+ <code>CredentialHandler</code>. Based on a patch by Niklas Holm. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the warnings that reference required options for running on Java
+ 9 to use the latest syntax for those options. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60513">60513</a>: Fix thread safety issue with RMI cleanup code. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Expand the search process for a server certificate when OpenSSL is used
+ with a JSSE connector and an explicit alias has not been configured.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Extract the common Acceptor code from each Endpoint into a new Acceptor
+ class that is used by all Endpoints. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60450">60450</a>: Improve the selection algorithm for the default trust
+ store type for a TLS Virtual Host. In particular, don't use
+ <code>PKCS12</code> as a default trust store type. Better document how
+ the default trust store type is selected for a TLS virtual host. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60451">60451</a>: Correctly handle HTTP/2 header values that contain
+ characters with unicode code points in the range 128 to 255. Reject
+ with a clear error message HTTP/2 header values that contain characters
+ with unicode code points above 255. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the logic that selects an address to use to unlock the Acceptor
+ to take account of platforms what do not listen on all local addresses
+ when configured with an address of <code>0.0.0.0</code> or
+ <code>::</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the refactoring to make wider use of
+ <code>ByteBuffer</code> that caused an intermittent failure in the unit
+ tests. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60482">60482</a>: HTTP/2 shouldn't do URL decoding on the query string.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix an HTTP/2 compression error. Once a new size has been agreed for the
+ dynamic HPACK table, the next header block must begin with a dynamic
+ table update. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60508">60508</a>: Set request start time for HTTP/2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ The default output buffer size for AJP connectors is now based on the
+ configured AJP packet size rather than the minimum permitted AJP packet
+ size. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Implement a simpler JSP file encoding detector that delegates XML prolog
+ encoding detection to the JRE rather than using a custom XML parser.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60497">60497</a>: Restore previous tag reuse behavior following the use
+ of try/finally. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the error handling for simple tags to ensure that the tag is
+ released and destroyed once used. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle blocking WebSocket writes when the write times out just
+ before the write is attempted. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/Web_Applications">Web Applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60344">60344</a>: Add a note to BUILDING.txt regarding using the source
+ bundle with the correct line endings. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60467">60467</a>: remove problematic characters from XML documentation.
+ Based upon a patch by Michael Osipov. (schultz)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ In the documentation web application, be explicit that clustering
+ requires a secure network for all of the cluster network traffic.
+ (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the ASF logos to the new versions.
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60468">60468</a>: Correct the format of the sample ISO-8601 date used
+ to report the build date for the documentation. Patch provided by
+ Michael Osipov. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M16_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the ASF logos used in the Apache Tomcat installer for Windows to
+ use the new versions.
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M15_(markt)"><span style="float: right;">2016-12-08</span> Tomcat 9.0.0.M15 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M15_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Increment version due a local build configuration error with 9.0.0.M14
+ that wasn't caught until after digital signing had been completed
+ Signing requires unique names so a new tag was required. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M14_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M14 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60202">60202</a>: Add an available flag to realms, to indicate the
+ state, or the realm backend. Update lockout realm to only register
+ auth failures if the realm is available. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60340">60340</a>: Readability improvements for CSS used in
+ DefaultServlet and ErrorReportValve. Patch provided by Michael
+ Osipov. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60351">60351</a>: Delay creating <code>META-INF/war-tracker</code> file
+ until after the WAR has been expanded to address the case where the
+ Tomcat process terminates during the expansion. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly generate URLs for resources located inside JARs that are
+ themselves located inside a packed WAR file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle the <code>configClass</code> attribute of a Host when
+ embedding Tomcat. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60368">60368</a>: Stop creating a default connector on start in
+ embedded mode. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60379">60379</a>: Dispose of the GSS credential once it is no longer
+ required. Patch provided by Michael Osipov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60380">60380</a>: Ensure that a call to
+ <code>HttpServletRequest#logout()</code> triggers a call to
+ <code>TomcatPrincipal#logout()</code>. Based on a patch by Michael
+ Osipov. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60381">60381</a>: Provide a standard <code>toString()</code>
+ implementation for components that implement <code>Contained</code>.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60387">60387</a>: Correct the javadoc for
+ <code>o.a.catalina.AccessLog.setRequestAttributesEnabled</code>.
+ The default value is different for the different implementations.
+ (violetagg)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60393">60393</a>: Use consistent parameter naming in implementations of
+ <code>Realm#authenticate(GSSContext, boolean)</code>. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the <code>org.apache.naming</code> package to reduce duplicate
+ code. Duplicate code identified by the Simian tool. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the implementations of
+ <code>HttpServletRequest#getRequestURL()</code> to reduce duplicate
+ code. Duplicate code identified by the Simian tool. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor Catalina interfaces to make wider use of the
+ <code>Contained</code> interface and reduce duplication. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the <code>getName()</code> method from <code>RealmBase</code>
+ along with the various constants used by the sub-classes to store the
+ return value. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60395">60395</a>: Log when an <code>Authenticator</code> passes an
+ incomplete <code>GSSContext</code> to a Realm since it indicates a bug
+ in the <code>Authenticator</code>. Patch provided by Michael Osipov.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60400">60400</a>: When expanding the buffer used for reading the
+ request body, ensure the read position will be restored to the
+ original one. (violetagg)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the MBean implementations for the internal Tomcat components
+ to reduce code duplication. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60410">60410</a>: Ensure that multiple calls to
+ <code>JarInputStreamWrapper#close()</code> do not incorrectly trigger
+ the closure of the underlying JAR or WAR file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60411">60411</a>: Implement support in the <code>RewriteValve</code> for
+ symbolic names to specify the redirect code to use when returning a
+ redirect response to the user agent. Patch provided by Michael Osipov.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60413">60413</a>: In the <code>RewriteValve</code> write empty capture
+ groups as the empty string rather than as <code>"null"</code>
+ when generating the re-written URL. Based on a patch by Michael Osipov.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60372">60372</a>: Ensure the response headers' buffer limit is reset to
+ the capacity of this buffer when IOException occurs while writing the
+ headers to the socket. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the availability of configured upgrade protocols that
+ require ALPN is correctly reported during Tomcat start. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60386">60386</a>: Implement a more sophisticated pruning algorithm for
+ removing closed streams from the priority tree to ensure that the tree
+ does not grow too large. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60409">60409</a>: When unable to complete sendfile request, ensure the
+ Processor will be added to the cache only once. (markt/violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the endpoint is able to unlock the acceptor thread during
+ shutdown if the endpoint is configured to listen to any local address
+ of a specific type such as <code>0.0.0.0</code> or <code>::</code>.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add a new configuration option, <code>ipv6v6only</code> to the APR
+ connectors that allows them to be configure to only accept IPv6
+ connections when configured with an IPv6 address rather than the
+ default which is to accept IPv4 connections as well if the operating
+ system uses a dual network stack. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the logic that unlocks the acceptor thread so a better choice is
+ made for the address to connect to when a connector is configured for
+ any local port. This reduces the likelihood of the unlock failing.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60436">60436</a>: Avoid a potential NPE when processing async timeouts.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Reduce the window in which an async request that has just started
+ processing on a container thread remains eligible for an async timeout.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60431">60431</a>: Improve handling of varargs in UEL expressions. Based
+ on a patch by Ben Wolfe. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a typo in Host Configuration Reference.
+ Issue reported via comments.apache.org. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60412">60412</a>: Add information on the comment syntax for the
+ <code>RewriteValve</code> configuration. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Reduce the warning logs for a message received from a different domain
+ in order to avoid excessive log outputs. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60437">60437</a>: Avoid possible handshake overflows in the websocket
+ client. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58816">58816</a>: Implement the statistics of jdbc-pool. The stats infos
+ are <code>borrowedCount</code>, <code>returnedCount</code>,
+ <code>createdCount</code>, <code>releasedCount</code>,
+ <code>reconnectedCount</code>, <code>releasedIdleCount</code> and
+ <code>removeAbandonedCount</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60194">60194</a>: If <code>validationQuery</code> is not specified,
+ connection validation is done by calling the <code>isValid()</code>
+ method. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60398">60398</a>: Fix testcase of <code>TestSlowQueryReport</code>.
+ (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M14_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Allow customization of service.bat, such as heap memory size, service
+ startup mode and JVM args. Patch provided by isapir via Github.
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60366">60366</a>: Change <code>catalina.bat</code> to use directly
+ <code>LOGGING_MANAGER</code> and <code>LOGGING_CONFIG</code> variables
+ in order to configure logging, instead of modifying
+ <code>JAVA_OPTS</code>. Patch provided by Petter Isberg. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60383">60383</a>: JASPIC API is added as a dependency to the
+ <code>org.apache.tomcat:tomcat-catalina</code> maven artifact.
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update the comments associated with the TLS Connector examples in
+ <code>server.xml</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ New property is added <code>test.verbose</code> in order to control
+ whether the output of the tests is displayed on the console or not.
+ Patch provided by Emmanuel Bourg. (violetagg)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ <code>TestOpenSSLCipherConfigurationParser.testSpecification</code>
+ - if there are test failures, provide more detailed information. Patch
+ provided by Emmanuel Bourg. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M13_(markt)"><span style="float: right;">2016-11-08</span> Tomcat 9.0.0.M13 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M13_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Check that threadPriority values used in AbstractProtocol are valid.
+ (fschumacher)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M12_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M12 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When creating a new Connector via JMX, ensure that both HTTP/1.1 and
+ AJP/1.3 connectors can be created. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Reduce multiple error messages when Connector fails to instantiate the
+ associated ProtocolHandler. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60152">60152</a>: Provide an option for Connector Lifecycle exceptions
+ to be re-thrown rather than logged. This is controlled by the new
+ <code>throwOnFailure</code> attribute of the Connector. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Include the Context name in the log message when an item cannot be
+ added to the cache. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Exclude JAR files in <code>/WEB-INF/lib</code> from the static resource
+ cache. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When calling <code>getResourceAsStream()</code> on a directory, ensure
+ that <code>null</code> is returned. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60161">60161</a>: Allow creating subcategories of the container logger,
+ and use it for the rewrite valve. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly test for control characters when reading the provided shutdown
+ password. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60297">60297</a>: Simplify connector creation in embedded mode. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor creation of containers in embedded mode for more consistency
+ and flexibility. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Log a warning if running on Java 9 with the ThreadLocal memory leak
+ detection enabled (the default) but without the command line option it
+ now requires. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When a Connector is configured to use an executor, ensure that the
+ StoreConfig component includes the executor name when writing the
+ Connector configuration. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When configuring the JMX remote listener, specify the allowed types for
+ the credentials. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the HPACK header table size configuration that transposed the
+ client and server table sizes when creating the encoder and decoder.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Review HTTP/2 implementation removing unused code, reducing visibility
+ where possible and using final where appropriate. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Don't continue to process an HTTP/2 stream if it is reset during header
+ parsing. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ HTTP/2 uses separate headers for each Cookie. As required by RFC 7540,
+ merge these into a single Cookie header before processing continues.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Align the HTTP/2 implementation with the HTTP/1.1 implementation and
+ return a 500 response when an unhandled exception occurs during request
+ processing. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the HTTP header parser so that DEL is not treated as a valid
+ token character. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add checks around the handling of HTTP/2 pseudo headers. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for trailer headers to the HTTP/2 implementation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60232">60232</a>: When processing headers for an HTTP/2 stream, ensure
+ that the read buffer is large enough for the header being processed.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add configuration options to the HTTP/2 implementation to control the
+ maximum number of headers allowed, the maximum size of headers allowed,
+ the maximum number of trailer headers allowed, the maximum size of
+ trailer headers allowed and the maximum number of cookies allowed.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly differentiate between sending and receiving a reset frame when
+ tracking the state of an HTTP/2 stream. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the undocumented support for using the old Connector attribute
+ names <code>backlog</code>, <code>soLinger</code> and
+ <code>soTimeout</code> that were renamed several major versions ago.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60319">60319</a>: When using an Executor, disconnect it from the
+ Connector attributes <code>maxThreads</code>,
+ <code>minSpareThreads</code> and <code>threadPriority</code> to enable
+ the configuration settings to be consistently reported. These Connector
+ attributes will be reported as <code>-1</code> when an Executor is in
+ use. The values used by the executor may be set and obtained via the
+ Executor. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If an I/O error occurs during async processing on a non-container
+ thread, ensure that the <code>onError()</code> event is triggered.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve detection of I/O errors during async processing on non-container
+ threads and trigger async error handling when they are detected. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add additional checks for valid characters to the HTTP request line
+ parsing so invalid request lines are rejected sooner. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update to the Eclipse JDT Compiler 4.6.1. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add HTTP/2 configuration information to the documentation web
+ application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix default value of <code>validationInterval</code> attribute in
+ jdbc-pool. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a typo in CGI How-To.
+ Issue reported via comments.apache.org. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When the proxy node sends a backup retrieve message, ensure that using
+ the <code>channelSendOptions</code> that has been set rather than the
+ default <code>channelSendOptions</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M12_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add the JASPIC API jar to the Maven Central publication script. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove classes from tomcat-util-scan.jar that are duplicates of those in
+ tomcat-util.jar. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Update the NSIS Installer used to build the Windows installer to version
+ 3.0. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M11_(markt)"><span style="float: right;">2016-10-10</span> Tomcat 9.0.0.M11 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59961">59961</a>: Add an option to the <code>StandardJarScanner</code>
+ to control whether or not JAR Manifests are scanned for additional
+ class path entries. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60013">60013</a>: Refactor the previous fix to align the behaviour of
+ the Rewrite Valve with mod_rewrite. As part of this, provide an
+ implementation for the <code>B</code> and <code>NE</code> flags and
+ improve the handling for the <code>QSA</code> flag. Includes multiple
+ test cases by Santhana Preethiand a patch by Tiago Oliveira. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60087">60087</a>: Refactor the web resources handling to use the Tomcat
+ specific <code>war:file:...</code> URL protocol to refer to WAR files
+ and their contents rather than the standard <code>jar:file:...</code>
+ form since some components of the JRE, such as JAR verification, give
+ unexpected results when the standard form is used. A side-effect of the
+ refactoring is that when using packed WARs, it is now possible to
+ reference a WAR and/or specific JARs within a WAR in the security policy
+ file used when running under a <code>SecurityManager</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60116">60116</a>: Fix a problem with the rewrite valve that caused back
+ references evaluated in conditions to be forced to lower case when using
+ the <code>NC</code> flag. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure <code>Digester.useContextClassLoader</code> is considered in
+ case the class loader is used. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60117">60117</a>: Ensure that the name of <code>LogLevel</code> is
+ localized when using <code>OneLineFormatter</code>. Patch provided by
+ Tatsuya Bessho. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60138">60138</a>: Fix the <code>SSLHostConfig</code> so that the
+ <code>protocols</code> attribute is limited to the protocols supported
+ by the current JSSE implementation rather than the default protocols
+ used by the implementation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60146">60146</a>: Improve performance for resource retrieval by making
+ calls to WebResource.getInputStream() trigger caching if the resource is
+ small enough. Patch provided by mohitchugh. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60151">60151</a>: Improve the exception error messages when a
+ <code>ResourceLink</code> fails to specify the type, specifies an
+ unknown type or specifies the wrong type. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60167">60167</a>: Ignore empty lines in <code>/etc/passwd</code> files
+ when using the <code>PasswdUserDatabase</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60170">60170</a>: Exclude the compressed test file
+ <code>index.html.br</code> from RAT analysis. Patch provided by Gavin
+ McDonald. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When starting web resources, ensure that class resources are only
+ started once. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the access checks for linked global resources to handle the case
+ where the current class loader is a child of the web application class
+ loader. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60196">60196</a>: Ensure that the <code>isMandatory</code> flag is
+ correctly set when using JASPIC authentication. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60199">60199</a>: Log a warning if deserialization issues prevent a
+ session attribute from being loaded. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60208">60208</a>: When using RFC6265 compliant cookies, the
+ <code>/</code> character should not be allowed in a cookie name since
+ the RFC6265 will drop such cookies as invalid. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Introduce new methods <code>read(ByteBuffer)</code>/
+ <code>write(ByteBuffer)</code> in
+ <code>o.a.catalina.connector.CoyoteInputStream</code>/
+ <code>o.a.catalina.connector.CoyoteOutputStream</code>. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Refactor the code that implements the requirement that a call to
+ <code>complete()</code> or <code>dispatch()</code> made from a
+ non-container thread before the container initiated thread that called
+ <code>startAsync()</code> completes must be delayed until the container
+ initiated thread has completed. Rather than implementing this by
+ blocking the non-container thread, extend the internal state machine to
+ track this. This removes the possibility that blocking the non-container
+ thread could trigger a deadlock. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fail earlier if the client closes the connection during SNI processing.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60123">60123</a>: Avoid potential threading issues that could cause
+ excessively large values to be returned for the processing time of
+ a current request. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60174">60174</a>: Log instances of <code>HeadersTooLargeException</code>
+ during request processing. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60173">60173</a>: Allow up to 64kB HTTP/2 header table size limit. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Java 9 compatibility of direct ByteBuffer cleaner. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60101">60101</a>: Remove preloading of the class that was deleted.
+ (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Expand the documentation for the nested elements within a
+ <code>Resources</code> element to clarify the behaviour of different
+ configuration options with respect to the order in which resources are
+ searched. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add an example of using the <code>classesToInitialize</code> attribute
+ of the <code>JreMemoryLeakPreventionListener</code> to the documentation
+ web application. Based on a patch by Cris Berneburg. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60192">60192</a>: Correct a typo in the status output of the Manager
+ application. Patch provided by Radhakrishna Pemmasani. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Notify jmx when returning the connection that has been marked suspect.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the <code>POOL_EMPTY</code> notification has been added to
+ the jmx notification types. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60099">60099</a>: Ensure that use all method arguments as a cache key
+ when using <code>StatementCache</code>. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M11_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update the download location for Objenesis. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60164">60164</a>: Replace <code>log4j-core*.jar</code> with
+ <code>log4j-web*.jar</code> since it is <code>log4j-web*.jar</code> that
+ contains the <code>ServletContainerInitializer</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add documentation to the bin/catalina.bat script to remind users that
+ environment variables don't affect the configuration of Tomcat when
+ run as a Windows Service. Based upon a documentation patch by
+ James H.H. Lampert. (schultz)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.10 to
+ pick up the latest Windows binaries built with OpenSSL 1.0.2j. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M10_(markt)"><span style="float: right;">2016-09-05</span> Tomcat 9.0.0.M10 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59813">59813</a>: Ensure that circular relations of the Class-Path
+ attribute from JAR manifests will be processed correctly. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that reading the <code>singleThreadModel</code> attribute of a
+ <code>StandardWrapper</code> via JMX does not trigger initialisation of
+ the associated servlet. With some frameworks this can trigger an
+ unexpected initialisation thread and if initialisation is not thread-safe
+ the initialisation can then fail. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Compatibility with rewrite from httpd for non existing headers.
+ (jfclere)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ By default, treat paths used to obtain a request dispatcher as encoded.
+ This behaviour can be changed per web application via the
+ <code>dispatchersUseEncodedPaths</code> attribute of the Context.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Provide a mechanism that enables the container to check if a component
+ (typically a web application) has been granted a given permission when
+ running under a SecurityManager without the current execution stack
+ having to have passed through the component. Use this new mechanism to
+ extend SecurityManager protection to the system property replacement
+ feature of the digester. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When retrieving an object via a <code>ResourceLink</code>, ensure that
+ the object obtained is of the expected type. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59823">59823</a>: Ensure that JASPIC configuration is taken into account
+ when calling <code>HttpServletRequest.authenticate()</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59824">59824</a>: Mark the <code>RewriteValve</code> as supporting async
+ processing by default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59839">59839</a>: Apply <code>roleSearchAsUser</code> to all nested
+ searches in JNDIRealm. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59859">59859</a>: Fix resource leak in WebDAV servlet. Based on patch by
+ Coty Sutherland. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59862">59862</a>: Allow nested jar files scanning to be filtered with
+ the system property
+ <code>tomcat.util.scan.StandardJarScanFilter.jarsToSkip</code>. Patch
+ is provided by Terence Bandoian. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59866">59866</a>: When scanning <code>WEB-INF/classes</code> for
+ annotations, don't scan the contents of
+ <code>WEB-INF/classes/META-INF</code> (if present) since classes will
+ never be loaded from that location. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59888">59888</a>: Correctly handle tabs and spaces in quoted version one
+ cookies when using the <code>Rfc6265CookieProcessor</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ A number of the JRE memory leaks addressed by the
+ <code>JreMemoryLeakPreventionListener</code> have been fixed in Java 9
+ so the associated protection is now disabled when running on Java 9
+ onwards. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59912">59912</a>: Fix an edge case in input stream handling where an
+ <code>IOException</code> could be thrown when reading a POST body.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59913">59913</a>: Correct a regression introduced with the support for
+ the Servlet 4 <code>HttpServletRequest.getMapping()</code> API that
+ caused the attributes for forwarded requests to be lost if requested
+ from within a subsequent include. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59966">59966</a>: Do not start the web application if the error page
+ configuration in web.xml is invalid. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Switch the CGI servlet to the standard logging mechanism and remove
+ support for the debug attribute. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60012">60012</a>: Improvements in the log messages. Based on
+ suggestions by Nemo Chen. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Changes to the <code>allowLinking</code> attribute of a
+ <code>StandardRoot</code> instance now invalidate the cache if caching
+ is enabled. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add a new initialisation parameter, <code>envHttpHeaders</code>, to
+ the CGI Servlet to mitigate <a href="https://httpoxy.org">httpoxy</a>
+ (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-5388">CVE-2016-5388</a>) by default and to provide a mechanism that can be
+ used to mitigate any future, similar issues. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When adding and removing <code>ResourceLink</code>s dynamically, ensure
+ that the global resource is only visible via the
+ <code>ResourceLinkFactory</code> when it is meant to be. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60008">60008</a>: When processing CORs requests, treat any origin with a
+ URI scheme of <code>file</code> as a valid origin. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve handling of exceptions during a Lifecycle events triggered by a
+ state transition. The exception is now caught and the component is now
+ placed into the <code>FAILED</code> state. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60013">60013</a>: Fix encoding issues when using the RewriteValve with
+ UTF-8 query strings or UTF-8 redirect URLs. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60022">60022</a>: Improve handling when a WAR file and/or the associated
+ exploded directory are symlinked into the <code>appBase</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a file descriptor leak when reading the global web.xml. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Consistently decode URL patterns provided via web.xml using the encoding
+ of the web.xml file where specified or UTF-8 where no explicit encoding
+ is specified. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make timing attacks against the Realm implementations harder. (schultz)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in refactoring to enable injection of custom
+ keystores that broke the automatic conversion of OpenSSL style PEM
+ key and certificate files for use with JSSE TLS connectors. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59910">59910</a>: Don't hardcode key alias value to "tomcat" for JSSE.
+ When using a keystore, OpenSSL will still default to it. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59904">59904</a>: Add a limit (default 200) for the number of cookies
+ allowed per request. Based on a patch by gehui. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59925">59925</a>: Correct regression in r1628368 and ensure that HTTP
+ separators are handled as configured in the
+ <code>LegacyCookieProcessor</code>. Patch provided by Kyohei Nakamura.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59950">59950</a>: Correct log message when reporting that the current
+ number of HTTP/2 streams for a connection could not be pruned to below
+ the limit. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>Semaphore.release</code> is called in all cases. Even
+ when there is an exception. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60030">60030</a>: Correct a potential infinite loop in the SNI parsing
+ code triggered by failing to handle an end of stream condition. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the JSSE client certificate validation so that the
+ effectiveness of the <code>certificateVerificationDepth</code>
+ configuration attribute does not depend on the presence of a certificate
+ revocation list. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Small logging optimization in the <code>Rfc6265CookieProcessor</code>.
+ Patch provided by Svetlin Zarev. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ OpenSSL now disables 3DES by default so reflect this when using OpenSSL
+ syntax to select ciphers. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use the proper ERROR socket status code for async errors with NIO2.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60035">60035</a>: Fix a potential connection leak if the client drops a
+ TLS connection before the handshake completes. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Log a warning at start up if a JSSE TLS connector is configured with
+ a trusted certificate that is either not yet valid or has expired.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When writing out a full web.xml file with JspC ensure that the encoding
+ used in the XML prolog matches the encoding used to write the contents
+ of the file. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve the error handling for custom tags to ensure that the tag is
+ returned to the pool or released and destroyed once used. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60032">60032</a>: Fix handling of method calls that use varargs within
+ EL value expressions. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ignore <code>engineOptionsClass</code> and <code>scratchdir</code> when
+ running under a security manager. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed StringIndexOutOfBoundsException. Based on a patch provided by
+ wuwen via Github. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59908">59908</a>: Ensure that a reason phrase is included in the close
+ message if a session is closed due to a timeout. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59867">59867</a>: Correct the documentation provided by Manager's
+ 403.jsp. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59868">59868</a>: Clarify the documentation for the Manager web
+ application to make clearer that the host name and IP address in the
+ server section are the primary host name and IP address. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59940">59940</a>: Correct the name of the
+ <code>truststorePassword</code> attribute of the
+ <code>SSLHostConfig</code> element in the configuration documentation.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ MBeans Descriptors How-To is moved to
+ <code>mbeans-descriptors-howto.html</code>. Patch provided by Radoslav
+ Husar. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update NIO Connector configuration documentation with an information
+ about <code>socket.directSslBuffer</code>. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60034">60034</a>: Correct a typo in the Manager How-To page of the
+ documentation web application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the name of the CRL location configuration attributes in the
+ documentation web application. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ In order to avoid the unintended skip of <code>PoolCleaner</code>,
+ remove the check code of the execution interval in the task that has
+ been scheduled. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59850">59850</a>: Ensure that the <code>ResultSet</code> is closed when
+ enabling the <code>StatementCache</code> interceptor. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59923">59923</a>: Reduce the default value of
+ <code>validationInterval</code> in order to avoid the potential issue
+ that continues to return an invalid connection after database restart.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the <code>ResultSet</code> is returned as Proxy object when
+ enabling the <code>StatementDecoratorInterceptor</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=60043">60043</a>: Ensure that the <code>suspectTimeout</code> works
+ without removing connection when the <code>removeAbandoned</code> is
+ disabled. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add log message of when returning the connection that has been marked
+ suspect. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct Javadoc for <code>ConnectionPool.suspect()</code>. Based on a
+ patch by Yahya Cahyadi. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M10_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59871">59871</a>: Add a property (<code>timeFormat</code>) to
+ JULI's <code>OneLineFormatter</code> to enable the format of the
+ time stamp used in log messages to be configured. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59899">59899</a>: Update Tomcat's copy of the Java Persistence
+ annotations to include the changes made in 2.1 / JavaEE 7. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed typos in mbeans-descriptors.xml files. (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons BCEL to r1757132 to align with the
+ BCEL 6 release. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons DBCP2 to r1757164 to pick up a
+ couple of bug fixes. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Codec to r1757174. Code formatting
+ changes only. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons FileUpload to afdedc9. This pulls in
+ a fix to improve the performance with large multipart boundaries.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M9_(markt)"><span style="float: right;">2016-07-12</span> Tomcat 9.0.0.M9 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=18500">18500</a>: Add limited support for wildcard host names and host
+ aliases. Names of the form <code>*.domainname</code> are now permitted.
+ Note that an exact host name match takes precedence over a wild card
+ host name match. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57705">57705</a>: Add debug logging for requests denied by the remote
+ host and remote address valves and filters. Based on a patch by Graham
+ Leggett. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58588">58588</a> that removed the
+ entire <code>org.apache.juli</code> package from the embedded JARs
+ rendering them unusable. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59399">59399</a>: Add a new option to the Realm implementations that
+ ship with Tomcat that allows the HTTP status code used for HTTP -> HTTPS
+ redirects to be controlled per Realm. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59708">59708</a>: Modify the LockOutRealm logic. Valid authentication
+ attempts during the lock out period will no longer reset the lock out
+ timer to zero. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Change the default of the
+ <code>sessionCookiePathUsesTrailingSlash</code> attribute of the
+ <code>Context</code> element to <code>false</code> since the problems
+ caused when a Servlet is mapped to <code>/*</code> are more significant
+ than the security risk of not enabling this option by default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Follow-up to <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59655">59655</a>. Improve the documentation for configuring
+ permitted cookie names. Patch provided by Kyohei Nakamura. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not attempt to start web resources during a web application's
+ initialisation phase since the web application is not fully configured
+ at that point and the web resources may not be correctly configured.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve error handling around user code prior to calling
+ <code>InstanceManager.destroy()</code> to ensure that the method is
+ executed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a cause of multiple attempts to close the same socket. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor the certificate keystore and trust store generation to make it
+ easier for embedded users to inject their own key stores. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Add a <code>maxConcurrentStreamExecution</code> on the HTTP/2
+ protocol handler to allow restricting the amount of concurrent stream
+ that are being executed in a single connection. The default is to
+ not limit it. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59233">59233</a>: Add the ability to add TLS virtual hosts dynamically.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a problem with <code>ServletRequest.getServerPort()</code> for
+ secure HTTP/2 connections that meant an incorrect value was returned when
+ using the default port. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve error handling around user code prior to calling
+ <code>InstanceManager.destroy()</code> to ensure that the method is
+ executed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve error handling around user code prior to calling
+ <code>InstanceManager.destroy()</code> to ensure that the method is
+ executed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Now the WebSocket implementation is not built directly on top of the
+ Servlet API and can use Tomcat internals, there is no need for the
+ dedicated WebSocket Executor. It has been replaced by the use of the
+ Connector/Endpoint provided Executor. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve error handling around user code prior to calling
+ <code>InstanceManager.destroy()</code> to ensure that the method is
+ executed. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Web_Applications">Web Applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not log an additional case of <code>IOException</code>s in the
+ error handler for the Drawboard WebSocket example when the root cause is
+ the client disconnecting since the logs add no value. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59642">59642</a>: Mention the <code>localDataSource</code> in the
+ <code>DataSourceRealm</code> section of the Realm How-To. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59672">59672</a>: Update the security considerations page of the
+ documentation web application to take account of the fact that the
+ Manager and HostManager applications now have a
+ <code>RemoteAddrValve</code> configured by default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Follow-up to the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59399">59399</a>. Ensure that the new attribute
+ <code>transportGuaranteeRedirectStatus</code> is documented for all
+ <strong>Realm</strong>s. Also document the <code>NullRealm</code> and
+ when it is automatically created for an <strong>Engine</strong>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix the description of <code>maxAge</code> attribute in jdbc-pool doc.
+ This attribute works both when a connection is returned and when a
+ connection is borrowed. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59774">59774</a>: Correct the <code>prefix</code> values in the
+ documented examples for configuring the <code>AccessLogValve</code>.
+ Patch provided by Mike Noordermeer. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add log message when the ping has timed-out. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If the ping message has been received at the
+ <code>AbstractReplicatedMap#leftOver</code> method, ensure that notify
+ the member is alive than ignore it. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix the duplicated connection release when connection verification
+ failed. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that do not remove the abandoned connection that has been already
+ released. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M9_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove JULI plus log4j extras and embedded artifacts from Maven release
+ script. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Use the mirror network rather than the ASF master site to download the
+ current ASF dependencies. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.8 to
+ pick up the latest fixes and make 1.2.8 the minimum recommended version.
+ (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M8_(markt)"><span style="float: right;">2016-06-13</span> Tomcat 9.0.0.M8 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M8_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove accidentally committed debug code. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M7_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M7 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ RMI Target related memory leaks are avoidable which makes them an
+ application bug that needs to be fixed rather than a JRE bug to work
+ around. Therefore, start logging RMI Target related memory leaks on web
+ application stop. Add an option that controls if the check for these
+ leaks is made. Log a warning if running on Java 9 with this check
+ enabled but without the command line option it requires. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure NPE will not be thrown during deployment when scanning jar files
+ without MANIFEST.MF file. (violetagg)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the <code>clearReferencesStatic</code> option from
+ <code>StandardContext</code>. It was known to cause problems with some
+ libraries (such as log4j) and was only linked to suspected memory leaks
+ rather than known memory leaks. It had been disabled by default with no
+ increase in the reports of memory leaks for some time. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59604">59604</a>: Correct the assumption made in the URL decoding that
+ the default platform encoding is always compatible with ISO-8859-1. This
+ assumption is not always valid, e.g. on z/OS. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59608">59608</a>: Skip over any invalid <code>Class-Path</code> attribute
+ from JAR manifests. Log errors at debug level due to many bad libraries.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix error message when failed to register MBean. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59655">59655</a>: Configure the cookie name validation to use RFC6265
+ rules by default to align it with the default cookie parser. Document
+ the impact system properties have on cookie name validation. (mark)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that requests with HTTP method names that are not tokens (as
+ required by RFC 7231) are rejected with a 400 response. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When an asynchronous request is processed by the AJP connector, ensure
+ that request processing has fully completed before starting the next
+ request. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve handling of HTTP/2 stream resets. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58750">58750</a>: The HTTP Server header is no longer set by default. A
+ Server header may be configured by setting the <code>server</code>
+ attribute on the <code>Connector</code>. A new <code>Connector</code>
+ attribute, <code>serverRemoveAppProvidedValues</code> may be used to
+ remove any Server header set by a web application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59564">59564</a>: Correct offset when reading into HTTP/2 input buffer
+ that could cause problems reading request bodies. (violetagg/markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Modify the handling of read/write timeouts so that the appropriate error
+ handling (<code>ReadListener.onError()</code>,
+ <code>WriteListener.onError()</code> or
+ <code>AsyncListener.onError()</code>) is called. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If an async dispatch results in the completion of request processing,
+ ensure that any remaining request body is swallowed before starting the
+ processing of the next request else the remaining body may be read as the
+ start of the next request leading to a 400 response. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59567">59567</a>: Fix NPE scanning webapps for TLDs when an exploded
+ JAR has an empty WEB-INF/classes/META-INF folder. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a memory leak in the expression language implementation that caused
+ the class loader of the first web application to use expressions to be
+ pinned in memory. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59654">59654</a>: Improve error message when attempting to use a TLD
+ file from an invalid location. Patch provided by Huxing Zhang. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59659">59659</a>: Fix possible memory leak in WebSocket handling of
+ unexpected client disconnects. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58891">58891</a>: Update the SSL how-to. Based on a suggestion by
+ Alexander Kjäll. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Extras">Extras</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58588">58588</a>: Remove the JULI extras package from the distribution.
+ It was only useful for switching Tomcat's internal logging to log4j
+ 1.2.x and that version of log4j is no longer supported. No additional
+ Tomcat code is required if switching Tomcat's internal logging to log
+ via log4j 2.x. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a memory leak with the pool cleaner thread that retained a reference
+ to the web application class loader for the first web application to use
+ a connection pool. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M7_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons DBCP 2 to r1743696 (2.1.1 plus
+ additional fixes). (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Pool 2 to r1743697 (2.4.2 plus
+ additional fixes). (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons File Upload to r1743698 (1.3.1 plus
+ additional fixes). (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Use UTF-8 with a standard prolog for all XML files. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58626">58626</a>: Add support for a new environment variable
+ (<code>USE_NOHUP</code>) that causes <code>nohup</code> to be used when
+ starting Tomcat. It is disabled by default except on HP-UX where it is
+ enabled by default since it is required when starting Tomcat at boot on
+ HP-UX. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M6_(markt)"><span style="float: right;">2016-05-16</span> Tomcat 9.0.0.M6 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M6_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that annotated web components packed in web fragments will be
+ processed when <code>unpackWARs</code> is enabled. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M5_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M5 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=48922">48922</a>: Apply a very small performance improvement to the
+ date formatting in Tomcat's internal request object. Based on a patch
+ provided by Ondrej Medek. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59206">59206</a>: Ensure NPE will not be thrown by
+ <code>o.a.tomcat.util.file.ConfigFileLoader</code> when
+ <code>catalina.base</code> is not specified. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59217">59217</a>: Remove duplication in the recycling of the path in
+ <code>o.a.tomcat.util.http.ServerCookie</code>. Patch is provided by
+ Kyohei Nakamura. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed possible NPE in
+ <code>o.a.catalina.loader.WebappClassLoaderBase.getResourceAsStream</code>
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59213">59213</a>: Async dispatches should be based off a wrapped
+ request. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>javax.servlet.ServletRequest</code> and
+ <code>javax.servlet.ServletResponse</code> provided during
+ <code>javax.servlet.AsyncListener</code> registration are made
+ available via <code>javax.servlet.AsyncEvent.getSuppliedRequest</code>
+ and <code>javax.servlet.AsyncEvent.getSuppliedResponse</code>
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59219">59219</a>: Ensure <code>AsyncListener.onError()</code> is called
+ if an <code>Exception</code> is thrown during async processing. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59220">59220</a>: Ensure that <code>AsyncListener.onComplete()</code> is
+ called if the async request times out and the response is already
+ committed. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59226">59226</a>: Process the <code>Class-Path</code> attribute from
+ JAR manifests for JARs on the class path excluding JARs packaged in
+ <code>WEB-INF/lib</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59255">59255</a>: Fix possible NPE in mapper. (kkolinko/remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59256">59256</a>: <code>slf4j-taglib*.jar</code> should not be excluded
+ from the standard JAR scanning by default. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Clarify the log message that specifying both urlPatterns and value
+ attributes in @WebServlet and @WebFilter annotations is not allowed.
+ (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure the exceptions caused by Valves will be available in the log
+ files so that they can be evaluated when
+ <code>o.a.catalina.valves.ErrorReportValve.showReport</code> is
+ disabled. Patch is provided by Svetlin Zarev. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove unused <code>distributable</code> attribute that is defined as
+ <code>TransientAttribute</code> of <code>Manager</code> in StoreConfig.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix handling of Cluster Receiver in StoreConfig. The <code>bind</code>
+ and <code>host</code> attributes define as
+ <code>TransientAttribute</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59261">59261</a>: <code>ServletRequest.getAsyncContext()</code> now
+ throws an <code>IllegalStateException</code> as required by the Servlet
+ specification if the request is not in asynchronous mode when called.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59269">59269</a>: Correct the implementation of
+ <code>PersistentManagerBase</code> so that <code>minIdleSwap</code>
+ functions as designed and sessions are swapped out to keep the active
+ session count below <code>maxActiveSessions</code>. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the implementation of the proposed Servlet 4.0 API to provide
+ mapping type information for the current request to reflect discussions
+ within the EG. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly configure the base path for a resources directory provided by
+ an expanded JAR file. Patch provided by hengyunabc. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ When multiple compressed formats are available and the client does not
+ express a preference, use the server order to determine the preferred
+ format. Based on a patch by gmokki. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59284">59284</a>: Allow the Tomcat provided JASPIC
+ <code>SimpleServerAuthConfig</code> to pick up module configuration
+ properties from either the property set passed to its constructor or
+ from the properties passed in the call to <code>getAuthContext</code>.
+ Based on a patch by Thomas Maslen. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59310">59310</a>: Do not add a <code>Content-Length: 0</code> header for
+ custom responses to <code>HEAD</code> requests that do not set a
+ <code>Content-Length</code> value. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When normalizing paths, improve the handling when paths end with
+ <code>/.</code> or <code>/..</code> and ensure that input and output are
+ consistent with respect to whether or not they end with <code>/</code>.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59317">59317</a>: Ensure that
+ <code>HttpServletRequest.getRequestURI()</code> returns an encoded URI
+ rather than a decoded URI after a dispatch. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use the correct URL for the fragment when reporting errors processing
+ a <code>web-fragment.xml</code> file from a JAR located in an unpacked
+ WAR. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>JarScanner</code> only uses the explicit call-back to
+ process <code>WEB-INF/classes</code> and only when configured to treat
+ the contents of <code>WEB-INF/classes</code> as a possible exploded JAR.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the <code>java2DDisposerProtection</code> option from the
+ <code>JreMemoryLeakPreventionListener</code>. The leak is fixed in Java
+ 7 onwards and Tomcat 9 requires Java 8 so the option is unnecessary.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the <code>securityPolicyProtection</code> option from the
+ <code>JreMemoryLeakPreventionListener</code>. The leak is fixed in Java
+ 8 onwards and Tomcat 9 requires Java 8 so the option is unnecessary.
+ (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove the <code>securityLoginConfigurationProtection</code> option from
+ the <code>JreMemoryLeakPreventionListener</code>. The leak is fixed in
+ Java 8 onwards and Tomcat 9 requires Java 8 so the option is
+ unnecessary. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the value for the header <code>X-Frame-Options</code> is
+ constructed correctly according to the specification when
+ <code>ALLOW-FROM</code> option is used. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix an <code>IllegalArgumentException</code> if the first use of an
+ internal <code>Response</code> object requires JASPIC authentication.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Do not trigger unnecessary session ID changes when using JASPIC and the
+ user is authenticated using cached credentials. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59437">59437</a>: Ensure that the JASPIC <code>CallbackHandler</code> is
+ thread-safe. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59449">59449</a>: In <code>ContainerBase</code>, ensure that the process
+ to remove a child container is the reverse of the process to add one.
+ Patch provided by Huxing Zhang. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improves OpenSSL engine robustness when SSL allocation fails for
+ some reason. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ OpenSSL engine code cleanups. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Align cipher configuration parsing with current OpenSSL master. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Change the default for <code>honorCipherOrder</code> to
+ <code>false</code>. With the current default TLS configuration, it is no
+ longer necessary for this to be <code>true</code> for a reasonably
+ secure configuration. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add a new environment variable <code>JSSE_OPTS</code> that is intended
+ to be used to pass JVM wide configuration to the JSSE implementation.
+ The default value is <code>-Djdk.tls.ephemeralDHKeySize=2048</code>
+ which protects against weak Diffie-Hellman keys. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58970">58970</a>: Fix a connection counting bug in the NIO connector
+ that meant some dropped connections were not removed from the current
+ connection count. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59289">59289</a>: Do not recycle upgrade processors in unexpected close
+ situations. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59295">59295</a>: Use <code>Locale.toLanguageTag()</code> to construct
+ the <code>Content-Language</code> HTTP header to ensure the locale is
+ correctly represented. Patch provided by zikfat. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59295">59295</a>: Add support for using pem encoded certificates with
+ JSSE SSL. Submitted by Emmanuel Bourg with additional tweaks. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make the TLS certificate chain available to clients when using
+ JSSE+OpenSSL with the certificate chain stored in a Java KeyStore.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Work around <a href="https://github.com/openssl/openssl/issues/188">a
+ known issue in OpenSSL</a> that does not permit the TLS handshake to be
+ failed if the ALPN negotiation fails. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59421">59421</a>: Add direct HTTP/2 connection support. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle a call to <code>AsyncContext.complete()</code> from a
+ non-container thread when non-blocking I/O is being used. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59451">59451</a>: Correct Javadoc for <code>MessageBytes</code>. Patch
+ provided by Kyohei Nakamura. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59450">59450</a>: Correctly handle the case where the
+ <code>LegacyCookieProcessor</code> is configured with
+ <code>allowHttpSepsInV0</code> set to <code>false</code> and
+ <code>forwardSlashIsSeparator</code> set to <code>true</code>. Patch
+ provided by Kyohei Nakamura. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When scanning JARs for TLDs, correctly handle the (rare) case where a
+ JAR has been exploded into <code>WEB-INF/classes</code> and the web
+ application is deployed as a packed WAR. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59640">59640</a>: NPEs with not found TLDs. (remm)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59189">59189</a>: Explicitly release the native memory held by the
+ <code>Inflater</code> and <code>Deflater</code> when using
+ PerMessageDeflate and the WebSocket session ends. Based on a patch by
+ Henrik Olsson. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Restore the <code>WsServerContainer.doUpgrade()</code> method which was
+ accidentally removed since it is not used by Tomcat. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a regression caused by the connector refactoring and ensure that the
+ thread context class loader is set to the web application
+ classloader when processing WebSocket messages on the server. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that a client disconnection triggers the error handling for the
+ associated WebSocket end point. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make WebSocket client more robust when handling errors during the close
+ of a WebSocket session. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59218">59218</a>: Correct the path to <code>jaspic-providers.xml</code>
+ in Jaspic How-To. Patch is provided by Tatsuya Bessho. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Remove button that has accidentally been added to the host manager.
+ Submitted by Coty Sutherland. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Update in the documentation the link to the maven repository where
+ Tomcat snapshot artifacts are deployed. (markt/violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Clarify in the documentation that calls to
+ <code>ServletContext.log(String, Throwable)</code> or
+ <code>GenericServlet.log(String, Throwable)</code> are logged at the
+ SEVERE level. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a typo in SSL/TLS Configuration How-To.
+ Issue reported via comments.apache.org. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Avoid NPE when a proxy node failed to retrieve a backup entry. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add the flag indicating that member is a localMember. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix potential NPE that depends on the setting order of attributes of
+ static member when using the static cluster. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add get/set method for the channel that is related to
+ <code>ChannelInterceptor</code>. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ As with the multicast cluster environment, in the static cluster
+ environment, the local member inherits properties from the cluster
+ receiver. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add get/set method for the channel that is related to each Channel
+ services. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add name to channel in order to identify channels. In tomcat cluster
+ environment, it is set the cluster name + "-Channel" as default value.
+ (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add the channel name to the thread which is invoked by channel services
+ in order to identify the associated channel. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that clear the channel instance from channel services when
+ stopping channel. (kfujino)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Implement map state in the replication map. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the ping is not executed during the start/stop of the
+ replication map. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ In ping processing in the replication map, send not the
+ <code>INIT</code> message but the newly introduced <code>PING</code>
+ message. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M5_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59211">59211</a>: Add hamcrest to Eclipse classpath. Patch is provided
+ by Huxing Zhang. (violetagg)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59276">59276</a>: Update optional Checkstyle library to 6.17.
+ (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59280">59280</a>: Update the NSIS Installer used to build the
+ Windows Installers to version 2.51. (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.7 to
+ pick up the Windows binaries that are based on OpenSSL 1.0.2h and APR
+ 1.5.2. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M4_(markt)"><span style="float: right;">2016-03-16</span> Tomcat 9.0.0.M4 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that <code>/WEB-INF/classes</code> is never processed as a web
+ fragment. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Switch default connector when native is installed. Unless configured
+ otherwise, the NIO endpoint will be used by default. If SSL is
+ configured, OpenSSL will be used rather than JSSE. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58867">58867</a>. When configuring a
+ Context to use an external directory for the <code>docBase</code>, and
+ that directory happens to be located along side the original WAR, use
+ the directory as the <code>docBase</code> rather than expanding the
+ WAR into the <code>appBase</code> and using the newly created expanded
+ directory as the <code>docBase</code>. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58351">58351</a>: Make the server build date and server version number
+ accessible via JMX. Patch provided by Huxing Zhang. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58988">58988</a>: Special characters in the substitutions for the
+ RewriteValve can now be quoted with a backslash. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58999">58999</a>: Fix class and resource name filtering in
+ WebappClassLoader. It throws a StringIndexOutOfBoundsException if the
+ name is exactly "org" or "javax". (rjung)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add JASPIC (JSR-196) support. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make checking for var and map replacement in RewriteValve a bit stricter
+ and correct detection of colon in var replacement. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the web application class loader to reduce the impact of JAR
+ scanning on the memory footprint of the web application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix some resource leaks in the error handling for accessing files from
+ JARs and WARs. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the JAR and JAR-in-WAR resource handling to reduce the memory
+ footprint of the web application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor the web.xml parsing so a new parser is created every time the
+ web application starts rather than creating and caching the parser when
+ the Context is created. This enables the parser to take account of
+ modified Context configuration parameters and reduces (slightly) the
+ memory footprint of a running Tomcat instance. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Switch the web application class loader to the
+ <code>ParallelWebappClassLoader</code> by default. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57809">57809</a>: Remove the custom context attribute that held the
+ effective web.xml. Components needing access to configuration
+ information may access it via the Servlet API. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Refactor JAR scanning to reduce memory footprint. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59001">59001</a>: Correctly handle the case when Tomcat is installed on
+ a path where one of the segments ends in an exclamation mark. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Expand the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59001">59001</a> to cover the special sequences used
+ in Tomcat's custom jar:war: URLs. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59043">59043</a>: Avoid warning while expiring sessions associated with
+ a single sign on if <code>HttpServletRequest.logout()</code> is used.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59054">59054</a>: Ensure that using the
+ <code>CrawlerSessionManagerValve</code> in a distributed environment
+ does not trigger an error when the Valve registers itself in the
+ session. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add socket properties support to storeconfig. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix incorrect parsing of the NE and NC flags in rewrite rules. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59065">59065</a>: Correct the timing of the check for colons in paths
+ on non-Windows systems implemented in <code>catalina.sh</code> so it
+ works correctly with Cygwin. Patch provided by Ed Randall. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When a Host is configured with an appBase that does not exist, create
+ the appBase before trying to expand an external WAR file into it.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59115">59115</a>: When using the Servlet 3.0 file upload, the submitted
+ file name may be provided as a token or a quoted-string. If a
+ quoted-string, unquote the string before returning it to the user.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59123">59123</a>: Close <code>NamingEnumeration</code> objects used by
+ the <code>JNDIRealm</code> once they are no longer required.
+ (fschumacher/markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Implement the proposed Servlet 4.0 API to provide mapping type
+ information for the current request. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59138">59138</a>: Correct a false positive warning for ThreadLocal
+ related memory leaks when the key class but not the value class has been
+ loaded by the web application class loader. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59017">59017</a>: Make the pre-compressed file support in the Default
+ Servlet generic so any compression may be used rather than just gzip.
+ Patch provided by Mikko Tiihonen. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59145">59145</a>: Don't log an invalid warning when a user logs out of
+ a session associated with SSO. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59150">59150</a>: Add an additional flag on APR listener to allow
+ disabling automatic use of OpenSSL. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59151">59151</a>: Fix a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56917">56917</a> that
+ added additional (and arguably unnecessary) validation to the provided
+ redirect location. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59154">59154</a>: Fix a <code>NullPointerException</code> in the
+ <code>JAASMemoryLoginModule</code> resulting from the introduction of
+ the <code>CredentialHandler</code> to <code>Realm</code>s.
+ (schultz/markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Handle the case in the NIO2 connector where the required TLS buffer
+ sizes increase after the connection has been initiated. (markt/remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Bad processing of handshake errors in NIO2. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Use JSSE session configuration options with OpenSSL. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59015">59015</a>: Fix potential cause of endless APR Poller loop during
+ shutdown if the Poller experiences an error during the shutdown process.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Align cipher aliases for <code>kECDHE</code> and <code>ECDHE</code> with
+ the current OpenSSL implementation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59081">59081</a>: Retain the user defined cipher order when defining
+ ciphers. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59089">59089</a>: Correctly ignore HTTP headers that include non-token
+ characters in the header name. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update to the Eclipse JDT Compiler 4.5.1. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57583">57583</a>: Improve the performance of
+ <code>javax.servlet.jsp.el.ScopedAttributeELResolver</code> when
+ resolving attributes that do not exist. This improvement only works when
+ Jasper is used with Tomcat's EL implementation. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a timing issue on session close that could result in an exception
+ being thrown for an incomplete message even through the message was
+ completed. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly handle compression of partial messages when the final message
+ fragment has a zero length payload. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59119">59119</a>: Correct read logic for WebSocket client when using
+ secure connections. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59134">59134</a>: Correct client connect logic for secure connections
+ made through a proxy. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Web_applications">Web applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct an error in the documentation of the expected behaviour for
+ automatic deployment. If a WAR is updated and an expanded directory is
+ present, the directory will always be deleted and recreated by expanding
+ the WAR if <code>unpackWARs</code> is <code>true</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=48674">48674</a>: Implement an option within the Host Manager web
+ application to persist the current configuration. Based on a patch by
+ Coty Sutherland. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58935">58935</a>: Remove incorrect references in the documentation to
+ using <code>jar:file:</code> URLs with the Manager application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the description of the
+ <code>ServletRequest.getServerPort()</code> in Proxy How-To.
+ Issue reported via comments.apache.org. (violetagg)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ The Manager and Host Manager applications are now only accessible via
+ <code>localhost</code> by default. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ If promoting a proxy node to a primary node when getting a session,
+ notify the change of the new primary node to the original backup node.
+ (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M4_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58283">58283</a>: Change the default download location for libraries
+ during the build process from <code>/usr/share/java</code> to
+ <code>${user.home}/temp</code>. Patch provided by Ahmed Hosni. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=59031">59031</a>: When using the Windows uninstaller, do not remove the
+ contents of any directories that have been symlinked into the Tomcat
+ directory structure. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.5 to
+ pick up the Windows binaries that are based on OpenSSL 1.0.2g and APR
+ 1.5.1. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Modify the default <code>tomcat-users.xml</code> file to make it harder
+ for users to configure the entries intended for use with the examples
+ web application for the Manager application. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M3_(markt)"><span style="float: right;">2016-02-05</span> Tomcat 9.0.0.M3 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M3_(markt)/General">General</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Allow to configure multiple JUnit test class patterns with the build
+ property <code>test.name</code> and document the property in
+ BUILDING.txt. (rjung)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M3_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Protect initialization of <code>ResourceLinkFactory</code> when
+ running with a SecurityManager. (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a thread safety issue in the filtering of session attributes
+ based on the implementing class name of the value object. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix class loader decision on the delegation for class loading and
+ resource lookup and make it faster too. (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58768">58768</a>: Log a warning if a redirect fails because of an
+ invalid location. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58827">58827</a>: Remove remains of JSR-77 implementation. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58946">58946</a>: Ensure that the request parameter map remains
+ immutable when processing via a RequestDispatcher. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58905">58905</a>: Ensure that <code>Tomcat.silence()</code> silences the
+ correct logger and respects the current setting. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M3_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct a regression in the connector refactoring in 9.0.0.M2 that broke
+ TLS support for the APR/native connector. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct an NPE when listing the enabled ciphers (e.g. via the Manager
+ web application) for a TLS enabled APR/native connector. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ New configuration option <code>ajpFlush</code> for the AJP connectors
+ to disable the sending of AJP flush packets. (rjung)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Handle the case in the NIO connector where the required TLS buffer sizes
+ increase after the connection has been initiated. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M2_(markt)"><span style="float: right;">not released</span> Tomcat 9.0.0.M2 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor creation of <code>MapperListener</code> to ensure that the
+ <code>Mapper</code> used is the <code>Mapper</code> associated with the
+ <code>Service</code> for which the listener was created. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Move the functionality that provides redirects for context roots and
+ directories where a trailing <code>/</code> is added from the Mapper to
+ the <code>DefaultServlet</code>. This enables such requests to be
+ processed by any configured Valves and Filters before the redirect is
+ made. This behaviour is configurable via the
+ <code>mapperContextRootRedirectEnabled</code> and
+ <code>mapperDirectoryRedirectEnabled</code> attributes of the Context
+ which may be used to restore the previous behaviour. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor <code>Service.getContainer()</code> to return an
+ <code>Engine</code> rather than a <code>Container</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=34319">34319</a>: Only load those keys in <code>StoreBase.processExpire</code>
+ from JDBCStore, that are old enough, to be expired. Based on a patch
+ by Tom Anderson. (fschumacher)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56917">56917</a>: As per RFC7231 (HTTP/1.1), allow HTTP/1.1 and later
+ redirects to use relative URIs. This is controlled by a new attribute
+ <code>useRelativeRedirects</code> on the <strong>Context</strong> and
+ defaults to <code>true</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58629">58629</a>: Allow an embedded Tomcat instance to start when the
+ <code>Service</code> has no <code>Engine</code> configured. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correctly notify the MapperListener associated with a Service if the
+ Engine for that Service is changed. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make a web application's CredentialHandler available through a context
+ attribute. This allows a web application to use the same algorithm
+ for validating or generating new stored credentials from cleartext
+ ones. (schultz)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58635">58635</a>: Enable break points to be set within agent code when
+ running Tomcat with a Java agent. Based on a patch by Huxing Zhang.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed potential NPE in <code>HostConfig</code> while deploying an
+ application. Issue reported by coverity scan. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58655">58655</a>: Fix an <code> IllegalStateException</code> when
+ calling <code>HttpServletResponse.sendRedirect()</code> with the
+ <code>RemoteIpFilter</code>. This was caused by trying to correctly
+ generate the absolute URI for the redirect. With the fix for
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56917">56917</a>, redirects may now be relative making the
+ <code>sendRedirect()</code> implementation for the
+ <code>RemoteIpFilter</code> much simpler. This also addresses issues
+ where the redirect may not have behaved as expected when redirecting
+ from http to https to from https to http. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58657">58657</a>: Exceptions in a Servlet 3.1 <code>ReadListener</code>
+ or <code>WriteListener</code> do not need to be immediately fatal to the
+ connection. Allow an error response to be written. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct implementation of
+ <code>validateClientProvidedNewSessionId</code> so client provided
+ session IDs may be rejected if validation is enabled. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58701">58701</a>: Reset the <code>instanceInitialized</code> field in
+ <code>StandardWrapper</code> when unloading a Servlet so that a new
+ instance may be correctly initialized. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Add a new flag <code>aprPreferred</code> to the Apr listener. if set to
+ <code>false</code>, when using the connector defaults, it will use
+ NIO + OpenSSL if tomcat-native is available, rather than the APR
+ connector. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add path parameter handling to
+ <code>HttpServletRequest.getContextPath()</code>. This is a follow-up to
+ the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57215">57215</a>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58692">58692</a>: Make <code>StandardJarScanner</code> more robust. Log
+ a warning if a class path entry cannot be scanned rather than triggering
+ the failure of the web application. Includes a test case written by
+ Derek Abdine. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58702">58702</a>: Ensure an access log entry is generated if the client
+ aborts the connection. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fixed various issues reported by Findbugs. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58735">58735</a>: Add support for the <code>X-XSS-Protection</code>
+ header to the <code>HttpHeaderSecurityFilter</code>. Patch provided by
+ Jacopo Cappellato. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add the <code>StatusManagerServlet</code> to the list of Servlets that
+ can only be loaded by privileged applications. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Simplify code and fix messages in
+ <code>org.apache.catalina.core.DefaultInstanceManager</code> class.
+ (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58751">58751</a>: Correctly handle the case where an
+ <code>AsyncListener</code> dispatches to a Servlet on an asynchronous
+ timeout and the Servlet uses <code>sendError()</code> to trigger an
+ error page. Includes a test case based on code provided by Andy
+ Wilkinson.(markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the proper file encoding if specified will be used when
+ a readme file is served by DefaultServlet. (violetagg)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix declaration of <code>localPort</code> attribute of Connector MBean:
+ it is read-only. (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58766">58766</a>: Make skipping non-class files during annotation
+ scanning faster by checking the file name first. Improve debug logging.
+ (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58836">58836</a>: Correctly merge query string parameters when
+ processing a forwarded request where the target includes a query string
+ that contains a parameter with no value. (markt/kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Make sure that shared Digester is reset in an unlikely error case
+ in <code>HostConfig.deployWAR()</code>. (kkolinko)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Extend the feature available in the cluster session manager
+ implementations that enables session attribute replication to be
+ filtered based on attribute name to all session manager implementations.
+ Note that configuration attribute name has changed from
+ <code>sessionAttributeFilter</code> to
+ <code>sessionAttributeNameFilter</code>. Apply the filter on load as
+ well as unload to ensure that configuration changes made while the web
+ application is stopped are applied to any persisted data. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Extend the session attribute filtering options to include filtering
+ based on the implementation class of the value and optional
+ <code>WARN</code> level logging if an attribute is filtered. These
+ options are available for all of the Manager implementations that ship
+ with Tomcat. When a <code>SecurityManager</code> is used filtering will
+ be enabled by default. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Remove <code>distributable</code> and <code>maxInactiveInterval</code>
+ from the <code>Manager</code> interface because the attributes are never
+ used. The equivalent attributes from the <code>Context</code> always
+ take precedence. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58867">58867</a>: Improve checking on Host start for WAR files that have
+ been modified while Tomcat has stopped and re-expand them if
+ <code>unpackWARs</code> is <code>true</code>. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58900">58900</a>: Correctly undeploy symlinked resources and prevent an
+ infinite cycle of deploy / undeploy. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58621">58621</a>: The certificate chain cannot be set using the main
+ certificate attribute, so restore the certificate chain property. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Allow a new SSL config type where a connector can use either JSSE or
+ OpenSSL. Both could be allowed, but it would likely create support
+ issues. This type is used by the OpenSSL implementation for NIOx. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Improve upgrade context classloader handling by using Context.bind and
+ unbind. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Improve OpenSSL keystore/truststore configuration by using the code
+ from the JSSE implementation. (remm, jfclere)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix a potential loop when a client drops the connection unexpectedly.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ OpenSSL renegotiation support for client certificate authentication.
+ (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix NIO connector renegotiation. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58659">58659</a>: Fix a potential deadlock during HTTP/2 processing when
+ the connection window size is limited. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Jasper">Jasper</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57136#c25">57136#c25</a>: Change default value of
+ <code>quoteAttributeEL</code> setting in Jasper to be <code>true</code>
+ for better compatibility with other implementations and older versions
+ of Tomcat. Add command line option <code>-no-quoteAttributeEL</code> in
+ JspC. (kkolinko)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix handling of missing messages in
+ <code>org.apache.el.util.MessageFactory</code>. (violetagg)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Cluster">Cluster</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Enable an explicit configuration of local member in the static cluster
+ membership. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix potential integer overflow in <code>DeltaSession</code>.
+ Reported by coverity scan. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ In order to avoid that the heartbeat thread and the background thread to
+ run <code>Channel.heartbeat</code> simultaneously, if
+ <code>heartbeatBackgroundEnabled</code> of <code>SimpleTcpCluster</code>
+ set to <code>true</code>, ensure that the heartbeat thread does not
+ start. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/WebSocket">WebSocket</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=55006">55006</a>: The WebSocket client now honors the
+ <code>java.net.java.net.ProxySelector</code> configuration (using the
+ HTTP type) when establishing WebSocket connections to servers. Based on
+ a patch by Niki Dokovski. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58624">58624</a>: Correct a potential deadlock if the WebSocket
+ connection is closed when a message write is in progress. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57489">57489</a>: Ensure <code>onClose()</code> is called when a
+ WebSocket connection is closed even if the sending of the close message
+ fails. Includes test cases by Barry Coughlan. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Web_Applications">Web Applications</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58631">58631</a>: Correct the continuation character use in the Windows
+ Service How-To page of the documentation web application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct the SSL documentation for deprecated attributes to point to the
+ correct, new location for attributes related to individual certificates.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct some typos in the JNDI resources How-To. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Don't create session unnecessarily in the Manager application. (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Don't create session unnecessarily in the Host Manager application.
+ (markt)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=58723">58723</a>: Clarify documentation and error messages for the text
+ interface of the manager to make clear that version must be used with
+ path when referencing contexts deployed using parallel deployment.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Document <code>test.threads</code> option in BUILDING.txt. (kkolinko)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ensure that the static member is registered to the add suspect list even
+ if the static member that is registered to the remove suspect list has
+ disappeared. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ When using a static cluster, add the members that have been cached in
+ the membership service to the map members list in order to ensure that
+ the map member is a static member. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add support for the startup notification of local members in the static
+ cluster. (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Ignore the unnecessary member remove operation from different domain.
+ (kfujino)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Add support for the shutdown notification of local members in the static
+ cluster. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/jdbc-pool">jdbc-pool</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Correct evaluation of system property
+ <code>org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader</code>.
+ It was basically ignored before. Reported by coverity scan. (fschumacher)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Fix potential integer overflow in <code>ConnectionPool</code> and
+ <code>PooledConnection</code>. Reported by coverity scan. (fschumacher)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M2_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update optional Checkstyle library to 6.14.1. (kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the packaged version of the Tomcat Native Library to 1.2.4 to
+ pick up the Windows binaries that are based on OpenSSL 1.0.2e and APR
+ 1.5.1. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the NSIS Installer used to build the Windows Installers to
+ version 2.50. (markt/kkolinko)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons BCEL to r1725718 to align with the
+ refactoring for BCEL 6, the next major BCEL release. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons DBCP 2 to r1725730 (2.1.1 plus
+ additional fixes). (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Pool 2 to r1725738 (2.4.2 plus
+ additional fixes). (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Update the internal fork of Commons Codec to r1725746 (1.9 plus
+ additional fixes). (markt)
+ </li>
+ </ul>
+ </div></div>
+</div><h3 id="Tomcat_9.0.0.M1_(markt)"><span style="float: right;">2015-11-17</span> Tomcat 9.0.0.M1 (markt)</h3><div class="text">
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M1_(markt)/General">General</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Make Java 8 the minimum required version to build and run Tomcat 9.
+ (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Remove support for Comet. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Tighten up the default file permissions for the <code>.tar.gz</code>
+ distribution so no files or directories are world readable by default.
+ Configure Tomcat to run with a default umask of <code>0027</code> which
+ may be overridden by setting <code>UMASK</code> in
+ <code>setenv.sh</code>. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Remove native code (Windows Service Wrapper, APR/native connector)
+ support for Windows Itanium. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M1_(markt)/Catalina">Catalina</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ The default HTTP cookie parser has been changed to
+ <code>org.apache.tomcat.util.http.Rfc6265CookieProcessor</code>. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M1_(markt)/Coyote">Coyote</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ Remove support for the HTTP BIO and AJP BIO connectors. (markt)
+ </li>
+ <li><img alt="Code: " class="icon" src="./images/code.gif">
+ Refactor HTTP upgrade and AJP implementations to reduce duplication.
+ (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for HPACK header encoding and decoding, contributed
+ by Stuart Douglas. (remm)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57108">57108</a>: Add support for Server Name Indication (SNI). There
+ has been significant changes to the SSL configuration in server.xml to
+ support this. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add SSL engine for JSSE backed by OpenSSL. Includes ALPN support.
+ Based on code contributed by Numa de Montmollin and derived from code
+ developed by Twitter and Netty. (remm)
+ </li>
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ RFC 7230 states that clients should ignore reason phrases in HTTP/1.1
+ response messages. Since the reason phrase is optional, Tomcat no longer
+ sends it. As a result the system property
+ <code>org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER</code> is no
+ longer used and has been removed. (markt)
+ </li>
+ <li><img alt="Update: " class="icon" src="./images/update.gif">
+ The minimum required Tomcat Native version has been increased to 1.2.2.
+ The 1.2.x branch includes ALPN and SNI support which are required for
+ HTTP/2. (markt)
+ </li>
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Add support for HTTP/2 including server push. (markt)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M1_(markt)/Tribes">Tribes</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Fix: " class="icon" src="./images/fix.gif">
+ Clarify the handling of Copy message and Copy nodes. (kfujino)
+ </li>
+ </ul>
+ </div></div>
+ <div class="subsection"><h4 id="Tomcat_9.0.0.M1_(markt)/Other">Other</h4><div class="text">
+ <ul class="changelog">
+ <li><img alt="Add: " class="icon" src="./images/add.gif">
+ Support the use of the <code>threads</code> attribute on Ant's
+ junit task. Note that using this with a value of greater than one will
+ disable Cobertura code coverage. (markt)
+ </li>
+ </ul>
+ </div></div>
+</div></div></div></div></div><footer><div id="footer">
+ Copyright © 1999-2018, The Apache Software Foundation
+ </div></footer></div></body></html>
\ No newline at end of file