This is an automated email from the ASF dual-hosted git repository.

jochen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git

commit 47da51aac23f41607b3af39d7b8e58e8bb7b902c
Author: Jochen Wiedmann <jochen.wiedm...@gmail.com>
AuthorDate: Mon Jun 9 16:36:32 2025 +0200

    Preparing release of 2.0.0-M4
---
 CONTRIBUTING.md                                    |  19 +-
 README.md                                          |   8 +-
 RELEASE-NOTES.txt                                  | 403 +--------------------
 .../CONTRIBUTING.md                                |  25 +-
 README.md => commons-fileupload2-core/README.md    |  24 +-
 .../CONTRIBUTING.md                                |  25 +-
 .../README.md                                      |  23 +-
 .../CONTRIBUTING.md                                |  25 +-
 .../README.md                                      |  24 +-
 .../CONTRIBUTING.md                                |  25 +-
 .../README.md                                      |  24 +-
 .../CONTRIBUTING.md                                |  25 +-
 README.md => commons-fileupload2-javax/README.md   |  24 +-
 .../CONTRIBUTING.md                                |  25 +-
 README.md => commons-fileupload2-portlet/README.md |  24 +-
 pom.xml                                            |   1 +
 src/site/xdoc/download_fileupload.xml              |  62 ++--
 src/site/xdoc/issue-tracking.xml                   |  14 +-
 src/site/xdoc/mail-lists.xml                       |  14 +-
 19 files changed, 198 insertions(+), 616 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1a5d6d1a..cc404260 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
