| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!DOCTYPE document [ |
| <!ENTITY project SYSTEM "project.xml"> |
| |
| <!-- DTD is used to validate changelog structure at build time. BZ 64931. --> |
| |
| <!ELEMENT document (project?, properties, body)> |
| <!ATTLIST document url CDATA #REQUIRED> |
| |
| <!-- body and title are used both in project.xml and in this document --> |
| <!ELEMENT body ANY> |
| <!ELEMENT title (#PCDATA)> |
| |
| <!-- Elements of project.xml --> |
| <!ELEMENT project (title, logo, body)> |
| <!ATTLIST project name CDATA #REQUIRED> |
| <!ATTLIST project href CDATA #REQUIRED> |
| |
| <!ELEMENT logo (#PCDATA)> |
| <!ATTLIST logo href CDATA #REQUIRED> |
| |
| <!ELEMENT menu (item+)> |
| <!ATTLIST menu name CDATA #REQUIRED> |
| |
| <!ELEMENT item EMPTY> |
| <!ATTLIST item name CDATA #REQUIRED> |
| <!ATTLIST item href CDATA #REQUIRED> |
| |
| <!-- Elements of this document --> |
| <!ELEMENT properties (author*, title, no-comments) > |
| <!ELEMENT author (#PCDATA)> |
| <!ATTLIST author email CDATA #IMPLIED> |
| <!ELEMENT no-comments EMPTY> |
| |
| <!ELEMENT section (subsection)*> |
| <!ATTLIST section name CDATA #REQUIRED> |
| <!ATTLIST section rtext CDATA #IMPLIED> |
| |
| <!ELEMENT subsection (changelog+)> |
| <!ATTLIST subsection name CDATA #REQUIRED> |
| |
| <!ELEMENT changelog (add|update|fix|scode|docs|design)*> |
| <!ELEMENT add ANY> |
| <!ELEMENT update ANY> |
| <!ELEMENT fix ANY> |
| <!ELEMENT scode ANY> |
| <!ELEMENT docs ANY> |
| <!ELEMENT design ANY> |
| |
| <!ELEMENT bug (#PCDATA)> |
| <!ELEMENT rev (#PCDATA)> |
| <!ELEMENT pr (#PCDATA)> |
| |
| <!-- Random HTML markup tags. Add more here as needed. --> |
| <!ELEMENT a (#PCDATA)> |
| <!ATTLIST a href CDATA #REQUIRED> |
| <!ATTLIST a rel CDATA #IMPLIED> |
| |
| <!ELEMENT b (#PCDATA)> |
| <!ELEMENT code (#PCDATA)> |
| <!ELEMENT em (#PCDATA)> |
| <!ELEMENT strong (#PCDATA)> |
| <!ELEMENT tt (#PCDATA)> |
| ]> |
| <?xml-stylesheet type="text/xsl" href="tomcat-docs.xsl"?> |
| <document url="changelog.html"> |
| |
| &project; |
| |
| <properties> |
| <title>Changelog</title> |
| <no-comments /> |
| </properties> |
| |
| <body> |
| <!-- |
| Subsection ordering: |
| General, Catalina, Coyote, Jasper, Cluster, WebSocket, Web applications, |
| Extras, Tribes, jdbc-pool, Other |
| |
| Item Ordering: |
| |
| Fixes having an issue number are sorted by their number, ascending. |
| |
| There is no ordering by add/update/fix/scode/docs/design. |
| |
| Other fixed issues are added to the end of the list, chronologically. |
| They eventually become mixed with the numbered issues (i.e., numbered |
| issues do not "pop up" wrt. others). |
| --> |
| <section name="Tomcat 11.0.0-M4 (markt)" rtext=""> |
| <subsection name="General"> |
| <changelog> |
| <fix> |
| Fix a bug that memory allocation is larger than limit in |
| <code>SynchronizedStack</code> to reduce memory footprint. (lihan) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Catalina"> |
| <changelog> |
| <add> |
| Add support for <code>txt:</code> and <code>rnd:</code> rewrite map |
| types from mod_rewrite. Based on a pull request <pr>591</pr> |
| provided by Dimitrios Soumis. (remm) |
| </add> |
| <update> |
| Provide a more appropriate response (501 rather than 400) when rejecting |
| an HTTP request using the CONNECT method. (markt) |
| </update> |
| <fix> |
| <bug>66491</bug>: 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) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Coyote"> |
| <changelog> |
| <add> |
| Add a check for the validity of the scheme pseudo-header in HTTP/2. |
| (markt) |
| </add> |
| <fix> |
| <bug>66482</bug>: 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) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Jasper"> |
| <changelog> |
| <add> |
| 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) |
| </add> |
| </changelog> |
| </subsection> |
| </section> |
| <section name="Tomcat 11.0.0-M3 (markt)" rtext="2023-02-23"> |
| <subsection name="General"> |
| <changelog> |
| <update> |
| 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) |
| </update> |
| </changelog> |
| </subsection> |
| <subsection name="Catalina"> |
| <changelog> |
| <fix> |
| Allow a Valve to access cookies from a request that cannot be mapped to |
| a Context. (markt) |
| </fix> |
| <add> |
| Implement the new Servlet API methods for setting character encodings |
| that accept <code>Charset</code> objects. (markt) |
| </add> |
| <update> |
| 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) |
| </update> |
| <fix> |
| <bug>66438</bug>: Correct names of Jakarta modules in JPMS metadata. |
| (markt) |
| </fix> |
| <update> |
| Switch to using the ServiceLoader mechanism to load the custom URL |
| protocol handlers that Tomcat uses. (markt) |
| </update> |
| <fix> |
| Switch to using <code>LongAdder</code> rather than |
| <code>AtomicInteger</code> to track request count and error count for |
| servlets. (markt) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| Refactor uses of <code>String.replaceAll()</code> to use |
| <code>String.replace()</code> where regular expressions where not being |
| used. Pull request <pr>581</pr> provided by Andrei Briukhov. (markt) |
| </fix> |
| <add> |
| Add error report valve that allows redirecting to of proxying from an |
| external web server. Based on code and ideas from pull request |
| <pr>506</pr> provided by Max Fortun. (remm) |
| </add> |
| <add> |
| <bug>66470</bug>: 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) |
| </add> |
| <fix> |
| <bug>66471</bug>: Fix JSessionId secure attribute missing When |
| <code>RemoteIpFilter</code> determines that this request was submitted |
| via a secure channel. (lihan) |
| </fix> |
| <add> |
| Add the additional HTTP status code constants to |
| <code>HttpServletResponse</code> defined by the Jakarta Servlet project |
| for the Servlet 6.1 API. (markt) |
| </add> |
| <fix> |
| 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) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Coyote"> |
| <changelog> |
| <add> |
| Log basic information for each configured TLS certificate when Tomcat |
| starts. (markt) |
| </add> |
| <fix> |
| <bug>66442</bug>: 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) |
| </fix> |
| <fix> |
| Fix a bug that prevented HTTP/2 connections from timing out when using |
| a Connector configured with <code>useAsyncIO=true</code> (the default). |
| (markt) |
| </fix> |
| <add> |
| 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) |
| </add> |
| </changelog> |
| </subsection> |
| <subsection name="Jasper"> |
| <changelog> |
| <fix> |
| <bug>66419</bug>: Fix calls from expression language to a method that |
| accepts varargs when only one argument was passed. (markt) |
| </fix> |
| <fix> |
| <bug>66441</bug>: Make imports of static fields in JSPs visible to any |
| EL expressions used on the page. (markt) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Web applications"> |
| <changelog> |
| <fix> |
| <bug>66429</bug>: Documentation. Limit access to the documentation web |
| application to localhost by default. (markt) |
| </fix> |
| <fix> |
| <bug>66429</bug>: Examples. Limit access to the examples web application |
| to localhost by default. (markt) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Other"> |
| <changelog> |
| <update> |
| Update BND to 6.4.0. (markt) |
| </update> |
| <update> |
| Remove support for starting Tomcat under a SecurityManager. (markt) |
| </update> |
| <add> |
| Improvements to Chinese translations. (lihan) |
| </add> |
| <add> |
| Improvements to French translations. (remm) |
| </add> |
| <add> |
| Improvements to Japanese translations. Contributed by tak7iji. (markt) |
| </add> |
| <add> |
| Improvements to Korean translations. (woonsan) |
| </add> |
| <update> |
| 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) |
| </update> |
| </changelog> |
| </subsection> |
| </section> |
| <section name="Tomcat 11.0.0-M2 (markt)" rtext="not released"> |
| <subsection name="Catalina"> |
| <changelog> |
| <add> |
| 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) |
| </add> |
| <fix> |
| <bug>66388</bug>: 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) |
| </fix> |
| <fix> |
| <bug>66392</bug>: Change the default value of <code>AccessLogValve</code>'s |
| file encoding to UTF-8 and update documentation. (lihan) |
| </fix> |
| <fix> |
| <bug>66393</bug>: Align <code>ExtendedAccessLogValve</code>'s x-P(XXX) with the |
| documentation. (lihan) |
| </fix> |
| <fix> |
| Remove JAX-RPC support which was removed from the Jakarta EE platform |
| for Jakarta EE 9. (markt) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Coyote"> |
| <changelog> |
| <fix> |
| 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) |
| </fix> |
| <add> |
| Add an RFC 8941 structured field parser. (markt) |
| </add> |
| <add> |
| Add a parser for the <code>priority</code> HTTP header field defined in |
| RFC 9218. (markt) |
| </add> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| <bug>66385</bug>: 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) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Jasper"> |
| <changelog> |
| <fix> |
| <bug>66370</bug>: 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) |
| </fix> |
| <add> |
| 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) |
| </add> |
| </changelog> |
| </subsection> |
| <subsection name="Other"> |
| <changelog> |
| <update> |
| Update the packaged version of the Apache Tomcat Migration Tool for |
| Jakarta EE to 1.0.6. (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons BCEL to 2ee2bff (2023-01-03, |
| 6.7.1-SNAPSHOT). (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons Codec to 3eafd6c (2023-01-03, |
| 1.16-SNAPSHOT). (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons FileUpload to 34eb241 |
| (2023-01-03, 2.0-SNAPSHOT). (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons DBCP to f131286 (2023-01-03, |
| 2.10.0-SNAPSHOT). (markt) |
| </update> |
| <add> |
| Improvements to Japanese translations. Contributed by Shirayuking. |
| (markt) |
| </add> |
| <add> |
| Improvements to Portuguese translations. Contributed by Guilherme |
| Custódio. (markt) |
| </add> |
| <update> |
| Update to the Eclipse JDT compiler 4.26. (markt) |
| </update> |
| <update> |
| Update Checkstyle to 10.6.0. (markt) |
| </update> |
| <update> |
| Update Unboundid to 6.0.7. (markt) |
| </update> |
| <update> |
| Update SpotBugs to 4.7.3. (markt) |
| </update> |
| </changelog> |
| </subsection> |
| </section> |
| <section name="Tomcat 11.0.0-M1 (markt)" rtext="2022-12-05"> |
| <subsection name="General"> |
| <changelog> |
| <scode> |
| 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) |
| </scode> |
| </changelog> |
| </subsection> |
| <subsection name="Catalina"> |
| <changelog> |
| <fix> |
| <bug>66175</bug>: Change the default character set used by the |
| <code>BasicAuthenticator</code> from ISO-8859-1 to UTF-8. (markt) |
| </fix> |
| <add> |
| <bug>66209</bug>: 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) |
| </add> |
| <fix> |
| <bug>66330</bug>: Correct a regression introduced when fixing |
| <bug>62897</bug> that meant any value configured for |
| <code>skipMemoryLeakChecksOnJvmShutdown</code> on the |
| <code>Context</code> was ignored and the default was always used. |
| (markt) |
| </fix> |
| <fix> |
| <bug>66331</bug>: Fix a regression in refactoring for <code>Stack</code> |
| on the <code>SystemLogHandler</code> which caught incorrect exception. |
| (lihan) |
| </fix> |
| <fix> |
| <bug>66338</bug>: Fix a regression that caused a nuance in refactoring |
| for <code>ErrorReportValve</code>. (lihan) |
| </fix> |
| <fix> |
| Escape values used to construct output for the |
| <code>JsonErrorReportValve</code> to ensure that it always outputs valid |
| JSON. (markt) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| <fix> |
| <bug>66359</bug>: Update javadoc for RemoteIpValve and RemoteIpFilter with |
| correct <code>protocolHeader</code> default value of "X-Forwarded-Proto". |
| (lihan) |
| </fix> |
| <add> |
| Add support for the new attribute for error dispatches |
| <code>jakarta.servlet.error.query_string</code>. (markt) |
| </add> |
| <update> |
| Update <code>ignoreAnnotation</code> attribute on <code>Context</code> |
| to dissociate it from <code>metadata-complete</code>. (remm) |
| </update> |
| </changelog> |
| </subsection> |
| <subsection name="Coyote"> |
| <changelog> |
| <fix> |
| 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) |
| </fix> |
| <add> |
| 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) |
| </add> |
| <scode> |
| 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 |
| <pr>562</pr> by tianshuang. (markt) |
| </scode> |
| <scode> |
| Remove unnecessary code that exposed the <code>asyncTimeout</code> to |
| components that never used it. (markt) |
| </scode> |
| <fix> |
| Ensure that all <code>MessageBytes</code> conversions to byte arrays are |
| valid for the configured character set and throw an exception if not. |
| (markt) |
| </fix> |
| <fix> |
| 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) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Jasper"> |
| <changelog> |
| <fix> |
| <bug>66294</bug>: Make the use of a privileged block to obtain the |
| thread context class loader added to address <bug>62080</bug> optional |
| and disabled by default. This is now controlled by the |
| <code>org.apache.el.GET_CLASSLOADER_USE_PRIVILEGED</code> system |
| property. (markt) |
| </fix> |
| <fix> |
| <bug>66317</bug>: Fix for Lambda coercion security manager missing |
| privileges. Based on pull request #557 by Isaac Rivera Rivas (lihan) |
| </fix> |
| <fix> |
| <bug>66325</bug>: Fix concurrency issue in evaluation of expression |
| language containing lambda expressions. (markt) |
| </fix> |
| <add> |
| 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>. |
| </add> |
| </changelog> |
| </subsection> |
| <subsection name="Web applications"> |
| <changelog> |
| <fix> |
| <bug>66348</bug>: Update the JARs listed in the class loader |
| documentation and note which ones are optional. (markt) |
| </fix> |
| <fix> |
| Documentation. Replace references in the application developer's guide |
| to CVS with more general references to a source code control system. |
| (markt) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="jdbc-pool"> |
| <changelog> |
| <fix> |
| <bug>66346</bug>: Ensure all JDBC pool JARs are reproducible. Pull |
| request <pr>566</pr> provided by John Neffenger. (markt) |
| </fix> |
| </changelog> |
| </subsection> |
| <subsection name="Other"> |
| <changelog> |
| <update> |
| Update to Commons Daemon 1.3.3. (markt) |
| </update> |
| <fix> |
| <bug>66323</bug>: 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) |
| </fix> |
| <add> |
| Improvements to Chinese translations. Contributed by DigitalCat and |
| lihan. (markt) |
| </add> |
| <add> |
| Improvements to French translations. Contributed by Mathieu Bouchard. |
| (markt) |
| </add> |
| <add> |
| Improvements to Japanese translations. Contributed by Shirayuking and |
| tak7iji. (markt) |
| </add> |
| <add> |
| Improvements to Korean translations. (markt) |
| </add> |
| <add> |
| Improvements to Spanish translations. (markt) |
| </add> |
| <fix> |
| Correct a regression in the removal of the APR connector that broke |
| Graal native image support. Pull request <pr>564</pr> provided by |
| Sébastien Deleuze. (markt) |
| </fix> |
| <update> |
| 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) |
| </update> |
| <update> |
| Update the packaged version of the Apache Tomcat Migration Tool for |
| Jakarta EE to 1.0.5. (markt) |
| </update> |
| <scode> |
| 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) |
| </scode> |
| <scode> |
| Refine the Tomcat native image metadata to avoid including unintended |
| non-Tomcat resources. Pull request <pr>569</pr> provided by Sébastien |
| Deleuze. (markt) |
| </scode> |
| <update> |
| Update the internal fork of Apache Commons BCEL to b015e90 (2022-11-28, |
| 6.7.0-RC1). (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons Codec to ae32a3f (2022-11-29, |
| 1.16-SNAPSHOT). (markt) |
| </update> |
| <update> |
| Update the internal fork of Apache Commons FileUpload to aa8eff6 |
| (2022-11-29, 2.0-SNAPSHOT). (markt) |
| </update> |
| </changelog> |
| </subsection> |
| </section> |
| </body> |
| </document> |
| |
| |