Skip to content

Commit c9a2b48

Browse files
committed
Prepare for the next release candidate
1 parent c722fe8 commit c9a2b48

File tree

7 files changed

+137
-36
lines changed

7 files changed

+137
-36
lines changed

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
(the "License"); you may not use this file except in compliance with
77
the License. You may obtain a copy of the License at
88
9-
http://www.apache.org/licenses/LICENSE-2.0
9+
https://www.apache.org/licenses/LICENSE-2.0
1010
1111
Unless required by applicable law or agreed to in writing, software
1212
distributed under the License is distributed on an "AS IS" BASIS,
@@ -61,11 +61,11 @@ Making Changes
6161

6262
+ Create a _topic branch_ for your isolated work.
6363
* Usually you should base your branch from the `master` branch.
64-
* A good topic branch name can be the JIRA bug ID plus a keyword, for example, `IO-123-InputStream`.
64+
* A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `IO-123-InputStream`.
6565
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
6666
+ Make commits of logical units.
6767
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
68-
* For example, `[IO-123] Close input stream earlier`
68+
* For example, `[IO-123] Close input stream sooner`
6969
+ Respect the original code style:
7070
+ Only use spaces for indentation; you can check for unnecessary whitespace with `git diff` before committing.
7171
+ 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.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
(the "License"); you may not use this file except in compliance with
77
the License. You may obtain a copy of the License at
88
9-
http://www.apache.org/licenses/LICENSE-2.0
9+
https://www.apache.org/licenses/LICENSE-2.0
1010
1111
Unless required by applicable law or agreed to in writing, software
1212
distributed under the License is distributed on an "AS IS" BASIS,
@@ -45,7 +45,7 @@ Apache Commons IO
4545

