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

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


The following commit(s) were added to refs/heads/master by this push:
     new f141f09d9 Prepare for the next release candidate
f141f09d9 is described below

commit f141f09d91368543e4f0754cbd649c484768c55c
Author: Gary Gregory <[email protected]>
AuthorDate: Tue Nov 4 20:16:31 2025 +0000

    Prepare for the next release candidate
---
 README.md                     |  6 ++--
 RELEASE-NOTES.txt             | 78 +++++++++++++++++++++++++++++++++++++++++++
 src/changes/changes.xml       |  2 +-
 src/site/xdoc/download_io.xml | 26 +++++++--------
 4 files changed, 95 insertions(+), 17 deletions(-)

diff --git a/README.md b/README.md
index bb31ce854..36a82594a 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Apache Commons IO
 
 [![Java 
CI](https://github.com/apache/commons-io/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-io/actions/workflows/maven.yml)
 [![Maven 
Central](https://img.shields.io/maven-central/v/commons-io/commons-io?label=Maven%20Central)](https://search.maven.org/artifact/commons-io/commons-io)
-[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.20.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.20.0)
+[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.21.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.21.0)
 
[![CodeQL](https://github.com/apache/commons-io/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-io/actions/workflows/codeql-analysis.yml)
 [![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-io/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-io)
 
@@ -69,7 +69,7 @@ Alternatively, you can pull it from the central Maven 
repositories:
 <dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
-  <version>2.20.0</version>
+  <version>2.21.0</version>
 </dependency>
 ```
 
@@ -90,7 +90,7 @@ There are some guidelines which will make applying PRs easier 
for us:
 + Respect the existing code style for each file.
 + 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.
++ Before you push a PR, run `mvn` (without arguments). 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`
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 1f30f8b0f..3f84b5174 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,82 @@
 
+Apache Commons IO 2.21.0 Release Notes
+
+The Apache Commons IO team is pleased to announce the release of Apache 
Commons IO 2.21.0.
+
+Introduction
+------------
+
+The Apache Commons IO library contains utility classes, stream 
implementations, file filters,
+file comparators, endian transformation classes, and much more.
+
+Version 2.21.0: Java 8 or later is required.
+
+New features
+------------
+
+o          FileUtils#byteCountToDisplaySize() supports Zettabyte, Yottabyte, 
Ronnabyte and Quettabyte #763. Thanks to strangelookingnerd, Gary Gregory. 
+o          Add org.apache.commons.io.FileUtils.ONE_RB #763. Thanks to 
strangelookingnerd, Gary Gregory. 
+o          Add org.apache.commons.io.FileUtils.ONE_QB #763. Thanks to 
strangelookingnerd, Gary Gregory. 
+o          Add 
org.apache.commons.io.output.ProxyOutputStream.writeRepeat(byte[], int, int, 
long). Thanks to Gary Gregory. 
+o          Add 
org.apache.commons.io.output.ProxyOutputStream.writeRepeat(byte[], long). 
Thanks to Gary Gregory. 
+o          Add org.apache.commons.io.output.ProxyOutputStream.writeRepeat(int, 
long). Thanks to Gary Gregory. 
+o          Add length unit support in FileSystem limits. Thanks to Piotr P. 
Karwasz. 
+o          Add IOUtils.toByteArray(InputStream, int, int) for safer chunked 
reading with size validation. Thanks to Piotr P. Karwasz. 
+o          Add org.apache.commons.io.file.PathUtils.getPath(String, String). 
Thanks to Gary Gregory. 
+o          Add org.apache.commons.io.channels.ByteArraySeekableByteChannel. 
Thanks to Gary Gregory. 
+o          Add IOIterable.asIterable(). Thanks to Gary Gregory. 
+o          Add NIO channel support to `AbstractStreamBuilder`. Thanks to Piotr 
P. Karwasz. 
+o          Add CloseShieldChannel to close-shielded NIO Channels #786. Thanks 
to Piotr P. Karwasz. 
+o          Added IOUtils.checkFromIndexSize as a Java 8 backport of 
Objects.checkFromIndexSize #790. Thanks to Piotr P. Karwasz. 
+
+Fixed Bugs
+----------
+
+o          When testing on Java 21 and up, enable 
-XX:+EnableDynamicAgentLoading. Thanks to Gary Gregory. 
+o          When testing on Java 24 and up, don't fail FileUtilsListFilesTest 
for a different behavior in the JRE. Thanks to Gary Gregory. 
+o          ValidatingObjectInputStream does not validate dynamic proxy 
interfaces. Thanks to Stanislav Fort, Gary Gregory. 
+o          BoundedInputStream.getRemaining() now reports Long.MAX_VALUE 
instead of 0 when no limit is set. Thanks to Piotr P. Karwasz. 
+o          BoundedInputStream.available() correctly accounts for the maximum 
read limit. Thanks to Piotr P. Karwasz. 
+o          Deprecate IOUtils.readFully(InputStream, int) in favor of 
toByteArray(InputStream, int). Thanks to Gary Gregory, Piotr P. Karwasz. 
+o          IOUtils.toByteArray(InputStream) now throws IOException on byte 
array overflow. Thanks to Piotr P. Karwasz. 
+o          Javadoc general improvements. Thanks to Gary Gregory, Piotr P. 
Karwasz. 
+o          IOUtils.toByteArray() now throws EOFException when not enough data 
is available #796. Thanks to Piotr P. Karwasz. 
+o          Fix IOUtils.skip() usage in concurrent scenarios. Thanks to Piotr 
P. Karwasz. 
+o          [javadoc] Fix XmlStreamReader Javadoc to indicate the correct class 
that is built #806. Thanks to J Hawkins. 
+
+Changes
+-------
+
+o          Bump org.apache.commons:commons-parent from 85 to 91 #774, #783, 
#808. Thanks to Gary Gregory, Dependabot. 
+o          [test] Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. 
Thanks to Gary Gregory. 
+o          [test] Bump commons.bytebuddy.version from 1.17.6 to 1.17.8 #769. 
Thanks to Gary Gregory, Dependabot. 
+o          [test] Bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0. 
Thanks to Gary Gregory. 
+
+Removed
+-------
+
+o          Inline private constant field ProxyInputStream.exceptionHandler 
#780. Thanks to Piotr P. Karwasz. 
+Commons IO 2.7 and up requires Java 8 or above.
+Commons IO 2.6 requires Java 7 or above.
+Commons IO 2.3 through 2.5 requires Java 6 or above.
+Commons IO 2.2 requires Java 5 or above.
+Commons IO 1.4 requires Java 1.3 or above.
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-io/changes.html
+
+For complete information on Apache Commons IO, including instructions on how 
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons IO website:
+
+https://commons.apache.org/proper/commons-io/
+
+Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
+
+Have fun!
+-Apache Commons Team
+
+------------------------------------------------------------------------------
+
+
 Apache Commons IO 2.20.0 Release Notes
 
 The Apache Commons IO team is pleased to announce the release of Apache 
Commons IO 2.20.0.
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 07bb304a5..23a7d3b40 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -45,7 +45,7 @@ The <action> type attribute can be add,update,fix,remove.
     <title>Apache Commons IO Release Notes</title>
   </properties>
   <body>
-    <release version="2.21.0" date="YYYY-MM-DD" description="Version 2.21.0: 
Java 8 or later is required.">
+    <release version="2.21.0" date="2025-11-04" description="Version 2.21.0: 
Java 8 or later is required.">
       <!-- FIX -->
       <action type="fix" dev="ggregory"                due-to="Gary 
Gregory">When testing on Java 21 and up, enable 
-XX:+EnableDynamicAgentLoading.</action>
       <action type="fix" dev="ggregory"                due-to="Gary 
Gregory">When testing on Java 24 and up, don't fail FileUtilsListFilesTest for 
a different behavior in the JRE.</action>
diff --git a/src/site/xdoc/download_io.xml b/src/site/xdoc/download_io.xml
index 567d26532..6a0ba144c 100644
--- a/src/site/xdoc/download_io.xml
+++ b/src/site/xdoc/download_io.xml
@@ -115,32 +115,32 @@ limitations under the License.
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons IO 2.20.0 (requires Java 8)">
+    <section name="Apache Commons IO 2.21.0 (requires Java 8)">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/io/binaries/commons-io-2.20.0-bin.tar.gz">commons-io-2.20.0-bin.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/io/binaries/commons-io-2.21.0-bin.tar.gz">commons-io-2.21.0-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.21.0-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.21.0-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/io/binaries/commons-io-2.20.0-bin.zip">commons-io-2.20.0-bin.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/io/binaries/commons-io-2.21.0-bin.zip">commons-io-2.21.0-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.21.0-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.21.0-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/io/source/commons-io-2.20.0-src.tar.gz">commons-io-2.20.0-src.tar.gz</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/io/source/commons-io-2.21.0-src.tar.gz">commons-io-2.21.0-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.21.0-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.21.0-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/io/source/commons-io-2.20.0-src.zip">commons-io-2.20.0-src.zip</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/io/source/commons-io-2.21.0-src.zip">commons-io-2.21.0-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.21.0-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/io/source/commons-io-2.21.0-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>

Reply via email to