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 c9a2b48b4 Prepare for the next release candidate
c9a2b48b4 is described below
commit c9a2b48b448ff6fbb7a4ef814affff04bbfaba39
Author: Gary D. Gregory <[email protected]>
AuthorDate: Tue Apr 8 21:53:05 2025 +0000
Prepare for the next release candidate
---
CONTRIBUTING.md | 6 +--
README.md | 6 +--
RELEASE-NOTES.txt | 95 ++++++++++++++++++++++++++++++++++++++++
src/changes/changes.xml | 2 +-
src/site/xdoc/download_io.xml | 36 ++++++++-------
src/site/xdoc/issue-tracking.xml | 14 +++---
src/site/xdoc/mail-lists.xml | 14 +++---
7 files changed, 137 insertions(+), 36 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b44fe68a1..f70868073 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
- http://www.apache.org/licenses/LICENSE-2.0
+ https://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,
@@ -61,11 +61,11 @@ Making Changes
+ Create a _topic branch_ for your isolated work.
* Usually you should base your branch from the `master` branch.
- * A good topic branch name can be the JIRA bug ID plus a keyword, for
example, `IO-123-InputStream`.
+ * A good topic branch name can be the JIRA bug ID plus a keyword, e.g.
`IO-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, `[IO-123] Close input stream earlier`
+ * For example, `[IO-123] Close input stream sooner`
+ Respect the original code style:
+ Only use spaces for indentation; you can check for unnecessary whitespace
with `git diff` before committing.
+ 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.
diff --git a/README.md b/README.md
index 3f4e96dd9..03a244f39 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
- http://www.apache.org/licenses/LICENSE-2.0
+ https://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 IO
[](https://github.com/apache/commons-io/actions/workflows/maven.yml)
[](https://search.maven.org/artifact/commons-io/commons-io)
-[](https://javadoc.io/doc/commons-io/commons-io/2.18.0)
+[](https://javadoc.io/doc/commons-io/commons-io/2.19.0)
[](https://github.com/apache/commons-io/actions/workflows/codeql-analysis.yml)
[](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.18.0</version>
+ <version>2.19.0</version>
</dependency>
```
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 49247bc9c..9f753547e 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,99 @@
+Apache Commons IO 2.19.0 Release Notes
+
+Introduction
+------------
+
+The Apache Commons IO library contains utility classes, stream
implementations, file filters,
+file comparators, endian transformation classes, and much more.
+
+Version 2.19.0: Java 8 is required.
+
+New features
+------------
+
+o IO-860: Add ThrottledInputStream.Builder.setMaxBytes(long, ChronoUnit).
Thanks to Nico Strecker, Gary Gregory.
+o Add IOIterable. Thanks to Gary Gregory.
+o ReversedLinesFileReader implements IOIterable<String>. Thanks to
Gary Gregory.
+o Add AbstractByteArrayOutputStream.write(CharSequence, Charset).
Thanks to Gary Gregory.
+o Add AbstractByteArrayOutputStream.write(byte[]). Thanks to Gary
Gregory.
+o Add RandomAccessFileOutputStream.getRandomAccessFile(). Thanks to
Gary Gregory.
+o Add ProxyInputStream.setReference(InputStream), was package-private
setIn(InputStream). Thanks to Gary Gregory.
+o Add ProxyOutputStream.setReference(OutputStream). Thanks to Gary
Gregory.
+o Add RandomAccessFileInputStream.copy(long, long, OutputStream).
Thanks to Gary Gregory.
+o Add ProxyOutputStream.Builder. Thanks to Gary Gregory.
+o Add ByteOrderMark.matches(int[]). Thanks to Gary Gregory.
+o Add BrokenOutputStream.BrokenOutputStream(Function<String>,
Throwable>) and deprecate Supplier<String> constructor. Thanks to Gary Gregory.
+o Add IOBooleanSupplier. Thanks to Gary Gregory.
+o Add Uncheck.getAsBoolean(IOBooleanSupplier). Thanks to Gary
Gregory.
+o Add FileChannels.contentEquals(SeekableByteChannel,
SeekableByteChannel, int). Thanks to Gary Gregory.
+o Add FileChannels.contentEquals(ReadableByteChannel,
ReadableByteChannel, int). Thanks to Gary Gregory.
+o IO-872: Add SimplePathVisitor.AbstractBuilder. Thanks to Gary Gregory.
+o IO-872: Add CountingPathVisitor.AbstractBuilder and
CountingPathVisitor.Builder. Thanks to Gary Gregory.
+o IO-872: Add AccumulatorPathVisitor.Builder and builder(). Thanks to Gary
Gregory.
+o Add PathUtils.contentEquals(FileSystem, FileSystem). Thanks to Gary
Gregory.
+
+Fixed Bugs
+----------
+
+o Deprecate constructor Counters.Counters() to be private in 4.0.
Thanks to Gary Gregory.
+o Deprecate constructor Charsets.Charsets() to be private in 4.0.
Thanks to Gary Gregory.
+o Pick up maven-antrun-plugin version from parent POM
org.apache:apache. Thanks to Gary Gregory.
+o Javadoc is missing its Overview page. 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 Deprecate DeferredFileOutputStream.getStream() in favor of
getOutputStream(). Thanks to Gary Gregory.
+o IO-868: Improve Javadoc for a BoundedInputStream builder() throwing
IOException. Thanks to Julian Reschke, Gary Gregory.
+o IO-868: Improve Javadoc for all implementations of
AbstractOriginSupplier#get(). Thanks to Julian Reschke, Gary Gregory.
+o The Consumer to IOUtils.closeQuietly(Closeable, Consumer) now
accepts Exception, not just IOException. Thanks to Gary Gregory.
+o The Consumer to IOUtils.close(Closeable, IOConsumer) now accepts
wrapped Exception, not just IOException. Thanks to Gary Gregory.
+o Use Uncheck.getAsBoolean(IOBooleanSupplier) to avoid boxing and
unboxing of boolean values. Thanks to Gary Gregory.
+o Avoid unnecessary boxing and unboxing of long values in
FileUtils.sizeOf(File). Thanks to Gary Gregory.
+o Avoid unnecessary boxing and unboxing of int values in
UncheckedBufferedReader.read(). Thanks to Gary Gregory.
+o Avoid unnecessary boxing and unboxing of int values in
UncheckedFilterInputStream.available() and read(). Thanks to Gary Gregory.
+o Avoid unnecessary boxing and unboxing of int values in
UncheckedFilterReader.read(). Thanks to Gary Gregory.
+o FileChannels.contentEquals(FileChannel, FileChannel, int) can
return false when comparing a non-blocking channel. Thanks to Gary Gregory.
+o Deprecate FileChannels.contentEquals(FileChannel, FileChannel, int)
in favor of FileChannels.contentEquals(SeekableByteChannel,
SeekableByteChannel, int). Thanks to Gary Gregory.
+o Improve performance of IOUtils.contentEquals(InputStream,
InputStream) by about 13%. Thanks to Gary Gregory.
+o IO-870: PathUtils.copyFileToDirectory() across file systems #728. Thanks to
Gary Gregory.
+o IO-871: IOUtils.contentEquals is incorrect when InputStream.available
under-reports. Thanks to Éamonn McManus, Gary Gregory.
+o IO-873: java.lang.ArithmeticException: long overflow
java.lang.Math.addExact(Math.java:932) at
org.apache.commons.io.file.attribute.FileTimes.ntfsTimeToFileTime(FileTimes.java:164).
See also https://issues.apache.org/jira/browse/MDEP-978. Thanks to Gary
Gregory.
+o IO-873: java.lang.ArithmeticException: long overflow
java.lang.Math.addExact(Math.java:932) at
org.apache.commons.io.file.attribute.FileTimes.ntfsTimeToDate(long). Thanks to
Gary Gregory.
+o FileTimes.toNtfsTime(*) methods can overflow result values. Thanks
to Gary Gregory.
+o Fix Javadoc for ChunkedOutputStream.Builder. Thanks to Gary
Gregory.
+o General Javadoc improvements. Thanks to Gary Gregory.
+o Calling QueueInputStream.QueueInputStream(null) maps to the same
kind of default blocking queue as
QueueInputStream.Builder.setBlockingQueue(null). Thanks to Gary Gregory.
+o CopyDirectoryVisitor creates incorrect file names when copying
between different file systems that use different file system separators ("/"
versus "\"); fixes PathUtils.copyDirectory(Path, Path, CopyOption...). Thanks
to Gary Gregory.
+o ThreadUtils.sleep(Duration) should handle the underlying OS time
changing. Thanks to zhouchongwen, Gary Gregory.
+
+Changes
+-------
+
+o Bump commons.bytebuddy.version from 1.15.10 to 1.17.5 #710, #715,
#720, #734, #735. Thanks to Dependabot, Gary Gregory.
+o Bump commons-codec:commons-codec from 1.17.1 to 1.18.0. #717.
Thanks to Gary Gregory.
+o Bump org.apache.commons:commons-parent from 78 to 81. Thanks to
Gary Gregory.
+
+
+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.18.0 Release Notes
Introduction
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index fdfdf0a0c..a26426f32 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.19.0" date="YYYY-MM-DD" description="Version 2.19.0:
Java 8 is required.">
+ <release version="2.19.0" date="2025-04-08" description="Version 2.19.0:
Java 8 is required.">
<!-- FIX -->
<action dev="ggregory" type="fix" due-to="Gary
Gregory">Deprecate constructor Counters.Counters() to be private in
4.0.</action>
<action dev="ggregory" type="fix" due-to="Gary
Gregory">Deprecate constructor Charsets.Charsets() to be private in
4.0.</action>
diff --git a/src/site/xdoc/download_io.xml b/src/site/xdoc/download_io.xml
index 812feb53c..6b212bc9c 100644
--- a/src/site/xdoc/download_io.xml
+++ b/src/site/xdoc/download_io.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
- http://www.apache.org/licenses/LICENSE-2.0
+ https://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,10 +56,12 @@ limitations under the License.
| |
+======================================================================+
-->
-<document>
+<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">
<properties>
<title>Download Apache Commons IO</title>
- <author email="[email protected]">Apache Commons Documentation
Team</author>
+ <author email="[email protected]">Apache Commons Team</author>
</properties>
<body>
<section name="Download Apache Commons IO">
@@ -79,7 +81,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"></img></a>[end]
+ [if-any logo]<a href="[link]"><img align="right" src="[logo]"
border="0" alt="Logo"></img></a>[end]
</p>
<form action="[location]" method="get" id="SelectMirror">
@@ -113,32 +115,32 @@ limitations under the License.
</p>
</subsection>
</section>
- <section name="Apache Commons IO 2.18.0 (requires Java 8)">
+ <section name="Apache Commons IO 2.19.0 (requires Java 8)">
<subsection name="Binaries">
<table>
<tr>
- <td><a
href="[preferred]/commons/io/binaries/commons-io-2.18.0-bin.tar.gz">commons-io-2.18.0-bin.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/io/binaries/commons-io-2.19.0-bin.tar.gz">commons-io-2.19.0-bin.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/io/binaries/commons-io-2.18.0-bin.zip">commons-io-2.18.0-bin.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/io/binaries/commons-io-2.19.0-bin.zip">commons-io-2.19.0-bin.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.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.18.0-src.tar.gz">commons-io-2.18.0-src.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/io/source/commons-io-2.19.0-src.tar.gz">commons-io-2.19.0-src.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/io/source/commons-io-2.18.0-src.zip">commons-io-2.18.0-src.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/io/source/commons-io-2.19.0-src.zip">commons-io-2.19.0-src.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/io/source/commons-io-2.19.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 fa25f6f52..3cda13d50 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
- http://www.apache.org/licenses/LICENSE-2.0
+ https://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,10 +41,12 @@ limitations under the License.
| |
+======================================================================+
-->
-<document>
+<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">
<properties>
<title>Apache Commons IO Issue tracking</title>
- <author email="[email protected]">Apache Commons Documentation
Team</author>
+ <author email="[email protected]">Apache Commons Team</author>
</properties>
<body>
@@ -64,6 +66,7 @@ limitations under the License.
<p>
If you would like to report a bug, or raise an enhancement request with
Apache Commons IO please do the following:
+ </p>
<ol>
<li><a
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310477&sorter/field=issuekey&sorter/order=DESC&status=1&status=3&status=4">Search
existing open bugs</a>.
If you find your issue listed then please add a comment with your
details.</li>
@@ -73,16 +76,15 @@ limitations under the License.
<li>Submit either a <a
href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310477&issuetype=1&priority=4&assignee=-1">bug
report</a>
or <a
href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310477&issuetype=4&priority=4&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 IO are all unpaid volunteers</li>
</ul>
- </p>
<p>
For more information on creating patches see the
@@ -91,12 +93,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&pid=12310477&sorter/field=issuekey&sorter/order=DESC&status=1&status=3&status=4">All
Open Apache Commons IO bugs</a></li>
<li><a
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310477&sorter/field=issuekey&sorter/order=DESC&status=5&status=6">All
Resolved Apache Commons IO bugs</a></li>
<li><a
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310477&sorter/field=issuekey&sorter/order=DESC">All
Apache Commons IO 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 bb94ded27..bfb01dd05 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
- http://www.apache.org/licenses/LICENSE-2.0
+ https://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,10 +39,12 @@ limitations under the License.
| |
+======================================================================+
-->
-<document>
+<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">
<properties>
<title>Apache Commons IO Mailing Lists</title>
- <author email="[email protected]">Apache Commons Documentation
Team</author>
+ <author email="[email protected]">Apache Commons Team</author>
</properties>
<body>
@@ -53,10 +55,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>[io] Problem with the ...</li>
- </ul>
</p>
+ <ul>
+ <li>[io] Problem with the ...</li>
+ </ul>
<p>
Questions related to the usage of Apache Commons IO should be posted
to the
<a
href="https://lists.apache.org/[email protected]">User List</a>.