Author: markt
Date: Sat Apr  4 11:58:27 2026
New Revision: 1932842

Log:
Update Tomcat site for release of Tomcat 11.0.21

Modified:
   tomcat/site/trunk/build.properties.default
   tomcat/site/trunk/docs/download-11.html
   tomcat/site/trunk/docs/index.html
   tomcat/site/trunk/docs/migration-11.0.html
   tomcat/site/trunk/docs/migration-12.0.html
   tomcat/site/trunk/docs/oldnews.html
   tomcat/site/trunk/docs/whichversion.html
   tomcat/site/trunk/xdocs/download-11.xml
   tomcat/site/trunk/xdocs/index.xml
   tomcat/site/trunk/xdocs/migration-11.0.xml
   tomcat/site/trunk/xdocs/oldnews.xml
   tomcat/site/trunk/xdocs/whichversion.xml

Modified: tomcat/site/trunk/build.properties.default
==============================================================================
--- tomcat/site/trunk/build.properties.default  Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/build.properties.default  Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -38,7 +38,7 @@ tomcat.loc=https://downloads.apache.org/
 # ----- Tomcat versions -----
 tomcat9.0=9.0.117
 tomcat10.1=10.1.54
-tomcat11.0=11.0.20
+tomcat11.0=11.0.21
 
 # ----- Download destination -----
 tomcat-site-docs.home=${base.path}/tomcat-site-docs/

Modified: tomcat/site/trunk/docs/download-11.html
==============================================================================
--- tomcat/site/trunk/docs/download-11.html     Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/download-11.html     Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -19,7 +19,7 @@
     
   </div><h3 id="Quick_Navigation">Quick Navigation</h3><div class="text">
 
-[define v]11.0.20[end]
+[define v]11.0.21[end]
         <a href="https://downloads.apache.org/tomcat/tomcat-11/KEYS";>KEYS</a> |
         <a href="#[v]">[v]</a> |
         <a href="[preferred]tomcat/tomcat-11" rel="nofollow">Browse</a> |

Modified: tomcat/site/trunk/docs/index.html
==============================================================================
--- tomcat/site/trunk/docs/index.html   Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/index.html   Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -31,6 +31,36 @@ these users and their stories are listed
 <a 
href="https://cwiki.apache.org/confluence/display/TOMCAT/PoweredBy";>PoweredBy</a>
 wiki page.</p>
 
+</div><h3 id="Tomcat_11.0.21_Released"><span 
class="pull-right">2026-04-04</span> Tomcat 11.0.21 Released</h3><div 
class="text">
+<p>
+The Apache Tomcat Project is proud to announce the release of version 11.0.21
+of Apache Tomcat. This release implements specifications that are part of the
+Jakarta EE 11 platform.</p>
+<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool</a> is available to aid this process.</p>
+<p>The notable changes in this release are:</p>
+<ul>
+<li>Fix a bug in the non-blocking flushing code for NIO+TLS that meant
+    that a response may not have been fully written until the connection
+    was closed. Pull request 966 provided by Phil Clay.</li>
+<li>Improved HTTP/2 error handling</li>
+<li>Better error handling for the EncryptInterceptor</li>
+</ul>
+<p>
+Full details of these changes, and all the other changes, are available in the
+<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.21_(markt)">Tomcat 11
+changelog</a>.
+</p>
+
+<p style="text-align: center;">
+<a href="https://tomcat.apache.org/download-11.cgi";>Download</a>
+</p>
 </div><h3 id="Tomcat_9.0.117_Released"><span 
class="pull-right">2026-04-03</span> Tomcat 9.0.117 Released</h3><div 
class="text">
 <p>
 The Apache Tomcat Project is proud to announce the release of version 9.0.117
@@ -87,39 +117,6 @@ changelog</a>.
 <p style="text-align: center;">
 <a href="https://tomcat.apache.org/download-10.cgi";>Download</a>
 </p>
-</div><h3 id="Tomcat_11.0.20_Released"><span 
class="pull-right">2026-03-20</span> Tomcat 11.0.20 Released</h3><div 
class="text">
-<p>
-The Apache Tomcat Project is proud to announce the release of version 11.0.20
-of Apache Tomcat. This release implements specifications that are part of the
-Jakarta EE 11 platform.</p>
-<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
-Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
-Foundation, the primary package for all implemented APIs has changed from
-<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
-require code changes to enable applications to migrate from Tomcat 9 and 
earlier
-to Tomcat 10 and later. A
-<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
-tool</a> is available to aid this process.</p>
-<p>The notable changes in this release are:</p>
-<ul>
-<li>Relax HTTP/2 header validation and respond to invalid requests with
-    a stream reset or a 400 response as appropriate rather then with a
-    connection reset.</li>
-<li>Fix bug 69964: Respect the configured cipher order, which was no
-    longer respected following the addition of TLS 1.3 specific cipher
-    configuration. TLS 1.3 ciphers will always be first in the list.</li>
-<li>Update Tomcat Native to 2.0.14 and increase the recommended version to
-    2.0.14.</li>
-</ul>
-<p>
-Full details of these changes, and all the other changes, are available in the
-<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)">Tomcat 11
-changelog</a>.
-</p>
-
-<p style="text-align: center;">
-<a href="https://tomcat.apache.org/download-11.cgi";>Download</a>
-</p>
 </div><h3 id="Tomcat_Native_2.0.14_Released"><span 
class="pull-right">2026-03-10</span> Tomcat Native 2.0.14 Released</h3><div 
class="text">
 <p>
 The Apache Tomcat Project is proud to announce the release of version 2.0.14 of

Modified: tomcat/site/trunk/docs/migration-11.0.html
==============================================================================
--- tomcat/site/trunk/docs/migration-11.0.html  Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/migration-11.0.html  Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -221,8 +221,9 @@ versions of Apache Tomcat<sup>&reg;</sup
     <option value="11.0.13">11.0.13</option>
     <option value="11.0.14">11.0.14</option>
     <option value="11.0.15">11.0.15</option>
