403Webshell
Server IP : 172.67.201.108  /  Your IP : 216.73.216.11
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /ourscripts/apache-tomcat-11.0.18/webapps/docs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /ourscripts/apache-tomcat-11.0.18/webapps/docs/changelog.html
<!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 11 (11.0.18) - 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 11</h1><div class="versionInfo">
            Version 11.0.18,
            <time datetime="2026-01-23">Jan 23 2026</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://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</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="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL/TLS</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptors-howto.html">16) MBeans Descriptors</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR/Native</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li><li><a href="aio.html">25) Advanced IO</a></li><li><a href="maven-jars.html">26) Mavenized</a></li><li><a href="security-howto.html">27) Security Considerations</a></li><li><a href="windows-service-howto.html">28) Windows Service</a></li><li><a href="windows-auth-howto.html">29) Windows Authentication</a></li><li><a href="jdbc-pool.html">30) Tomcat's JDBC Pool</a></li><li><a href="web-socket-howto.html">31) WebSocket</a></li><li><a href="rewrite.html">32) Rewrite</a></li><li><a href="cdi.html">33) CDI 2 and JAX-RS</a></li><li><a href="graal.html">34) AOT/GraalVM Support</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 6.1 Javadocs</a></li><li><a href="jspapi/index.html">JSP 4.0 Javadocs</a></li><li><a href="elapi/index.html">EL 6.0 Javadocs</a></li><li><a href="websocketapi/index.html">WebSocket 2.2 Javadocs</a></li><li><a href="jaspicapi/index.html">Authentication 3.1 Javadocs</a></li><li><a href="annotationapi/index.html">Annotations 3.0 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://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="architecture/index.html">Architecture</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_11.0.18_(markt)"><span style="float: right;"></span> Tomcat 11.0.18 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.18_(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=69936">69936</a>: Fix bug in previous fix for Tomcat Native crashes on
        shutdown that triggered a significant memory leak. Patch provided by
        Wes. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.17_(markt)"><span style="float: right;">release in progress</span> Tomcat 11.0.17 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.17_(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=69932">69932</a>: Fix request end access log pattern regression,
        which would log the start time of the request instead. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.17_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Prevent concurrent release of <code>OpenSSLEngine</code> resources and
        the termination of the Tomcat Native library as it can cause crashes
        during Tomcat shutdown. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.17_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add property "gpg.sign.files" to optionally disable release artefact
        signing with GPG. (rjung)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.16_(markt)"><span style="float: right;">not released</span> Tomcat 11.0.16 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.16_(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=69623">69623</a>: Additional fix for the long standing regression that
        meant that calls to <code>ClassLoader.getResource().getContent()</code>
        failed when made from within a web application with resource caching
        enabled if the target resource was packaged in a JAR file. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Pull request <a href="https://github.com/apache/tomcat/pull/923">#923</a>: Avoid adding multiple CSRF tokens to a URL in
        the <code>CsrfPreventionFilter</code>. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69918">69918</a>: Ensure request parameters are correctly parsed for
        HTTP/2 requests when the content-length header is not set. (dsoumis)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Enable minimum and recommended Tomcat Native versions to be set
        separately for Tomcat Native 1.x and 2.x. Update the minimum and
        recommended versions for Tomcat Native 1.x to 1.3.4. Update the minimum
        and recommended versions for Tomcat Native 2.x to 2.0.12. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a new <code>ssoReauthenticationMode</code> to the Tomcat provided
        Authenticators that provides a per Authenticator override of the SSO
        Valve <code>requireReauthentication</code> attribute. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure URL encoding errors in the Rewrite Valve trigger an exception
        rather than silently using a replacement character. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.16_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve warnings when setting ciphers lists in the FFM code, mirroring
        the tomcat-native changes. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69910">69910</a>: Dereference TLS objects right after closing a socket
        to improve memory efficiency. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Relax the JSSE vs OpenSSL configuration style checks on
        <code>SSLHostConfig</code> to reflect the existing implementation that
        allows one configuration style to be used for the trust attributes and a
        different style for all the other attributes. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Better warning message when <code>OpenSSLConf</code> configuration
        elements are used with a JSSE TLS implementation. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When using OpenSSL via FFM, don't log a warning about missing CA
        certificates unless CA certificates were configured and the
        configuration failed. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        For configuration consistency between OpenSSL and JSSE TLS
        implementations, TLSv1.3 cipher suites included in the
        <code>ciphers</code> attribute of an <code>SSLHostConfig</code> are now
        always ignored (previously they would be ignored with OpenSSL
        implementations and used with JSSE implementations) and a warning is
        logged that the cipher suite has been ignored. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add the <code>ciphersuite</code> attribute to
        <code>SSLHostConfig</code> to configure the TLSv1.3 cipher suites.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add OCSP support to JSSE based TLS connectors and make the use of OCSP
        configurable per connector for both JSSE and OpenSSL based TLS
        implementations. Align the checks performed by OpenSSL with those
        performed by JSSE. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for soft failure of OCSP checks with soft failure support
        disabled by default. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for configuring the verification flags passed to
        <code>OCSP_basic_verify</code> when using an OpenSSL based TLS
        implementation. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix OpenSSL FFM code compatibility with LibreSSL versions below 3.5.
        (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.16_(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=69333">69333</a>: Correct a regression in the previous fix for
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69333">69333</a> and ensure that <code>reuse()</code> or
        <code>release()</code> is always called for a tag. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.16_(markt)/Cluster">Cluster</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=62814">62814</a>: Document that human-readable names may be used for
        <code>mapSendOptions</code> and align documentation with
        <code>channelSendOptions</code>. Based on pull request <a href="https://github.com/apache/tomcat/pull/929">#929</a> by
        archan0621. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.16_(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=69920">69920</a>: When attempting to write to a closed
        <code>Writer</code> or <code>OutputStream</code> obtained from a
        WebSocket session, throw an <code>IOException</code> rather than an
        <code>IllegalStateExcpetion</code> as required by <code>Writer</code>
        and strongly suggested by <code>OutputStream</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.16_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>test.silent</code> property to suppress JUnit console output
        during test execution. Useful for cleaner console output when running
        tests with multiple threads. (csutherl)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Commons Pool to 2.13.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Commons DBCP to 2.14.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Commons Daemon to 1.5.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.37. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update ByteBuddy to 1.18.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 7.0.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 12.3.1. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations provided by Yang. vincent.h and
        yong hu. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.12. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.15_(markt)"><span style="float: right;">2025-12-08</span> Tomcat 11.0.15 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.15_(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=69871">69871</a>: Increase log level to INFO for missing configuration
        for the rewrite valve. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add log warnings for additional Host <code>appBase</code> suspicious
        values. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Remove hard dependency on tomcat-jni.jar for catalina.jar.
        <code>org.apache.catalina.Connector</code> no longer requires
        <code>org.apache.tomcat.jni.AprStatus</code> to be present. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add the ability to use a custom function to generate the client
        identifier in the <code>CrawlerSessionManagerValve</code>. This is only
        available programmatically. Pull request <a href="https://github.com/apache/tomcat/pull/902">#902</a> by Brian Matzon.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Change the SSO reauthentication behaviour for SPNEGO authentication so
        that a normal SPNEGO  authentication is performed if the SSL Valve is
        configured with reauthentication enabled. This is so that the delegated
        credentials will be available to the web application. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.15_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Don't log an incorrect certificate <code>KeyStore</code> location when
        creating a TLS connector if the <code>KeyStore</code> instance has been
        set directly on the connector. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        HTTP/0.9 only allows GET as the HTTP method. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>strictSni</code> attribute on the <code>Connector</code> to
        allow matching the <code>SSLHostConfig</code> configuration associated
        with the SNI host name to the <code>SSLHostConfig</code> configuration
        matched from the HTTP protocol host name. Non matching configurations
        will cause the request to be rejected. The attribute default value is
        <code>true</code>, enabling the matching. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.15_(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=69877">69877</a>: Catch IllegalArgumentException when processing URIs
        when creating the classpath to handle invalid URIs. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix populating the classpath with the webapp classloader repositories.
        (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Clustering">Clustering</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct a regression introduced in 11.0.11 that broke some clustering
        configurations. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.15_(markt)/Web_Applications">Web Applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Manager: Fix abrupt truncation of the HTML and JSON complete server
        status output if one or more of the web applications failed to start.
        (schultz)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Manager: Include web application state in the HTML and JSON complete
        server status output. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation: Expand the documentation to better explain when OCSP is
        supported and when it is not. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.15_(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=64083">64083</a>: If the underlying connection has been closed, don't
        add it to the pool when it is returned. Pull request <a href="https://github.com/apache/tomcat/pull/235">#235</a> by
        Alex Panchenko. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.15_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add test profile system for selective test execution. Profiles can be
        specified via <code>-Dtest.profile=&lt;name&gt;</code> to run specific
        test subsets without using patterns directly. Profile patterns are
        defined in <code>test-profiles.properties</code>. (csutherl)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update file extension to media type mappings to align with the current
        list used by the Apache Web Server (httpd). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Tomcat Migration Tool for Jakarta EE
        to 1.0.10. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Commons Daemon to 1.5.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.18.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 12.2.0. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Spanish translations provided by White Vogel. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.14_(markt)"><span style="float: right;">2025-11-10</span> Tomcat 11.0.14 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.14_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When generating the class path in the Loader, re-order the check on
        individual class path components to avoid a potential
        <code>NullPointerException</code>. Identified by Coverity Scan. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix SSL socket factory configuration in the JNDI realm. Based on pull
        request <a href="https://github.com/apache/tomcat/pull/915">#915</a> by Joshua Rogers. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add an attribute, <code>digestInRfc3112Order</code>, to
        <code>MessageDigestCredentialHandler</code> to control the order in
        which the credential and salt are digested. By default, the current,
        non-RFC 3112 compliant, order of salt then credential will be used. This
        default will change in Tomcat 12 to the RFC 3112 compliant order of
        credential then salt. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.14_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Graceful failure for OCSP on BoringSSL in the FFM code. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69866">69866</a>: Fix a memory leak when using a trust store with the
        OpenSSL provider. Pull request <a href="https://github.com/apache/tomcat/pull/912">#912</a> by aogburn. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix potential crash on shutdown when a Connector depends on the Tomcat
        Native library. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix AJP message length check. Pull request <a href="https://github.com/apache/tomcat/pull/916">#916</a> by Joshua
        Rogers. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.14_(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=69862">69862</a>: Avoid NPE unwrapping Servlet exception which would
        hide some exception details. Patch submitted by Eric Blanquer. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.14_(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 Apache Commons BCEL to 6.11.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.37. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Byte Buddy 1.17.8. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Checkstyle 12.1.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Jacoco 0.8.14. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to SpotBugs 4.9.8. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to JSign 7.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Maven Resolver Ant Tasks to 1.6.0. (rjung)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.13_(markt)"><span style="float: right;">2025-10-13</span> Tomcat 11.0.13 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.13_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add CIDR support for the configuration of internal and trusted proxies
        for the <code>RemoteIpFilter</code> and <code>RemoteIpValve</code>.
        Configuration via regular expression has been deprecated and will be
        removed in Tomcat 12. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Log warnings when the SSO configuration does not comply with the
        documentation. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Deprecate the <code>RemoteAddrFilter</code> and
        <code>RemoteAddrValve</code> in favour of the
        <code>RemoteCIDRFilter</code> and <code>RemoteCIDRValve</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69837">69837</a>: Fix corruption of the class path generated by the
        Loader when running on Windows. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Reject requests that map to invalid Windows file names earlier. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69839">69839</a>: Ensure that changes to session IDs (typically after
        authentication) are promulgated to the SSO Valve to ensure that SSO
        entries are fully clean-up on session expiration. Patch provided by Kim
        Johan Andersson. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a race condition in the creation of the storage location for the
        <code>FileStore</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.13_(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=69836">69836</a>: Incorrect processing of partitioned setting when
        generating session cookie. Patch submitted by Marc Pynaert. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69848">69848</a>: Fix copy/paste errors in 11.0.12 that meant DELETE
        requests received via the AJP connector were processed as OPTIONS
        requests and PROPFIND requests were processed as TRACE. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Various OCSP processing issues in the OpenSSL FFM code. (dsoumis)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.13_(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=69845">69845</a>: When using <code>permessage-deflate</code> with Java
        25 onwards, handle the underlying <code>Inflater</code> and/or
        <code>Deflater</code> throwing <code>IllegalStateException</code>
        when closed rather than <code>NullPointerException</code> as they do in
        Java 24 and earlier. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.13_(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=69847">69847</a>: Remove remaining references to the
        <code>org.apache.tomcat.util.codec.binary</code> package which has been
        deleted. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.12_(markt)"><span style="float: right;">2025-10-07</span> Tomcat 11.0.12 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.12_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Change the digest used to calculate strong ETags (if enabled) for the
        default Servlet from SHA-1 to SHA-256 to align with the recommendation
        in RFC 9110 that hash functions used to generate strong ETags should be
        collision resistant. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        HTTP methods are case-sensitive so always use case sensitive comparisons
        when comparing HTTP methods. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69814">69814</a>: Ensure that <code>HttpSession.isNew()</code> returns
        <code>false</code> once the client has joined the session. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Further performance improvements for ParameterMap. (jengebr/markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor access log time stamps to be based on the <code>Instant</code>
        request processing starts. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a case-sensitivity issue in the trailer header allow list. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Be proactive in cleaning up temporary files after a failed multi-part
        upload rather than waiting for GC to do it. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.12_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add specific certificate selection code for TLS 1.3 supporting post
        quantum cryptography. Certificates defined with type
        <code>MLDSA</code> will be selected depending on the TLS client hello.
        (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>groups</code> attribute on <code>SSLHostConfig</code>
        allowing to restrict which groups can be enabled on the SSL engine.
        (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Optimize the conversion of HTTP method from byte form to String form.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Store HTTP request headers using the original case for the header name
        rather than forcing it to lower case. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.12_(markt)/Cluster">Cluster</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Prevent the channel configuration (sender, receiver, membership service)
        from being changed unless the channel is fully stopped. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.12_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. Clarify the purpose of the <code>maxPostSize</code>
        attribute of the <code>Connector</code> element. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid NPE in manager webapp displaying certificate information. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.12_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.17.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 11.1.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.9.6. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Jsign to 7.2. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Russian translations provided by usmazat. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Minor refactoring in JULI loggers. Patch provided by minjund. (schultz)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.11_(markt)"><span style="float: right;">2025-09-05</span> Tomcat 11.0.11 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.11_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove a number of unnecessary packages from the catalina-deployer.jar.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69781">69781</a>: Fix concurrent access issues in the session
        <code>FileStore</code> implementation that were causing lost sessions
        when the store was used with the <code>PersistentValve</code>. Based on
        pull request <a href="https://github.com/apache/tomcat/pull/882">#882</a> by Aaron Ogburn. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor <code>WebResource</code> locking to use the new
        <code>KeyedReentrantReadWriteLock</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix handling of <code>QSA</code> and <code>QSD</code> flags in
        <code>RewriteValve</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.11_(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=69762">69762</a>: Additional overflow fix for HPACK decoding of
        integers. Pull request <a href="https://github.com/apache/tomcat/pull/880">#880</a> by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure keys are handed out to OpenSSL even if <code>PEMFile</code>
        fails to process it, with appropriate logging. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add new <code>ML-DSA</code> key algorithm to <code>PEMFile</code>
        and improve reporting when reading a key fails. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix possible early timeouts for network operations caused by a spurious
        wake-up of a waiting thread. Found by Coverity Scan. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.11_(markt)/Cluster">Cluster</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Handle spurious wake-ups during leader election for
        <code>NonBlockingCoordinator</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Handle spurious wake-ups during sending of messages by
        <code>RpcChannel</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.11_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Review logging and include the full stack trace and exception message
        by default rather then just the exception message when logging an error
        or warning in response to an exception. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add escaping to log formatters to align with JSON formatter. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 11.0.0. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.10_(markt)"><span style="float: right;">2025-08-06</span> Tomcat 11.0.10 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.10_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix bloom filter population for archive indexing when using a packed
        WAR containing one or more JAR files. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.10_(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=69748">69748</a>: Add missing call to set keep-alive timeout when using
        HTTP/1.1 following an async request, which was present for AJP.
        (remm/markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69762">69762</a>: Fix possible overflow during HPACK decoding of
        integers. Note that the maximum permitted value of an HPACK decoded
        integer is <code>Integer.MAX_VALUE</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update the HTTP/2 overhead documentation - particularly the code
        comments - to reflect the deprecation of the <code>PRIORITY</code> frame
        and clarify that a stream reset always triggers an overhead increase.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.10_(markt)/Cluster">Cluster</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>enableStatistics</code> configuration attribute for the
        <code>DeltaManager</code>, defaulting to <code>true</code>. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.10_(markt)/WebSocket">WebSocket</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align the WebSocket extension handling for WebSocket client connections
        with WebSocket server connections. The WebSocket client now only
        includes an extension requested by an endpoint in the opening handshake
        if the WebSocket client supports that extension. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.10_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Manager and Host Manager. Provide the Manager and Host Manager web
        applications with a dedicated favicon file rather than using the one
        from the ROOT web application which might not be present or may
        represent something entirely different. Pull requests <a href="https://github.com/apache/tomcat/pull/876">#876</a>
        and <a href="https://github.com/apache/tomcat/pull/878">#878</a> by Simon Arame.
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.10_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.26.1. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.9_(markt)"><span style="float: right;">2025-07-04</span> Tomcat 11.0.9 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.9_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure application configured welcome files override the defaults when
        configuring an embedded web application programmatically. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Optimize <code>Request#getCharsetHolder</code> to avoid repeated parsing
        when charset is null. Patch provided by morning-gu. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Allow the default servlet to set the content length when the content
        length is known, no content has been written and a <code>Writer</code>
        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=69717">69717</a>: Correct a regression in the fix for CVE-2025-49125
        that prevented access to PreResources and PostResources when mounted
        below the web application root with a path that was terminated with a
        file separator. (remm/markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69731">69731</a>: Fix an issue that meant that the value of
        <code>maxParameterCount</code> applied was smaller than intended for
        multipart uploads with non-file parts when the parts were processed
        before query string parameters. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align size tracking for multipart requests with FileUpload's use of
        <code>long</code>. (schultz)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.9_(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=69710">69710</a>: Increase the default for <code>maxPartCount</code>
        from <code>10</code> to <code>50</code>. Update the documentation to
        provide more details on the memory requirements to support multi-part
        uploads while avoiding a denial of service risk. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69713">69713</a>: Correctly handle an HTTP/2 data frame that includes
        padding when the headers include a content-length. (remm/markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correctly collect statistics for HTTP/2 requests and avoid counting one
        request multiple times. Based on pull request <a href="https://github.com/apache/tomcat/pull/868">#868</a> by
        qingdaoheze. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix JMX value for <code>keepAliveCount</code> on the endpoint. Also add
        the value of <code>useVirtualThreads</code> in JMX. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69728">69728</a>: Remove incorrect warning when HTTP/2 is used with
        optional certificate verification and improve the warnings when a web
        application tries to use CLIENT-CERT with either HTTP/2 or a JSSE
        implementation of TLS 1.3. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When setting the initial HTTP/2 connection limit, apply those limits
        earlier. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.9_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove <code>IMPL_OBJ_START</code> from EL grammar for
        <code>IDENTIFIER</code>. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove the <code>INSTANCEOF</code> and <code>FUNCTIONSUFFIX</code>
        definitions from the EL grammar as both are unused. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.9_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Provide more explicit guidance regarding the security
        considerations for enabling write access to the web application via
        WebDAV, HTTP PUT requests or similar. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Add a section on reverse proxies to the security
        considerations page. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.9_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.36. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 7.0.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.25.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.8_(markt)"><span style="float: right;">2025-06-09</span> Tomcat 11.0.8 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.8_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add support for the <code>java:module</code> namespace which mirrors
        the <code>java:comp</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=69690">69690</a>: Calling <code>HttpServletRequest.getParameter()</code>
        and related methods for a request with content type
        <code>multipart/form-data</code> when the mapped servlet does not have a
        <code>@MultipartConfig</code> or equivalent should not trigger an
        exception. Note that calling <code>getPart()</code> or
        <code>getParts()</code> is these circumstances will trigger an
        exception. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Support parsing of multiple path parameters separated by <code>;</code>
        in a single URL segment. Based on pull request <a href="https://github.com/apache/tomcat/pull/860">#860</a> by Chenjp.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69699">69699</a>: Encode redirect URL used by the rewrite valve with
        the session id if appropriate, and handle cross context with different
        session configuration when using rewrite. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://github.com/apache/tomcat/pull/863">#863</a>: Add support for comments at the end of lines in text
        rewrite map files to align behaviour with Apache httpd. Pull request
        provided by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69706">69706</a>: Fix saved request serialization issue in FORM
        introduced when allowing infinite session timeouts. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Expand the path checks for Pre-Resources and Post-Resources mounted at a
        path within the web application. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.8_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        <a href="https://github.com/apache/tomcat/pull/861">#861</a>: Refactor <code>TaskQueue</code> to use the new interface
        <code>RetryableQueue</code> which enables better integration of custom
        <code>Executor</code>s which provide their own
        <code>BlockingQueue</code> implementation. Pull request provided by
        Paulo Almeida. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Provide finer grained control of multi-part request processing via two
        new attributes on the <code>Connector</code> element.
        <code>maxPartCount</code> limits the total number of parts in a
        multi-part request and <code>maxPartHeaderSize</code> limits the size of
        the headers provided with each part. Add support for these new
        attributes to the <code>ParameterLimitValve</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.8_(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=69696">69696</a>: Mark the JSP wrapper for reload after a failed
        compilation. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.8_(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=69694">69694</a>: Improve error reporting of deployment tasks done
        using the manager webapp when a copy operation fails. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.8_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add thread name to webappClassLoader.stackTraceRequestThread message.
        Patch provided by Felix Zhang. (schultz)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.9. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons FileUpload to 1.6.0
        (2025-06-05). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update EasyMock to 5.6.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.25.0. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Use the full path when the installer for Windows sets calls
        <code>icacls.exe</code> to set file permissions. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.7_(markt)"><span style="float: right;">2025-05-13</span> Tomcat 11.0.7 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.7_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Process possible path parameters rewrite production in the rewrite
        valve. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69588">69588</a>: Enable <code>allowLinking</code> to be set on
        <code>PreResources</code>, <code>JarResources</code> and
        <code>PostResources</code>. If not set explicitly, the setting will be
        inherited from the <code>Resources</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69633">69633</a>: Add support for Filters using context root mappings.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69643">69643</a>: Optimize directory listing for large amount of files.
        Patch submitted by  Loic de l'Eprevier. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://github.com/apache/tomcat/pull/843">#843</a>: Fix off by one validation logic for partial PUT ranges
        and associated test case. Submitted by Chenjp. (remm)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor GCI servlet to access resources via the
        <code>WebResource</code> API. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69662">69662</a>: Report name in exception message when a naming lookup
        failure occurs. Based on code submitted by Donald Smith. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that the FORM authentication attribute
        <code>authenticationSessionTimeout</code> works correctly when sessions
        have an infinite timeout when authentication starts. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Provide a content type based on file extension when web application
        resources are accessed via a URL. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.7_(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=69635">69635</a>: Add support to <code>jakarta.el.ImportHandler</code>
        for resolving inner classes. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://github.com/apache/tomcat/pull/842">#842</a>Add support for optimized execution of c:set and c:remove tags, when
        activated via JSP servlet param useNonstandardTagOptimizations.
        (jengebr)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix an edge case compilation bug for JSP and tag files on case
        insensitive file systems that was exposed by the test case for
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69635">69635</a>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.7_(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=68876">68876</a>: Documentation. Update the UML diagrams for server
        start-up, request processing and authentication using PlantUML and
        include the source files for each diagram. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.7_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Jacoco to 0.8.13. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Explicitly set the locale to be used for Javadoc. For official releases,
        this locale will be English (US) to support reproducible builds. (schultz)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.17.5. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.23.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update file extension to media type mappings to align with the current
        list used by the Apache Web Server (httpd). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.6_(markt)"><span style="float: right;">2025-04-09</span> Tomcat 11.0.6 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.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=69602">69602</a>: Fix regression in releases from 12-2024 that were too
        strict and rejected weak etags in the <code>If-Range</code> header with
        a 400 response. Instead will consider it as a failed match since strong
        etags are required for <code>If-Range</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Return 400 if the amount of content sent for a partial PUT is
        inconsistent with the range that was specified. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a new <code>RateLimiter</code> implementation,
        <code>org.apache.catalina.util.ExactRateLimiter</code>, that can be used
        with <code>org.apache.catalina.filters.RateLimitFilter</code> to provide
        rate limit based on the exact values configured. Based on pull request
        <a href="https://github.com/apache/tomcat/pull/794">#794</a> by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix parsing of the <code>time-taken</code> token in the
        <code>ExtendedAccessLogValve</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix invocation of the FFM OpenSSL code for setting a SSL engine and
        FIPS mode. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69600">69600</a>: Add IPv6 local addresses (RFC 4193 and RFC 4291) to
        the default internal proxies for the RemoteIpFilter and RemoteIpValve.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69615">69615</a>: Improve integration with the not found class resources
        cache for users who are using a custom web application class loader
        and/or using reflection to dynamically add external repositories to the
        web application class loader. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a new initialisation parameter to the Default servlet -
        <code>allowPostAsGet</code> - which controls whether a direct request
        (i.e. not a forward or an include) for a static resource using the POST
        method will be processed as if the GET method had been used. If not
        allowed, the request will be rejected. The default behaviour of
        processing the request as if the GET method had been used is unchanged.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69623">69623</a>: Correct a long standing regression that meant that
        calls to <code>ClassLoader.getResource().getContent()</code> failed when
        made from within a web application with resource caching enabled.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69634">69634</a>: Avoid NPE on <code>JsonErrorReportValve</code>.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add missing <code>throwable</code> stack trace to
        <code>JsonErrorReportValve</code> equivalent to the one from
        <code>ErrorReportValve</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix stack trace trimming in <code>ErrorReportValve</code> after removal
        of the security manager support. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the handling of <code>%nn</code> URL encoding in the
        RewriteValve and document how <code>%nn</code> URL encoding may be used
        with rewrite rules. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a potential exception when calling
        <code>WebappClassLoaderBase.getResource("")</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.6_(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=69607">69607</a>: Allow failed initialization of MD5. Based on code
        submitted by Shivam Verma. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69614">69614</a>: HTTP/2 priority frames with an invalid priority field
        value should be ignored. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve handling of unexpected errors during HTTP/2 processing. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Simplify the process of using a custom SSLContext for an HTTPS enabled
        connector. Based on pull request <a href="https://github.com/apache/tomcat/pull/805">#805</a> by Hakky54. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.6_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Replace custom URL encoding provided by the JSP runtime library with
        calls to <code>java.net.URLEncoder.encode()</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add compiler using the <code>Java Compiler</code> API, supporting
        exploded web applications. The <code>compilerClassName</code> to use is
        <code>org.apache.jasper.compiler.JavaCompiler</code>. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for specifying Java 25 (with the value <code>25</code>) as
        the compiler source and/or compiler target for JSP compilation. If used
        with an Eclipse JDT compiler version that does not support these values,
        a warning will be logged and the default will be used.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.6_(markt)/Cluster">Cluster</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix resetting cross context sessions in the
        <code>ReplicationValve</code>. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.6_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Add a link to the Log4j documentation that describes how
        to use Log4j rather than JULI for Tomcat's internal logging. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Document the runtime attributes available to web
        applications via the Request or the ServletContext. Based on pull
        request <a href="https://github.com/apache/tomcat/pull/832">#832</a> by usmazat. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.6_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Revert JSign to 6.0 to avoid a file locking issue. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.35. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to NSIS 3.11. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to ByteBuddy 1.17.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Checkstyle 10.21.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to SpotBugs to 4.9.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improvements to Japanese translations provided by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.5_(markt)"><span style="float: right;">2025-03-05</span> Tomcat 11.0.5 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.5_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When looking up class loader resources by resource name, the resource
        name should not start with '/'. If the resource name does start with
        '/', Tomcat is lenient and looks it up as if the '/' was not present.
        When the web application class loader was configured with external
        repositories and names starting with '/' were used for lookups, it was
        possible that cached 'not found' results could effectively hide lookup
        results using the correct resource name. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Enable the JNDIRealm to validate credentials provided to
        <code>HttpServletRequest.login(String username, String password)</code>
        when the realm is configured to use GSSAPI authentication. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the checks for exposure to and protection against CVE-2024-56337
        so that reflection is not used unless required. The checks for whether
        the file system is case sensitive or not have been removed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a bug in the JRE compatibility detection that incorrectly identified
        Java 19 and Java 20 as supporting Java 21 features. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for logging the connection ID (as returned by
        <code>ServletRequest.getServletConnection().getConnectionId()</code>)
        with the <code>AccessLogValve</code> and
        <code>ExtendedAccessLogValve</code>. Based on pull request <a href="https://github.com/apache/tomcat/pull/814">#814</a>
        by Dmole. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid scenarios where temporary files used for partial PUT would not
        be deleted. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=69575">69575</a>: Avoid using compression if a response is already
        compressed using <code>compress</code>, <code>deflate</code> or
        <code>zstd</code>. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Use <code>Transfer-Encoding</code> for compression rather than
        <code>Content-Encoding</code> if the client submits a <code>TE</code>
        header containing <code>gzip</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a race condition in the handling of HTTP/2 stream reset that could
        cause unexpected 500 responses. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.5_(markt)/Cluster">Cluster</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=69598">69598</a>: Add detection of service account token changes to the
        <code>KubernetesMembershipProvider</code> implementation and reload the
        token if it changes. Based on a patch by Miroslav Jezbera. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.5_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>makensis</code> as an option for building the Installer for
        Windows on non-Windows platforms. (rjung/markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.17.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.21.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.9.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update JSign to 7.1. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.4_(markt)"><span style="float: right;">2025-02-17</span> Tomcat 11.0.4 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.4_(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=69576">69576</a>: Avoid possible failure initializing
        <code>JreCompat</code> due to uncaught exception introduced for the
        check for CVE-2024-56337. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.4_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>org.apache.juli.JsonFormatter</code> to format log as one
        line JSON documents. (remm)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.3_(markt)"><span style="float: right;">2025-02-10</span> Tomcat 11.0.3 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.3_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>tableName</code> configuration on the
        <code>DataSourcePropertyStore</code> that may be used by the WebDAV
        Servlet. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improve HTTP If headers processing according to RFC 9110. Based on pull
        request <a href="https://github.com/apache/tomcat/pull/796">#796</a> by Chenjp. (remm/markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Allow <code>readOnly</code> attribute configuration on the
        <code>Resources</code> element and allow configure the
        <code>readOnly</code> attribute value of the main resources. The
        attribute value will also be used by the default and WebDAV Servlets.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69285">69285</a>: Optimise the creation of the parameter map for
        included requests. Based on sample code and test cases provided by John
        Engebretson. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69527">69527</a>: Avoid rare cases where a cached resource could be set
        with 0 content length, or could be evicted immediately. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix possible edge cases (such as HTTP/1.0) with trying to detect
        requests without body for WebDAV LOCK and PROPFIND. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69528">69528</a>: Add multi-release JAR support for the
        <code>bloom</code> <code>archiveIndexStrategy</code> of the
        <code>Resources</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve checks for <code>WEB-INF</code> and <code>META-INF</code> in
        the WebDAV servlet. Based on a patch submitted by Chenjp. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Remove unused session to client map from
        <code>CrawlerSessionManagerValve</code>. Submitted by Brian Matzon.
        (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a check to ensure that, if one or more web applications are
        potentially vulnerable to CVE-2024-56337, the JVM has been configured to
        protect against the vulnerability and to configure the JVM correctly if
        not. Where one or more web applications are potentially vulnerable to
        CVE-2024-56337 and the JVM cannot be correctly configured or it cannot
        be confirmed that the JVM has been correctly configured, prevent the
        impacted web applications from starting. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When using the WebDAV servlet with <code>serveSubpathOnly</code> set to
        <code>true</code>, ensure that the destination for any requested WebDAV
        operation is also restricted to the sub-path. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Generate an appropriate <code>Allow</code> HTTP header when the Default
        servlet returns a 405 (method not allowed) response in response to a
        <code>DELETE</code> request because the target resource cannot be
        deleted. Pull request <a href="https://github.com/apache/tomcat/pull/802">#802</a> provided by Chenjp. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor creation of <code>RequestDispatcher</code> instances so that
        the processing of the provided path is consistent with normal request
        processing. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>encodedReverseSolidusHandling</code> and
        <code>encodedSolidusHandling</code> attributes to Context to provide
        control over the handling of the path used to created a
        <code>RequestDispatcher</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Handle a potential <code>NullPointerException</code> after an
        <code>IOException</code> occurs on a non-container thread during
        asynchronous processing. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Enhance lifecycle of temporary files used by partial PUT. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Added support for limiting the number of parameters in HTTP requests through
        the new <code>ParameterLimitValve</code>. The valve allows configurable
        URL-specific limits on the number of parameters. (dsoumis)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.3_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Don't log warnings for registered HTTP/2 settings that Tomcat does not
        support. These settings are now silently ignored. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid a rare <code>NullPointerException</code> when recycling the
        <code>Http11InputBuffer</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Lower the log level to debug for logging an invalid socket channel when
        processing poller events for the NIO Connector as this may occur in
        normal usage. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor the <code>SavedRequestInputFilter</code> so the buffered data
        is used directly rather than copied. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Replace the unused buffer in
        <code>org.apache.catalina.connector.InputBuffer</code> with a static,
        zero length buffer. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Clean-up references to the HTTP/2 stream once request processing has
        completed to aid GC and reduce the size of the HTTP/2 recycled request
        and response cache. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a new Connector configuration attribute,
        <code>encodedReverseSolidusHandling</code>, to control how
        <code>%5c</code> sequences in URLs are handled. The default behaviour is
        unchanged (decode) keeping in mind that the
        <strong>allowBackslash</strong> attribute determines how the decoded
        URI is processed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69545">69545</a>: Improve CRLF skipping for the <code>available</code>
        method of the <code>ChunkedInputFilter</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the performance of repeated calls to <code>getHeader()</code>.
        Pull request <a href="https://github.com/apache/tomcat/pull/813">#813</a> provided by Adwait Kumar Singh. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69559">69559</a>: Ensure that the Java 24 warning regarding the use of
        <code> sun.misc.Unsafe::invokeCleaner</code> is only reported by the JRE
        when the code will be used. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=69508">69508</a>: Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69382">69382</a>
        that broke JSP include actions if both the page attribute and the body
        contained parameters. Pull request <a href="https://github.com/apache/tomcat/pull/803">#803</a> provided by Chenjp.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update the identifier validation in the Expression Language parser to
        reflect that, as of Java 9, <code>_</code> is also a Java keyword and
        may not be used as an identifier. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69521">69521</a>: Update the EL Parser to allow the full range of valid
        characters in an EL identifier as defined by the Java Language
        Specification. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69532">69532</a>: Optimise the creation of
        <code>ExpressionFactory</code> instances. Patch provided by John
        Engebretson. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.3_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Expand the description of the security implications of
        setting <code>mapperContextRootRedirectEnabled</code> and/or
        <code>mapperDirectoryRedirectEnabled</code> to <code>true</code>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. Better document the default for the
        <code>truststoreProvider</code> attribute of a
        <code>SSLHostConfig</code> element. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.3_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Commons Daemon 1.4.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Tomcat Migration Tool for Jakarta EE
        to 1.0.9. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Commons Pool to 2.12.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.16.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 7.0.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.21.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.9.0. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations by leeyazhou. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.2_(markt)"><span style="float: right;">2024-12-09</span> Tomcat 11.0.2 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.2_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add option to serve resources from subpath only with WebDAV Servlet like
        with DefaultServlet. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add special handling for the <code>protocols</code> attribute of
        <code>SSLHostConfig</code> in storeconfig. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69442">69442</a>: Fix case sensitive check on <code>content-type</code>
        when parsing request parameters. (remm)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor duplicate code for extracting media type and subtype from
        <code>content-type</code> into a single method. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Compatibility of generated embedded code with components where
        constructors or property related methods throw a checked exception.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        The previous fix for inconsistent resource metadata during concurrent
        reads and writes was incomplete. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://github.com/apache/tomcat/pull/780">#780</a>: Fix <code>content-range</code> header length. Submitted
        by Chenjp. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69444">69444</a>: Ensure that the
        <code>jakarta.servlet.error.message</code> request attribute is set when
        an application defined error page is called. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid quotes for numeric values in the JSON generated by the status
        servlet. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add strong ETag support for the WebDAV and default servlet, which can
        be enabled by using the <code>useStrongETags</code> init parameter with
        a value set to <code>true</code>. The ETag generated will be a SHA-1
        checksum of the resource content. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Use client locale for directory listings. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69439">69439</a>: Improve the handling of multiple
        <code>Cache-Control</code> headers in the <code>ExpiresFilter</code>.
        Based on pull request <a href="https://github.com/apache/tomcat/pull/777">#777</a> by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69447">69447</a>: Update the support for caching classes the web
        application class loader cannot find to take account of classes loaded
        from external repositories. Prior to this fix, these classes could be
        incorrectly marked as not found. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69466">69466</a>: Rework handling of HEAD requests. Headers explicitly
        set by users will not be removed and any header present in a HEAD
        request will also be present in the equivalent GET request. There may be
        some headers, as per RFC 9110, section 9.3.2, that are present in a GET
        request that are not present in the equivalent HEAD request. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69471">69471</a>: Log instances of <code>CloseNowException</code> caught
        by <code>ApplicationDispatcher.invoke()</code> at debug level rather
        than error level as they are very likely to have been caused by a client
        disconnection or similar I/O issue. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a test case for the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69442">69442</a>. Also refactor
        references to <code>application/x-www-form-urlencoded</code>. Based on
        pull request <a href="https://github.com/apache/tomcat/pull/779">#779</a> by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69476">69476</a>: Catch possible ISE when trying to report PUT failure
        in the <code>DefaultServlet</code>. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for <a href="https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers">RateLimit
        header fields for HTTP (draft)</a> in the <code>RateLimitFilter</code>.
        Based on pull request <a href="https://github.com/apache/tomcat/pull/775">#775</a> provided by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69478">69478</a>: Correct a regression introduced in 11.0.0-M19 that
        meant when calling <code>setHttpOnly(boolean)</code> or
        <code>setSecure(boolean)</code> for a cookie, the respective flags were
        set regardless of the value passed to the method. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://github.com/apache/tomcat/pull/787">#787</a>: Add regression tests for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69478">69478</a>. Pull request
        provided by Thomas Krisch. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        The default servlet now rejects HTTP range requests when two or more of
        the requested ranges overlap. Based on pull request <a href="https://github.com/apache/tomcat/pull/782">#782</a>
        provided by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Enhance Content-Range verification for partial PUT requests handled by
        the default servlet. Provided by Chenjp in pull request <a href="https://github.com/apache/tomcat/pull/778">#778</a>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Harmonize <code>DataSourceStore</code> lookup in the global resources
        to optionally avoid the <code>comp/env</code> prefix which is usually
        not used there. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        As required by RFC 9110, the HTTP <code>Range</code> header will now
        only be processed for <code>GET</code> requests. Based on pull request
        <a href="https://github.com/apache/tomcat/pull/790">#790</a> provided by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Deprecate the <code>useAcceptRanges</code> initialisation parameter for
        the default servlet. It will be removed in Tomcat 12 onwards where it
        will effectively be hard coded to <code>true</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>DataSource</code> based property storage for the
        <code>WebdavServlet</code>. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.2_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align <code>encodedSolidusHandling</code> with the Servlet
        specification. If the pass-through mode is used, any
        <code>%25</code> sequences will now also be passed through to avoid
        errors and/or corruption when the application decodes the path. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.2_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Further optimise EL evaluation of method parameters. Patch provided by
        Paolo B. (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=69381">69381</a>. Apply the optimisation for
        method lookup performance in expression language to an additional
        location. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.2_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. Remove references to the <code>ResourceParams</code>
        element. Support for <code>ResourceParams</code> was removed in Tomcat
        5.5.x. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69477">69477</a>: Correct name of attribute for
        <code>RemoteIPFilter</code>. The attribute is
        <code>internalProxies</code> rather than
        <code>allowedInternalProxies</code>. Pull request <a href="https://github.com/apache/tomcat/pull/786">#786</a> provided
        by Jorge D&iacute;az. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples. Fix broken links when Servlet Request Info example is called
        via a URL that includes a pathInfo component. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples. Expand the obfuscation of session cookie values in the request
        header example to JSON responses. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Examples. Add the ability to delete session attributes in the servlet
        session example. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Examples. Add a hard coded limit of 10 attributes per session for the
        servlet session example. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Examples. Add the ability to delete session attributes and add a hard
        coded limit of 10 attributes per session for the JSP form authentication
        example. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Examples. Limit the shopping cart example to only allow adding the
        pre-defined items to the cart. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples. Remove JSP calendar example. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.2_(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=69465">69465</a>: Fix warnings during native image compilation using the
        Tomcat embedded JARs. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat's fork of Commons DBCP to 2.13.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update EasyMock to 5.5.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.20.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update BND to 7.1.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.34. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Korean translations. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.1_(markt)"><span style="float: right;">2024-11-10</span> Tomcat 11.0.1 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.1_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for the new Servlet API method
        <code>HttpServletResponse.sendEarlyHints()</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <fix>55470</fix>: Add debug logging that reports the class path when a
        <code>ClassNotFoundException</code> occurs in the digester or the web
        application class loader. Based on a patch by Ralf Hauser. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69374">69374</a>: Properly separate between table header and body
        in <code>DefaultServlet</code>'s listing. (michaelo)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69373">69373</a>: Make <code>DefaultServlet</code>'s HTML listing
        file last modified rendering better (flexible). (michaelo)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improve HTML output of <code>DefaultServlet</code>. (michaelo)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor <code>RateLimitFilter</code> to use <code>FilterBase</code> as
        the base class. The primary advantage for doing this is less code to
        process <code>init-param</code> values. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69370">69370</a>: <code>DefaultServlet</code>'s HTML listing
        uses incorrect labels. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid NPE in <code>CrawlerSessionManagerValve</code> for partially
        mapped requests. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add missing WebDAV <code>Lock-Token</code> header in the response when
        locking a folder. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Invalid WebDAV lock requests should be rejected with 400. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix regression in WebDAV when attempting to unlock a collection. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Verify that destination is not locked for a WebDAV copy operation.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Send 415 response to WebDAV <code>MKCOL</code> operations that include
        a request body since this is optional and unsupported. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Enforce <code>DAV:</code> namespace on WebDAV XML elements. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Do not allow a new WebDAV lock on a child resource if a parent
        collection is locked (RFC 4918 section 6.1). (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        WebDAV <code>DELETE</code> should remove any existing lock on
        successfully deleted resources. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove WebDAV lock null support in accordance with RFC 4918 section 7.3
        and annex D. Instead a lock on a non existing resource will create an
        empty file locked with a regular lock. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Rewrite implementation of WebDAV shared locks to comply with RFC 4918.
        (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Implement WebDAV <code>If</code> header using code from the Apache
        Jackrabbit project. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>PropertyStore</code> interface in the WebDAV Servlet,
        to allow implementation of dead properties storage. The store used
        can be configured using the <code>propertyStore</code> init parameter
        of the WebDAV servlet by specifying the class name of the store. A
        simple non persistent implementation is used if no custom store is
        configured. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Implement WebDAV <code>PROPPATCH</code> method using the newly added
        <code>PropertyStore</code>, and update <code>PROPFIND</code> to support
        it. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Cache not found results when searching for web application class loader
        resources. This addresses performance problems caused by components such
        as <code>java.sql.DriverManager</code> which, in some circumstances,
        will search for the same class repeatedly. In a large web application
        this can cause performance problems. The size of the cache can be
        controlled via the new <code>notFoundClassResourceCacheSize</code> on
        the StandardContext. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Stop after <code>INITIALIZED</code> state should be a noop since it is
        possible for subcomponents to be in <code>FAILED</code> after init.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix incorrect web resource cache size calculations when there are
        concurrent <code>PUT</code> and <code>DELETE</code> requests for the
        same resource. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add debug logging for the web resource cache so the current size can be
        tracked as resources are added and removed. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Replace legacy WebDAV <code>opaquelocktoken:</code> scheme for lock
        tokens with <code>urn:uuid:</code> as recommended by RFC 4918, and
        remove <code>secret</code> init parameter. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Concurrent reads and writes (e.g. <code>GET</code> and <code>PUT</code>
        / <code>DELETE</code>) for the same path caused corruption of the
        <code>FileResource</code> where some of the fields were set as if the
        file exists and some were set as if it does not. This resulted in
        inconsistent metadata. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69415">69415</a>: Ensure that the <code>ExpiresFilter</code> only sets
        cache headers on <code>GET</code> and <code>HEAD</code> requests. Also
        skip requests where the application has set <code>Cache-Control:
        no-store</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69419">69419</a>: Improve the performance of
        <code>ServletRequest.getAttribute()</code> when there are multiple
        levels of nested includes. Based on a patch provided by John
        Engebretson. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69426">69426</a>: Restore providing a value (rather than null) for
        <code>Class.getProtectionDomain().getCodeSource().getLocation()</code>
        as a number of libraries and JRE features depend on this being non-null
        even when a SecurityManager is not is use. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        All applications to send an early hints informational response by
        calling <code>HttpServletResponse.sendError()</code> with a status code
        of 103. (schultz)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.1_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Return null SSL session id on zero length byte array returned from the
        SSL implementation. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Skip OpenSSLConf with BoringSSL since it is unsupported. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Align buffer reuse of the OpenSSLEngine for tomcat-native with the FFM
        code. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Create the <code>HttpParser</code> in <code>Http11Processor</code>
        if it is not present on the <code>AbstractHttp11Protocol</code>
        to provide better lifecycle robustness for regular HTTP/1.1. The new
        behavior was introduced on a previous refactoring to improve HTTP/2
        performance. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <code>OpenSSLContext</code> will now throw a
        <code>KeyManagementException</code> if something is known to have gone
        wrong in the <code>init</code> method, which is the behavior
        documented by <code>javax.net.ssl.SSLContext.init</code>. This makes
        error handling more consistent. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.1_(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=69399">69399</a>: Fix regression caused by the improvement
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69333">69333</a> which caused the tag <code>release</code> to be called
        when using tag pooling, and to be skipped when not using it.
        Patch submitted by Michal Sobkiewicz. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69381">69381</a>: Improve method lookup performance in expression
        language. When the required method has no arguments there is no need to
        consider casting or coercion and the method lookup process can be
        simplified. Based on pull request <a href="https://github.com/apache/tomcat/pull/770">#770</a> by John Engebretson.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69382">69382</a>: Improve the performance of the JSP include action by
        re-using results of relatively expensive method calls in the generated
        code rather than repeating them. Patch provided by John Engebretson.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69398">69398</a>: Avoid unnecessary object allocation in
        <code>PageContextImpl</code>. Based on a suggestion by John Engebretson.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69406">69406</a>: When using <code>StringInterpreterEnum</code>, do not
        throw an <code>IllegalArgumentException</code> when an invalid
        <code>Enum</code> is encountered. Instead, resolve the value at runtime.
        Patch provided by John Engebretson. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69429">69429</a>: Optimise EL evaluation of method parameters for
        methods that do not accept any parameters. Patch provided by John
        Engebretson. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.1_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Switch from DigiCert ONE to ssl.com eSigner for code signing. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.15.10. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update CheckStyle to 10.20.0. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to German translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0_(markt)"><span style="float: right;">2024-10-09</span> Tomcat 11.0.0 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that <code>ServerAuthModule.initialize()</code> is called when
        a Jakarta Authentication module is configured via
        <code>registerServerAuthModule()</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that the Jakarta Authentication <code>CallbackHandler</code> only
        creates one <code>GenericPrincipal</code> in the <code>Subject</code>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        If the Jakarta Authentication process fails with an Exception,
        explicitly set the HTTP response status to 500 as the
        <code>ServerAuthContext</code> may not have set it. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When persisting the Jakarta Authentication provider configuration,
        create any necessary parent directories that don't already exist.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct the logic used to detect errors when deleting temporary files
        associated with persisting the Jakarta Authentication provider
        configuration. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When processing Jakarta Authentication callbacks, don't overwrite a
        Principal obtained from the <code>PasswordValidationCallback</code> with
        <code>null</code> if the <code>CallerPrincipalCallback</code> does not
        provide a Principal. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid store config backup loss when storing one configuration more than
        once per second. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69359">69359</a>: <code>WebdavServlet</code> duplicates
        <code>getRelativePath()</code> method from super class with
        incorrect Javadoc. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69360">69360</a>: Inconsistent <code>DELETE</code> behavior between
        <code>WebdavServlet</code> and <code>DefaultServlet</code>.
        (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Make <code>WebdavServlet</code> properly return the <code>Allow</code>
        header when deletion of a resource is not allowed. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add log warning if non wildcard mappings are used with the
        <code>WebdavServlet</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69361">69361</a>: Ensure that the order of entires in a multi-status
        response to a WebDAV is consistent with the order in which resources
        were processed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69362">69362</a>: Provide a better multi-status response when deleting a
        collection via WebDAV fails. Empty directories that cannot be deleted
        will now be included in the response. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69363">69363</a>: Use <code>getPathPrefix()</code> consistently in the
        WebDAV servlet to ensure that the correct path is used when the WebDAV
        servlet is mounted at a sub-path within the web application. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0_(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=69316">69316</a>: Ensure that
        <code>FastHttpDateFormat#getCurrentDate()</code> (used to generate Date
        headers for HTTP responses) generates the correct string for the given
        input. Prior to this change, the output may have wrong by one second in
        some cases. Pull request <a href="https://github.com/apache/tomcat/pull/751">#751</a> provided by Chenjp. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Request start time may not have been accurately recorded for HTTP/1.1
        requests preceded by a large number of blank lines. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>server</code> and <code>serverRemoveAppProvidedValues</code>
        to the list of attributes the HTTP/2 protocol will inherit from the
        HTTP/1.1 connector it is nested within. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid possible crashes when using Apache Tomcat Native, caused by
        destroying SSLContext objects through GC after APR has been terminated.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve HTTP/2 handling of trailer fields for requests. Trailer fields
        no longer need to be recieved before the headers of the subsequent
        stream nor are trailer fields for an in progress stream swallowed if the
        Connector is paused before the trailer fields are received. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure the request and response are not recycled too soon for an HTTP/2
        stream when a stream level error is detected during the processing of
        incoming HTTP/2 frames. This could lead to incorrect processing times
        appearing in the access log. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0_(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=69333">69333</a>: Remove unnecessary code from generated JSPs. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69338">69338</a>: Improve the performance of processing expressions that
        include AND or OR operations with more than two operands and expressions
        that use <code>not empty</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69348">69348</a>: Reduce memory consumption in <code>ELContext</code> by
        using lazy initialization for the data structure used to track lambda
        arguments. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        The manager webapp will now be able to access certificates again when
        OpenSSL is used. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.33. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.15.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update CheckStyle to 10.18.2. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations by Ch_jp. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M26_(markt)"><span style="float: right;">2024-09-16</span> Tomcat 11.0.0-M26 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M26_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69320">69320</a>, a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69302">69302</a> that
        meant the HTTP/2 processing was likely to be broken for all clients once
        any client sent an HTTP/2 reset frame. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M25_(markt)"><span style="float: right;">2024-09-10</span> Tomcat 11.0.0-M25 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Implement the recent clarification from the Jakarta Servlet project that
        if a content length is declared then once that many bytes have been
        written to the response, further writes should trigger an
        <code>IOException</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve performance of
        <code>ApplicationHttpRequest.parseParameters()</code>. Based on sample
        code and test cases provided by John Engebretson. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(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 fix for non-blocking reads of chunked
        request bodies that caused <code>InputStream.available()</code> to
        return a non-zero value when there was no data to read. In some
        circumstances this could cause a blocking read to block waiting for more
        data rather than return the data it had already received. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a new attribute <code>cookiesWithoutEquals</code> to the
        <code>Rfc6265CookieProcessor</code>. The default behaviour is unchanged.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that Tomcat sends a TLS close_notify message after receiving one
        from the client when using the <code>OpenSSLImplementation</code>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69301">69301</a>: Fix trailer headers replacing non-trailer headers when
        writing response headers to the access log. Based on a patch and test
        case provided by hypnoce. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69302">69302</a>: If an HTTP/2 client resets a stream before the request
        body is fully written, ensure that any <code>ReadListener</code> is
        notified via a call to <code>ReadListener.onErrror()</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Switch the <code>TldScanner</code> back to logging detailed scan
        results at debug level rather than trace level. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Simplify the implementation of <code>OptionalELResolver</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(markt)/WebSocket">WebSocket</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        If a blocking message write exceeds the timeout, don't attempt the write
        again before throwing the exception. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        An Exception being thrown during message processing (e.g. in a method
        annotated with <code>@onMessage</code>) should not automatically cause
        the connection to close. The application should handle the exception and
        make the decision whether or not to close the connection. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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">
        Documentation. Align the logging configuration documentation with the
        current defaults. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(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=69255">69255</a>: Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69206">69206</a>
        that meant exceptions executing statements were wrapped in an
        <code>java.lang.reflect.UndeclaredThrowableException</code> rather than
        the application seeing the original <code>SQLException</code>. Fixed
        by pull request <a href="https://github.com/apache/tomcat/pull/744">#744</a> provided by Michael Clarke. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69279">69279</a>: Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69206">69206</a>
        that meant that methods that previously returned a <code>null</code>
        <code>ResultSet</code> were returning a proxy with a null delegate.
        Fixed by pull request <a href="https://github.com/apache/tomcat/pull/745">#745</a> provided by Huub de Beer. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M25_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Exclude the <code>tomcat-coyote-ffm.jar</code> from JAR scanning by
        default. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Change the default log handler level to <code>ALL</code> so log messages
        are not dropped by default if a logger is configured to use trace
        (<code>FINEST</code>) level logging. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Hamcrest to 3.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update EasyMock to 5.4.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.15.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update CheckStyle to 10.18.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons BCEL to 6.10.0. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Spanish translations by Fernando. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M24_(markt)"><span style="float: right;">2024-08-06</span> Tomcat 11.0.0-M24 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M24_(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=69234">69234</a>: Fix a regression caused by the refactoring to use
        <code>java.net.URI</code> rather than <code>java.net.URL</code> that
        broke support for parallel deployment with WAR files. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M24_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct regressions in the refactoring that added recycling of the
        coyote request and response to the HTTP/2 processing. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M23_(markt)"><span style="float: right;">not released</span> Tomcat 11.0.0-M23 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M23_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for RFC 8297 (Early Hints). Applications can use this
        feature by casting the <code>HttpServletResponse</code> to
        <code>org.apache.catalina.connector.Reponse</code> and then calling the
        method <code>void sendEarlyHints()</code>. This method will be added to
        the Servlet API (removing the need for the cast) in Servlet 6.2 onwards.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69214">69214</a>: Do not reject a CORS request that uses POST but does
        not include a <code>content-type</code> header. Tomcat now correctly
        processes this as a simple CORS request. Based on a patch suggested by
        thebluemountain. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor <code>SpnegoAuthenticator</code> so it uses
        <code>Subject.callAs()</code> rather than <code>Subject.doAs()</code>
        when the available. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M23_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add FFM compatibility methods for LibreSSL support. Renegotiation is
        not supported at the moment. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>org.apache.tomcat.util.openssl.LIBRARY_NAME</code> (specifies
        the name of the library to load) and
        <code>org.apache.tomcat.util.openssl.USE_SYSTEM_LOAD_LIBRARY</code>
        (set to <code>true</code> to use <code>System.loadLibrary</code> rather
        than the FFM library loading code) to configure the OpenSSL library
        loading using FFM. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add FFM compatibility methods for BoringSSL support. Renegotiation is
        not supported in many cases. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that HTTP/2 stream input buffers are only created when there is a
        request body to be read. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor creation of HttpParser instances from the Processor level to
        the Protocol level since the parser configuration depends on the
        protocol and the parser is, otherwise, stateless. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Align HTTP/2 with HTTP/1.1 and recycle the container internal request
        and response processing objects by default. This behaviour can be
        controlled via the new <code>discardRequestsAndResponses</code>
        attribute on the HTTP/2 upgrade protocol. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M23_(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=69206">69206</a>: Ensure statements returned from <code>Statement</code>
        methods <code>executeQuery()</code>, <code>getResultSet()</code> and
        <code>getGeneratedKeys()</code> are correctly wrapped before being
        returned to the caller. Based on pull request <a href="https://github.com/apache/tomcat/pull/742">#742</a> provided by
        Michael Clarke.
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M23_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix packaging regression with missing osgi information following
        addition of the <code>test-only</code> build target. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.8. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Byte Buddy to 1.14.18. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M22_(markt)"><span style="float: right;">2024-07-05</span> Tomcat 11.0.0-M22 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M22_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Allow <code>JAASRealm</code> to use the configuration source to load a
        configured <code>configFile</code>, for easier use with testing. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a potential <code>NullPointerException</code> in classes that extend
        <code>ServletResponse</code> when
        <code>setCharacterEncoding(Charset)</code> is called with
        <code>null</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add missing algorithm callback to the <code>JAASCallbackHandler</code>.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add the OpenSSL version number on the APR and OpenSSL status classes.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69131">69131</a>: Expand the implementation of the <code>filter</code>
        value of the Authenticator attribute <code>allowCorsPreflight</code>, so
        that it applies to all requests that match the configured URL patterns
        for the CORS filter, rather than only applying if the CORS filter is
        mapped to <code>/*</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M22_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the algorithm used to identify the IP address to use to unlock
        the acceptor thread when a Connector is listening on all local
        addresses. Interfaces that are configured for point to point connections
        or are not currently up are now skipped. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Clean and log OpenSSL errors before processing of OpenSSL conf commands
        in the FFM code. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69121">69121</a>: Ensure that the <code>onComplete()</code> event is
        triggered if <code>AsyncListener.onError()</code> dispatches to a target
        that throws an exception. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Following the trailer header field refactoring, <code>-1</code> is no
        longer an allowed value for <code>maxTrailerSize</code>. Adjust
        documentation accordingly. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Move OpenSSL support using FFM to a separate JAR named
        <code>tomcat-coyote-ffm.jar</code> that advertises Java 22 in its
        manifest. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix search for OpenSSL library for FFM on Mac OS so that
        <code>java.library.path</code> is searched. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M22_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update the optimisation in <code>jakarta.el.ImportHandler</code> so it
        is aware of new classes added to the <code>java.lang</code> package in
        Java 23. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that an exception in <code>toString()</code> still results in an
        <code>ELException</code> when an object is coerced to a String using
        <code>ExpressionFactory.coerceToType()</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for specifying Java 24 (with the value <code>24</code>) as
        the compiler source and/or compiler target for JSP compilation. If used
        with an Eclipse JDT compiler version that does not support these values,
        a warning will be logged and the default will used.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69135">69135</a>: When using include directives in a tag file packaged
        in a JAR file, ensure that context relative includes are processed
        correctly. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69135">69135</a>: When using include directives in a tag file packaged
        in a JAR file, ensure that file relative includes are processed
        correctly. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69135">69135</a>: When using include directives in a tag file packaged
        in a JAR file, ensure that file relative includes are are not permitted
        to access files outside of the <code>/META_INF/tags/</code> directory
        nor outside of the JAR file. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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">
        Fix status servlet detailed view of the connectors when using automatic
        port. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M22_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>test-only</code> build target to allow running only the
        testsuite, supporting Java versions down to the minimum supported
        to run Tomcat. (rjung)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.32. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 7.0.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to SpotBugs 4.8.6. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove cglib dependency as it is not required by the version of EasyMock
        used by the unit tests. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update EasyMock to 5.3.0. This adds a test dependency on Byte-Buddy
        1.14.17. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Czech translations by Vladim&iacute;r Chlup. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations by fangzheng. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M21_(markt)"><span style="float: right;">2024-06-18</span> Tomcat 11.0.0-M21 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M21_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for shallow copies when using WebDAV. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove the <code>WebdavFixFilter</code> as it is no longer required.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69066">69066</a>: Fix regression in SPNEGO authenticator when
        processing Base64. Submitted by Daniel Lyko. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>RealmBase.getPrincipal(GSSName, GSSCredential, GSSContext)</code>
        for retrieving extended/additional information from an established
        GSS context. (michaelo)
      </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=68721">68721</a> that caused some
        instances of <code>LinkageError</code> to be reported as
        <code>ClassNotFoundException</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that static resources deployed via a JAR file remain accessible
        when the context is configured to use a bloom filter. Based on pull
        request <a href="https://github.com/apache/tomcat/pull/730">#730</a> provided by bergander. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Introduce reference counting so the <code>AprLifecycleListener</code>
        is more robust. This particularly targets more complex embedded
        configurations with multiple server instances with independent
        lifecycles where more than one server instance requires the
        <code>AprLifecycleListener</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M21_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix OpenSSL FFM use of ERR_error_string with a 128 byte buffer,
        and use ERR_error_string_n instead. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a crash on Windows setting CA certificate on null path.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69068">69068</a>: Ensure read timouts are triggered for asynchronous,
        non-blocking reads when using HTTP/2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=69133">69133</a>: Add task queue size configuration on the
        <code>Connector</code> element, similar to the <code>Executor</code>
        element, for consistency. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Make counting of active HTTP/2 streams per connection more robust.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for TLS 1.3 client initiated re-keying. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M21_(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=68546">68546</a>: Small additional optimisation for initial loading of
        Servlet code generated for JSPs. Based on a suggestion by Dan Armstrong.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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 the ability to set a sub-title for the Manager web application main
        page. This is intended to allow users with lots of instances to easily
        distinguish them. Based on pull request <a href="https://github.com/apache/tomcat/pull/724">#724</a> by Simon Arame.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M21_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Revert Derby to 10.16.1.1 as that is the latest version of Derby that
        runs on Java 17. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Commons Daemon 1.4.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Jakarta Annotations API 3.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Jakarta Authentication API 3.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Objenesis 3.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Checkstyle 10.17.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to SpotBugs 4.8.5. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M20_(markt)"><span style="float: right;">2024-05-08</span> Tomcat 11.0.0-M20 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Deprecate and remove <code>sessionCounter</code> (replaced by the
        addition of the active session count and the expired session count,
        as a reasonable approximation) and <code>duplicates</code> (which
        does not represent a possible event in current implementations)
        statistics from the session manager. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68890">68890</a> Align output encoding of JSPs in the Manager webapp
        with the XML declarations in those same files. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update Basic authentication to implement the requirements of RFC 7617
        including the removal of the <code>trimCredentials</code> setting which
        is now hard-coded to <code>false</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Small performance optimization when logging cookies with no values.
        (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct error handling for asynchronous requests. If the application
        performs an dispatch during <code>AsyncListener.onError()</code> the
        dispatch is now performed rather than completing the request using the
        error page mechanism. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Re-factor ElapsedTimeElement in AbstractAccessLogValve to use a customizable
        style. (schultz)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add more timescale options to AccessLogValve and ExtendedAccessLogValve.
        Allow timescales to apply to "time-taken" token in ExtendedAccessLogValve.
        (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix WebDAV lock null (locks for non existing resources) thread safety
        and removal. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add periodic checking for WebDAV locks expiration. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Extend <code>Asn1Parser</code> to parse <code>UTF8String</code>s.
        (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Remove MBean metadata for attibutes that have been removed. Based on
        pull request <a href="https://github.com/apache/tomcat/pull/719">#719</a> by Shawn Q. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove duplicate ID check from <code>Manager.rotateSessionId()</code>.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add OpenSSL FFM classes to <code>tomcat-embed-core.jar</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align non-secure and secure writes with NIO and skip the write attempt
        when there are no bytes to be written. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Allow any positive value for <code>socket.unlockTimeout</code>. If a
        negative or zero value is configured, the default of <code>250ms</code>
        will be used. (mark)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Reduce the time spent waiting for the connector to unlock. The previous
        default of 10s was noticeably too long for cases where the unlock has
        failed. The wait time is now 100ms plus twice
        <code>socket.unlockTimeout</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that the <code>onAllDataRead()</code> event is triggered when the
        request body uses chunked encoding and is read using non-blocking IO.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68934">68934</a>: Add debug logging in the latch object when exceeding
        <code>maxConnections</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor trailer field handling to use a <code>MimeHeaders</code>
        instance to store trailer fields. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that multiple instances of the same trailer field are handled
        correctly. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix non-blocking reads of chunked request bodies. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor HTTP header parsing to use common parsing code. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When an invalid HTTP response header was dropped, an off-by-one error
        meant that the first header in the response was also dropped. Fix based
        on pull request <a href="https://github.com/apache/tomcat/pull/710">#710</a> by foremans. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for specifying Java 23 (with the value <code>23</code>) as
        the compiler source and/or compiler target for JSP compilation. If used
        with an Eclipse JDT compiler version that does not support these values,
        a warning will be logged and the default will used.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(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=69844">69844</a>: Close the connection with a protocol error if the
        server sends masked frames. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68884">68884</a>: Reduce the write timeout when writing WebSocket close
        messages for abnormal closes. The timeout defaults to 50 milliseconds
        and may be controlled using the
        <code>org.apache.tomcat.websocket.ABNORMAL_SESSION_CLOSE_SEND_TIMEOUT</code>
        property in the user properties collection associated with the WebSocket
        session. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples: Improve performance of WebSocket chat application when
        multiple clients disconnect at the same time. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Examples: Increase the number of previous messages displayed when using
        the WebSocket chat application. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples: Improve performance of WebSocket snake application when
        multiple clients disconnect at the same time. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M20_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Switch to using the Base64 encoder and decoder provided by the JRE
        rather than the version provided by Commons Codec. This removes the
        internal fork of Commons Codec. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.31. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update NSIS to 3.10. (mark0t)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 7.0.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.16.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update JaCoCo to 0.8.12. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.8.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons BCEL to 6.9.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons DBCP to 2.12.0. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (remm)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M19_(remm)"><span style="float: right;">2024-04-16</span> Tomcat 11.0.0-M19 (remm)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M19_(remm)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add <code>highConcurrencyStatus</code> attribute to the
        <code>SemaphoreValve</code> to optionally allow the valve to return an
        error status code to the client when a permit cannot be acquired from
        the semaphore. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add checking of the "age" of the running Tomcat instance since its
        build-date to the SecurityListener, and log a warning if the server
        is old. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When using the <code>AsyncContext</code>, throw an
        <code>IllegalStateException</code>, rather than allowing an
        <code>NullPointerException</code>, if an attempt is made to use the
        <code>AsyncContext</code> after it has been recycled. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a default implementation for <code>HttpSession.getAccessor()</code>
        to align with the Servlet 6.1 API. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add the Jakarta EE 11 XML schemas and update Tomcat and included web
        applications to use them. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Change the thread-safety mechanism for protecting StandardServer.services
        from a simple synchronized lock to a ReentrantReadWriteLock to allow
        multiple readers to operate simultaneously. Based upon a suggestion by
        Markus Wolfe. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve Service connectors, Container children and Service executors
        access sync using a ReentrantReadWriteLock. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve handling of integer overflow if an attempt is made to upload a
        file via the Servlet API and the file is larger than
        <code>Integer.MAX_VALUE</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68862">68862</a>: Handle possible response commit when processing read
        errors. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M19_(remm)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add <code>threadsMaxIdleTime</code> attribute to the endpoint,
        to allow configuring the amount of time before an internal executor
        will scale back to the configured <code>minSpareThreads</code> size.
        (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Adjust the <code>Set-Cookie</code> header generated by the
        <code>Rfc6265CookieProcessor</code> so that attributes with a value of
        the empty string will be output as bare attribute names without an
        equals sign or value. This will simplify future support for similar new
        attributes by removing the need for special handling. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor the internal representation of the <code>HttpOnly</code> and
        <code>Secure</code> attributes to use the empty string as the value for
        consistency with the recent changes to <code>Set-Cookie</code> header
        generation. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Do not generate the <code>Max-Age</code> attribute for
        <code>Set-Cookie</code> headers associated with cookies that have been
        configured with a <code>Max-Age</code> value of zero as RFC 6265 does
        not permit a value of zero in this case. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct a regression in the support for user provided
        <code>SSLContext</code> instances that broke the
        <code>org.apache.catalina.security.TLSCertificateReloadListener</code>.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M19_(remm)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Handle the case where the JSP engine forwards a request/response to a
        Servlet that uses an <code>OutputStream</code> rather than a
        <code>Writer</code>. This was triggering an
        <code>IllegalStateException</code> on code paths where there was a
        subsequent attempt to obtain a <code>Writer</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correctly handle the case where a tag library is packaged in a JAR file
        and the web application is deployed as a WAR file rather than an
        unpacked directory. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Prevent the web application's ClassLoader from being pinned by the JSP
        compiler if an application uses a custom XMLInputFactory. Based upon a
        suggestion from Simon Niederberger. (schultz)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M19_(remm)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.14.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons BCEL to 6.8.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons Codec to 1.16.1. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations by leeyazhou. (remm)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M18_(markt)"><span style="float: right;">2024-03-14</span> Tomcat 11.0.0-M18 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/General">General</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Reduce the minimum supported Java version to Java 17. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Minor performance improvement for building filter chains. Based on
        ideas from pull request <a href="https://github.com/apache/tomcat/pull/702">#702</a> by Luke Miao. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align error handling for <code>Writer</code> and
        <code>OutputStream</code>. Ensure use of either once the response has
        been recycled triggers a <code>NullPointerException</code> provided that
        <code>discardFacades</code> is configured with the default value of
        <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=68692">68692</a>: The standard thread pool implementations that are
        configured using the <code>Executor</code> element now implement
        <code>ExecutorService</code> for better support NIO2. The
        <code>org.apache.catalina.Executor</code> interface now extends
        <code>ExecutorService</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68495">68495</a>: When restoring a saved POST request after a successful
        FORM authentication, ensure that neither the URI, the query string nor
        the protocol are corrupted when restoring the request body. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        After forwarding a request, attempt to unwrap the response in order to
        suspend it, instead of simply closing it if it was wrapped. Add a new
        <code>suspendWrappedResponseAfterForward</code> boolean attribute on
        <code>Context</code> to control the bahavior, defaulting to
        <code>true</code>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68721">68721</a>: Workaround a possible cause of duplicate class
        definitions when using <code>ClassFileTransformer</code>s and the
        transformation of a class also triggers the loading of the same class.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        The rewrite valve should not do a rewrite if the output is identical
        to the input. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add a new <code>valveSkip</code> (or <code>VS</code>) rule flag to the
        rewrite valve to allow skipping over the next valve in the Catalina
        pipeline. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix bad symbol lookup use in the OpenSSL FFM code. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the HTTP/2 stream prioritisation process. If a stream uses all
        of the connection windows and still has content to write, it will now be
        added to the backlog immediately rather than waiting until the write
        attempt for the remaining content. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add method invocation support for <code>java.util.Optional</code> via
        the <code>jakarta.el.OptionalELResolver</code>  to Tomcat's
        implementation of the Jakarta EL API to align with the latest proposals
        for the Jakarta EL 6.0 API. The property support has also been refined
        for greater consistency. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        The defaults for <code>compilerSourceVM</code> and
        <code>compilerTargetVM</code> have been updated to 17 to align with Java
        17 being the minimum Java version required for Tomcat 11. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/Cluster">Cluster</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid updating request count stats on async. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M18_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=57130">57130</a>: Allow digest.(sh|bat) to accept password from a file
        or stdin. (csutherl/schultz)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M17_(markt)"><span style="float: right;">2024-02-19</span> Tomcat 11.0.0-M17 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Implement <code>HttpSession.getAccessor()</code> which provides a
        mechanism for applications to interact with an <code>HttpSession</code>
        outside the standard Servlet processing of an HTTP request. This is
        expected to be especially useful with applications using the Jakarta
        WebSocket API. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct JPMS and OSGi meta-data for <code>tomcat-embed-core.jar</code>
        by removing reference to <code>org.apache.catalina.ssi</code> package
        that is no longer included in the JAR. Based on pull request
        <a href="https://github.com/apache/tomcat/pull/684">#684</a> by Jendrik Johannes. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix ServiceBindingPropertySource so that trailing <code>\r\n</code>
        sequences are correctly removed from files containing property values
        when configured to do so. Bug identified by Coverity Scan. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add improvements to the CSRF prevention filter including the ability
        to skip adding nonces for resource name and subtree URL patterns. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Review usage of debug logging and downgrade trace or data dumping
        operations from debug level to trace. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68089">68089</a>: Further improve the performance of request attribute
        access for <code>ApplicationHttpRequest</code> and
        <code>ApplicationRequest</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68559">68559</a>: Allow asynchronous error handling to write to the
        response after an error during asynchronous processing. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Setting a <code>null</code> value for a cookie attribute should remove
        the attribute. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Optimize state handling for OpenSSL context callbacks with the FFM API.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Make asynchronous error handling more robust. Ensure that once a
        connection is marked to be closed, further asynchronous processing
        cannot change that. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Make asynchronous error handling more robust. Ensure that once the call
        to <code>AsyncListener.onError()</code> has returned to the container,
        only container threads can access the <code>AsyncContext</code>. This
        protects against various race conditions that would otherwise occur if
        application threads continued to access the <code>AsyncContext</code>.
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Review usage of debug logging and downgrade trace or data dumping
        operations from debug level to trace. In particular, most of the
        HTTP/2 debug logging has been changed to trace level. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Add support for user provided <code>SSLContext</code> instances
        configured on <code>SSLHostConfigCertificate</code> instances. Based on
        pull request <a href="https://github.com/apache/tomcat/pull/673">#673</a> provided by Hakan Altındağ. (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=68558">68558</a>: Cache the result of converting to
        <code>String</code> for request URI, HTTP header names and the request
        <code>Content-Type</code> value to improve performance by reducing
        repeated <code>byte[]</code> to <code>String</code> conversions. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve error reporting to HTTP/2 clients for header processing errors
        by reporting problems at the end of the frame where the error was
        detected rather than at the end of the headers. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
       Remove the remaining reference to a stream once the stream has been
       recycled. This makes the stream eligible for garbage collection earlier
       and thereby improves scalability. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Additional fixes to correctly support <code>length</code> as a read-only
        property of an array via the <code>ArrayELResolver</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68546">68546</a>: Generate optimal size and types for JSP imports maps,
        as suggested by John Engebretson. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Review usage of debug logging and downgrade trace or data dumping
        operations from debug level to trace. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/WebSocket">WebSocket</h4><div class="text">
    <ul class="changelog">
      <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=66508">66508</a> that could cause an
        <code>UpgradeProcessor</code> leak in some circumstances. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Review usage of debug logging and downgrade trace or data dumping
        operations from debug level to trace. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that WebSocket connection closure completes if the connection is
        closed when the server side has used the proprietary suspend/resume
        feature to suspend the connection. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for responses in JSON format from the examples application
        RequestHeaderExample. (schultz)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M17_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct the remaining OSGi contract references in the manifest files to
        refer to the Jakarta EE contract names rather than the Java EE contract
        names. Based on pull request <a href="https://github.com/apache/tomcat/pull/685">#685</a> provided by Paul A. Nicolucci.
        (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.13.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update JSign to 6.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Tomcat Migration Tool for Jakarta EE
        to 1.0.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add strings for debug level messages. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M16_(markt)"><span style="float: right;">2024-01-09</span> Tomcat 11.0.0-M16 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M16_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Allow alternate redirect status code for directory redirects issued by
        the default servlet via the init param
        <code>directoryRedirectStatusCode</code>. (funkman/markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68378">68378</a>: Align extension to MIME type mappings in the global
        web.xml with those in httpd by adding
        <code>application/vnd.geogebra.slides</code> for <code>ggs</code>,
        <code>text/javascript</code> for <code>mjs</code> and
        <code>audio/ogg</code> for opus. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M16_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor the <code>VirtualThreadExecutor</code> so that it can be used
        by the NIO2 connector which was using platform threads even when
        configured to use virtual threads. (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=67675">67675</a> that broke TLS key
        file parsing for PKCS#8 format keys that do not specify an explicit
        pseudo-random function and rely on the default. This typically affects
        keys generated by OpenSSL 1.0.2. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Allow multiple operations with the same name on introspected mbeans,
        fixing a regression caused by the introduction of a second
        <code>addSslHostConfig</code> method. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Relax the check that the HTTP Host header is consistent with the host
        used in the request line, if any, to make the check case insensitive
        since host names are case insensitive. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68348">68348</a>: Add support for the partitioned attribute for cookies
        including session cookies. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M16_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        The defaults for <code>compilerSourceVM</code> and
        <code>compilerTargetVM</code> have been updated to 21 to align with Java
        21 being the minimum Java version required for Tomcat 11. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=68035">68035</a>: Additional fix to the Manager application to enable
        the deployment of a web application located in a Host's
        <code>appBase</code> where the web application is specified by a bare
        (no path) WAR or directory name as shown in the documentation. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M16_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.30. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.8.3. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M15_(markt)"><span style="float: right;">2023-12-12</span> Tomcat 11.0.0-M15 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M15_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Background processes should not be run concurrently with lifecycle
        operations of a container. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for the <code>jakarta.servlet.request.secure_protocol</code>
        request attribute that has been added in Jakarta Servlet 6.1. This
        replaces the now deprecated Tomcat specific request attribute
        <code>org.apache.tomcat.util.net.secure_protocol_version</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Align behaviour with the latest addition to the Servlet 6.1
        specification that requires that all HTTP error dispatches use the GET
        method. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct unintended escaping of XML in some WebDAV responses. The XML
        list of support locks when provided in response to a PROPFIND request
        was incorrectly XML escaped. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68227">68227</a>: Ensure that <code>AsyncListener.onComplete()</code> is
        called if <code>AsyncListener.onError()</code> calls
        <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=68228">68228</a>: Use a 408 status code if a read timeout occurs during
        HTTP request processing. Includes a test case based on code provided by
        adwsingh. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M15_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Use Java code to load certificate chain when using OpenSSL through
        the FFM API. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M15_(markt)/Jasper">Jasper</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=68119">68119</a>: Refactor the <code>CompositeELResolver</code> to
        improve performance during type conversion operations. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M15_(markt)/Web_Applications">Web Applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Examples. Improve the error handling so snakes associated with a user
        that drops from the network are removed from the game. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M15_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the OWB module to Apache OpenWebBeans 4.0.1. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68124">68124</a>: Migrate sample.war from javax to jakarta. (lihan)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 6.0.11. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.5. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.8.2. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Derby to 10.17.1. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Brazilian Portuguese translations by John William
        Vicente. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Russian translations by usmazat and remm. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M14_(markt)"><span style="float: right;">2023-11-15</span> Tomcat 11.0.0-M14 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M14_(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=67667">67667</a>: <code>TLSCertificateReloadListener</code> prints
        unreadable rendering of <code>X509Certificate#getNotAfter()</code>.
        (michaelo)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        The status servlet included in the manager webapp can now output
        statistics as JSON, using the <code>JSON=true</code> URL parameter.
        (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Optionally allow ServiceBindingPropertySource to trim a trailing newline
        from a file containing a property-value. (schultz)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Use Files.move instead of File.renameTo in the FarmWebDeployer to
        support a broader range of environments, and to give better information
        in the event of a failure. (schultz)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67793">67793</a>: Ensure the original session timeout is restored after
        FORM authentication if the user refreshes a page during the FORM
        authentication process. Based on a suggestion by Mircea Butmalai.
        (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67926">67926</a>: <code>PEMFile</code> prints unidentifiable string
        representation of ASN.1 OIDs. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66875">66875</a>: Ensure that setting the request attribute
        <code>jakarta.servlet.error.exception</code> is not sufficient to
        trigger error handling for the current request and response. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68054">68054</a>: Avoid some file canonicalization calls introduced
        by the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=65433">65433</a>. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68089">68089</a>: Improve performance of request attribute access for
        <code>ApplicationHttpRequest</code> and <code>ApplicationRequest</code>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Use a 400 status code to report an error due to a bad request (e.g. an
        invalid trailer header) rather than a 500 status code. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that an <code>IOException</code> during the reading of the
        request triggers always error handling, regardless of whether the
        application swallows the exception. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M14_(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=66670">66670</a>: Add <code>SSLHostConfig#certificateKeyPasswordFile</code> and
        <code>SSLHostConfig#certificateKeystorePasswordFile</code>. (michaelo)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        When calling
        <code>SSLHostConfigCertificate.setCertificateKeystore(ks)</code>,
        automatically call
        <code>setCertificateKeystoreType(ks.getType())</code>. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add OpenSSL integration using the FFM API rather than Tomcat Native.
        OpenSSL support may be enabled by adding the
        <code>org.apache.catalina.core.OpenSSLLifecycleListener</code>
        listener on the <code>Server</code> element when using Java 22
        (starting with preview build 20) or later. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67628">67628</a>: Clarify how the <code>ciphers</code> attribute of the
        <code>SSLHostConfig</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=67666">67666</a>: Ensure TLS connectors using PEM files either work with
        the <code>TLSCertificateReloadListener</code> or, in the rare case that
        they do not, log a warning on Connector start. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67675">67675</a>: Support a wider range of KDF and ciphers for PEM files
        than the combinations supported by the JVM by default. Specifically,
        support the OpenSSL default of HmacSHA256 and DES-EDE3-CBC. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67927">67927</a>: Reloading TLS configuration can cause the Connector to
        refuse new connections or the JVM to crash. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67938">67938</a>: Correct handling of large TLS client hello messages
        that were causing the TLS handshake to fail. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68026">68026</a>: Convert selected <code>MessageByte</code> values to
        String when first accessed to speed up subsequent accesses and reduce
        garbage collection. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M14_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for Records to expression language. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68068">68068</a>: Performance improvement for EL. Based on a suggestion
        by John Engebretson. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M14_(markt)/WebSocket">WebSocket</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct missing metadata in the MANIFEST of the for WebSocket client API
        JAR file. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=68035">68035</a>: Correct a regression in the fix for <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=56248">56248</a>
        that prevented deployment via the Manager of a WAR or directory that was
        already present in the <code>appBase</code> or a context file that was
        already present in the <code>xmlBase</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M14_(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=67538">67538</a>: Make use of Ant's <code>&lt;javaversion /&gt;</code> task
        to enfore the mininum Java build version. (michaelo)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.4. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update JaCoCo to 0.8.11. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.8.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update BND to 7.0.0. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M13_(markt)"><span style="float: right;">2023-10-14</span> Tomcat 11.0.0-M13 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M13_(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=67670">67670</a>: Fix regression with HTTP compression after code
        refactoring. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M13_(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=67664">67664</a>: Correct a regression in the clean-up of unnecessary
        use of fully qualified class names in 11.0.0-M12 that broke the
        jdbc-pool. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M12_(markt)"><span style="float: right;">2023-10-10</span> Tomcat 11.0.0-M12 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M12_(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=65770">65770</a>: Provide a lifecycle listener that will automatically
        reload TLS configurations a set time before the certificate is due to
        expire. This is intended to be used with third-party tools that
        regularly renew TLS certificates. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix handling of an error reading a context descriptor on deployment.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix rewrite rule qsd (query string discard) being ignored if qsa was
        also use, while it should instead take precedence. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67472">67472</a>: Send fewer CORS-related headers when CORS is not
        actually being engaged. (schultz)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improve handling of failures within <code>recycle()</code> methods.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M12_(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=67198">67198</a>: Ensure that the AJP connector attribute
        <code>tomcatAuthorization</code> takes precedence over the
        <code>tomcatAuthentication</code> attribute when processing an
        <code>auth_type</code> attribute received from a proxy server. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67235">67235</a>: Fix a <code>NullPointerException</code> when an
        <code>AsyncListener</code> handles an error with a dispatch rather than
        a complete. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When an error occurs during asynchronous processing, ensure that the
        error handling process is only triggered once per asynchronous cycle.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix logic issue trying to match no argument method in IntropectionUtil.
        (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve thread safety around readNotify and writeNotify in the NIO2
        endpoint. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid rare thread safety issue accessing message digest map. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve statistics collection for upgraded connections under load.
        (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        <code>PushBuilder</code> has been deprecated in line with the changes
        for the Servlet 6.1 specification. It will be replaced in a future
        Tomcat 11 milestone with support for 103 early hints. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove support for HTTP/2 server push. Calls to
        <code>newPushBuilder()</code> will always return <code>null</code>.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Align validation of HTTP trailer fields with standard fields. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improvements to HTTP/2 overhead protection. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M12_(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=67080">67080</a>: Improve performance of EL expressions in JSPs that use
        implicit objects. Based on suggestions by John Engebretson, Anurag Dubey
        and Christopher Schultz. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M12_(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 Apache Commons FileUpload to 7a8c324
        (2023-09-16, 1.x-SNAPSHOT). Due to significant refactoring in the 2.x
        branch requiring additional Commons IO dependencies, Tomcat has switched
        to tracking the 1.x branch. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add the <code>Bundle-License</code> header to the JAR manifest for all
        Tomcat JARs. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.29. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 6.0.10. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.6. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Commons Pool to 2.12.0. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=67611">67611</a>: Correct the download link in BUILDING.txt. (lihan)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Russian translations by usmazat. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M11_(markt)"><span style="float: right;">2023-08-25</span> Tomcat 11.0.0-M11 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M11_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        If an application or library sets both a non-500 error code and the
        <code>jakarta.servlet.error.exception</code> request attribute, use the
        provided error code during error page processing rather than assuming an
        error code of 500. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update code comments and Tomcat output to use MiB for 1024 * 1024 bytes
        and KiB for 1024 bytes rather than MB and kB. (martk)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Update the HTTP parameter handling to align with the changes in the
        Jakarta Servlet 6.1 API Javadoc for the <code>ServletRequest</code>
        methods used to obtain request parameters. Invalid parameters and/or
        exceeding parameter size and/or quantity limits now trigger
        exceptions. As a consequence, the <code>FailedRequestFilter</code> has
        been removed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid protocol relative redirects in FORM authentication. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M11_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. Update documentation to use MiB for 1024 * 1024 bytes and
        KiB for 1024 bytes rather than MB and kB. (martk)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M11_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. (lihan)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations by tak7iji. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M10_(markt)"><span style="float: right;">2023-08-14</span> Tomcat 11.0.0-M10 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M10_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix potential database connection leaks in
        <code>DataSourceUserDatabase</code> identified by Coverity Scan. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Make parsing of <code>ExtendedAccessLogValve</code> patterns more
        robust. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix failure trying to persist configuration for an internal credential
        handler. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66680">66680</a>: When serializing a session during the session
        presistence process, do not log a warning that null Principals are not
        serializable. Pull request <a href="https://github.com/apache/tomcat/pull/638">#638</a> provided by tsryo. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66822">66822</a>: Use the same naming format in log messages for
        Connector instances as the associated ProtocolHandler instance. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        The parts count should also lower the actual
        <code>maxParameterCount</code> used for parsing parameters if parts are
        parsed first. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M10_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor blocking reads and writes for the NIO connector to remove
        code paths that could allow a notification from the Poller to be missed
        resuting in a timeout rather than the expected read or write. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor waiting for an HTTP/2 stream or connection window update to
        handle spurious wake-ups during the wait. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improve extensibility of endpoints for socket channel creation and TLS.
        Pull request <a href="https://github.com/apache/tomcat/pull/639">#639</a> provided by Marco Fargetta. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct a regression introduced in 11.0.0-M9 and use the correct
        constant when constructing the default value for the
        <code>certificateKeystoreFile</code> attribute of an
        <code>SSLHostConfigCertificate</code> instance. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor HTTP/2 implementation to reduce pinning when using virtual
        threads. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Pass through ciphers referring to an OpenSSL profile, such as
        <code>PROFILE=SYSTEM</code> instead of producing an error trying to
        parse it. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66841">66841</a>: Ensure that <code>AsyncListener.onError()</code> is
        called after an error during asynchronous processing with 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=66842">66842</a>: When using asynchronous I/O (the default), include
        DATA frames when calculating the HTTP/2 overhead count to ensure that
        connections are not prematurely terminated. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct a race condition that could cause spurious RST messages to be
        sent after the response had been written to an HTTP/2 stream. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=66681">66681</a>: Fix a <code>NullPointerException</code> when flushing
        batched messages with compression enabled using
        <code>permessage-deflate</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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">
        Fix the <code>releaseIdleCounter</code> does not increment when testAllIdle
        releases them. Pull request <a href="https://github.com/apache/tomcat/pull/241">#241</a> provided by Arun Chaitanya Miriappalli
        (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix the <code>ConnectionState</code> state will be inconsistent with actual
        state on the connection when an exception occurs while writing. Pull request
        <a href="https://github.com/apache/tomcat/pull/643">#643</a> provided by Wenjun Xiao. (lihan)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M10_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update NSIS to 3.09. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.2. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by tak7iji and
        Shirayuking. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66829">66829</a>: Fix quoting so users can use the <code>_RUNJAVA</code>
        environment variable as intended on Windows when the path to the Java
        executable contains spaces. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66834">66834</a>: Correct the OSGi contract references in the manifest
        files to refer to the Jakarta EE contract names rather than the Java EE
        contract names. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Tomcat Native to 2.0.5. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M9_(markt)"><span style="float: right;">2023-07-10</span> Tomcat 11.0.0-M9 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M9_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct properties for JSign dependency. (rjung)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M8_(markt)"><span style="float: right;">not released</span> Tomcat 11.0.0-M8 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(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=59232">59232</a>: Add
        <code>org.apache.catalina.core.ContextNamingInfoListener</code>,
        a listener which creates context naming information environment entries.
        (michaelo)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66665">66665</a>: Add
        <code>org.apache.catalina.core.PropertiesRoleMappingListener</code>,
        a listener which populates the context's role mapping from a properties
        file. (michaelo)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix an edge case where intra-web application symlinks would be followed
        if the web applications were deliberately crafted to allow it even when
        <code>allowLinking</code> was set to <code>false</code>. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add utlity config file resource lookup on <code>Context</code> to allow
        looking up resources from the webapp (prefixed with
        <code>webapp:</code>) and make the resource lookup API more visible.
        (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(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=66627">66627</a>: Restore the documented behaviour of
        <code>MessageBytes.getType()</code> that it returns the type of the
        original content rather than reflecting the most recent conversion.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66635">66635</a>: Correct certificate logging on start-up so it
        differentiates between keystore based keys/certificates and PEM file
        based keys/certificates and logs the relevant information for each.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>java.util.Optional</code> support via the
        <code>jakarta.el.OptionalELResolver</code>  to Tomcat's implementation
        of the Jakarta EL API to align with the latest proposals for the Jakarta
        EL 6.0 API. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for specifying Java 22 (with the value <code>22</code>) as
        the compiler source and/or compiler target for JSP compilation. If used
        with an Eclipse JDT compiler version that does not support these values,
        a warning will be logged and the default will used.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(markt)/WebSocket">WebSocket</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve handling of error conditions for the WebSocket server,
        particularly during Tomcat shutdown. (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=66574">66574</a> that meant the
        WebSocket session could return false for <code>onOpen()</code> before
        the <code>onClose()</code> event had been completed. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Update the WebSocket API provided by Tomcat to align with the latest
        proposals from the Jakarta WebSocket project and make the WebSocket
        <code>Session</code> instance available via <code>SendResult</code>.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(markt)/Web_applications">Web applications</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Documentation. Expand the security guidance to cover the embedded use
        case and add notes on the uses made of the <code>java.io.tmpdir</code>
        system property. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66662">66662</a>: Documentation. Fix a typo in the name of the
        <strong>algorithms</strong> attribute in the configuration section for
        the Digest authentication valve. Pull request <a href="https://github.com/apache/tomcat/pull/629">#629</a> provided by
        gohilmca. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M8_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Include the Windows specific binary distributions in the files uploaded
        to Maven Central. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove support for running Tomcat on 32-bit Windows operating systems as
        Java 21 is not available for that platform. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by tak7iji. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.28. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 6.0.9. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update BND to 6.4.1. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update JSign to 5.0. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M7_(markt)"><span style="float: right;">2023-06-08</span> Tomcat 11.0.0-M7 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M7_(markt)/General">General</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Increase the minimum supported Java version to Java 21. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M7_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Move the management of the utility executor from the
        <code>init()</code>/<code>destroy()</code> methods of components to the
        <code>start()</code>/<code>stop()</code> methods. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add RateLimitFilter which can be used to mitigate DoS and Brute Force
        attacks. (isapir)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove support for using the <code>^</code> character to separate the
        WAR file and WAR contents in Tomcat's custom WAR URL handler. The
        current default separator character of <code>*</code> remains unchanged.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add <code>org.apache.catalina.core.StandardVirtualThreadExecutor</code>,
        a virtual thread based executor that may be used with one or more
        Connectors to process requests received by those Connectors using
        virtual threads. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66513">66513</a>: Add a per session Semaphore to the
        <code>PersistentValve</code> that ensures that, within a single Tomcat
        instance, there is no more than one concurrent request per session. Also
        expand the debug logging to include whether a request bypasses the Valve
        and the reason if a request fails to obtain the per session Semaphore.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66609">66609</a>: Ensure that the default servlet correctly escapes
        file names in directory listings when using XML output. Based on pull
        request <a href="https://github.com/apache/tomcat/pull/621">#621</a> by Alex Kachanov. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
       <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66618">66618</a>: Add a numeric last modified field to the XML directory
       listings produced by the default servlet to enable sorting in the XSLT.
       Pull request <a href="https://github.com/apache/tomcat/pull/622">#622</a> by Alex Kachanov. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66621">66621</a>: Attempts to lock a collection with WebDAV may
        incorrectly fail if a child collection has an expired lock. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66622">66622</a>: Remove the <code>xssProtectionEnabled</code> setting
        from the <code>HttpHeaderSecurityFilter</code> as support for the
        associated HTTP header has been removed from all major browsers. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M7_(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=66602">66602</a>: not sending WINDOW_UPDATE when dataLength is ZERO
        on call SwallowedDataFramePayload. Pull request #619 by
        ledefe. (lihan)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M7_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Commons Daemon 1.3.4. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.12.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Apache Tomcat Native Library to 2.0.4
        to pick up the Windows binaries built with with OpenSSL 3.0.9. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M6_(markt)"><span style="float: right;">2023-05-09</span> Tomcat 11.0.0-M6 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M6_(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=66567">66567</a>: Fix missing <code>IllegalArgumentException</code>
        after the Tomcat code was converted to using URI instead of URL. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Escape timestamp output in <code>AccessLogValve</code> if a
        <code>SimpleDateFormat</code> is used which contains verbatim
        characters that need escaping. (rjung)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Change output of vertical tab in <code>AccessLogValve</code> from
        <code>\v</code> to <code>\u000b</code>. (rjung)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improve performance of escaping in <code>AccessLogValve</code>
        roughly by a factor of two. (rjung)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Improve <code>JsonAccessLogValve</code>: support more patterns
        like for headers and attributes. Those will be logged as sub objects.
        (rjung)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://github.com/apache/tomcat/pull/613">#613</a>: Fix possible partial corrupted file copies when using
        file locking protection or the manager servlet. Submitted
        by Jack Shirazi. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M6_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for a new character set, <code>gb18030-2022</code> -
        introduced in Java 21, to the character set caching mechanism. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix an edge case in HTTP header parsing and ensure that HTTP headers
        without names are treated as invalid. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove support for the HTTP Connector settings
        <code>rejectIllegalHeader</code> and
        <code>allowHostHeaderMismatch</code>. These are now hard-coded to the
        previous defaults. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66591">66591</a>: Fix a regression introduced in the fix for
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66512">66512</a> that meant that an AJP Send Headers was not sent for
        responses where no HTTP headers were set. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M6_(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=66582">66582</a>: Account for EL having stricter requirements for static
        imports than JSPs when adding JSP static imports to the EL context.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M6_(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=66574">66574</a>: Refactor WebSocket session close to remove the lock on
        the <code>SocketWrapper</code> which was a potential cause of deadlocks
        if the application code used simulated blocking. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66575">66575</a>: Avoid unchecked use of the backing array of a
        buffer provided by the user in the compression transformation. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve exception handling when flushing batched messages during
        WebSocket session close. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66581">66581</a>: Update <code>AsyncChannelGroupUtil</code> to align it
        with the current defaults for AsynchronousChannelGroup. Pull request
        <a href="https://github.com/apache/tomcat/pull/612">#612</a> by Matthew Painter. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M6_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. (lihan)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.10.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Jacoco to 0.8.10. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Tomcat Migration Tool for Jakarta EE
        to 1.0.7. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M5_(markt)"><span style="float: right;">2023-04-19</span> Tomcat 11.0.0-M5 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M5_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a <code>doPatch</code> method to <code>HttpServlet</code> to provide
        support for the HTTP <code>PATCH</code> method as defined in RFC 5789.
        This is one of the changes in the Servlet 6.1 API. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=65995">65995</a>: Implement RFC 9239 and use
        <code>text/javascript</code> as the media type for JavaScript rather
        than <code>application/javascript</code>. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Tomcat no longer sets the <code>java.protocol.handler.pkgs</code> system
        property when starting. Users are now free to configure this property if
        they wish. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add an access log valve that uses a json format. Based on pull request
        <a href="https://github.com/apache/tomcat/pull/539">#539</a> provided by Thomas Meyer. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Harden the FORM authentication process against DoS attacks by using a
        reduced session timeout if the FORM authentication process creates a
        session. The duration of this timeout is configured by the
        <code>authenticationSessionTimeout</code> attribute of the FORM
        authenticator. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Implement the new Servlet API methods that provide additional control
        when sending a redirect to the client. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Update Digest authentication support to align with RFC 7616. This adds a
        new configuration attribute, <code>algorithms</code>, to the
        <code>DigestAuthenticator</code> with a default of
        <code>SHA-256,MD5</code>. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Reduce the default value of <code>maxParameterCount</code> from 10,000
        to 1,000. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66527">66527</a>: Correct the Javadoc for the
        <code>Tomcat.addWebapp()</code> methods that incorrectly stated that the
        <code>docBase</code> parameter could be a relative path. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66524">66524</a> Correct eviction ordering in WebResource cache to
        be LRU as intended. (schultz)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Add support code for custom user attributes in <code>RealmBase</code>.
        Based on code from <a href="https://github.com/apache/tomcat/pull/473">#473</a> by Carsten Klein. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Expand the set of HTTP request headers considered sensitive that should
        be skipped when generating a response to a <code>TRACE</code> request.
        This aligns with the current draft of the Servlet 6.1 specification.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66541">66541</a>: Improve handling for cached resources for resources
        that use custom URL schemes. The scheme specific <code>equals()</code>
        and <code>hashCode()</code> algorithms, if present, will now be used for
        URLs for these resources. This addresses a potential performance issue
        with some OSGi custom URL schemes that can trigger potentially slow DNS
        lookups in some configurations. Based on a patch provided by Tom
        Whitmore. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When using a custom session manager deployed as part of the web
        application, avoid <code>ClassNotFoundException</code>s when validating
        session IDs extracted from requests. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66543">66543</a>: Give <code>StandardContext#fireRequestDestroyEvent</code>
         its own log message. (fschumacher)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66554">66554</a>: Initialize Random during server initialization to
        avoid possible JVM thread creation in the webapp context on some
        platforms. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Make the server utility executor available to webapps using a Servlet
        context attribute named
        <code>org.apache.tomcat.util.threads.ScheduledThreadPoolExecutor</code>. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M5_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        JSON filter should support specific escaping for common special
        characters as defined in RFC 8259. Based on code submitted by
        Thomas Meyer. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66511">66511</a>: Fix <code>GzipOutputFilter</code> (used for compressed
        HTTP responses) when used with direct buffers. Patch suggested by Arjen
        Poutsma. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66512">66512</a>: Align AJP handling of invalid HTTP response headers
        (they are now removed from the response) with HTTP. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66530">66530</a>: Correct a regression in the fix for bug
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66442">66442</a> that meant that streams without a response body did not
        decrement the active stream count when completing leading to
        <code>ERR_HTTP2_SERVER_REFUSED_STREAM</code> for some connections.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Remove use of deprecated classes in the <code>javax.security.cert</code>
        package. Pull request <a href="https://github.com/apache/tomcat/pull/608">#608</a> provided by Eirik Bjorsnos. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M5_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix bug that meant some instances of coercing a
        <code>LambdaExpression</code> to a functional interface invocation
        failed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66536">66536</a>: Fix parsing of tag files that meant that tag
        directives could be ignored for some tag files. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Align the EL implementation with the latest changes to the Jakarta EL
        specification and add support for the length attribute to the
        <code>ArrayELResolver</code>. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M5_(markt)/Cluster">Cluster</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=66535">66535</a>: Redefine the <code>maxValidTime</code> attribute of
        <code>FarmWarDeployer</code> to be the maximum time allowed between
        receiving parts of a transferred file before the transfer is cancelled
        and the associated resources cleaned-up. A new warning message will be
        logged if the file transfer is cancelled. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=66508">66508</a>: When using WebSocket with NIO2, avoid waiting for
        a timeout before sending the close frame if an I/O error occurs during a
        write. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66548">66548</a>: Expand the validation of the value of the
        <code>Sec-Websocket-Key</code> header in the HTTP upgrade request that
        initiates a WebSocket connection. The value is not decoded but it is
        checked for the correct length and that only valid characters from the
        base64 alphabet are used. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=66542">66542</a>: Documentation. Update the JNDI documentation to
        replace references to JavaMail with references to Jakarta Mail. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M5_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by Shirayuking and
        tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. Contributed by totoo. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor code using <code>MD5Encoder</code> to use
        <code>HexUtils.toHexString()</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66507">66507</a>: Fix a bug that <code>$JAVA_OPTS</code> is not passed
        to the jvm in <code>catalina.sh</code> when calling <code>version</code>.
        Patch suggested by Eric Hamilton. (lihan)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Commons DBCP to f131286 (2023-03-08,
        2.10.0-SNAPSHOT). This corrects a regression introduced in 11.0.0-M2.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the error messages if <code>JRE_HOME</code> or
        <code>JAVA_HOME</code> are not set correctly. On windows, align the
        handling of <code>JRE_HOME</code> and <code>JAVA_HOME</code> for the
        start-up scripts and the service install script. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.27. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update UnboundID to 6.0.8. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.9.3. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Jacoco to 0.8.9. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Enhance PEMFile to load from an InputStream. Patch provided by
        Romain Manni-Bucau. (schultz)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M4_(markt)"><span style="float: right;">2023-03-06</span> Tomcat 11.0.0-M4 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M4_(markt)/General">General</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a bug that memory allocation is larger than limit in
        <code>SynchronizedStack</code> to reduce memory footprint. (lihan)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M4_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for <code>txt:</code> and <code>rnd:</code> rewrite map
        types from mod_rewrite. Based on a pull request <a href="https://github.com/apache/tomcat/pull/591">#591</a>
        provided by Dimitrios Soumis. (remm)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Provide a more appropriate response (501 rather than 400) when rejecting
        an HTTP request using the CONNECT method. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66491">66491</a>: Revert the switch to using the ServiceLoader mechanism
        to load the custom URL protocol handlers that Tomcat uses. The original
        system property based approach has been restored. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M4_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a check for the validity of the scheme pseudo-header in 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=66482">66482</a>: Restore inline state after async operation in NIO2,
        to account the fact that unexpected exceptions are sometimes thrown
        by the implementation. Patch submitted by zhougang. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M4_(markt)/Jasper">Jasper</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Provide an implementation of the sub-set of JavaBeans support that does
        not depend on the <code>java.beans</code> package. This for use by
        Expression Language when the <code>java.desktop</code> module (which is
        where the <code>java.beans</code> package resides) is not available.
        (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M3_(markt)"><span style="float: right;">2023-02-23</span> Tomcat 11.0.0-M3 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(markt)/General">General</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Increase the minimum supported Java version to Java 17. Note that
        Jakarta EE 11 permits a minimum Java version of 21. The minimum Java
        version for Tomcat 11 may be increased to Java 21 before the first
        stable release. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Allow a Valve to access cookies from a request that cannot be mapped to
        a Context. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Implement the new Servlet API methods for setting character encodings
        that accept <code>Charset</code> objects. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        The default HEAD response no longer includes some HTTP header fields
        where the value is determined only while generating the content as per
        section 9.3.2 of RFC 9110. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66438">66438</a>: Correct names of Jakarta modules in JPMS metadata.
        (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Switch to using the ServiceLoader mechanism to load the custom URL
        protocol handlers that Tomcat uses. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Switch to using <code>LongAdder</code> rather than
        <code>AtomicInteger</code> to track request count and error count for
        servlets. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Implement the clarification from the Jakarta Servlet project that
        Servlets mapped to the context root should be mapped for requests to the
        context root with or without the trailing <code>/</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Implement the clarification from the Jakarta Servlet project that
        calling <code>ServletOutputStream.close()</code> on a stream in
        non-blocking mode returns immediately with the stream effectively closed
        and any data remaining to be written is written in the background by the
        container. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Avoid possible ISE when scanning from bad JAR URLs, to restore the
        previous behavior following the removal of Java 9+ reflection code which
        caught the ISE. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor uses of <code>String.replaceAll()</code> to use
        <code>String.replace()</code> where regular expressions where not being
        used. Pull request <a href="https://github.com/apache/tomcat/pull/581">#581</a> provided by Andrei Briukhov. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add error report valve that allows redirecting to of proxying from an
        external web server. Based on code and ideas from pull request
        <a href="https://github.com/apache/tomcat/pull/506">#506</a> provided by Max Fortun. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66470">66470</a>: Add the Shared Address Space defined by RFC 6598
        (100.64.0.0/10) to the regular expression used to identify internal
        proxies for the <code>RemoteIpFilter</code> and
        <code>RemoteIpValve</code>. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66471">66471</a>: Fix JSessionId secure attribute missing When
        <code>RemoteIpFilter</code> determines that this request was submitted
        via a secure channel. (lihan)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add the additional HTTP status code constants to
        <code>HttpServletResponse</code> defined by the Jakarta Servlet project
        for the Servlet 6.1 API. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Implement the clarification from the Jakarta Servlet project that
        calling one of the <code>HttpServletResponse</code> methods for setting
        HTTP header values with <code>null</code> as the new header value
        removes any existing header of that name. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Log basic information for each configured TLS certificate when Tomcat
        starts. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66442">66442</a>: When an HTTP/2 response must not include a body,
        ensure that the end of stream flag is set on the headers frame and that
        no data frame is sent. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Fix a bug that prevented HTTP/2 connections from timing out when using
        a Connector configured with <code>useAsyncIO=true</code> (the default).
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Provided dedicated loggers
        (<code>org.apache.tomcat.util.net.NioEndpoint.certificate</code> /
        <code>org.apache.tomcat.util.net.Nio2Endpoint.certificate</code>) for
        logging of configured TLS certificates. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(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=66419">66419</a>: Fix calls from expression language to a method that
        accepts varargs when only one argument was passed. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66441">66441</a>: Make imports of static fields in JSPs visible to any
        EL expressions used on the page. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(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=66429">66429</a>: Documentation. Limit access to the documentation web
        application to localhost 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=66429">66429</a>: Examples. Limit access to the examples web application
        to localhost by default. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M3_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update BND to 6.4.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Remove support for starting Tomcat under a SecurityManager. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. (lihan)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. (remm)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Korean translations. (woonsan)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Apache Tomcat Native Library to 2.0.3
        to pick up the Windows binaries built with with OpenSSL 3.0.8. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M2_(markt)"><span style="float: right;">not released</span> Tomcat 11.0.0-M2 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M2_(markt)/Catalina">Catalina</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Update the <code>ServletInputStream</code> and
        <code>ServletOuputStream</code> classes in the Servlet API to align with
        the recent updates in the Jakarta Servlet specification to support
        reading and writing with <code>ByteBuffer</code>s. The changes also
        clarified various aspects of the Servlet non-blocking API. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66388">66388</a>: Correct a regression in the refactoring that replaced
        the use of the <code>URL</code> constructors. The regression broke
        lookups for resources that contained one or more characters in their
        name that required escaping when used in a URI path. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66392">66392</a>: Change the default value of <code>AccessLogValve</code>'s
        file encoding to UTF-8 and update documentation. (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66393">66393</a>: Align <code>ExtendedAccessLogValve</code>'s x-P(XXX) with the
        documentation. (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Remove JAX-RPC support which was removed from the Jakarta EE platform
        for Jakarta EE 9. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M2_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Update Cookie parsing and handling to treat the quotes in a quoted
        cookie value as part of the value as required by RFC 6265 and explicitly
        clarified in RFC 6265bis. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add an RFC 8941 structured field parser. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add a parser for the <code>priority</code> HTTP header field defined in
        RFC 9218. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When resetting an HTTP/2 stream because the final response has been
        generated before the request has been fully read, use the HTTP/2 error
        code <code>NO_ERROR</code> so that client does not discard the response.
        Based on a suggestion by Lorenzo Dalla Vecchia. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66385">66385</a>: Correct a bug in HTTP/2 where a non-blocking read for
        a new frame with the NIO2 connector was incorrectly made using the read
        timeout leading to unexpected stream closure. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.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=66370">66370</a>: Change the default of the
        <code>org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED</code> system
        property to <code>true</code> unless the EL library is running on Tomcat
        in which case the default remains <code>false</code> as the EL library
        is already called from within a privileged block and skipping the
        unnecessary privileged block improves performance. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for specifying Java 21 (with the value <code>21</code>) as
        the compiler source and/or compiler target for JSP compilation. If used
        with an Eclipse JDT compiler version that does not support these values,
        a warning will be logged and the default will used.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M2_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Apache Tomcat Migration Tool for
        Jakarta EE to 1.0.6. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons BCEL to 2ee2bff (2023-01-03,
        6.7.1-SNAPSHOT). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons Codec to 3eafd6c (2023-01-03,
        1.16-SNAPSHOT). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons FileUpload to 34eb241
        (2023-01-03, 2.0-SNAPSHOT). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons DBCP to f131286 (2023-01-03,
        2.10.0-SNAPSHOT). (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by Shirayuking.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Portuguese translations. Contributed by Guilherme
        Cust&oacute;dio. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to the Eclipse JDT compiler 4.26. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Checkstyle to 10.6.0. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update Unboundid to 6.0.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update SpotBugs to 4.7.3. (markt)
      </li>
    </ul>
  </div></div>
</div><h3 id="Tomcat_11.0.0-M1_(markt)"><span style="float: right;">2022-12-05</span> Tomcat 11.0.0-M1 (markt)</h3><div class="text">
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(markt)/General">General</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        This release contains all of the changes up to and including those in
        Apache Tomcat 10.1.1 plus the additional changes listed below. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(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=66175">66175</a>: Change the default character set used by the
        <code>BasicAuthenticator</code> from ISO-8859-1 to UTF-8. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66209">66209</a>: Add a configuration option to allow bloom filters used
        to index JAR files to be retained for the lifetime of the web
        application. Prior to this addition, the indexes were always flushed by
        the periodic calls to <code>WebResourceRoot.gc()</code>. As part of this
        addition, configuration of archive indexing moves from
        <code>Context</code> to <code>WebResourceRoot</code>. Based on a patch
        provided by Rahul Jaisimha. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66330">66330</a>: Correct a regression introduced when fixing
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62897">62897</a> that meant any value configured for
        <code>skipMemoryLeakChecksOnJvmShutdown</code> on the
        <code>Context</code> was ignored and the default was always used.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66331">66331</a>: Fix a regression in refactoring for <code>Stack</code>
        on the <code>SystemLogHandler</code> which caught incorrect exception.
        (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66338">66338</a>: Fix a regression that caused a nuance in refactoring
        for <code>ErrorReportValve</code>. (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Escape values used to construct output for the
        <code>JsonErrorReportValve</code> to ensure that it always outputs valid
        JSON. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct the default implementation of
        <code>HttpServletRequest.isTrailerFieldsReady()</code> to return
        <code>true</code> so it is consistent with the default implementation of
        <code>HttpServletRequest.getTrailerFields()</code> and with the Servlet
        API provided by the Jakarta EE project. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Refactor <code>WebappLoader</code> so it only has a runtime dependency
        on the migration tool for Jakarta EE if configured to use the converter
        as classes are loaded. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Improve the behavior of the credential handler attribute that is set in
        the Servlet context so that it actually reflects what is used during
        authentication. (remm)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66359">66359</a>: Update javadoc for RemoteIpValve and RemoteIpFilter with
        correct <code>protocolHeader</code> default value of "X-Forwarded-Proto".
        (lihan)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Add support for the new attribute for error dispatches
        <code>jakarta.servlet.error.query_string</code>. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update <code>ignoreAnnotation</code> attribute on <code>Context</code>
        to dissociate it from <code>metadata-complete</code>. (remm)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(markt)/Coyote">Coyote</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct the date format used with the expires attribute of HTTP cookies.
        A single space rather than a single dash should be used to separate the
        day, month and year components to be compliant with RFC 6265. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Include the name of the current stream state in the error message when a
        stream is cancelled due to an attempt to write to the stream when it is
        in a state that does not permit writes. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        NIO writes never return -1 so refactor <code>CLOSED_NIO_CHANNEL</code>
        not to do so and remove checks for this return value. Based on
        <a href="https://github.com/apache/tomcat/pull/562">#562</a> by tianshuang. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Remove unnecessary code that exposed the <code>asyncTimeout</code> to
        components that never used it. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Ensure that all <code>MessageBytes</code> conversions to byte arrays are
        valid for the configured character set and throw an exception if not.
        (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        When an HTTP/2 stream was reset, the current active stream count was not
        reduced. If enough resets occurred on a connection, the current active
        stream count limit was reached and no new streams could be created on
        that connection. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(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=66294">66294</a>: Make the use of a privileged block to obtain the
        thread context class loader added to address <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=62080">62080</a> optional
        and disabled by default. This is now controlled by the
        <code>org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED</code> system
        property. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66317">66317</a>: Fix for Lambda coercion security manager missing
        privileges. Based on pull request #557 by Isaac Rivera Rivas (lihan)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66325">66325</a>: Fix concurrency issue in evaluation of expression
        language containing lambda expressions. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Update the <code>ErrorData</code> class in the JSP API to align with the
        recent changes in the Jakarta Pages specification to support the new
        error dispatch attribute
        <code>jakarta.servlet.error.query_string</code>.
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(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=66348">66348</a>: Update the JARs listed in the class loader
        documentation and note which ones are optional. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Documentation. Replace references in the application developer's guide
        to CVS with more general references to a source code control system.
        (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(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=66346">66346</a>: Ensure all JDBC pool JARs are reproducible. Pull
        request <a href="https://github.com/apache/tomcat/pull/566">#566</a> provided by John Neffenger. (markt)
      </li>
    </ul>
  </div></div>
  <div class="subsection"><h4 id="Tomcat_11.0.0-M1_(markt)/Other">Other</h4><div class="text">
    <ul class="changelog">
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update to Commons Daemon 1.3.3. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=66323">66323</a>: Move module start up parameters from
        <code>JDK_JAVA_OPTIONS</code> to <code>JAVA_OPTS</code> now that the
        minimum Java version is 11 and these options are always required.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Chinese translations. Contributed by DigitalCat and
        lihan. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to French translations. Contributed by Mathieu Bouchard.
        (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Japanese translations. Contributed by Shirayuking and
        tak7iji. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Korean translations. (markt)
      </li>
      <li><img alt="Add: " class="icon" src="./images/add.gif">
        Improvements to Spanish translations. (markt)
      </li>
      <li><img alt="Fix: " class="icon" src="./images/fix.gif">
        Correct a regression in the removal of the APR connector that broke
        Graal native image support. Pull request <a href="https://github.com/apache/tomcat/pull/564">#564</a> provided by
        S&eacute;bastien Deleuze. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Apache Tomcat Native Library to 2.0.2
        to pick up the Windows binaries built with with OpenSSL 3.0.7. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the packaged version of the Apache Tomcat Migration Tool for
        Jakarta EE to 1.0.5. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refactor code base to replace use of URL constructors. While they are
        deprecated in Java 20 onwards, the reasons for deprecation are valid for
        all versions so move away from them now. (markt)
      </li>
      <li><img alt="Code: " class="icon" src="./images/code.gif">
        Refine the Tomcat native image metadata to avoid including unintended
        non-Tomcat resources. Pull request <a href="https://github.com/apache/tomcat/pull/569">#569</a> provided by S&eacute;bastien
        Deleuze. (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons BCEL to b015e90 (2022-11-28,
        6.7.0-RC1). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons Codec to ae32a3f (2022-11-29,
        1.16-SNAPSHOT). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update the internal fork of Apache Commons FileUpload to aa8eff6
        (2022-11-29, 2.0-SNAPSHOT). (markt)
      </li>
      <li><img alt="Update: " class="icon" src="./images/update.gif">
        Update bnd to 7.2.0. (markt)
      </li>
    </ul>
  </div></div>
</div></div></div></div></div><footer><div id="footer">
    Copyright &copy; 1999-2026, The Apache Software Foundation
    <br>
    Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo
    are either registered trademarks or trademarks of the Apache Software
    Foundation.
    </div></footer></div></body></html>

Youez - 2016 - github.com/yon3zu
LinuXploit