Skip to content

Commit 414e597

Browse files
committed
Prepare for 2.10.0 release candidate 1.
1 parent 3f807da commit 414e597

5 files changed

Lines changed: 42 additions & 102 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Apache Commons IO
4747
[![GitHub Actions Status](https://github.com/apache/commons-io/workflows/Java%20CI/badge.svg)](https://github.com/apache/commons-io/actions)
4848
[![Coverage Status](https://coveralls.io/repos/apache/commons-io/badge.svg)](https://coveralls.io/r/apache/commons-io)
4949
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/commons-io/commons-io/badge.svg)](https://maven-badges.herokuapp.com/maven-central/commons-io/commons-io/)
50-
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.9.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.9.0)
50+
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.10.0.svg)](https://javadoc.io/doc/commons-io/commons-io/2.10.0)
5151

5252
The Apache Commons IO library contains utility classes, stream implementations, file filters,
5353
file comparators, endian transformation classes, and much more.
@@ -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.9.0</version>
72+
<version>2.10.0</version>
7373
</dependency>
7474
```
7575

RELEASE-NOTES.txt

Lines changed: 12 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Apache Commons IO
3-
Version 2.9.0
3+
Version 2.10.0
44
Release Notes
55

66
INTRODUCTION:
@@ -13,100 +13,27 @@ The Apache Commons IO library contains utility classes, stream implementations,
1313
file comparators, endian transformation classes, and much more.
1414

1515
==============================================================================
16-
Apache Commons IO Version 2.9.0
16+
Apache Commons IO Version 2.10.0
1717
==============================================================================
1818
Java 8 required.
1919

2020
Changes in this version include:
2121

2222
New features:
23-
o Add FileSystemProviders class. Thanks to Gary Gregory.
24-
o Let org.apache.commons.io.filefilter classes work with java.nio.file.Files.walk* APIs. Thanks to Gary Gregory.
25-
o Let org.apache.commons.io.filefilter classes work with java.nio.file.Files#newDirectoryStream(Path, DirectoryStream.Filter). Thanks to Gary Gregory.
26-
o IO-510: Add and adapt ReadAheadInputStream and BufferedFileChannelInputStream from Apache Spark. Thanks to Gary Gregory, Apache Spark, David Mollitor.
27-
o Add PathUtils.createParentDirectories(Path, FileAttribute...). Thanks to Gary Gregory.
28-
o Add factory methods to CloseShieldInputStream, CloseShieldReader, CloseShieldOutputStream, CloseShieldWriter, #173. Thanks to Rob Spoor, Gary Gregory.
29-
o Add QueueInputStream and QueueOutputStream as simpler alternatives to PipedInputStream and PipedOutputStream #171. Thanks to Rob Spoor, Gary Gregory.
30-
o Add StandardLineSeparator. Thanks to Gary Gregory.
31-
o Replace magic numbers with constants with the new IOUtils.CR and LF. Thanks to Gary Gregory.
32-
o Add FileSystem#supportsDriveLetter(). Thanks to Gary Gregory.
33-
o Add FileUtils.delete(File). Thanks to Gary Gregory.
34-
o IO-700: Add FileUtils.moveFile(File, File, CopyOption...) #185. Thanks to Gary Gregory.
35-
o IO-700: Add FileUtils.isEmptyDirectory(File). Thanks to Gary Gregory.
36-
o Add FileUtils.lastModified[Unchecked](File) to workaround https://bugs.openjdk.java.net/browse/JDK-8177809. Thanks to Gary Gregory.
37-
o IO-709: Add null safe variants of isDirectory and isRegularFile. Thanks to Boris Unckel, Gary Gregory.
38-
o Add and use IOExceptionList(String, List). Thanks to Gary Gregory.
39-
o Add and use ObservableInputStream.ObservableInputStream(InputStream, Observer...). Thanks to Gary Gregory.
40-
o Make ObservableInputStream.getObservers() public. Thanks to Gary Gregory.
41-
o IO-706: Add TimestampedObserver. Thanks to Gary Gregory.
42-
o Add and use IOUtils.byteArray(*). Thanks to Gary Gregory.
43-
o Make public and reuse IOUtils.EMPTY_BYTE_ARRAY. Thanks to Gary Gregory.
44-
o Add IOUtils.copy(URL, File). Thanks to Gary Gregory.
45-
o Add copy(URL, OutputStream). Thanks to Gary Gregory.
46-
o IO-651: Add DeferredFileOutputStream.toInputStream() #206. Thanks to jmark109, Gary Gregory.
47-
o Add CharacterSetFilterReader.CharacterSetFilterReader(Reader, Integer...). Thanks to Gary Gregory.
48-
o Add AbstractCharacterFilterReader(Reader, IntPredicate), #227.
49-
Add CharacterFilterReader(Reader, IntPredicate), #227.
50-
Add CharacterFilterReaderIntPredicateTest, #227. Thanks to Rob Spoor, Gary Gregory.
51-
o Add IOConsumer.noop(). Thanks to Gary Gregory.
52-
o Add constructor ThresholdingOutputStream(int, IOConsumer, IOFunction) and make the class concrete. Thanks to Gary Gregory.
53-
o Add constructor accepting collection of file alteration observers #236. Thanks to nstdspace, Gary Gregory.
23+
o Add and use RegexFileFilter.toString(). Thanks to Gary Gregory.
24+
o Add and use RegexFileFilter.RegexFileFilter(Pattern, Function<Path>, String>) Thanks to Gary Gregory.
25+
o Add and use IOCase.isCaseSensitive(IOCase). Thanks to Gary Gregory.
5426

5527
Fixed Bugs:
56-
o IO-686: IOUtils.toByteArray(InputStream) Javadoc does not match code. Thanks to Alan Moffat, Gary Gregory.
57-
o IO-689: FileUtils: Remove Instant->ZonedDateTime->Instant round-trip. Thanks to Uwe Schindler.
58-
o Make FilenameUtils.equals() not throw an exception #154. Thanks to Michael Ernst, Gary Gregory.
59-
o Un-deprecate IOUtils.closeQuietly() methods. Thanks to Jan Peter Stotz, Bernd Eckenfels, Gary Gregory.
60-
o FileUtils#copyDirectory(File, File, FileFilter, preserveFileDate) clean up #163. Thanks to Michiel Kalkman.
61-
o AccumulatorPathVisitor does not track directories properly. Thanks to Gary Gregory.
62-
o IO-597: FileUtils.iterateFiles runs out of memory when executed for a directory with large number of files.
63-
Re-implement FileUtils' iterateFiles(), iterateFilesAndDirs(), listFiles(), listFilesAndDirs() to use NIO
64-
file tree walking instead of IO file listings to avoid memory consumption issues on large file trees. Thanks to Gary Gregory, Arvind, Rob Spoor.
65-
o FileUtils.forceDelete(File) actually forces deletion of read-only files as it did in version 2.6. Thanks to Gary Gregory.
66-
o IO-692: PathUtils.deleteFile() no longer throws a NoSuchFileException when applied on a symbolic link pointing
67-
to a file that doesn't exist. Thanks to Matthew Rooney, Emmanuel Bourg.
68-
o IO-694: Behavior change in FileUtils.copyDirectory() file last modified timestamp preservation. Match Javadoc to code. Thanks to Tan Yee Fan, Gary Gregory.
69-
o IO-600: Fix getPrefixLength method for Linux filename #179. Thanks to Abhyankar Chaubey, Gary Gregory.
70-
o IO-699: Wrong logging in FileUtils.setLastModified. Thanks to tza, Gary Gregory.
71-
o IO-686: IOUtils.toByteArray(InputStream) Javadoc does not match code. Thanks to Alan Moffat, Sebb, Gary Gregory.
72-
o IO-688: CopyUtils deprecation message gives wrong version. Thanks to Michael Ernst, Gary Gregory.
73-
o IO-701: Make PathUtils.setReadOnly deal with LinuxDosFileAttributeView #186. Thanks to Gary Gregory.
74-
o IO-702: FileUtils.forceDelete does not delete invalid links. #187. Thanks to Boris Unckel, Gary Gregory.
75-
o IO-690: IOUtils.toByteArray(null) no longer throws a NullPointerException. Thanks to Chris Heisterkamp, Gary Gregory.
76-
o IO-705: MarkShieldInputStream#reset should throw UnsupportedOperationException. Thanks to Hao Zhong, Gary Gregory.
77-
o IO-705: LockableFileWriter.close() should fail when the lock file cannot be deleted. Thanks to Hao Zhong, Gary Gregory.
78-
o IO-705: Fix infinite loops in ObservableInputStream read(*) when an exception is caught but not re-thrown. Thanks to Hao Zhong, Gary Gregory.
79-
o IO-719: Fixed error of copying directories between different file systems #203. Thanks to Andrew Shcheglov, Gary Gregory.
80-
o Fix Typos in JavaDoc, Comments and Tests #201. Thanks to Felix Rilling.
81-
o IO-718: FileUtils.checksumCRC32 and FileUtils.checksum are not thread safe. Thanks to Robert Cooper, Gary Gregory.
82-
o IO-720: Fix error about usage of DirectBuffer in JRE 16/17 #205. Thanks to XenoAmess.
83-
o Prevent infinite loop with AbstractCharacterFilterReader if EOF is filtered out #226. Thanks to Rob Spoor, Gary Gregory.
84-
o IO-429: Check for long streams in IOUtils.toByteArray #175. Thanks to Rob Spoor, Ivan Leskin.
28+
o IO-733: RegexFileFilter uses the path and file name instead of just the file name. Thanks to Jim Sellers, Gary Gregory.
29+
o IO-734: The OSGi manifest now contains sun.* import packages #239. Thanks to Eric Norman.
30+
o IO-585: Sanitize double slash after prefix #79. Thanks to Adam McClenaghan.
8531

8632
Changes:
87-
o Update junit-jupiter from 5.6.2 to 5.7.0 #153. Thanks to Dependabot.
88-
o Update mockito-core from 3.5.9 to 3.10.0, #152, #155, #157, #166, #167, #169, #182. Thanks to Dependabot.
89-
o Bump mockito-inline from 3.7.0 to 3.10.0 #188, #207, #230. Thanks to Dependabot.
90-
o Update commons.jacoco.version 0.8.5 to 0.8.7, fixes Java 15 builds and up. Thanks to Gary Gregory.
91-
o Update spotbugs from 4.1.2 to 4.2.2, 4.2.3, #158, #164, #165, #180, #199, #213, #224. Thanks to Dependabot.
92-
o Bump spotbugs-maven-plugin from 4.0.4 to 4.2.3, #161, #172, #223. Thanks to Dependabot.
93-
o Update org.junit-pioneer:junit-pioneer 0.9.0 -> 1.4,1, #159, #162, #170, #189, #191, #210, #229. Thanks to Gary Gregory, Dependabot.
94-
o Update actions/checkout from v2.3.2 to v2.3.4, #156, #168. Thanks to Dependabot.
95-
o Bump actions/setup-java from v1.4.2 to v2 #160. Thanks to Dependabot, Gary Gregory.
96-
o Update maven-surefire-plugin from 2.22.2 to 3.0.0-M5. Thanks to Gary Gregory.
97-
o Minor improvements, #176, 177, #190. Thanks to Arturo Bernal.
98-
o Update commons.japicmp.version 0.14.4 -> 0.15.3. Thanks to Gary Gregory.
99-
o Tiny performance improvement in FileUtils#moveDirectoryToDirectory() #174. Thanks to Michiel Kalkman.
100-
o Bump checkstyle from 8.38 to 8.42 #689, #209, #225. Thanks to Dependabot.
101-
o Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #198. Thanks to Dependabot.
102-
o Bump jimfs from 1.1 to 1.2 #183. Thanks to Dependabot.
103-
o Improve performance of IOUtils.contentEquals(InputStream, InputStream). Thanks to XenoAmess, Gary Gregory.
104-
o Improve performance of IOUtils.contentEquals(Reader, Reader). Thanks to XenoAmess, Gary Gregory.
105-
o Bump actions/cache from v2 to v2.1.5 #202, #228. Thanks to Dependabot.
106-
o Bump junit-bom from 5.7.0 to 5.7.2 #200, #232. Thanks to Dependabot.
107-
o Update from Apache Commons Lang 3.11 to 3.12.0. Thanks to Gary Gregory.
108-
o Minor improvements #233. Thanks to Arturo Bernal.
109-
o Simplify Assertions in tests #234. Thanks to Arturo Bernal.
33+
o Bump actions/cache from 2.1.5 to 2.1.6 #238. Thanks to Dependabot.
34+
o Bump junit-pioneer from 1.4.1 to 1.4.2 #240. Thanks to Dependabot.
35+
o Bump checkstyle from 8.42 to 8.43 #241. Thanks to Dependabot.
36+
o Bump mockito-inline from 3.10.0 to 3.11.0 #242. Thanks to Dependabot.
11037

11138
Compatibility with 2.6:
11239
Binary compatible: Yes.

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

4747
<body>
4848
<!-- The release date is the date RC is cut -->
49-
<release version="2.10.0" date="2021-MM-DD" description="Java 8 required.">
49+
<release version="2.10.0" date="2021-06-10" description="Java 8 required.">
5050
<!-- FIX -->
5151
<action issue="IO-733" dev="ggregory" type="fix" due-to="Jim Sellers, Gary Gregory">
5252
RegexFileFilter uses the path and file name instead of just the file name.

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.9.0 (requires Java 8)">
116+
<section name="Apache Commons IO 2.10.0 (requires Java 8)">
117117
<subsection name="Binaries">
118118
<table>
119119
<tr>
120-
<td><a href="[preferred]/commons/io/binaries/commons-io-2.9.0-bin.tar.gz">commons-io-2.9.0-bin.tar.gz</a></td>
121-
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.9.0-bin.tar.gz.sha512">sha512</a></td>
122-
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.9.0-bin.tar.gz.asc">pgp</a></td>
120+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.10.0-bin.tar.gz">commons-io-2.10.0-bin.tar.gz</a></td>
121+
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.10.0-bin.tar.gz.sha512">sha512</a></td>
122+
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.10.0-bin.tar.gz.asc">pgp</a></td>
123123
</tr>
124124
<tr>
125-
<td><a href="[preferred]/commons/io/binaries/commons-io-2.9.0-bin.zip">commons-io-2.9.0-bin.zip</a></td>
126-
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.9.0-bin.zip.sha512">sha512</a></td>
127-
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.9.0-bin.zip.asc">pgp</a></td>
125+
<td><a href="[preferred]/commons/io/binaries/commons-io-2.10.0-bin.zip">commons-io-2.10.0-bin.zip</a></td>
126+
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.10.0-bin.zip.sha512">sha512</a></td>
127+
<td><a href="https://www.apache.org/dist/commons/io/binaries/commons-io-2.10.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.9.0-src.tar.gz">commons-io-2.9.0-src.tar.gz</a></td>
135-
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.9.0-src.tar.gz.sha512">sha512</a></td>
136-
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.9.0-src.tar.gz.asc">pgp</a></td>
134+
<td><a href="[preferred]/commons/io/source/commons-io-2.10.0-src.tar.gz">commons-io-2.10.0-src.tar.gz</a></td>
135+
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.10.0-src.tar.gz.sha512">sha512</a></td>
136+
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.10.0-src.tar.gz.asc">pgp</a></td>
137137
</tr>
138138
<tr>
139-
<td><a href="[preferred]/commons/io/source/commons-io-2.9.0-src.zip">commons-io-2.9.0-src.zip</a></td>
140-
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.9.0-src.zip.sha512">sha512</a></td>
141-
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.9.0-src.zip.asc">pgp</a></td>
139+
<td><a href="[preferred]/commons/io/source/commons-io-2.10.0-src.zip">commons-io-2.10.0-src.zip</a></td>
140+
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.10.0-src.zip.sha512">sha512</a></td>
141+
<td><a href="https://www.apache.org/dist/commons/io/source/commons-io-2.10.0-src.zip.asc">pgp</a></td>
142142
</tr>
143143
</table>
144144
</subsection>

src/site/xdoc/index.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,19 @@ There are six main areas included:
8585
<!-- ================================================== -->
8686
<section name="Releases">
8787

88+
<subsection name="Commons IO 2.10.0 (requires Java 8)">
89+
<p>
90+
Commons IO 2.10.0 requires a minimum of Java 8 -
91+
<a href="https://commons.apache.org/io/download_io.cgi">Download now!</a>
92+
</p>
93+
<p>
94+
View the
95+
<a href="changes-report.html">Release Notes</a>
96+
and
97+
<a href="apidocs/index.html">Javadoc API documents</a>
98+
</p>
99+
</subsection>
100+
88101
<subsection name="Commons IO 2.9.0 (requires Java 8)">
89102
<p>
90103
Commons IO 2.9.0 requires a minimum of Java 8 -
@@ -94,7 +107,7 @@ There are six main areas included:
94107
View the
95108
<a href="changes-report.html">Release Notes</a>
96109
and
97-
<a href="apidocs/index.html">Javadoc API documents</a>
110+
<a href="https://javadoc.io/doc/commons-io/commons-io/2.9.0/index.html">Javadoc API documents</a>
98111
</p>
99112
</subsection>
100113

0 commit comments

Comments
 (0)