-    <option value="11.0.18" selected>11.0.18</option>
-    <option value="11.0.20">11.0.20</option>
+    <option value="11.0.18">11.0.18</option>
+    <option value="11.0.20" selected>11.0.20</option>
+    <option value="11.0.21">11.0.21</option>
     </select>,</label> <label>new version:
     <select name="target">
     <option value="11.0.0-M1">11.0.0-M1</option>
@@ -265,7 +266,8 @@ versions of Apache Tomcat<sup>&reg;</sup
     <option value="11.0.14">11.0.14</option>
     <option value="11.0.15">11.0.15</option>
     <option value="11.0.18">11.0.18</option>
-    <option value="11.0.20" selected>11.0.20</option>
+    <option value="11.0.20">11.0.20</option>
+    <option value="11.0.21" selected>11.0.21</option>
     <option value="HEAD">trunk (unreleased)</option>
     </select></label>
     </p>

Modified: tomcat/site/trunk/docs/migration-12.0.html
==============================================================================
--- tomcat/site/trunk/docs/migration-12.0.html  Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/migration-12.0.html  Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -1,195 +1,195 @@
-<!DOCTYPE html SYSTEM "about:legacy-compat">
-<html lang="en"><head><META http-equiv="Content-Type" content="text/html; 
charset=UTF-8"><meta name="viewport" content="width=device-width, 
initial-scale=1"><link href="res/css/tomcat.css" rel="stylesheet" 
type="text/css"><link href="res/css/fonts/fonts.css" rel="stylesheet" 
type="text/css"><title>Apache Tomcat&reg; - Migration Guide - Tomcat 
12.0.x</title><meta name="author" content="Apache Tomcat Project"><script 
src="https://www.apachecon.com/event-images/snippet.js";></script></head><body><div
 id="wrapper"><header id="header"><div class="clearfix"><div 
class="menu-toggler pull-left" tabindex="1"><div 
class="hamburger"></div></div><a href="http://tomcat.apache.org/";><img 
class="tomcat-logo pull-left noPrint" alt="Tomcat Home" 
src="res/images/tomcat.png"></a><h1 class="pull-left">Apache 
Tomcat<sup>&reg;</sup></h1><div class="asf-logos pull-right"><a 
href="https://www.apache.org/foundation/contributing.html"; target="_blank" 
class="pull-left"><img src="https://www.apache.org/images/S
 upportApache-small.png" class="support-asf" alt="Support Apache"></a><a 
href="http://www.apache.org/"; target="_blank" class="pull-left"><img 
src="res/images/asf_logo_wide.svg" class="asf-logo" alt="The Apache Software 
Foundation"></a></div></div></header><main id="middle"><div><div 
id="mainLeft"><div id="nav-wrapper"><form 
action="https://www.google.com/search"; method="get"><div 
class="searchbox"><input value="tomcat.apache.org" name="sitesearch" 
type="hidden"><input aria-label="Search text" placeholder="Search&hellip;" 
required="required" name="q" id="query" 
type="search"><button>GO</button></div></form><div class="asfevents"><a 
class="acevent" data-format="square" 
data-width="150"></a></div><nav><div><h2>Apache Tomcat</h2><ul><li><a 
href="./index.html">Home</a></li><li><a 
href="./taglibs.html">Taglibs</a></li><li><a href="./maven-plugin.html">Maven 
Plugin</a></li></ul></div><div><h2>Download</h2><ul><li><a 
href="./whichversion.html">Which version?</a></li><li><a href="https://tomc
 at.apache.org/download-11.cgi">Tomcat 11</a></li><li><a 
href="https://tomcat.apache.org/download-10.cgi";>Tomcat 10</a></li><li><a 
href="https://tomcat.apache.org/download-90.cgi";>Tomcat 9</a></li><li><a 
href="https://tomcat.apache.org/download-migration.cgi";>Tomcat Migration Tool 
for Jakarta EE</a></li><li><a 
href="https://tomcat.apache.org/download-connectors.cgi";>Tomcat 
Connectors</a></li><li><a 
href="https://tomcat.apache.org/download-native.cgi";>Tomcat 
Native</a></li><li><a 
href="https://tomcat.apache.org/download-taglibs.cgi";>Taglibs</a></li><li><a 
href="https://archive.apache.org/dist/tomcat/";>Archives</a></li></ul></div><div><h2>Documentation</h2><ul><li><a
 href="./tomcat-11.0-doc/index.html">Tomcat 11.0</a></li><li><a 
href="./tomcat-10.1-doc/index.html">Tomcat 10.1</a></li><li><a 
href="./tomcat-9.0-doc/index.html">Tomcat 9.0</a></li><li><a 
href="./upgrading.html">Upgrading</a></li><li><a 
href="./connectors-doc/index.html">Tomcat Connectors</a></li><li><a 
href="./native-doc/i
 ndex.html">Tomcat Native 2</a></li><li><a 
href="./native-1.3-doc/index.html">Tomcat Native 1.3</a></li><li><a 
href="https://cwiki.apache.org/confluence/display/TOMCAT";>Wiki</a></li><li><a 
href="./migration.html">Migration Guide</a></li><li><a 
href="./presentations.html">Presentations</a></li><li><a 
href="https://cwiki.apache.org/confluence/x/Bi8lBg";>Specifications</a></li></ul></div><div><h2>Problems?</h2><ul><li><a
 href="./security.html">Security Reports</a></li><li><a 
href="./findhelp.html">Find help</a></li><li><a 
href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQ</a></li><li><a
 href="./lists.html">Mailing Lists</a></li><li><a href="./bugreport.html">Bug 
Database</a></li></ul></div><div><h2>Get Involved</h2><ul><li><a 
href="./getinvolved.html">Overview</a></li><li><a href="./source.html">Source 
code</a></li><li><a href="./ci.html">Buildbot</a></li><li><a 
href="./tools.html">Tools</a></li></ul></div><div><h2>Media</h2><ul><li><a 
href="https://twitter.com/theapacheto
 mcat">Twitter</a></li><li><a 
