Skip to content

Commit 4ef481f

Browse files
committed
Prepare for the next release candidate
1 parent d23228f commit 4ef481f

File tree

4 files changed

+95
-17
lines changed

4 files changed

+95
-17
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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.19.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.19.0)
48+
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.20.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.20.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.19.0</version>
72+
<version>2.20.0</version>
7373
</dependency>
7474
```
7575

@@ -91,7 +91,7 @@ There are some guidelines which will make applying PRs easier for us:
9191
+ 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.
9292
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running `mvn`.
9393
+ Before you pushing a PR, run `mvn` (by itself), this runs the default goal, which contains all build checks.
94-
+ To see the code coverage report, regardless of coverage failures, run `mvn clean site -Dcommons.jacoco.haltOnFailure=false`
94+
+ To see the code coverage report, regardless of coverage failures, run `mvn clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
9595

9696
If you plan to contribute on a regular basis, please consider filing a [contributor license agreement](https://www.apache.org/licenses/#clas).
9797
You can learn more about contributing via GitHub in our [contribution guidelines](CONTRIBUTING.md).

RELEASE-NOTES.txt

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

2+
Apache Commons IO 2.20.0 Release Notes
3+
4+
The Apache Commons IO team is pleased to announce the release of Apache Commons IO 2.20.0.
5+
6+
Introduction
7+
------------
8+
9+
The Apache Commons IO library contains utility classes, stream implementations, file filters,
10+
file comparators, endian transformation classes, and much more.
11+
12+
Version 2.19.1: Java 8 or later is required.
13+
14+
New features
15+
------------
16+
17+
o IO-875: Add org.apache.commons.io.file.CountingPathVisitor.accept(Path, BasicFileAttributes) #743. Thanks to Pierre Baumard, Gary Gregory.
18+
o Add org.apache.commons.io.Charsets.isAlias(Charset, String). Thanks to Gary Gregory.
19+
o Add org.apache.commons.io.Charsets.isUTF8(Charset). Thanks to Gary Gregory.
20+
o Add org.apache.commons.io.Charsets.toCharsetDefault(String, Charset). Thanks to Gary Gregory.
21+
o IO-279: Add Tailer ignoreTouch option #757. Thanks to Joerg Budischewski, Gary Gregory.
22+
23+
Fixed Bugs
24+
----------
25+
26+
o [javadoc] Rename parameter of ProxyOutputStream.write(int) #740. Thanks to Jesse Glick.
27+
o IO-875: CopyDirectoryVisitor ignores fileFilter #743. Thanks to Pierre Baumard, Gary Gregory.
28+
o org.apache.commons.io.build.AbstractOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
29+
o org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
30+
o org.apache.commons.io.build.AbstractOrigin.ByeArrayOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
31+
o org.apache.commons.io.build.AbstractOrigin.InputStreamOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
32+
o org.apache.commons.io.build.AbstractOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
33+
o org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
34+
o org.apache.commons.io.build.AbstractOrigin.OutputStreamOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.
35+
o FileUtils.readLines(File, Charset) now maps a null Charset to the default Charset #744. Thanks to Ryan Kurtz, Gary Gregory.
36+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream, org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 77]Another occurrence at WindowsLineEndingInputStream.java:[line 81] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
37+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 112] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
38+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 113] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
39+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 75] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
40+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atEos" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 120] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
41+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashCr" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 124] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
42+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "atSlashLf" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 125] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
43+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "closed" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.ProxyInputStream] At ProxyInputStream.java:[line 233] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
44+
o Fix SpotBugs [ERROR] Medium: Shared primitive variable "propagateClose" in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.BoundedInputStream] At BoundedInputStream.java:[line 555] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.
45+
o QueueInputStream reads all but the first byte without waiting. #748. Thanks to maxxedev, Piotr P. Karwasz, Gary Gregory.
46+
o Javadoc fixes and improvements. Thanks to Gary Gregory.
47+
o Avoid NPE in org.apache.commons.io.filefilter.WildcardFilter.accept(File). Thanks to Gary Gregory.
48+
o IO-874: FileUtils.forceDelete can delete a broken symlink again #756. Thanks to Andy Russell, Joerg Budischewski.
49+
o Fix infinite loop in AbstractByteArrayOutputStream. #758. Thanks to Alex Benusovich.
50+
51+
Changes
52+
-------
53+
54+
o Bump commons.bytebuddy.version from 1.17.5 to 1.17.6 #754. Thanks to Dependabot, Gary Gregory.
55+
o Bump org.apache.commons:commons-parent from 81 to 85. Thanks to Gary Gregory.
56+
o Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 #761. Thanks to Dependabot, Gary Gregory.
57+
58+
59+
Commons IO 2.7 and up requires Java 8 or above.
60+
Commons IO 2.6 requires Java 7 or above.
61+
Commons IO 2.3 through 2.5 requires Java 6 or above.
62+
Commons IO 2.2 requires Java 5 or above.
63+
Commons IO 1.4 requires Java 1.3 or above.
64+
65+
Historical list of changes: https://commons.apache.org/proper/commons-io/changes.html
66+
67+
For complete information on Apache Commons IO, including instructions on how to submit bug reports,
68+
patches, or suggestions for improvement, see the Apache Commons IO website:
69+
70+
https://commons.apache.org/proper/commons-io/
71+
72+
Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
73+
74+
Have fun!
75+
-Apache Commons Team
76+
77+
------------------------------------------------------------------------------
78+
79+
280
Apache Commons IO 2.19.0 Release Notes
381

482
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.20.0" date="YYYY-MM-DD" description="Version 2.19.1: Java 8 or later is required.">
48+
<release version="2.20.0" date="2025-07-13" description="Version 2.19.1: Java 8 or later is required.">
4949
<!-- FIX -->
5050
<action dev="ggregory" type="fix" due-to="Jesse Glick">[javadoc] Rename parameter of ProxyOutputStream.write(int) #740.</action>
5151
<action dev="ggregory" type="fix" issue="IO-875" due-to="Pierre Baumard, Gary Gregory">CopyDirectoryVisitor ignores fileFilter #743.</action>

src/site/xdoc/download_io.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,32 +115,32 @@ limitations under the License.
115115
</p>
116116
</subsection>
117117
</section>
118-
<section name="Apache Commons IO 2.19.0 (requires Java 8)">
118+
<section name="Apache Commons IO 2.20.0 (requires Java 8)">
119119
<subsection name="Binaries">
120120
<table>
121121
<tr>
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>
122+
<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>
123+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.tar.gz.sha512">sha512</a></td>
124+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.tar.gz.asc">pgp</a></td>
125125
</tr>
126126
<tr>
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>
127+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.20.0-bin.zip">commons-io-2.20.0-bin.zip</a></td>
128+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.zip.sha512">sha512</a></td>
129+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.20.0-bin.zip.asc">pgp</a></td>
130130
</tr>
131131
</table>
132132
</subsection>
133133
<subsection name="Source">
134134
<table>
135135
<tr>
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>
136+
<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>
137+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.tar.gz.sha512">sha512</a></td>
138+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.tar.gz.asc">pgp</a></td>
139139
</tr>
140140
<tr>
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>
141+
<td><a href="[preferred]/commons/io/source/commons-io-2.20.0-src.zip">commons-io-2.20.0-src.zip</a></td>
142+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.zip.sha512">sha512</a></td>
143+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.20.0-src.zip.asc">pgp</a></td>
144144
</tr>
145145
</table>
146146
</subsection>

0 commit comments

Comments
 (0)