diff --git a/README.md b/README.md
index a3f8f9cf..7ebe2d8f 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -45,7 +45,7 @@ Apache Commons FileUpload
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
 [![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
@@ -69,7 +69,7 @@ Alternatively, you can pull it from the central Maven 
repositories:
 <dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index afd8cb7d..4ff2a720 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,409 +1,18 @@
-Apache Commons FileUpload 2.0.0-M3 Release Notes
-------------------------------------------------
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 2.0.0-M3.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to Servlets and web
-applications. This version requires Java 11 or above.
-
-
-This release requires Java 11.
-
-Changes in version 2.0.0-M3 include:
-
-New features:
-o                  Handle multipart/related Requests without 
content-disposition header. Thanks to mufasa1976, Gary Gregory.
-
-Fixed Bugs:
-o                  [site] Fix instantiation of DiskFileItemFactory in 
migration guide #273. Thanks to Gregor Dschung.
-o FILEUPLOAD-355:  [site] Update code example: Use IOUtils instead of Streams 
utils class. Thanks to Ana, Gary Gregory.
-o                  Replace internal use of Locale.ENGLISH with Locale.ROOT. 
Thanks to Gary Gregory.
-o                  Pick up JUnit version from parent POM. Thanks to Gary 
Gregory.
-o FILEUPLOAD-356:  [site] Fix incorrect link to changes report in Commons 
FileUpload #357. Thanks to Mattias Reichel, GirirajSinghRathore, Gary Gregory.
-o                  Fix changes report link for new version of Maven Changes 
plugin from commons-parent 79 #388. Thanks to Filipe Roque.
-o                  Fix SpotBugs multithreading issues in DiskFileItem. Thanks 
to Gary Gregory.
-
-Changes:
-o                  Bump org.apache.commons:commons-parent from 66 to 83 #283, 
#294, #335, #343, #345, #351, #356, #360, #368. Thanks to Gary Gregory.
-o                  Bump commons-io:commons-io from 2.16.0 to 2.19.0 #297, 
#352, #377. Thanks to Gary Gregory.
-o                  Bump org.apache.maven.plugins:maven-javadoc-plugin from 
3.6.3 to 3.7.0 #319. Thanks to Gary Gregory.
-o                  Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 
3.1.0 #327. Thanks to Gary Gregory.
-o                  Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 
#331, #338, #346. Thanks to Gary Gregory.
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-Download it from 
https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
-
-------------------------------------------------------------------------------
-Apache Commons FileUpload 2.0.0-M3 Release Notes
-------------------------------------------------
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 2.0.0-M3.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to Servlets and web
-applications. This version requires Java 11 or above.
-
-
-This release requires Java 11.
-
-Changes in version 2.0.0-M3 include:
-
-New features:
-o                  Handle multipart/related Requests without 
content-disposition header. Thanks to mufasa1976, Gary Gregory.
-
-Fixed Bugs:
-o                  [site] Fix instantiation of DiskFileItemFactory in 
migration guide #273. Thanks to Gregor Dschung.
-o FILEUPLOAD-355:  [site] Update code example: Use IOUtils instead of Streams 
utils class. Thanks to Ana, Gary Gregory.
-o                  Replace internal use of Locale.ENGLISH with Locale.ROOT. 
Thanks to Gary Gregory.
-o                  Pick up JUnit version from parent POM. Thanks to Gary 
Gregory.
-o FILEUPLOAD-356:  [site] Fix incorrect link to changes report in Commons 
FileUpload #357. Thanks to Mattias Reichel, GirirajSinghRathore, Gary Gregory.
-o                  Fix changes report link for new version of Maven Changes 
plugin from commons-parent 79 #388. Thanks to Filipe Roque.
-o                  Fix SpotBugs multithreading issues in DiskFileItem. Thanks 
to Gary Gregory.
-
-Changes:
-o                  Bump org.apache.commons:commons-parent from 66 to 83 #283, 
#294, #335, #343, #345, #351, #356, #360, #368. Thanks to Gary Gregory.
-o                  Bump commons-io:commons-io from 2.16.0 to 2.19.0 #297, 
#352, #377. Thanks to Gary Gregory.
-o                  Bump org.apache.maven.plugins:maven-javadoc-plugin from 
3.6.3 to 3.7.0 #319. Thanks to Gary Gregory.
-o                  Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 
3.1.0 #327. Thanks to Gary Gregory.
-o                  Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 
#331, #338, #346. Thanks to Gary Gregory.
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-Download it from 
https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
-
-------------------------------------------------------------------------------
-
-Apache Commons FileUpload 2.0.0-M2 Release Notes
-------------------------------------------------
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 2.0.0-M2.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to Servlets and web
-applications. This version requires Java 11 or above.
-
-
-2.0.0-M2 Release
-
-Changes in version 2.0.0-M2 include:
-
-New features:
-o                  Fix off-by-one error when checking fileSizeMax in 
FileItemInputImpl #235. Thanks to James Reeves.
-o FILEUPLOAD-352:  NullPointerException in DiskFileItem#toString. Thanks to 
Bj�rn Kautler, Gary Gregory.
-o                  Fail fast on null inputs to 
org.apache.commons.fileupload2.core.AbstractRequestContext.AbstractRequestContext(Function,
 LongSupplier, T). Thanks to Gary Gregory.
-o                  Complete refactoring in JakartaServletRequestContext. 
Thanks to Gary Gregory.
-o                  Fix "Implicit narrowing conversion in compound assignment" 
from https://github.com/apache/commons-fileupload/security/code-scanning/118. 
Thanks to Gary Gregory.
-o                  Refactor to support Jakarta Servlet 5 and 6. Thanks to Gary 
Gregory.
-o                  Generate some OSGi metadata. Thanks to Michal H Siemaszko, 
Gary Gregory.
-
-Fixed Bugs:
-o                  Pick up Maven Moditect plugin version from parent POM. 
Thanks to Gary Gregory.
-
-Changes:
-o                  Bump Java from 8 to 11. Thanks to Dependabot.
-o                  Bump commons-parent from 58 to 65. Thanks to Gary Gregory.
-o                  Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary 
Gregory.
-o                  Bump commons-io from 2.13.0 to 2.15.1. Thanks to Gary 
Gregory.
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-Download it from 
https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
-
-------------------------------------------------------------------------------
-
-Apache Commons FileUpload 2.0.0-M1 Release Notes
-------------------------------------------------
-
-The Apache Commons FileUpload Parent team is pleased to announce the release 
of Apache Commons FileUpload Parent 2.0.0-M1.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to servlets and web
-applications. 
-
-This version requires Java 11 or later.
-
-Note also that the base package name has changed to 
org.apache.commons.fileupload2,
-so source changes will be required.
-
-The Maven coordinates have also changed to:
-
-  <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-
-They were previously:
-  <groupId>commons-fileupload</groupId>
-  <artifactId>commons-fileupload</artifactId>
-
-
-2.0.0-M1 Release
-
-Changes in version 2.0.0-M1 include:
-
-New features:
-o                  Add github/codeql-action from #144. Thanks to Gary Gregory.
-o                  Add the package org.apache.fileupload2.jaksrvlt, for 
compliance with Jakarta Servlet API 5.0.
-o                  Making FileUploadException a subclass of IOException. 
(Mibor API simplification.)
-o                  Add a configurable limit (disabled by default) for the 
number of files to upload per request.
-
-Fixed Bugs:
-o                  Changing Maven coordinates, and package name, due to binary 
incompatible changes.
-o FILEUPLOAD-293:  DiskFileItem.write(File) had been changed to use 
FileUtils.moveFile internally, preventing an existing file as the target.
-o FILEUPLOAD-296:  Performance gains by reusing an internal buffer. Thanks to 
David Georg Reochelt.
-o FILEUPLOAD-274:  RFC 5987 compliance Thanks to Merbin J Anselm.
-o                  Slight optim: resuse the index position instead of 
recomputing it #49. Thanks to Emmanuel L�charny.
-o FILEUPLOAD-340:  Make commons-fileupload2 a JPMS module by adding 
module-info.class.
-o FILEUPLOAD-341:  Move Exception classes out of the impl package. Thanks to 
Martin Grigorov.
-o                  Rework exceptions to use propagated exception causes 
(introduced in Java 1.4). Thanks to Gary Gregory.
-o                  All custom exception extend FileUploadException. Thanks to 
Gary Gregory.
-o                  All custom exceptions serialVersionUID value is now 2. 
Thanks to Gary Gregory.
-o FILEUPLOAD-350:  FileUploadByteCountLimitException ctor switches fileName 
and fieldName parameters #216. Thanks to Ernesto Reinaldo Barreiro.
-o                  [StepSecurity] ci: Harden GitHub Actions #224. Thanks to 
step-security-bot, Gary Gregory.
-
-Changes:
-o                  Bump actions/cache from 2.1.6 to 3.0.8 #128, #140. Thanks 
to Dependabot, Gary Gregory.
-o                  Bump actions/checkout from 2.3.4 to 3.0.2 #125. Thanks to 
Dependabot, Gary Gregory.
-o                  Bump build actions/setup-java from 1.4.3 to 3.8.0 #142, 
#175, #180, #182. Thanks to Gary Gregory.
-o                  Bump Java compiler level to 1.8.
-o                  Bump commons-io:commons-io 2.6 to 2.13.0, #104, #221. 
Thanks to Gary Gregory, Dependabot.
-o                  Bump junit-jupiter from 5.5.2 to 5.9.1 #31, #130, #156, 
#166. Thanks to Dependabot.
-o                  Bump maven-pmd-plugin from 3.13.0 to 3.19.0 #48, #162. 
Thanks to Dependabot.
-o                  Bump commons.japicmp.version from 0.13.0 to 0.16.0. Thanks 
to Gary Gregory.
-o                  Bump spotbugs-maven-plugin from 4.2.3 to 4.7.3.0 #103, 
#133, #141, #146, #155, #163, #179. Thanks to Dependabot.
-o                  Bump spotbugs from 4.2.3 to 4.7.3, ignore EI_EXPOSE_REP, 
and EI_EXPOSE_REP2, #152, #161, #174. Thanks to Dependabot.
-o                  Bump biz.aQute.bndlib from 6.0.0 to 6.4.0 #129, #181. 
Thanks to Dependabot.
-o                  Bump commons-parent from 52 to 58, #167, #183, #194. Thanks 
to Gary Gregory, Dependabot.
-o                  Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #160. 
Thanks to Dependabot.
-
-Removed:
-o                  Remove deprecated constructors in MultipartStream. Thanks 
to Gary Gregory.
-o                  Remove deprecated RequestContext.getContentLength(). Thanks 
to Gary Gregory.
-o                  Remove deprecated 
JakSrvltRequestContext.getContentLength(). Thanks to Gary Gregory.
-o                  Remove deprecated PortletRequestContext.getContentLength(). 
Thanks to Gary Gregory.
-o                  Remove deprecated ServletRequestContext.getContentLength(). 
Thanks to Gary Gregory.
-o                  Remove deprecated FileUploadBase.MAX_HEADER_SIZE. Thanks to 
Gary Gregory.
-o                  Remove deprecated FileUploadBase.createItem(Map, boolean). 
Thanks to Gary Gregory.
-o                  Remove deprecated FileUploadBase.getFieldName(Map). Thanks 
to Gary Gregory.
-o                  Remove deprecated FileUploadBase.getFileName(Map). Thanks 
to Gary Gregory.
-o                  Remove deprecated FileUploadBase.getHeader(Map, String). 
Thanks to Gary Gregory.
-o                  Remove deprecated FileUploadBase.parseHeaders(String). 
Thanks to Gary Gregory.
-o                  Replace 
org.apache.commons.fileupload2.util.mime.Base64Decoder with java.util.Base64. 
Thanks to Gary Gregory.
-o                  Replace LimitedInputStream with BoundedInputStream. Thanks 
to Gary Gregory.
-o                  FileItemHeadersImpl is no longer Serializable. Thanks to 
Gary Gregory.
-o                  Reuse Java's InvalidPathException instead of the custom 
InvalidFileNameException. Thanks to Gary Gregory.
-
-For complete information on Apache Commons FileUpload Parent, including 
instructions on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
Parent website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-------------------------------------------------------------------------------
-
-Apache Commons FileUpload 1.6.0 Release Notes
----------------------------------------------
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 1.6.0.
+The Apache Commons FileUpload team is pleased to announce the 
commons-fileupload2-2.0.0-M4-SNAPSHOT release!
 
 The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-file upload functionality to servlets and web applications.
-
-This release requires Java 8.
+    file upload functionality to servlets and web applications.
 
 Changes in this version include:
 
 New features:
-o                  [1.x] Enable multipart/related on FileUpload #314. Thanks 
to mufasa1976, Jochen Wiedmann, Gary Gregory.
-o                  Add JApiCmp to the default Maven goal. Thanks to Gary 
Gregory.
-o                  Add partHeaderSizeMax, a new limit that sets a maximum 
number of bytes for each individual multipart header. The default is 512 bytes. 
Thanks to Mark Thomas.
-
-Fixed Bugs:
-o                  Replace use of Locale.ENGLISH with Locale.ROOT. Thanks to 
Gary Gregory.
-o                  Remove unused exception from FileUploadBase.createItem(Map, 
boolean). Thanks to Gary Gregory.
-o                  Migrate from deprecated API in 
DiskFileItem.getOutputStream(). Thanks to Gary Gregory.
-o                  Use try-with-resources. Thanks to Gary Gregory.
-o                  Port to Java 1.4 Throwable APIs (!). Thanks to Gary Gregory.
-o                  Remove -nouses directive from maven-bundle-plugin. OSGi 
package imports now state 'uses' definitions for package imports, this doesn't 
affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.
-o                  DiskFileItem.getInputStream() now uses NIO. Thanks to Gary 
Gregory.
-o                  Last statement in DiskFileItem.finalize() method should be 
a call to super.finalize(). Thanks to Gary Gregory.
-o                  
org.apache.commons.fileupload.FileUploadBase.FileUploadIOException is now a 
proper Java 1.4-style exception (propagates its cause to super). Thanks to Gary 
Gregory.
-o                  Use java.util.Base64 instead of custom code. Thanks to Gary 
Gregory.
-
-Changes:
-o                  Bump Java from 6 to 8. Thanks to Gary Gregory.
-o                  Bump org.apache.commons:commons-parent from 62 to 84, 
upgrades Doxia from 1 to 2. Thanks to Gary Gregory.
-o                  Bump commons-io from 2.11.0 to 2.19.0. Thanks to Gary 
Gregory.
-o                  Bump javax.servlet:servlet-api from 2.4 to 2.5. Thanks to 
Gary Gregory.
-o                  Bump JUnit from junit:junit:4.13.2 
org.junit.vintage:junit-vintage-engine from parent POM. Thanks to Gary Gregory.
-
-
-Historical list of changes: 
https://commons.apache.org/proper/commons-fileupload/changes.html
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-Download page: 
https://commons.apache.org/proper/commons-fileupload/download_fileupload.cgi
-
-Apache Commons Team
-
-------------------------------------------------------------------------------
-
-              Apache Commons FileUpload 1.5 RELEASE NOTES
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 1.5.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to servlets and web
-applications. Version 1.3 onwards requires Java 6 or later.
-
-No client code changes are required to migrate from version 1.4 to 1.5.
-
-Changes in version 1.5 include:
-
-New features:
-o                  Add a configurable limit (disabled by default) for the 
number of files to upload per request. 
-
-Fixed Bugs:
-o FILEUPLOAD-293:  DiskFileItem.write(File) had been changed to use 
FileUtils.moveFile internally, preventing an existing file as the target. 
-o                  Improve parsing speed. Thanks to David Georg Reichelt.
-
-Changes:
-o                  Bump Commons IO to 2.11.0 
-o FILEUPLOAD-328   Switch from Cobertura code coverage to Jacoco code 
coverage. Thanks to Arturo Bernal. 
-o                  Bump JUnit to 4.13.2 
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-------------------------------------------------------------------------------
-
-              Apache Commons FileUpload 1.4 RELEASE NOTES
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 1.4.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to servlets and web
-applications. Version 1.3 onwards requires Java 6 or later.
-
-
-1.4 Release
-
-Changes in version 1.4 include:
-
-New features:
-o                  Site: added security report
+o Add partHeaderSizeMax, a new limit that sets a maximum number of bytes for 
each individual multipart header. The default is 512 bytes. Thanks to Mark 
Thomas. 
 
 Fixed Bugs:
-o FILEUPLOAD-252:  DiskFileItem#write() could lose original IO exception
-o FILEUPLOAD-258:  DiskFileItem#getStoreLocation() wrongly returned a File 
object for items stored in memory
-o FILEUPLOAD-242:  FileUploadBase - should not silently catch and ignore all 
Throwables
-o FILEUPLOAD-257:  Fix Javadoc 1.8.0 errors
-o FILEUPLOAD-234:  Fix section "Resource cleanup" of the user guide
-o FILEUPLOAD-237:  Fix streaming example: use FileItem.getInputStream() 
instead of openStream()
-o FILEUPLOAD-248:  DiskFileItem might suppress critical IOExceptions on rename 
- use FileUtil.move instead
-o FILEUPLOAD-251:  DiskFileItem#getTempFile() is broken
-o FILEUPLOAD-250:  FileUploadBase - potential resource leak - InputStream not 
closed on exception
-o FILEUPLOAD-244:  DiskFileItem.readObject fails to close FileInputStream
-o FILEUPLOAD-245:  DiskFileItem.get() may not fully read the data
-
-Changes:
-o FILEUPLOAD-292:  Don't create un-needed resources in FileUploadBase.java
-o FILEUPLOAD-282:  Upversion complier.source, compiler.target to 1.6
-o FILEUPLOAD-246:  FileUpload should use IOUtils.closeQuietly where relevant
-o FILEUPLOAD-243:  Make some MultipartStream private fields final Thanks to 
Ville Skytt�.
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-------------------------------------------------------------------------------
-
-              Apache Commons FileUpload 1.3.3 RELEASE NOTES
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 1.3.3.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to servlets and web
-applications. Version 1.3 onwards requires Java 5 or later.
-
-No client code changes are required to migrate from version 1.3.0, 1.3.1, or 
1.3.2, to 1.3.3
-
-Changes in version 1.3.3 include:
-
-o FILEUPLOAD-279:  DiskFileItem can no longer be deserialized, unless a 
particular system property is set.
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-------------------------------------------------------------------------------
-
-No client code changes are required to migrate from version 1.3.1 to 1.3.2.
-
-Changes in version 1.3.2 include:
-
-o FILEUPLOAD-272:  Performance Improvement in MultipartStream. Prevents a DoS 
(CVE-2016-3092)
-
-
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
-
-https://commons.apache.org/proper/commons-fileupload/
-
-------------------------------------------------------------------------------
-
-              Apache Commons FileUpload 1.3.1 RELEASE NOTES
-
-The Apache Commons FileUpload team is pleased to announce the release of 
Apache Commons FileUpload 1.3.1.
-
-The Apache Commons FileUpload component provides a simple yet flexible means of
-adding support for multipart file upload functionality to servlets and web
-applications. Version 1.3 onwards requires Java 5 or later.
-
-No client code changes are required to migrate from version 1.3.0 to 1.3.1.
-
-
-This is a security and maintenance release that includes an important security
-fix as well as a small number of bugfixes.
-
-Changes in version 1.3.1 include:
-
-
-Fixed Bugs:
-o                  SECURITY - CVE-2014-0050. Specially crafted input can 
trigger a DoS if the
-                   buffer used by the MultipartStream is not big enough. When 
constructing
-                   MultipartStream enforce the requirements for buffer size by 
throwing an
-                   IllegalArgumentException if the requested buffer size is 
too small. This
-                   prevents the DoS.
-o                  When deserializing DiskFileItems ensure that the repository 
location, if
-                   any, is a valid one. Thanks to Arun Babu Neelicattu.
-o                  Correct example in usage documentation so it compiles.
-
+o Simplify exception handling in FileItem API #309. Thanks to Basil Crow. 
 
 
-For complete information on Apache Commons FileUpload, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons FileUpload 
website:
 
-https://commons.apache.org/proper/commons-fileupload/
+Have fun!
+-Apache Commons FileUpload team
 
diff --git a/CONTRIBUTING.md b/commons-fileupload2-core/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-core/CONTRIBUTING.md
index 1a5d6d1a..795532a6 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-core/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Core
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Core's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Core JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-core/README.md
similarity index 84%
copy from README.md
copy to commons-fileupload2-core/README.md
index a3f8f9cf..d7a31569 100644
--- a/README.md
+++ b/commons-fileupload2-core/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,24 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Core
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-core?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-core)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-core/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-core/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+The Apache Commons FileUpload Core component provides the framework for a 
simple yet flexible means of adding support for multipart
+    file upload functionality to servlets, portlets, and web applications.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Core 
homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Core should be 
posted to the [user mailing list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +68,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-core</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +104,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Core? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/CONTRIBUTING.md b/commons-fileupload2-distribution/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-distribution/CONTRIBUTING.md
index 1a5d6d1a..c96f8547 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-distribution/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Distribution
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Distribution's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Distribution JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-distribution/README.md
similarity index 85%
copy from README.md
copy to commons-fileupload2-distribution/README.md
index a3f8f9cf..1a77abff 100644
--- a/README.md
+++ b/commons-fileupload2-distribution/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,23 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Distribution
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-distribution?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-distribution)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-distribution/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-distribution/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+Apache Commons FileUpload Distribution archives.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Distribution 
homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Distribution 
should be posted to the [user mailing 
list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +67,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-distribution</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +90,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +103,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Distribution? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/CONTRIBUTING.md 
b/commons-fileupload2-jakarta-servlet5/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-jakarta-servlet5/CONTRIBUTING.md
index 1a5d6d1a..9f8bcbd7 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-jakarta-servlet5/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Jakarta Servlet 5
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Jakarta Servlet 5's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Jakarta Servlet 5 JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-jakarta-servlet5/README.md
similarity index 83%
copy from README.md
copy to commons-fileupload2-jakarta-servlet5/README.md
index a3f8f9cf..39edd1c0 100644
--- a/README.md
+++ b/commons-fileupload2-jakarta-servlet5/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,24 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Jakarta Servlet 5
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-jakarta-servlet5?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-jakarta-servlet5)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-jakarta-servlet5/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-jakarta-servlet5/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+The Apache Commons FileUpload Jakarta component provides a simple yet flexible 
means of adding support for multipart
+    file upload functionality to Jakarta servlets and web applications.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Jakarta 
Servlet 5 homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Jakarta Servlet 5 
should be posted to the [user mailing 
list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +68,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-jakarta-servlet5</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +104,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Jakarta Servlet 5? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/CONTRIBUTING.md 
b/commons-fileupload2-jakarta-servlet6/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-jakarta-servlet6/CONTRIBUTING.md
index 1a5d6d1a..9653f2c1 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-jakarta-servlet6/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Jakarta Servlet 6
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Jakarta Servlet 6's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Jakarta Servlet 6 JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-jakarta-servlet6/README.md
similarity index 83%
copy from README.md
copy to commons-fileupload2-jakarta-servlet6/README.md
index a3f8f9cf..a3a76649 100644
--- a/README.md
+++ b/commons-fileupload2-jakarta-servlet6/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,24 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Jakarta Servlet 6
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-jakarta-servlet6?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-jakarta-servlet6)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-jakarta-servlet6/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-jakarta-servlet6/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+The Apache Commons FileUpload Jakarta component provides a simple yet flexible 
means of adding support for multipart
+    file upload functionality to Jakarta servlets and web applications.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Jakarta 
Servlet 6 homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Jakarta Servlet 6 
should be posted to the [user mailing 
list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +68,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +104,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Jakarta Servlet 6? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/CONTRIBUTING.md b/commons-fileupload2-javax/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-javax/CONTRIBUTING.md
index 1a5d6d1a..a5cefb19 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-javax/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Javax
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Javax's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Javax JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-javax/README.md
similarity index 84%
copy from README.md
copy to commons-fileupload2-javax/README.md
index a3f8f9cf..7356fba3 100644
--- a/README.md
+++ b/commons-fileupload2-javax/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,24 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Javax
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-javax?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-javax)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-javax/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-javax/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+The Apache Commons FileUpload Javax component provides a simple yet flexible 
means of adding support for multipart
+    file upload functionality to Javax servlets and web applications.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Javax 
homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Javax should be 
posted to the [user mailing list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +68,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-javax</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +104,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Javax? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/CONTRIBUTING.md b/commons-fileupload2-portlet/CONTRIBUTING.md
similarity index 84%
copy from CONTRIBUTING.md
copy to commons-fileupload2-portlet/CONTRIBUTING.md
index 1a5d6d1a..1ba3b44e 100644
--- a/CONTRIBUTING.md
+++ b/commons-fileupload2-portlet/CONTRIBUTING.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -38,7 +38,7 @@
  |                                                                      |
  +======================================================================+
 --->
-Contributing to Apache Commons FileUpload
+Contributing to Apache Commons FileUpload Portlet
 ======================
 
 Have you found a bug or have an idea for a cool new feature? Contributing code 
is a great way to give something back to the open-source community.
@@ -49,7 +49,7 @@ Getting Started
 
 + Make sure you have a [JIRA account](https://issues.apache.org/jira/).
 + Make sure you have a [GitHub account](https://github.com/signup/free). This 
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload's scope.
++ If you're planning to implement a new feature it makes sense to discuss your 
changes on the [dev list](https://commons.apache.org/mail-lists.html) first. 
This way you can make sure you're not wasting your time on something that isn't 
considered to be in Apache Commons FileUpload Portlet's scope.
 + Submit a [Jira Ticket][jira] for your issue, assuming one does not already 
exist.
   + Clearly describe the issue including steps to reproduce when it is a bug.
   + Make sure you fill in the earliest version that you know has the issue.
@@ -60,21 +60,18 @@ Making Changes
 --------------
 
 + Create a _topic branch_ for your isolated work.
-  * Usually you should base your branch from the `master` branch.
+  * Usually you should base your branch on the `master` branch.
   * A good topic branch name can be the JIRA bug ID plus a keyword, e.g. 
`FILEUPLOAD-123-InputStream`.
   * If you have submitted multiple JIRA issues, try to maintain separate 
branches and pull requests.
 + Make commits of logical units.
   * Make sure your commit messages are meaningful and in the proper format. 
Your commit message should contain the key of the JIRA issue.
-  * For example, `[FILEUPLOAD-123] Close input stream sooner`
+  * e.g. `FILEUPLOAD-123: Close input stream earlier`
 + Respect the original code style:
-  + Only use spaces for indentation; you can check for unnecessary whitespace 
with `git diff` before committing.
+  + Only use spaces for indentation.
   + Create minimal diffs - disable _On Save_ actions like _Reformat Source 
Code_ or _Organize Imports_. If you feel the source code should be reformatted 
create a separate PR for this change first.
-+ Write unit tests that match behavioral changes, where the tests fail if the 
changes to the runtime are not applied. This may not always be possible but is 
a best-practice.
-Unit tests are typically in the `src/test/java` directory.
-+ Run a successful build using the default [Maven](https://maven.apache.org/) 
goal with `mvn`; that's `mvn` on the command line by itself.
-+ Write a pull request description that is detailed enough to understand what 
the pull request does, how, and why.
-+ Each commit in the pull request should have a meaningful subject line and 
body. Note that commits might be squashed by a maintainer on merge.
-
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to ensure nothing else was 
accidentally broken.
 
 Making Trivial Changes
 ----------------------
@@ -82,7 +79,7 @@ Making Trivial Changes
 The JIRA tickets are used to generate the changelog for the next release.
 
 For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'[doc]' or '[javadoc]' instead of a ticket number.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
 
 
 Submitting Changes
@@ -106,7 +103,7 @@ Additional Resources
 --------------------
 
 + [Contributing patches](https://commons.apache.org/patches.html)
-+ [Apache Commons FileUpload JIRA project page][jira]
++ [Apache Commons FileUpload Portlet JIRA project page][jira]
 + [Contributor License Agreement][cla]
 + [General GitHub documentation](https://help.github.com/)
 + [GitHub pull request 
documentation](https://help.github.com/articles/creating-a-pull-request/)
diff --git a/README.md b/commons-fileupload2-portlet/README.md
similarity index 84%
copy from README.md
copy to commons-fileupload2-portlet/README.md
index a3f8f9cf..89c12ffc 100644
--- a/README.md
+++ b/commons-fileupload2-portlet/README.md
@@ -6,7 +6,7 @@
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
 
-      https://www.apache.org/licenses/LICENSE-2.0
+      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,
@@ -40,24 +40,24 @@
  |                                                                      |
  +======================================================================+
 --->
-Apache Commons FileUpload
+Apache Commons FileUpload Portlet
 ===================
 
 [![Java 
CI](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/maven.yml)
-[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2/2.0.0-M3.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2/2.0.0-M3)
+[![Maven 
Central](https://img.shields.io/maven-central/v/org.apache.commons/commons-fileupload2-portlet?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.commons/commons-fileupload2-portlet)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-fileupload2-portlet/2.0.0-M4.svg)](https://javadoc.io/doc/org.apache.commons/commons-fileupload2-portlet/2.0.0-M4)
 
[![CodeQL](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-fileupload/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-fileupload)
 
-The Apache Commons FileUpload component provides a simple yet flexible means 
of adding support for multipart
-    file upload functionality to servlets and web applications.
+The Apache Commons FileUpload Portlet component provides a simple yet flexible 
means of adding support for multipart
+    file upload functionality to portlet.
 
 Documentation
 -------------
 
-More information can be found on the [Apache Commons FileUpload 
homepage](https://commons.apache.org/proper/commons-fileupload).
+More information can be found on the [Apache Commons FileUpload Portlet 
homepage](https://commons.apache.org/proper/commons-fileupload).
 The [Javadoc](https://commons.apache.org/proper/commons-fileupload/apidocs) 
can be browsed.
-Questions related to the usage of Apache Commons FileUpload should be posted 
to the [user mailing list](https://commons.apache.org/mail-lists.html).
+Questions related to the usage of Apache Commons FileUpload Portlet should be 
posted to the [user mailing list](https://commons.apache.org/mail-lists.html).
 
 Getting the latest release
 --------------------------
@@ -68,8 +68,8 @@ Alternatively, you can pull it from the central Maven 
repositories:
 ```xml
 <dependency>
   <groupId>org.apache.commons</groupId>
-  <artifactId>commons-fileupload2</artifactId>
-  <version>2.0.0-M3</version>
+  <artifactId>commons-fileupload2-portlet</artifactId>
+  <version>2.0.0-M4</version>
 </dependency>
 ```
 
@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Create minimal diffs - disable on save actions like reformat source code or 
organize imports. If you feel the source code should be reformatted create a 
separate PR for this change.
 + Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running `mvn`.
 + Before you pushing a PR, run `mvn` (by itself), this runs the default goal, 
which contains all build checks.
-+ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
++ To see the code coverage report, regardless of coverage failures, run `mvn 
clean site -Dcommons.jacoco.haltOnFailure=false`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
@@ -104,7 +104,7 @@ See the `NOTICE.txt` file for required notices and 
attributions.
 
 Donating
 --------
-You like Apache Commons FileUpload? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
+You like Apache Commons FileUpload Portlet? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
diff --git a/pom.xml b/pom.xml
index e06d9ced..077c1103 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,6 +55,7 @@
        <commons.parent.dir>${basedir}</commons.parent.dir>
     <commons.componentid>fileupload</commons.componentid>
     <commons.module.name>org.apache.commons.fileupload2</commons.module.name>
+    <commons.rc.version>RC1</commons.rc.version>
     <commons.release.version>2.0.0-M4</commons.release.version>
     <commons.release.next>2.0.0</commons.release.next>
     <commons.release.desc>in the org.apache.commons.fileupload2 namespace for 
Java 11 or later</commons.release.desc>
diff --git a/src/site/xdoc/download_fileupload.xml 
b/src/site/xdoc/download_fileupload.xml
index f9f8adc3..8c0824bb 100644
--- a/src/site/xdoc/download_fileupload.xml
+++ b/src/site/xdoc/download_fileupload.xml
@@ -7,7 +7,7 @@ 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
 
-     https://www.apache.org/licenses/LICENSE-2.0
+     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,
@@ -56,12 +56,10 @@ limitations under the License.
  |                                                                      |
  +======================================================================+
 -->
-<document xmlns="http://maven.apache.org/XDOC/2.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+<document>
   <properties>
     <title>Download Apache Commons FileUpload</title>
-    <author email="d...@commons.apache.org">Apache Commons Team</author>
+    <author email="d...@commons.apache.org">Apache Commons Documentation 
Team</author>
   </properties>
   <body>
     <section name="Download Apache Commons FileUpload">
@@ -81,7 +79,7 @@ limitations under the License.
         mirrors (at the end of the mirrors list) that should be
         available.
         <br></br>
-        [if-any logo]<a href="[link]"><img align="right" src="[logo]" 
border="0" alt="Logo"></img></a>[end]
+        [if-any logo]<a href="[link]"><img align="right" src="[logo]" 
border="0"></img></a>[end]
       </p>
 
       <form action="[location]" method="get" id="SelectMirror">
@@ -115,62 +113,62 @@ limitations under the License.
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons FileUpload 2.0.0-M3 in the 
org.apache.commons.fileupload2 namespace for Java 8 or later">
+    <section name="Apache Commons FileUpload 2.0.0-M4 in the 
org.apache.commons.fileupload2 namespace for Java 11 or later">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.tar.gz">commons-fileupload2-2.0.0-M3-bin.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.tar.gz">commons-fileupload2-2.0.0-M4-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.zip">commons-fileupload2-2.0.0-M3-bin.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M3-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.zip">commons-fileupload2-2.0.0-M4-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-2.0.0-M4-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.tar.gz">commons-fileupload2-2.0.0-M3-src.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.tar.gz">commons-fileupload2-2.0.0-M4-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.zip">commons-fileupload2-2.0.0-M3-src.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M3-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.zip">commons-fileupload2-2.0.0-M4-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-2.0.0-M4-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
     </section>
-    <section name="Apache Commons FileUpload 1.6.0 in the 
org.apache.commons.fileupload namespace for Java 6 or later">
+    <section name="Apache Commons FileUpload 1.6.0 in the 
org.apache.commons.fileupload namespace for Java 8 or later">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.tar.gz">commons-fileupload-1.6.0-bin.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.tar.gz">commons-fileupload2-1.6.0-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.zip">commons-fileupload-1.6.0-bin.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload-1.6.0-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.zip">commons-fileupload2-1.6.0-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/binaries/commons-fileupload2-1.6.0-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload-1.6.0-src.tar.gz">commons-fileupload-1.6.0-src.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload-1.6.0-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload-1.6.0-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-1.6.0-src.tar.gz">commons-fileupload2-1.6.0-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-1.6.0-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-1.6.0-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload-1.6.0-src.zip">commons-fileupload-1.6.0-src.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload-1.6.0-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload-1.6.0-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/fileupload/source/commons-fileupload2-1.6.0-src.zip">commons-fileupload2-1.6.0-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-1.6.0-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/fileupload/source/commons-fileupload2-1.6.0-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index a2ee9155..6214ae72 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -7,7 +7,7 @@ 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
 
-     https://www.apache.org/licenses/LICENSE-2.0
+     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,
@@ -41,12 +41,10 @@ limitations under the License.
  |                                                                      |
  +======================================================================+
 -->
-<document xmlns="http://maven.apache.org/XDOC/2.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+<document>
   <properties>
     <title>Apache Commons FileUpload Issue tracking</title>
-    <author email="d...@commons.apache.org">Apache Commons Team</author>
+    <author email="d...@commons.apache.org">Apache Commons Documentation 
Team</author>
   </properties>
   <body>
 
@@ -66,7 +64,6 @@ limitations under the License.
       <p>
       If you would like to report a bug, or raise an enhancement request with
       Apache Commons FileUpload please do the following:
-      </p>
       <ol>
         <li><a 
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310476&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4";>Search
 existing open bugs</a>.
             If you find your issue listed then please add a comment with your 
details.</li>
@@ -76,15 +73,16 @@ limitations under the License.
         <li>Submit either a <a 
href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310476&amp;issuetype=1&amp;priority=4&amp;assignee=-1";>bug
 report</a>
             or <a 
href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310476&amp;issuetype=4&amp;priority=4&amp;assignee=-1";>enhancement
 request</a>.</li>
       </ol>
+      </p>
 
       <p>
       Please also remember these points:
-      </p>
       <ul>
         <li>the more information you provide, the better we can help you</li>
         <li>test cases are vital, particularly for any proposed 
enhancements</li>
         <li>the developers of Apache Commons FileUpload are all unpaid 
volunteers</li>
       </ul>
+      </p>
 
       <p>
       For more information on creating patches see the
@@ -93,12 +91,12 @@ limitations under the License.
 
       <p>
       You may also find these links useful:
-      </p>
       <ul>
         <li><a 
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310476&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4";>All
 Open Apache Commons FileUpload bugs</a></li>
         <li><a 
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310476&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6";>All
 Resolved Apache Commons FileUpload bugs</a></li>
         <li><a 
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310476&amp;sorter/field=issuekey&amp;sorter/order=DESC";>All
 Apache Commons FileUpload bugs</a></li>
       </ul>
+      </p>
     </section>
   </body>
 </document>
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index 439627ca..5703d544 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -7,7 +7,7 @@ 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
 
-     https://www.apache.org/licenses/LICENSE-2.0
+     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,
@@ -39,12 +39,10 @@ limitations under the License.
  |                                                                      |
  +======================================================================+
 -->
-<document xmlns="http://maven.apache.org/XDOC/2.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 
https://maven.apache.org/xsd/xdoc-2.0.xsd";>
+<document>
   <properties>
     <title>Apache Commons FileUpload Mailing Lists</title>
-    <author email="d...@commons.apache.org">Apache Commons Team</author>
+    <author email="d...@commons.apache.org">Apache Commons Documentation 
Team</author>
   </properties>
   <body>
 
@@ -55,10 +53,10 @@ limitations under the License.
         To make it easier for people to only read messages related to 
components they are interested in,
         the convention in Commons is to prefix the subject line of messages 
with the component's name,
         for example:
+        <ul>
+          <li>[fileupload] Problem with the ...</li>
+        </ul>
       </p>
-      <ul>
-        <li>[fileupload] Problem with the ...</li>
-      </ul>
       <p>
         Questions related to the usage of Apache Commons FileUpload should be 
posted to the
         <a 
href="https://lists.apache.org/list.html?u...@commons.apache.org";>User List</a>.

Reply via email to