href="https://www.youtube.com/c/ApacheTomcatOfficial";>YouTube</a></li><li><a 
href="https://blogs.apache.org/tomcat/";>Blog</a></li></ul></div><div><h2>Misc</h2><ul><li><a
 href="./whoweare.html">Who We Are</a></li><li><a 
href="https://www.redbubble.com/people/comdev/works/30885254-apache-tomcat";>Swag</a></li><li><a
 href="./heritage.html">Heritage</a></li><li><a 
href="http://www.apache.org";>Apache Home</a></li><li><a 
href="./resources.html">Resources</a></li><li><a 
href="./contact.html">Contact</a></li><li><a 
href="./legal.html">Legal</a></li><li><a 
href="https://privacy.apache.org/policies/privacy-policy-public.html";>Privacy</a></li><li><a
 href="https://www.apache.org/foundation/contributing.html";>Support 
Apache</a></li><li><a 
href="https://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
href="http://www.apache.org/licenses/";>License</a></li></ul></div></nav></
 div></div><div id="mainRight"><div id="content"><h2 style="display: 
none;">Content</h2><h3 id="Table_of_Contents">Table of Contents</h3><div 
class="text">
-<ul><li><a href="#General">General</a></li><li><a 
href="#Migrating_from_11.0.x_to_12.0.x">Migrating from 11.0.x to 
12.0.x</a><ol><li><a href="#Java_21_required">Java 21 required</a></li><li><a 
href="#Specification_APIs">Specification APIs</a></li><li><a 
href="#Servlet_6.2">Servlet 6.2</a></li><li><a href="#Pages_4.1">Pages 
4.1</a></li><li><a href="#Expression_Language_6.1">Expression Language 
6.1</a></li><li><a href="#WebSocket_2.3">WebSocket 2.3</a></li><li><a 
href="#Authentication_3.2">Authentication 3.2</a></li><li><a 
href="#Annotations_3.1">Annotations 3.1</a></li><li><a 
href="#Internal_APIs">Internal APIs</a></li></ol></li><li><a 
href="#Upgrading_12.0.x">Upgrading 12.0.x</a><ol><li><a 
href="#Tomcat_12.0.x_noteable_changes">Tomcat 12.0.x noteable 
changes</a></li><li><a 
href="#Tomcat_12.0.x_configuration_file_differences">Tomcat 12.0.x 
configuration file differences</a></li></ol></li></ul>
-</div><h3 id="General">General</h3><div class="text">
-
-<p>Please read the general <a href="migration.html">Migration Guide page</a>
-first, for common considerations that apply to migration or upgrade between
-versions of Apache Tomcat<sup>&reg;</sup>.</p>
-
-</div><h3 id="Migrating_from_11.0.x_to_12.0.x">Migrating from 11.0.x to 
12.0.x</h3><div class="text">
-
-  <p>This section lists all the known changes between 11.0.x and 12.0.x
-  which may cause backwards compatibility problems when upgrading.</p>
-
-  <div class="subsection"><h4 id="Java_21_required">Java 21 required</h4><div 
class="text">
-
-    <p>Apache Tomcat 12.0.x requires Java 21 or later. Apache Tomcat 11.0.x
-    required Java 17.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Specification_APIs">Specification 
APIs</h4><div class="text">
-
-    <p>Apache Tomcat 12.0 supports the Jakarta Servlet 6.2, Jakarta Pages 4.1,
-    Jakarta Expression Language 6.1, JakartaWebSocket 2.3,
-    Jakarta Authentication 3.2 and Jakarta Annotations 3.1 
-    <a 
href="https://cwiki.apache.org/confluence/display/TOMCAT/Specifications";>specifications</a>.
-    </p>
-
-  </div></div>
-  
-  <div class="subsection"><h4 id="Servlet_6.2">Servlet 6.2</h4><div 
class="text">
-
-    <p>None.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Pages_4.1">Pages 4.1</h4><div class="text">
-
-    <p>None.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Expression_Language_6.1">Expression Language 
6.1</h4><div class="text">
-  
-    <p>None.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="WebSocket_2.3">WebSocket 2.3</h4><div 
class="text">
-
-    <p><code>ClientEndpointConfig.Configurator.afterResponse()</code> is now
-       called after every WebSocket handshake regardless of whether the
-       handshake is successful or not.</p>
-
-    <p>When attempting to write a message via a WebSocket session that has been
-       closed, an <code>IOException</code> rather than an
-       <code>IllegalStateExcpetion</code> is thrown for consistency with
-       <code>Writer</code> and <code>OutputStream</code>.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Authentication_3.2">Authentication 
3.2</h4><div class="text">
-  
-    <p>None.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Annotations_3.1">Annotations 3.1</h4><div 
class="text">
-  
-    <p>None.</p>
-
-  </div></div>
-
-  <div class="subsection"><h4 id="Internal_APIs">Internal APIs</h4><div 
class="text">
-  
-    <p>Whilst the Tomcat 12.0 internal API is broadly compatible with Tomcat
-    11.0 there have been many changes at the detail level and they are not
-    binary compatible. Developers of custom components that interact with
-    Tomcat's internals should review the JavaDoc for the relevant API.</p>
-
-    <p>Of particular note are:</p>
-    <ul>
-      <li>All code marked as deprecated in 11.0.x has been removed.</li>
-      <li>The <code>useAcceptRanges</code> initialisation parameter for the
-          default servlet has been removed. It is now effectively hard coded to
-          <code>true</code></li>
-      <li>The default for the <code>encodedSolidusHandling</code> attribute of
-          a <strong>Context</strong> has changed from <code>decode</code> to
-          <code>reject</code>.</li>
-      <li>When searching the web application class loader for a resource or
-          resources by name, align the behaviour with the JRE class loaders and
-          always return <code>null</code> if the provided name starts with
-          <code>/</code>.</li>
-      <li>The default value for the <code>allowPostAsGet</code> initialisation
-          parameter of the Default servlet has been updated from
-          <code>true</code> to <code>false</code>. This means a direct request
-          (i.e. not a forward or an include) for a static resource using the
-          POST method will be rejected by default.</li>
-      <li>Calls to <code>HttpServletRequest.getContextPath()</code> now return
-          the canonical context path for the web application rather than the
-          component of the request URI presented by the user agent that maps to
-          the context path.</li>
-      <li>The default value of the <code>archiveIndexStrategy</code> attribute
-          of the <code>Resources</code> element has been changed from
-          <code>simple</code> to <code>bloom</code> to improve web application
-          class loading performance.</li>
-      <li>The default for the <code>digestInRfc3112Order</code> attribute of
-          <code>MessageDigestCredentialHandler</code> has been changed from
-          <code>false</code> to <code>true</code>.</li>
-      <li>The default value of the <code>cookiesWithoutEquals</code> attribute
-          of the <code>Rfc6265CookieProcessor</code> has been changed from
-          <code>name</code> to <code>ignore</code>.</li>
-      <li>The default password value (was <code>changeit</code>) for the
-          <code>certificateKeystorePassword</code> attribute of a certificate
-          has been removed.</li>
-      <li>Support for HTTP/0.9 has been removed.</li>
-    </ul>
-
-  </div></div>
-
-</div><h3 id="Upgrading_12.0.x">Upgrading 12.0.x</h3><div class="text">
-
-  <p>When upgrading instances of Apache Tomcat from one version of Tomcat 12.0
-  to another, particularly when using separate locations for $CATALINA_HOME and
-  $CATALINA_BASE, it is necessary to ensure that any changes in the
-  configuration files such as new attributes and changes to defaults are 
applied
-  as part of the upgrade. To assist with the identification of these changes,
-  the form below may be used to view the differences between the configuration
-  files in different versions of Tomcat 12.0.</p>
-
-  <div class="subsection"><h4 id="Tomcat_12.0.x_noteable_changes">Tomcat 
12.0.x noteable changes</h4><div class="text">
-    <p>The Tomcat developers aim for each stable patch release to be fully
-       backwards compatible with the previous release.  Occasionally, it is
-       necessary to break backwards compatibility in order to fix a bug. In 
most
-       cases, these changes will go unnoticed. This section lists changes that
-       are not fully backwards compatible and might cause breakage when
-       upgrading.</p>
-    <ul>
-      <li>
-        None.
-      </li>
-    </ul>
-  </div></div>
-
-  <div class="subsection"><h4 
id="Tomcat_12.0.x_configuration_file_differences">Tomcat 12.0.x configuration 
file differences</h4><div class="text">
-
-    <p>Select a configuration file, old version and new version from the boxes
-    below and then click "View differences" to see the differences.
-    The differences will be shown in a new tab/window.</p>
-
-    <p><b>Note:</b> If there are no differences you will see an error page.</p>
-
-    <form action="https://gitbox.apache.org/filediff"; method="get" 
target="_blank">
-
-    <input type="hidden" name="repo" value="tomcat.git">
-
-    <p><label>Configuration file:
-    <select name="file">
-    <option value="conf" selected>All configuration files</option>
-    <option value="conf/catalina.policy">catalina.policy</option>
-    <option value="conf/catalina.properties">catalina.properties</option>
-    <option value="conf/context.xml">context.xml</option>
-    <option value="conf/logging.properties">logging.properties</option>
-    <option value="conf/server.xml">server.xml</option>
-    <option value="conf/tomcat-users.xml">tomcat-users.xml</option>
-    <option value="conf/web.xml">web.xml</option>
-    </select></label>
-    </p>
-    <p><label>Old version:
-    <select name="origin">
-    <option value="12.0.0-M1" selected>12.0.0-M1</option>
-    </select>,</label> <label>new version:
-    <select name="target">
-    <option value="12.0.0-M1" selected>12.0.0-M1</option>
-    <option value="HEAD">trunk (unreleased)</option>
-    </select></label>
-    </p>
-
-    <p>
-    <button>View Differences</button>
-    </p>
-    </form>
-    <p>You can also use a Git command similar to the following from within a
-       working copy:</p>
-    <div class="codeBox"><pre><code>git diff 12.0.0-M1 12.0.0-M2 -- 
conf/</code></pre></div>
-  </div></div>
-  
-</div></div></div></div></main><footer id="footer">
-    Copyright &copy; 1999-2025, 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.
+<!DOCTYPE html SYSTEM "about:legacy-compat">
+<html lang="en"><head><META http-equiv="Content-Type" content="text/html; 
charset=UTF-8"><meta name="viewport" content="width=device-width, 
initial-scale=1"><link href="res/css/tomcat.css" rel="stylesheet" 
type="text/css"><link href="res/css/fonts/fonts.css" rel="stylesheet" 
type="text/css"><title>Apache Tomcat&reg; - Migration Guide - Tomcat 
12.0.x</title><meta name="author" content="Apache Tomcat Project"><script 
src="https://www.apachecon.com/event-images/snippet.js";></script></head><body><div
 id="wrapper"><header id="header"><div class="clearfix"><div 