4646
[![Java CI](https://github.com/apache/commons-io/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-io/actions/workflows/maven.yml)
4747
[![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)
48-
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.18.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.18.0)
48+
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.19.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.19.0)
4949
[![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)
5050
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-io/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-io)
5151

@@ -69,7 +69,7 @@ Alternatively, you can pull it from the central Maven repositories:
6969
<dependency>
7070
<groupId>commons-io</groupId>
7171
<artifactId>commons-io</artifactId>
72-
<version>2.18.0</version>
72+
<version>2.19.0</version>
7373
</dependency>
7474
```
7575

RELEASE-NOTES.txt

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,99 @@
11

2+
Apache Commons IO 2.19.0 Release Notes
3+
4+
Introduction
5+
------------
6+
7+
The Apache Commons IO library contains utility classes, stream implementations, file filters,
8+
file comparators, endian transformation classes, and much more.
9+
10+
Version 2.19.0: Java 8 is required.
11+
12+
New features
13+
------------
14+
15+
o IO-860: Add ThrottledInputStream.Builder.setMaxBytes(long, ChronoUnit). Thanks to Nico Strecker, Gary Gregory.
16+
o Add IOIterable. Thanks to Gary Gregory.
17+
o ReversedLinesFileReader implements IOIterable<String>. Thanks to Gary Gregory.
18+
o Add AbstractByteArrayOutputStream.write(CharSequence, Charset). Thanks to Gary Gregory.
19+
o Add AbstractByteArrayOutputStream.write(byte[]). Thanks to Gary Gregory.
20+
o Add RandomAccessFileOutputStream.getRandomAccessFile(). Thanks to Gary Gregory.
21+
o Add ProxyInputStream.setReference(InputStream), was package-private setIn(InputStream). Thanks to Gary Gregory.
22+
o Add ProxyOutputStream.setReference(OutputStream). Thanks to Gary Gregory.
23+
o Add RandomAccessFileInputStream.copy(long, long, OutputStream). Thanks to Gary Gregory.
24+
o Add ProxyOutputStream.Builder. Thanks to Gary Gregory.
25+
o Add ByteOrderMark.matches(int[]). Thanks to Gary Gregory.
26+
o Add BrokenOutputStream.BrokenOutputStream(Function<String>, Throwable>) and deprecate Supplier<String> constructor. Thanks to Gary Gregory.
27+
o Add IOBooleanSupplier. Thanks to Gary Gregory.
28+
o Add Uncheck.getAsBoolean(IOBooleanSupplier). Thanks to Gary Gregory.
29+
o Add FileChannels.contentEquals(SeekableByteChannel, SeekableByteChannel, int). Thanks to Gary Gregory.
30+
o Add FileChannels.contentEquals(ReadableByteChannel, ReadableByteChannel, int). Thanks to Gary Gregory.
31+
o IO-872: Add SimplePathVisitor.AbstractBuilder. Thanks to Gary Gregory.
32+
o IO-872: Add CountingPathVisitor.AbstractBuilder and CountingPathVisitor.Builder. Thanks to Gary Gregory.
33+
o IO-872: Add AccumulatorPathVisitor.Builder and builder(). Thanks to Gary Gregory.
34+
o Add PathUtils.contentEquals(FileSystem, FileSystem). Thanks to Gary Gregory.
35+
36+
Fixed Bugs
37+
----------
38+
39+
o Deprecate constructor Counters.Counters() to be private in 4.0. Thanks to Gary Gregory.
40+
o Deprecate constructor Charsets.Charsets() to be private in 4.0. Thanks to Gary Gregory.
41+
o Pick up maven-antrun-plugin version from parent POM org.apache:apache. Thanks to Gary Gregory.
42+
o Javadoc is missing its Overview page. Thanks to Gary Gregory.
43+
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.
44+
o Deprecate DeferredFileOutputStream.getStream() in favor of getOutputStream(). Thanks to Gary Gregory.
45+
o IO-868: Improve Javadoc for a BoundedInputStream builder() throwing IOException. Thanks to Julian Reschke, Gary Gregory.
46+
o IO-868: Improve Javadoc for all implementations of AbstractOriginSupplier#get(). Thanks to Julian Reschke, Gary Gregory.
47+
o The Consumer to IOUtils.closeQuietly(Closeable, Consumer) now accepts Exception, not just IOException. Thanks to Gary Gregory.
48+
o The Consumer to IOUtils.close(Closeable, IOConsumer) now accepts wrapped Exception, not just IOException. Thanks to Gary Gregory.
49+
o Use Uncheck.getAsBoolean(IOBooleanSupplier) to avoid boxing and unboxing of boolean values. Thanks to Gary Gregory.
50+
o Avoid unnecessary boxing and unboxing of long values in FileUtils.sizeOf(File). Thanks to Gary Gregory.
51+
o Avoid unnecessary boxing and unboxing of int values in UncheckedBufferedReader.read(). Thanks to Gary Gregory.
52+
o Avoid unnecessary boxing and unboxing of int values in UncheckedFilterInputStream.available() and read(). Thanks to Gary Gregory.
53+
o Avoid unnecessary boxing and unboxing of int values in UncheckedFilterReader.read(). Thanks to Gary Gregory.
54+
o FileChannels.contentEquals(FileChannel, FileChannel, int) can return false when comparing a non-blocking channel. Thanks to Gary Gregory.
55+
o Deprecate FileChannels.contentEquals(FileChannel, FileChannel, int) in favor of FileChannels.contentEquals(SeekableByteChannel, SeekableByteChannel, int). Thanks to Gary Gregory.
56+
o Improve performance of IOUtils.contentEquals(InputStream, InputStream) by about 13%. Thanks to Gary Gregory.
57+
o IO-870: PathUtils.copyFileToDirectory() across file systems #728. Thanks to Gary Gregory.
58+
o IO-871: IOUtils.contentEquals is incorrect when InputStream.available under-reports. Thanks to Éamonn McManus, Gary Gregory.
59+
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.
60+
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.
61+
o FileTimes.toNtfsTime(*) methods can overflow result values. Thanks to Gary Gregory.
62+
o Fix Javadoc for ChunkedOutputStream.Builder. Thanks to Gary Gregory.
63+
o General Javadoc improvements. Thanks to Gary Gregory.
64+
o Calling QueueInputStream.QueueInputStream(null) maps to the same kind of default blocking queue as QueueInputStream.Builder.setBlockingQueue(null). Thanks to Gary Gregory.
65+
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.
66+
o ThreadUtils.sleep(Duration) should handle the underlying OS time changing. Thanks to zhouchongwen, Gary Gregory.
67+
68+
Changes
69+
-------
70+
71+
o Bump commons.bytebuddy.version from 1.15.10 to 1.17.5 #710, #715, #720, #734, #735. Thanks to Dependabot, Gary Gregory.
72+
o Bump commons-codec:commons-codec from 1.17.1 to 1.18.0. #717. Thanks to Gary Gregory.
73+
o Bump org.apache.commons:commons-parent from 78 to 81. Thanks to Gary Gregory.
74+
75+
76+
Commons IO 2.7 and up requires Java 8 or above.
77+
Commons IO 2.6 requires Java 7 or above.
78+
Commons IO 2.3 through 2.5 requires Java 6 or above.
79+
Commons IO 2.2 requires Java 5 or above.
80+
Commons IO 1.4 requires Java 1.3 or above.
81+
82+
Historical list of changes: https://commons.apache.org/proper/commons-io/changes.html
83+
84+
For complete information on Apache Commons IO, including instructions on how to submit bug reports,
85+
patches, or suggestions for improvement, see the Apache Commons IO website:
86+
87+
https://commons.apache.org/proper/commons-io/
88+
89+
Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
90+
91+
Have fun!
92+
-Apache Commons Team
93+
94+
------------------------------------------------------------------------------
95+
96+
297
Apache Commons IO 2.18.0 Release Notes
398

499
Introduction

src/changes/changes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ The <action> type attribute can be add,update,fix,remove.
4545
<title>Apache Commons IO Release Notes</title>
4646
</properties>
4747
<body>
48-
<release version="2.19.0" date="YYYY-MM-DD" description="Version 2.19.0: Java 8 is required.">
48+
<release version="2.19.0" date="2025-04-08" description="Version 2.19.0: Java 8 is required.">
4949
<!-- FIX -->
5050
<action dev="ggregory" type="fix" due-to="Gary Gregory">Deprecate constructor Counters.Counters() to be private in 4.0.</action>
5151
<action dev="ggregory" type="fix" due-to="Gary Gregory">Deprecate constructor Charsets.Charsets() to be private in 4.0.</action>

src/site/xdoc/download_io.xml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
77
(the "License"); you may not use this file except in compliance with
88
the License. You may obtain a copy of the License at
99
10-
http://www.apache.org/licenses/LICENSE-2.0
10+
https://www.apache.org/licenses/LICENSE-2.0
1111
1212
Unless required by applicable law or agreed to in writing, software
1313
distributed under the License is distributed on an "AS IS" BASIS,
@@ -56,10 +56,12 @@ limitations under the License.
5656
| |
5757
+======================================================================+
5858
-->
59-
<document>
59+
<document xmlns="http://maven.apache.org/XDOC/2.0"
60+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
61+
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
6062
<properties>
6163
<title>Download Apache Commons IO</title>
62-
<author email="[email protected]">Apache Commons Documentation Team</author>
64+
<author email="[email protected]">Apache Commons Team</author>
6365
</properties>
6466
<body>
6567
<section name="Download Apache Commons IO">
@@ -79,7 +81,7 @@ limitations under the License.
7981
mirrors (at the end of the mirrors list) that should be
8082
available.
8183
<br></br>
82-
[if-any logo]<a href="[link]"><img align="right" src="[logo]" border="0"></img></a>[end]
84+
[if-any logo]<a href="[link]"><img align="right" src="[logo]" border="0" alt="Logo"></img></a>[end]
8385
</p>
8486

8587
<form action="[location]" method="get" id="SelectMirror">
@@ -113,32 +115,32 @@ limitations under the License.
113115
</p>
114116
</subsection>
115117
</section>
116-
<section name="Apache Commons IO 2.18.0 (requires Java 8)">
118+
<section name="Apache Commons IO 2.19.0 (requires Java 8)">
117119
<subsection name="Binaries">
118120
<table>
119121
<tr>
120-
<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>
121-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.sha512">sha512</a></td>
122-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.asc">pgp</a></td>
122+
<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>
123+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.tar.gz.sha512">sha512</a></td>
124+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.tar.gz.asc">pgp</a></td>
123125
</tr>
124126
<tr>
125-
<td><a href="[preferred]/commons/io/binaries/commons-io-2.18.0-bin.zip">commons-io-2.18.0-bin.zip</a></td>
126-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.sha512">sha512</a></td>
127-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.asc">pgp</a></td>
127+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.19.0-bin.zip">commons-io-2.19.0-bin.zip</a></td>
128+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.zip.sha512">sha512</a></td>
129+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.19.0-bin.zip.asc">pgp</a></td>
128130
</tr>
129131
</table>
130132
</subsection>
131133
<subsection name="Source">
132134
<table>
133135
<tr>
134-
<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>
135-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.sha512">sha512</a></td>
136-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.asc">pgp</a></td>
136+
<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>
137+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.tar.gz.sha512">sha512</a></td>
138+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.tar.gz.asc">pgp</a></td>
137139
</tr>
138140
<tr>
139-
<td><a href="[preferred]/commons/io/source/commons-io-2.18.0-src.zip">commons-io-2.18.0-src.zip</a></td>
140-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.sha512">sha512</a></td>
141-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.asc">pgp</a></td>
141+
<td><a href="[preferred]/commons/io/source/commons-io-2.19.0-src.zip">commons-io-2.19.0-src.zip</a></td>
142+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.zip.sha512">sha512</a></td>
143+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.19.0-src.zip.asc">pgp</a></td>
142144
</tr>
143145
</table>
144146
</subsection>

src/site/xdoc/issue-tracking.xml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
77
(the "License"); you may not use this file except in compliance with
88
the License. You may obtain a copy of the License at
99
10-
http://www.apache.org/licenses/LICENSE-2.0
10+
https://www.apache.org/licenses/LICENSE-2.0
1111
1212
Unless required by applicable law or agreed to in writing, software
1313
distributed under the License is distributed on an "AS IS" BASIS,
@@ -41,10 +41,12 @@ limitations under the License.
4141
| |
4242
+======================================================================+
4343
-->
44-
<document>
44+
<document xmlns="http://maven.apache.org/XDOC/2.0"
45+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
46+
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 https://maven.apache.org/xsd/xdoc-2.0.xsd">
4547
<properties>
4648
<title>Apache Commons IO Issue tracking</title>
47-
<author email="[email protected]">Apache Commons Documentation Team</author>
49+
<author email="[email protected]">Apache Commons Team</author>
4850
</properties>
4951
<body>
5052

@@ -64,6 +66,7 @@ limitations under the License.
6466
<p>
6567
If you would like to report a bug, or raise an enhancement request with
6668
Apache Commons IO please do the following:
69+
</p>
6770
<ol>
6871
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310477&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">Search existing open bugs</a>.
6972
If you find your issue listed then please add a comment with your details.</li>
@@ -73,16 +76,15 @@ limitations under the License.
7376
<li>Submit either a <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310477&amp;issuetype=1&amp;priority=4&amp;assignee=-1">bug report</a>
7477
or <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310477&amp;issuetype=4&amp;priority=4&amp;assignee=-1">enhancement request</a>.</li>
7578
</ol>
76-
</p>
7779

7880
<p>
7981
Please also remember these points:
82+
</p>
8083
<ul>
8184
<li>the more information you provide, the better we can help you</li>
8285
<li>test cases are vital, particularly for any proposed enhancements</li>
8386
<li>the developers of Apache Commons IO are all unpaid volunteers</li>
8487
</ul>
85-
</p>
8688

8789
<p>
8890
For more information on creating patches see the
@@ -91,12 +93,12 @@ limitations under the License.
9193

9294
<p>
9395
You may also find these links useful:
96+
</p>
9497
<ul>
9598
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310477&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">All Open Apache Commons IO bugs</a></li>
9699
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310477&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6">All Resolved Apache Commons IO bugs</a></li>
97100
<li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310477&amp;sorter/field=issuekey&amp;sorter/order=DESC">All Apache Commons IO bugs</a></li>
98101
</ul>
99-
</p>
100102
</section>
101103
</body>
102104
</document>

0 commit comments

Comments
 (0)