We have fixed a few bugs and added enhancements since Apache Commons
IO 2.20.0 was released, so I would like to release Apache Commons IO
2.21.0.
Apache Commons IO 2.21.0 RC1 is available for review here:
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1 (svn
revision 80479)
The Git tag commons-io-2.21.0-RC1 commit for this RC is
54073d3b5fdd2985b98a48040ede95eb59c7ee53 which you can browse here:
https://gitbox.apache.org/repos/asf?p=commons-io.git;a=commit;h=54073d3b5fdd2985b98a48040ede95eb59c7ee53
You may checkout this tag using:
git clone https://gitbox.apache.org/repos/asf/commons-io.git
--branch commons-io-2.21.0-RC1 commons-io-2.21.0-RC1
Maven artifacts are here:
https://repository.apache.org/content/repositories/orgapachecommons-1871/commons-io/commons-io/2.21.0/
These are the artifacts and their hashes:
#Release SHA-512s
#Tue Nov 04 20:27:25 UTC 2025
commons-io-2.21.0-bin.tar.gz=404051c854dc64b29cd20d57641a5cd8ecf8d782872a56a6c9f52a1fa4775f2cde6651edd0711fcd9e60ab6a8335399bfe267895389630e0c6081d767429fecb
commons-io-2.21.0-bin.zip=4e1c43fccdf75f5f29003679c7fb4fc29f8f9d9dcaf86a8d5d64cc7581179c2e817f820251768b9c56505b3db34cfe5a19f66ff641a9360a41383719e7043a9d
commons-io-2.21.0-bom.json=3d449d042dddeccea00687f08257cae1681421b2b70d9c6dbe2d128f657df5c440254f892fcff0b084f527f5f2587db1bec495bfd7303493321954ee5383a855
commons-io-2.21.0-bom.xml=5db8229671f9f5557b8dbd643a9b6271a1734e75aa11fe7ae1348afe43fdd8ede09442d47b1d57b64ec17bc56705df8ea504c8efe633f21db9a10429cc024937
commons-io-2.21.0-javadoc.jar=cbf4b950e241d25a547fdf94279608ae891cbdc15c6d262b889c81a266fc47e779ee1eb7d93f6c64ce59f6c385088ca2d308586159143a9d0188320b5dbdf023
commons-io-2.21.0-sources.jar=8edc4f532db14d49a797f4754fe55174537b72a0c79b4d3820da6ecde0bff11609b5d237b6d02676f7da909f8e5fe13b648be4ccbb7945d7d6874ad70328c3c9
commons-io-2.21.0-src.tar.gz=50eb2ef3e42362b090e6d8bca954b20c940ae7e5391ce7ef8e0756c70c78e273fdd2f3dd76151d2078628e5a05a077bd712e331362f430eda3ddf8a3adc45898
commons-io-2.21.0-src.zip=795e3fe21833223d3c4a3d129c674a49dc58d5513ef3efc4b49176bf72331190bf168fc1e26dad0c62f1bc57a540ae7111c105a008889fb59b8243520b36117a
commons-io-2.21.0-test-sources.jar=ebfbb44e9843073a3a50f031d7e8764737cf07bd20a8996026de6de29b2003cdc57adaf9b55a53f0f42a9ea860c9f399078fcc8c78ac1fc6aada7f2a14f030c8
commons-io-2.21.0-tests.jar=9b2656a9e58f346748989bea3a08af871279a89e62055a82bf8b422348ac2cd28235c25925d082fdf715298a7f82f5475555967ca8a99919f7589a0c9e7d3fd5
commons-io_commons-io-2.21.0.spdx.json=75348f5c3ca50f6c9e8b71f9e9758799d98930335954d9103c61633d1977cc186b841e640c483b597f68e0c17f31d4e6bada0517fcabf9c9082640e53de0eebc
I have tested this with 'mvn' and 'mvn clean install site' using:
openjdk version "21.0.9" 2025-10-21
OpenJDK Runtime Environment Homebrew (build 21.0.9)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.9, mixed mode, sharing)
Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: /opt/homebrew/Cellar/maven/3.9.11/libexec
Java version: 21.0.9, vendor: Homebrew, runtime:
/opt/homebrew/Cellar/openjdk@21/21.0.9/libexec/openjdk.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "15.7.1", arch: "aarch64", family: "mac"
Darwin ****.local 24.6.0 Darwin Kernel Version 24.6.0: Mon Aug 11
21:15:09 PDT 2025; root:xnu-11417.140.69.701.11~1/RELEASE_ARM64_T6041
arm64
Docker version 28.4.0, build d8eb465
Details of changes since 2.20.0 are in the release notes:
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/RELEASE-NOTES.txt
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/site/changes.html
Site:
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/site/index.html
(note some *relative* links are broken and the 2.21.0 directories
are not yet created - these will be OK once the site is deployed.)
JApiCmp Report (compared to 2.20.0):
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/site/japicmp.html
RAT Report:
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/site/rat-report.html
KEYS:
https://downloads.apache.org/commons/KEYS
Please review the release candidate and vote.
This vote will close no sooner than 72 hours from now.
[ ] +1 Release these artifacts
[ ] +0 OK, but...
[ ] -0 OK, but really should fix...
[ ] -1 I oppose this release because...
Thank you,
Gary Gregory,
Release Manager (using key 530AA5F25C25011F)
The following is intended as a helper and refresher for reviewers.
Validating a release candidate
==============================
These guidelines are NOT complete.
Requirements: Git, Java, and Maven.
You can validate a release from a release candidate (RC) tag as follows.
1a) Download and decompress the source archive from:
https://dist.apache.org/repos/dist/dev/commons/io/2.21.0-RC1/source
1b) Check out the RC tag from git (optional)
This is optional, as a reviewer must check source distributions as a minimum.
git clone https://gitbox.apache.org/repos/asf/commons-io.git --branch
commons-io-2.21.0-RC1 commons-io-2.21.0-RC1
cd commons-io-2.21.0-RC1
2) Checking the build
All components should include a default Maven goal, such that you can
run 'mvn' from the command line by itself.
2) Check Apache licenses
This step is not required if the site includes a RAT report page which
you then must check.
This check should be included in the default Maven build, but you can
check it with:
mvn apache-rat:check
3) Check binary compatibility
This step is not required if the site includes a JApiCmp report page
which you then must check.
This check should be included in the default Maven build, but you can
check it with:
mvn verify -DskipTests -P japicmp japicmp:cmp
4) Build the package
This check should be included in the default Maven build, but you can
check it with:
mvn -V clean package
You can record the Maven and Java version produced by -V in your VOTE reply.
To gather OS information from a command line:
Windows: ver
Linux: uname -a
4b) Check reproducibility
To check that a build is reproducible, run:
mvn clean verify artifact:compare -DskipTests
-Dreference.repo=https://repository.apache.org/content/repositories/staging/
'-Dbuildinfo.ignore=*/*.spdx.json'
Note that this excludes SPDX files from the check.
5) Build the site for a single module project
Note: Some plugins require the components to be installed instead of packaged.
mvn site
Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html
-the end-
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]