class="menu-toggler pull-left" tabindex="1"><div 
class="hamburger"></div></div><a href="http://tomcat.apache.org/";><img 
class="tomcat-logo pull-left noPrint" alt="Tomcat Home" 
src="res/images/tomcat.png"></a><h1 class="pull-left">Apache 
Tomcat<sup>&reg;</sup></h1><div class="asf-logos pull-right"><a 
href="https://www.apache.org/foundation/contributing.html"; target="_blank" 
class="pull-left"><img src="https://www.apache.org/images/S
 upportApache-small.png" class="support-asf" alt="Support Apache"></a><a 
href="http://www.apache.org/"; target="_blank" class="pull-left"><img 
src="res/images/asf_logo_wide.svg" class="asf-logo" alt="The Apache Software 
Foundation"></a></div></div></header><main id="middle"><div><div 
id="mainLeft"><div id="nav-wrapper"><form 
action="https://www.google.com/search"; method="get"><div 
class="searchbox"><input value="tomcat.apache.org" name="sitesearch" 
type="hidden"><input aria-label="Search text" placeholder="Search&hellip;" 
required="required" name="q" id="query" 
type="search"><button>GO</button></div></form><div class="asfevents"><a 
class="acevent" data-format="square" 
data-width="150"></a></div><nav><div><h2>Apache Tomcat</h2><ul><li><a 
href="./index.html">Home</a></li><li><a 
href="./taglibs.html">Taglibs</a></li><li><a href="./maven-plugin.html">Maven 
Plugin</a></li></ul></div><div><h2>Download</h2><ul><li><a 
href="./whichversion.html">Which version?</a></li><li><a href="https://tomc
 at.apache.org/download-11.cgi">Tomcat 11</a></li><li><a 
