Skip to content

Commit fa00f5e

Browse files
committed
Prepare for the next release candidate
1 parent 473839f commit fa00f5e

5 files changed

Lines changed: 115 additions & 24 deletions

File tree

CONTRIBUTING.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@
4141
Contributing to Apache Commons IO
4242
======================
4343

44-
You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to
45-
the open source community. Before you dig right into the code there are a few guidelines that we need contributors to
46-
follow so that we can have a chance of keeping on top of things.
44+
Have you found a bug or have an idea for a cool new feature? Contributing code is a great way to give something back to the open-source community.
45+
Before you dig right into the code, we need contributors to follow a few guidelines to have a chance of keeping on top of things.
4746

4847
Getting Started
4948
---------------
@@ -62,7 +61,7 @@ Making Changes
6261

6362
+ Create a _topic branch_ for your isolated work.
6463
* Usually you should base your branch on the `master` branch.
65-
* A good topic branch name can be the JIRA bug id plus a keyword, e.g. `IO-123-InputStream`.
64+
* A good topic branch name can be the JIRA bug ID plus a keyword, e.g. `IO-123-InputStream`.
6665
* If you have submitted multiple JIRA issues, try to maintain separate branches and pull requests.
6766
+ Make commits of logical units.
6867
* Make sure your commit messages are meaningful and in the proper format. Your commit message should contain the key of the JIRA issue.
@@ -72,7 +71,7 @@ Making Changes
7271
+ 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.
7372
+ Check for unnecessary whitespace with `git diff` -- check before committing.
7473
+ Make sure you have added the necessary tests for your changes, typically in `src/test/java`.
75-
+ Run all the tests with `mvn clean verify` to assure nothing else was accidentally broken.
74+
+ Run all the tests with `mvn clean verify` to ensure nothing else was accidentally broken.
7675

7776
Making Trivial Changes
7877
----------------------

README.md

Lines changed: 7 additions & 5 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://maven-badges.herokuapp.com/maven-central/commons-io/commons-io/badge.svg?gav=true)](https://maven-badges.herokuapp.com/maven-central/commons-io/commons-io/?gav=true)
48-
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.16.1.svg)](https://javadoc.io/doc/commons-io/commons-io/2.16.1)
48+
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.17.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.17.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

@@ -63,20 +63,20 @@ Getting the latest release
6363
--------------------------
6464
You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-io/download_io.cgi).
6565

66-
Alternatively, you can pull it from the central Maven repositories:
66+
Alternatively, you can pull it from the central Maven repositories:
6767

6868
```xml
6969
<dependency>
7070
<groupId>commons-io</groupId>
7171
<artifactId>commons-io</artifactId>
72-
<version>2.16.1</version>
72+
<version>2.17.0</version>
7373
</dependency>
7474
```
7575

7676
Building
7777
--------
7878