href="https://tomcat.apache.org/download-10.cgi";>Tomcat 10</a></li><li><a 
href="https://tomcat.apache.org/download-90.cgi";>Tomcat 9</a></li><li><a 
href="https://tomcat.apache.org/download-migration.cgi";>Tomcat Migration Tool 
for Jakarta EE</a></li><li><a 
href="https://tomcat.apache.org/download-connectors.cgi";>Tomcat 
Connectors</a></li><li><a 
href="https://tomcat.apache.org/download-native.cgi";>Tomcat 
Native</a></li><li><a 
href="https://tomcat.apache.org/download-taglibs.cgi";>Taglibs</a></li><li><a 
href="https://archive.apache.org/dist/tomcat/";>Archives</a></li></ul></div><div><h2>Documentation</h2><ul><li><a
 href="./tomcat-11.0-doc/index.html">Tomcat 11.0</a></li><li><a 
href="./tomcat-10.1-doc/index.html">Tomcat 10.1</a></li><li><a 
href="./tomcat-9.0-doc/index.html">Tomcat 9.0</a></li><li><a 
href="./upgrading.html">Upgrading</a></li><li><a 
href="./connectors-doc/index.html">Tomcat Connectors</a></li><li><a 
href="./native-doc/i
 ndex.html">Tomcat Native 2</a></li><li><a 
href="./native-1.3-doc/index.html">Tomcat Native 1.3</a></li><li><a 
href="https://cwiki.apache.org/confluence/display/TOMCAT";>Wiki</a></li><li><a 
href="./migration.html">Migration Guide</a></li><li><a 
href="./presentations.html">Presentations</a></li><li><a 
href="https://cwiki.apache.org/confluence/x/Bi8lBg";>Specifications</a></li></ul></div><div><h2>Problems?</h2><ul><li><a
 href="./security.html">Security Reports</a></li><li><a 
href="./findhelp.html">Find help</a></li><li><a 
href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ";>FAQ</a></li><li><a
 href="./lists.html">Mailing Lists</a></li><li><a href="./bugreport.html">Bug 
Database</a></li></ul></div><div><h2>Get Involved</h2><ul><li><a 
href="./getinvolved.html">Overview</a></li><li><a href="./source.html">Source 
code</a></li><li><a href="./ci.html">Buildbot</a></li><li><a 
href="./tools.html">Tools</a></li></ul></div><div><h2>Media</h2><ul><li><a 
href="https://twitter.com/theapacheto
 mcat">Twitter</a></li><li><a 
href="https://www.youtube.com/c/ApacheTomcatOfficial";>YouTube</a></li><li><a 
href="https://blogs.apache.org/tomcat/";>Blog</a></li></ul></div><div><h2>Misc</h2><ul><li><a
 href="./whoweare.html">Who We Are</a></li><li><a 
href="https://www.redbubble.com/people/comdev/works/30885254-apache-tomcat";>Swag</a></li><li><a
 href="./heritage.html">Heritage</a></li><li><a 
href="http://www.apache.org";>Apache Home</a></li><li><a 
href="./resources.html">Resources</a></li><li><a 
href="./contact.html">Contact</a></li><li><a 
href="./legal.html">Legal</a></li><li><a 
href="https://privacy.apache.org/policies/privacy-policy-public.html";>Privacy</a></li><li><a
 href="https://www.apache.org/foundation/contributing.html";>Support 
Apache</a></li><li><a 
href="https://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
href="http://www.apache.org/licenses/";>License</a></li></ul></div></nav></
 div></div><div id="mainRight"><div id="content"><h2 style="display: 
none;">Content</h2><h3 id="Table_of_Contents">Table of Contents</h3><div 
class="text">
+<ul><li><a href="#General">General</a></li><li><a 
href="#Migrating_from_11.0.x_to_12.0.x">Migrating from 11.0.x to 
12.0.x</a><ol><li><a href="#Java_21_required">Java 21 required</a></li><li><a 
href="#Specification_APIs">Specification APIs</a></li><li><a 
href="#Servlet_6.2">Servlet 6.2</a></li><li><a href="#Pages_4.1">Pages 
4.1</a></li><li><a href="#Expression_Language_6.1">Expression Language 
6.1</a></li><li><a href="#WebSocket_2.3">WebSocket 2.3</a></li><li><a 
href="#Authentication_3.2">Authentication 3.2</a></li><li><a 
href="#Annotations_3.1">Annotations 3.1</a></li><li><a 
href="#Internal_APIs">Internal APIs</a></li></ol></li><li><a 
href="#Upgrading_12.0.x">Upgrading 12.0.x</a><ol><li><a 
href="#Tomcat_12.0.x_noteable_changes">Tomcat 12.0.x noteable 
changes</a></li><li><a 
href="#Tomcat_12.0.x_configuration_file_differences">Tomcat 12.0.x 
configuration file differences</a></li></ol></li></ul>
+</div><h3 id="General">General</h3><div class="text">
+
+<p>Please read the general <a href="migration.html">Migration Guide page</a>
+first, for common considerations that apply to migration or upgrade between
+versions of Apache Tomcat<sup>&reg;</sup>.</p>
+
+</div><h3 id="Migrating_from_11.0.x_to_12.0.x">Migrating from 11.0.x to 
12.0.x</h3><div class="text">
+
+  <p>This section lists all the known changes between 11.0.x and 12.0.x
+  which may cause backwards compatibility problems when upgrading.</p>
+
+  <div class="subsection"><h4 id="Java_21_required">Java 21 required</h4><div 
class="text">
+
+    <p>Apache Tomcat 12.0.x requires Java 21 or later. Apache Tomcat 11.0.x
+    required Java 17.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Specification_APIs">Specification 
APIs</h4><div class="text">
+
+    <p>Apache Tomcat 12.0 supports the Jakarta Servlet 6.2, Jakarta Pages 4.1,
+    Jakarta Expression Language 6.1, JakartaWebSocket 2.3,
+    Jakarta Authentication 3.2 and Jakarta Annotations 3.1 
+    <a 
href="https://cwiki.apache.org/confluence/display/TOMCAT/Specifications";>specifications</a>.
+    </p>
+
+  </div></div>
+  
+  <div class="subsection"><h4 id="Servlet_6.2">Servlet 6.2</h4><div 
class="text">
+
+    <p>None.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Pages_4.1">Pages 4.1</h4><div class="text">
+
+    <p>None.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Expression_Language_6.1">Expression Language 
6.1</h4><div class="text">
+  
+    <p>None.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="WebSocket_2.3">WebSocket 2.3</h4><div 
class="text">
+
+    <p><code>ClientEndpointConfig.Configurator.afterResponse()</code> is now
+       called after every WebSocket handshake regardless of whether the
+       handshake is successful or not.</p>
+
+    <p>When attempting to write a message via a WebSocket session that has been
+       closed, an <code>IOException</code> rather than an
+       <code>IllegalStateExcpetion</code> is thrown for consistency with
+       <code>Writer</code> and <code>OutputStream</code>.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Authentication_3.2">Authentication 
3.2</h4><div class="text">
+  
+    <p>None.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Annotations_3.1">Annotations 3.1</h4><div 
class="text">
+  
+    <p>None.</p>
+
+  </div></div>
+
+  <div class="subsection"><h4 id="Internal_APIs">Internal APIs</h4><div 
class="text">
+  
+    <p>Whilst the Tomcat 12.0 internal API is broadly compatible with Tomcat
+    11.0 there have been many changes at the detail level and they are not
+    binary compatible. Developers of custom components that interact with
+    Tomcat's internals should review the JavaDoc for the relevant API.</p>
+
+    <p>Of particular note are:</p>
+    <ul>
+      <li>All code marked as deprecated in 11.0.x has been removed.</li>
+      <li>The <code>useAcceptRanges</code> initialisation parameter for the
+          default servlet has been removed. It is now effectively hard coded to
+          <code>true</code></li>
+      <li>The default for the <code>encodedSolidusHandling</code> attribute of
+          a <strong>Context</strong> has changed from <code>decode</code> to
+          <code>reject</code>.</li>
+      <li>When searching the web application class loader for a resource or
+          resources by name, align the behaviour with the JRE class loaders and
+          always return <code>null</code> if the provided name starts with
+          <code>/</code>.</li>
+      <li>The default value for the <code>allowPostAsGet</code> initialisation
+          parameter of the Default servlet has been updated from
+          <code>true</code> to <code>false</code>. This means a direct request
+          (i.e. not a forward or an include) for a static resource using the
+          POST method will be rejected by default.</li>
+      <li>Calls to <code>HttpServletRequest.getContextPath()</code> now return
+          the canonical context path for the web application rather than the
+          component of the request URI presented by the user agent that maps to
+          the context path.</li>
+      <li>The default value of the <code>archiveIndexStrategy</code> attribute
+          of the <code>Resources</code> element has been changed from
+          <code>simple</code> to <code>bloom</code> to improve web application
+          class loading performance.</li>
+      <li>The default for the <code>digestInRfc3112Order</code> attribute of
+          <code>MessageDigestCredentialHandler</code> has been changed from
+          <code>false</code> to <code>true</code>.</li>
+      <li>The default value of the <code>cookiesWithoutEquals</code> attribute
+          of the <code>Rfc6265CookieProcessor</code> has been changed from
+          <code>name</code> to <code>ignore</code>.</li>
+      <li>The default password value (was <code>changeit</code>) for the
+          <code>certificateKeystorePassword</code> attribute of a certificate
+          has been removed.</li>
+      <li>Support for HTTP/0.9 has been removed.</li>
+    </ul>
+
+  </div></div>
+
+</div><h3 id="Upgrading_12.0.x">Upgrading 12.0.x</h3><div class="text">
+
+  <p>When upgrading instances of Apache Tomcat from one version of Tomcat 12.0
+  to another, particularly when using separate locations for $CATALINA_HOME and
+  $CATALINA_BASE, it is necessary to ensure that any changes in the
+  configuration files such as new attributes and changes to defaults are 
applied
+  as part of the upgrade. To assist with the identification of these changes,
+  the form below may be used to view the differences between the configuration
+  files in different versions of Tomcat 12.0.</p>
+
+  <div class="subsection"><h4 id="Tomcat_12.0.x_noteable_changes">Tomcat 
12.0.x noteable changes</h4><div class="text">
+    <p>The Tomcat developers aim for each stable patch release to be fully
+       backwards compatible with the previous release.  Occasionally, it is
+       necessary to break backwards compatibility in order to fix a bug. In 
most
+       cases, these changes will go unnoticed. This section lists changes that
+       are not fully backwards compatible and might cause breakage when
+       upgrading.</p>
+    <ul>
+      <li>
+        None.
+      </li>
+    </ul>
+  </div></div>
+
+  <div class="subsection"><h4 
id="Tomcat_12.0.x_configuration_file_differences">Tomcat 12.0.x configuration 
file differences</h4><div class="text">
+
+    <p>Select a configuration file, old version and new version from the boxes
+    below and then click "View differences" to see the differences.
+    The differences will be shown in a new tab/window.</p>
+
+    <p><b>Note:</b> If there are no differences you will see an error page.</p>
+
+    <form action="https://gitbox.apache.org/filediff"; method="get" 
target="_blank">
+
+    <input type="hidden" name="repo" value="tomcat.git">
+
+    <p><label>Configuration file:
+    <select name="file">
+    <option value="conf" selected>All configuration files</option>
+    <option value="conf/catalina.policy">catalina.policy</option>
+    <option value="conf/catalina.properties">catalina.properties</option>
+    <option value="conf/context.xml">context.xml</option>
+    <option value="conf/logging.properties">logging.properties</option>
+    <option value="conf/server.xml">server.xml</option>
+    <option value="conf/tomcat-users.xml">tomcat-users.xml</option>
+    <option value="conf/web.xml">web.xml</option>
+    </select></label>
+    </p>
+    <p><label>Old version:
+    <select name="origin">
+    <option value="12.0.0-M1" selected>12.0.0-M1</option>
+    </select>,</label> <label>new version:
+    <select name="target">
+    <option value="12.0.0-M1" selected>12.0.0-M1</option>
+    <option value="HEAD">trunk (unreleased)</option>
+    </select></label>
+    </p>
+
+    <p>
+    <button>View Differences</button>
+    </p>
+    </form>
+    <p>You can also use a Git command similar to the following from within a
+       working copy:</p>
+    <div class="codeBox"><pre><code>git diff 12.0.0-M1 12.0.0-M2 -- 
conf/</code></pre></div>
+  </div></div>
+  
+</div></div></div></div></main><footer id="footer">
+    Copyright &copy; 1999-2025, 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.
   </footer></div><script src="res/js/tomcat.js"></script></body></html>