79-
Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
79+
Building requires a Java JDK and [Apache Maven](https://maven.apache.org/).
8080
The required Java version is found in the `pom.xml` as the `maven.compiler.source` property.
8181

8282
From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks.
@@ -89,7 +89,9 @@ There are some guidelines which will make applying PRs easier for us:
8989
+ No tabs! Please use spaces for indentation.
9090
+ Respect the existing code style for each file.
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.
92-
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn```.
92+
+ Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running `mvn`.
93+
+ 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`
9395

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

RELEASE-NOTES.txt

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

2+
Apache Commons IO 2.17.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+
Java 8 is required.
11+
12+
New features
13+
------------
14+
15+
o Add IOIterator.adapt(Iterable). Thanks to Gary Gregory.
16+
o IO-831: Add getInputStream() for 'https' and 'http' in URIOrigin #630. Thanks to Elliotte Rusty Harold, Thach Le, Gary Gregory.
17+
o Add IOSupplier.getUnchecked(). Thanks to Gary Gregory.
18+
o Add CloseShieldInputStream.systemIn(InputStream). Thanks to Gary Gregory.
19+
o Add NullInputStream.init(). Thanks to Gary Gregory.
20+
o Add AbstractInputStream and refactor duplicate code. Thanks to Gary Gregory.
21+
o Add UnsynchronizedReader. Thanks to Gary Gregory.
22+
o Add UnsynchronizedBufferedReader. Thanks to Gary Gregory.
23+
24+
Fixed Bugs
25+
----------
26+
27+
o IO-858: FileUtilsWaitForTest does not test anything useful.
28+
o Add missing unit tests. Thanks to Gary Gregory.
29+
o FileUtils.lastModifiedFileTime(File) calls Objects.requireNonNull() on the wrong object. Thanks to Gary Gregory.
30+
o PathUtils.deleteOnExit(Path) calls Objects.requireNonNull() on the wrong object. Thanks to Gary Gregory.
31+
o Deprecate LineIterator.nextLine() in favor of next(). Thanks to Gary Gregory.
32+
o Fix PMD UnnecessaryFullyQualifiedName. Thanks to Gary Gregory.
33+
o Add test for CircularByteBuffer clear() #620. Thanks to sullis.
34+
o PathUtils.isPosix(Path, LinkOption...) should return false on null input. Thanks to Gary Gregory.
35+
o AutoCloseInputStream(InputStream) uses ClosedInputStream.INSTANCE when its input is null. Thanks to Gary Gregory.
36+
o Avoid NullPointerException in ProxyInputStream.available() when the underlying input stream is null. Thanks to Gary Gregory.
37+
o Avoid NullPointerException in ProxyInputStream.markSupported() when the underlying input stream is null. Thanks to Gary Gregory.
38+
o Avoid NullPointerException in ProxyInputStream.mark(int) when the underlying input stream is null. Thanks to Gary Gregory.
39+
o BufferedFileChannelInputStream.available() returns 0 before any reads. Thanks to Gary Gregory.
40+
o BufferedFileChannelInputStream.available() should return 0 instead of -1 at the end of the stream. Thanks to Gary Gregory.
41+
o BufferedFileChannelInputStream.available() should return 0 when the stream is closed instead of throwing an exception. Thanks to Gary Gregory.
42+
o CharSequenceInputStream.available() should return 0 after the stream is closed. Thanks to Gary Gregory.
43+
o BoundedInputStream.available() should return 0 when the stream is closed. Thanks to Gary Gregory.
44+
o CircularInputStream.available() should return 0 when the stream is closed. Thanks to Gary Gregory.
45+
o InfiniteCircularInputStream.available() should return 0 when the stream is closed. Thanks to Gary Gregory.
46+
o ChecksumInputStream(InputStream, Checksum, long, long) should fail-fast on null Checksum input. Thanks to Gary Gregory.
47+
o Deprecate NullInputStream.INSTANCE in favor of constructors. Thanks to Gary Gregory.
48+
o NullInputStream.available() should return 0 after the stream is closed. Thanks to Gary Gregory.
49+
o MemoryMappedFileInputStream.available() should return 0 after the stream is closed. Thanks to Gary Gregory.
50+
o RandomAccessFileInputStream.available() should return 0 after the stream is closed. Thanks to Gary Gregory.
51+
o ReaderInputStream.available() should return 0 after the stream is closed. Thanks to Gary Gregory.
52+
o AutoCloseInputStream does not call handleIOException() on close() when the proxied stream throws an IOException. Thanks to Gary Gregory.
53+
o BoundedInputStream does not call handleIOException() on close() when the proxied stream throws an IOException. Thanks to Gary Gregory.
54+
o NullInputStream.read(*) should throw IOException when it is closed. Thanks to Gary Gregory.
55+
o NullInputStream.read(byte[]) should return 0 when the input byte array in length 0. Thanks to Gary Gregory.
56+
o NullInputStream.read(byte[], int, int) should return 0 when the input byte array in length 0 or requested length is 0. Thanks to Gary Gregory.
57+
o MarkShieldInputStream.read(*) should throw IOException when it is closed. Thanks to Gary Gregory.
58+
o Replace deprecated constant FileFileFilter.FILE in Javadoc #657. Thanks to aelaort.
59+
o Pick up exec-maven-plugin version from parent POM. Thanks to Gary Gregory.
60+
61+
Changes
62+
-------
63+
64+
o Bump tests commons.bytebuddy.version from 1.14.13 to 1.15.1 #615, #621, #631, #635, #642, #658, #663, #665. Thanks to Dependabot.
65+
o Bump tests commons-codec:commons-codec from 1.16.1 to 1.17.1 #644. Thanks to Dependabot.
66+
o Bump org.codehaus.mojo:exec-maven-plugin from 3.2.0 to 3.4.1 #632, #652, #659. Thanks to Dependabot.
67+
o Bump org.apache.commons:commons-parent from 69 to 74 #628, #637, #649, #661, #664. Thanks to Dependabot.
68+
o Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #645, #653, #666. Thanks to Dependabot.
69+
70+
71+
Commons IO 2.7 and up requires Java 8 or above.
72+
Commons IO 2.6 requires Java 7 or above.
73+
Commons IO 2.3 through 2.5 requires Java 6 or above.
74+
Commons IO 2.2 requires Java 5 or above.
75+
Commons IO 1.4 requires Java 1.3 or above.
76+
77+
Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html
78+
79+
For complete information on Apache Commons IO, including instructions on how to submit bug reports,
80+
patches, or suggestions for improvement, see the Apache Commons IO website:
81+
82+
https://commons.apache.org/proper/commons-io/
83+
84+
Download page: https://commons.apache.org/proper/commons-io/download_io.cgi
85+
86+
Have fun!
87+
-Apache Commons Team
88+
89+
------------------------------------------------------------------------------
90+
91+
292
Apache Commons IO 2.16.1 Release Notes
393

494
Introduction

src/changes/changes.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ The <action> type attribute can be add,update,fix,remove.
4646
<title>Apache Commons IO Release Notes</title>
4747
</properties>
4848
<body>
49-
<release version="2.17.0" date="YYYY-MM-DD" description="Java 8 is required.">
49+
<release version="2.17.0" date="2024-09-15" description="Java 8 is required.">
5050
<!-- ADD -->
5151
<action dev="ggregory" type="add" due-to="Gary Gregory">Add IOIterator.adapt(Iterable).</action>
5252
<action dev="ggregory" type="add" issue="IO-831" due-to="Elliotte Rusty Harold, Thach Le, Gary Gregory">Add getInputStream() for 'https' and 'http' in URIOrigin #630.</action>

src/site/xdoc/download_io.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -113,32 +113,32 @@ limitations under the License.
113113
</p>
114114
</subsection>
115115
</section>
116-
<section name="Apache Commons IO 2.16.1 (requires Java 8)">
116+
<section name="Apache Commons IO 2.17.0 (requires Java 8)">
117117
<subsection name="Binaries">
118118
<table>
119119
<tr>
120-
<td><a href="[preferred]/commons/io/binaries/commons-io-2.16.1-bin.tar.gz">commons-io-2.16.1-bin.tar.gz</a></td>
121-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.16.1-bin.tar.gz.sha512">sha512</a></td>
122-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.16.1-bin.tar.gz.asc">pgp</a></td>
120+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.17.0-bin.tar.gz">commons-io-2.17.0-bin.tar.gz</a></td>
121+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.tar.gz.sha512">sha512</a></td>
122+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.tar.gz.asc">pgp</a></td>
123123
</tr>
124124
<tr>
125-
<td><a href="[preferred]/commons/io/binaries/commons-io-2.16.1-bin.zip">commons-io-2.16.1-bin.zip</a></td>
126-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.16.1-bin.zip.sha512">sha512</a></td>
127-
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.16.1-bin.zip.asc">pgp</a></td>
125+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.17.0-bin.zip">commons-io-2.17.0-bin.zip</a></td>
126+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.zip.sha512">sha512</a></td>
127+
<td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.zip.asc">pgp</a></td>
128128
</tr>
129129
</table>
130130
</subsection>
131131
<subsection name="Source">
132132
<table>
133133
<tr>
134-
<td><a href="[preferred]/commons/io/source/commons-io-2.16.1-src.tar.gz">commons-io-2.16.1-src.tar.gz</a></td>
135-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.16.1-src.tar.gz.sha512">sha512</a></td>
136-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.16.1-src.tar.gz.asc">pgp</a></td>
134+
<td><a href="[preferred]/commons/io/source/commons-io-2.17.0-src.tar.gz">commons-io-2.17.0-src.tar.gz</a></td>
135+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.tar.gz.sha512">sha512</a></td>
136+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.tar.gz.asc">pgp</a></td>
137137
</tr>
138138
<tr>
139-
<td><a href="[preferred]/commons/io/source/commons-io-2.16.1-src.zip">commons-io-2.16.1-src.zip</a></td>
140-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.16.1-src.zip.sha512">sha512</a></td>
141-
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.16.1-src.zip.asc">pgp</a></td>
139+
<td><a href="[preferred]/commons/io/source/commons-io-2.17.0-src.zip">commons-io-2.17.0-src.zip</a></td>
140+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.zip.sha512">sha512</a></td>
141+
<td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.zip.asc">pgp</a></td>
142142
</tr>
143143
</table>
144144
</subsection>

0 commit comments

Comments
 (0)