\ No newline at end of file

Modified: tomcat/site/trunk/docs/oldnews.html
==============================================================================
--- tomcat/site/trunk/docs/oldnews.html Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/oldnews.html Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -20,6 +20,39 @@
   <li><a href="oldnews-2011.html">year 2011</a></li>
   <li><a href="oldnews-2010.html">year 2010</a></li>
 </ul>
+</div><h3 id="Tomcat_11.0.20_Released"><span 
class="pull-right">2026-03-20</span> Tomcat 11.0.20 Released</h3><div 
class="text">
+<p>
+The Apache Tomcat Project is proud to announce the release of version 11.0.20
+of Apache Tomcat. This release implements specifications that are part of the
+Jakarta EE 11 platform.</p>
+<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool</a> is available to aid this process.</p>
+<p>The notable changes in this release are:</p>
+<ul>
+<li>Relax HTTP/2 header validation and respond to invalid requests with
+    a stream reset or a 400 response as appropriate rather then with a
+    connection reset.</li>
+<li>Fix bug 69964: Respect the configured cipher order, which was no
+    longer respected following the addition of TLS 1.3 specific cipher
+    configuration. TLS 1.3 ciphers will always be first in the list.</li>
+<li>Update Tomcat Native to 2.0.14 and increase the recommended version to
+    2.0.14.</li>
+</ul>
+<p>
+Full details of these changes, and all the other changes, are available in the
+<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)">Tomcat 11
+changelog</a>.
+</p>
+
+<p style="text-align: center;">
+<a href="https://tomcat.apache.org/download-11.cgi";>Download</a>
+</p>
 </div><h3 id="Tomcat_9.0.116_Released"><span 
class="pull-right">2026-03-20</span> Tomcat 9.0.116 Released</h3><div 
class="text">
 <p>
 The Apache Tomcat Project is proud to announce the release of version 9.0.116

Modified: tomcat/site/trunk/docs/whichversion.html
==============================================================================
--- tomcat/site/trunk/docs/whichversion.html    Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/docs/whichversion.html    Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -31,7 +31,7 @@ specifications</a> and the respective Ap
   <td>3.1</td>
   <td>3.0</td>
   <td>11.0.x</td>
-  <td>11.0.20</td>
+  <td>11.0.21</td>
   <td>17 and later</td>
 </tr>
 

Modified: tomcat/site/trunk/xdocs/download-11.xml
==============================================================================
--- tomcat/site/trunk/xdocs/download-11.xml     Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/xdocs/download-11.xml     Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -31,7 +31,7 @@
  Define variable to hold the current version number.
  Documentation for ezt.py: https://code.google.com/p/ezt/wiki/Syntax
 -->
-[define v]11.0.20[end]
+[define v]11.0.21[end]
         <a href="https://downloads.apache.org/tomcat/tomcat-11/KEYS";>KEYS</a> |
         <a href="#[v]">[v]</a> |
         <a href="[preferred]tomcat/tomcat-11" rel="nofollow">Browse</a> |

Modified: tomcat/site/trunk/xdocs/index.xml
==============================================================================
--- tomcat/site/trunk/xdocs/index.xml   Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/xdocs/index.xml   Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -48,6 +48,37 @@ these users and their stories are listed
 wiki page.</p>
 
 </section>
+<section name="Tomcat 11.0.21 Released" rtext="2026-04-04">
+<p>
+The Apache Tomcat Project is proud to announce the release of version 11.0.21
+of Apache Tomcat. This release implements specifications that are part of the
+Jakarta EE 11 platform.</p>
+<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool</a> is available to aid this process.</p>
+<p>The notable changes in this release are:</p>
+<ul>
+<li>Fix a bug in the non-blocking flushing code for NIO+TLS that meant
+    that a response may not have been fully written until the connection
+    was closed. Pull request 966 provided by Phil Clay.</li>
+<li>Improved HTTP/2 error handling</li>
+<li>Better error handling for the EncryptInterceptor</li>
+</ul>
+<p>
+Full details of these changes, and all the other changes, are available in the
+<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.21_(markt)">Tomcat 11
+changelog</a>.
+</p>
+
+<p style="text-align: center;">
+<a href="download-11.cgi">Download</a>
+</p>
+</section>
 
 <section name="Tomcat 9.0.117 Released" rtext="2026-04-03">
 <p>
@@ -110,40 +141,6 @@ changelog</a>.
 </section>
 
 
-<section name="Tomcat 11.0.20 Released" rtext="2026-03-20">
-<p>
-The Apache Tomcat Project is proud to announce the release of version 11.0.20
-of Apache Tomcat. This release implements specifications that are part of the
-Jakarta EE 11 platform.</p>
-<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
-Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
-Foundation, the primary package for all implemented APIs has changed from
-<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
-require code changes to enable applications to migrate from Tomcat 9 and 
earlier
-to Tomcat 10 and later. A
-<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
-tool</a> is available to aid this process.</p>
-<p>The notable changes in this release are:</p>
-<ul>
-<li>Relax HTTP/2 header validation and respond to invalid requests with
-    a stream reset or a 400 response as appropriate rather then with a
-    connection reset.</li>
-<li>Fix bug 69964: Respect the configured cipher order, which was no
-    longer respected following the addition of TLS 1.3 specific cipher
-    configuration. TLS 1.3 ciphers will always be first in the list.</li>
-<li>Update Tomcat Native to 2.0.14 and increase the recommended version to
-    2.0.14.</li>
-</ul>
-<p>
-Full details of these changes, and all the other changes, are available in the
-<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)">Tomcat 11
-changelog</a>.
-</p>
-
-<p style="text-align: center;">
-<a href="download-11.cgi">Download</a>
-</p>
-</section>
 
 <section name="Tomcat Native 2.0.14 Released" rtext="2026-03-10">
 <p>

Modified: tomcat/site/trunk/xdocs/migration-11.0.xml
==============================================================================
--- tomcat/site/trunk/xdocs/migration-11.0.xml  Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/xdocs/migration-11.0.xml  Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -238,8 +238,9 @@ versions of Apache Tomcat<sup>&#174;</su
     <option value="11.0.13">11.0.13</option>
     <option value="11.0.14">11.0.14</option>
     <option value="11.0.15">11.0.15</option>
-    <option value="11.0.18" selected="selected">11.0.18</option>
-    <option value="11.0.20">11.0.20</option>
+    <option value="11.0.18">11.0.18</option>
+    <option value="11.0.20" selected="selected">11.0.20</option>
+    <option value="11.0.21">11.0.21</option>
     </select>,</label> <label>new version:
     <select name="target">
     <option value="11.0.0-M1">11.0.0-M1</option>
@@ -282,7 +283,8 @@ versions of Apache Tomcat<sup>&#174;</su
     <option value="11.0.14">11.0.14</option>
     <option value="11.0.15">11.0.15</option>
     <option value="11.0.18">11.0.18</option>
-    <option value="11.0.20" selected="selected">11.0.20</option>
+    <option value="11.0.20">11.0.20</option>
+    <option value="11.0.21" selected="selected">11.0.21</option>
     <option value="HEAD">trunk (unreleased)</option>
     </select></label>
     </p>

Modified: tomcat/site/trunk/xdocs/oldnews.xml
==============================================================================
--- tomcat/site/trunk/xdocs/oldnews.xml Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/xdocs/oldnews.xml Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -30,6 +30,40 @@
   <li><a href="oldnews-2010.html">year 2010</a></li>
 </ul>
 </section>
+<section name="Tomcat 11.0.20 Released" rtext="2026-03-20">
+<p>
+The Apache Tomcat Project is proud to announce the release of version 11.0.20
+of Apache Tomcat. This release implements specifications that are part of the
+Jakarta EE 11 platform.</p>
+<p>Users of Tomcat 10 onwards should be aware that, as a result of the move 
from
+Java EE to Jakarta EE as part of the transfer of Java EE to the Eclipse
+Foundation, the primary package for all implemented APIs has changed from
+<code>javax.*</code> to <code>jakarta.*</code>. This will almost certainly
+require code changes to enable applications to migrate from Tomcat 9 and 
earlier
+to Tomcat 10 and later. A
+<a href="https://github.com/apache/tomcat-jakartaee-migration";>migration
+tool</a> is available to aid this process.</p>
+<p>The notable changes in this release are:</p>
+<ul>
+<li>Relax HTTP/2 header validation and respond to invalid requests with
+    a stream reset or a 400 response as appropriate rather then with a
+    connection reset.</li>
+<li>Fix bug 69964: Respect the configured cipher order, which was no
+    longer respected following the addition of TLS 1.3 specific cipher
+    configuration. TLS 1.3 ciphers will always be first in the list.</li>
+<li>Update Tomcat Native to 2.0.14 and increase the recommended version to
+    2.0.14.</li>
+</ul>
+<p>
+Full details of these changes, and all the other changes, are available in the
+<a href="tomcat-11.0-doc/changelog.html#Tomcat_11.0.20_(markt)">Tomcat 11
+changelog</a>.
+</p>
+
+<p style="text-align: center;">
+<a href="download-11.cgi">Download</a>
+</p>
+</section>
 
 <section name="Tomcat 9.0.116 Released" rtext="2026-03-20">
 <p>

Modified: tomcat/site/trunk/xdocs/whichversion.xml
==============================================================================
--- tomcat/site/trunk/xdocs/whichversion.xml    Sat Apr  4 11:55:09 2026        
(r1932841)
+++ tomcat/site/trunk/xdocs/whichversion.xml    Sat Apr  4 11:58:27 2026        
(r1932842)
@@ -42,7 +42,7 @@ specifications</a> and the respective Ap
   <td>3.1</td>
   <td>3.0</td>
   <td>11.0.x</td>
-  <td>11.0.20</td>
+  <td>11.0.21</td>
   <td>17 and later</td>
 </tr>
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to