Skip to content

Commit a4a63d1

Browse files
committed
Prepare for release 2.7.
1 parent 139cc89 commit a4a63d1

10 files changed

Lines changed: 471 additions & 121 deletions

File tree

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
| commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
2626
+======================================================================+
2727
| |
28-
| 1) Re-generate using: mvn commons:contributing-md |
28+
| 1) Re-generate using: mvn commons-build:contributing-md |
2929
| |
3030
| 2) Set the following properties in the component's pom: |
3131
| - commons.jira.id (required, alphabetic, upper case) |
@@ -50,7 +50,7 @@ Getting Started
5050

5151
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
5252
+ Make sure you have a [GitHub account](https://github.com/signup/free).
53-
+ If you're planning to implement a new feature it makes sense to discuss you're changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons IO's scope.
53+
+ If you're planning to implement a new feature it makes sense to discuss your changes on the [dev list](https://commons.apache.org/mail-lists.html) first. This way you can make sure you're not wasting your time on something that isn't considered to be in Apache Commons IO's scope.
5454
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
5555
+ Clearly describe the issue including steps to reproduce when it is a bug.
5656
+ Make sure you fill in the earliest version that you know has the issue.
@@ -107,7 +107,7 @@ Additional Resources
107107
+ [Apache Commons IO JIRA project page][jira]
108108
+ [Contributor License Agreement][cla]
109109
+ [General GitHub documentation](https://help.github.com/)
110-
+ [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
110+
+ [GitHub pull request documentation](https://help.github.com/articles/creating-a-pull-request/)
111111
+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
112112
+ `#apache-commons` IRC channel on `irc.freenode.net`
113113

NOTICE.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Apache Commons IO
2-
Copyright 2002-2019 The Apache Software Foundation
2+
Copyright 2002-2020 The Apache Software Foundation
33

44
This product includes software developed at
5-
The Apache Software Foundation (http://www.apache.org/).
5+
The Apache Software Foundation (https://www.apache.org/).

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
| commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
2626
+======================================================================+
2727
| |
28-
| 1) Re-generate using: mvn commons:readme-md |
28+
| 1) Re-generate using: mvn commons-build:readme-md |
2929
| |
3030
| 2) Set the following properties in the component's pom: |
3131
| - commons.componentid (required, alphabetic, lower case) |
@@ -43,10 +43,10 @@
4343
Apache Commons IO
4444
===================
4545

46-
[![Build Status](https://travis-ci.org/apache/commons-io.svg?branch=master)](https://travis-ci.org/apache/commons-io)
47-
[![Coverage Status](https://coveralls.io/repos/apache/commons-io/badge.svg?branch=master)](https://coveralls.io/r/apache/commons-io)
46+
[![Build Status](https://travis-ci.org/apache/commons-io.svg)](https://travis-ci.org/apache/commons-io)
47+
[![Coverage Status](https://coveralls.io/repos/apache/commons-io/badge.svg)](https://coveralls.io/r/apache/commons-io)
4848
[![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/)
49-
[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)
49+
[![Javadocs](https://javadoc.io/badge/commons-io/commons-io/2.7.svg)](https://javadoc.io/doc/commons-io/commons-io/2.7)
5050

5151
The Apache Commons IO library contains utility classes, stream implementations, file filters,
5252
file comparators, endian transformation classes, and much more.
@@ -55,7 +55,7 @@ Documentation
5555
-------------
5656

5757
More information can be found on the [Apache Commons IO homepage](https://commons.apache.org/proper/commons-io).
58-
The [Javadoc](https://commons.apache.org/proper/commons-io/javadocs/api-release) can be browsed.
58+
The [Javadoc](https://commons.apache.org/proper/commons-io/apidocs) can be browsed.
5959
Questions related to the usage of Apache Commons IO should be posted to the [user mailing list][ml].
6060

6161
Where can I get the latest release?
@@ -68,7 +68,7 @@ Alternatively you can pull it from the central Maven repositories:
6868
<dependency>
6969
<groupId>commons-io</groupId>
7070
<artifactId>commons-io</artifactId>
71-
<version>2.6</version>
71+
<version>2.7</version>
7272
</dependency>
7373
```
7474

RELEASE-NOTES.txt

Lines changed: 134 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,108 @@
1-
Apache Commons IO
2-
Version 2.6
3-
Release Notes
1+
2+
Apache Commons IO
3+
Version 2.7-SNAPSHOT
4+
Release Notes
5+
6+
INTRODUCTION:
7+
8+
Commons IO is a package of Java utility classes like java.io.
9+
Classes in this package are considered to be so standard and of such high
10+
reuse as to justify existence in java.io.
11+
12+
The Apache Commons IO library contains utility classes, stream implementations, file filters,
13+
file comparators, endian transformation classes, and much more.
14+
15+
==============================================================================
16+
Apache Commons IO Version 2.7-SNAPSHOT
17+
==============================================================================
18+
Java 8 required.
19+
20+
Changes in this version include:
21+
22+
New features:
23+
o Adding the CircularBufferInputStream, and the PeekableInputStream.
24+
o IO-553: Add org.apache.commons.io.FilenameUtils.isIllegalWindowsFileName(char).
25+
o IO-577: Add readers to filter out given characters: CharacterSetFilterReader and CharacterFilterReader. Thanks to Gary Gregory.
26+
o IO-594: Add IOUtils copy methods with java.lang.Appendable as the target. Thanks to Gary Gregory.
27+
o IO-605: Add class CanExecuteFileFilter. Thanks to Gary Gregory.
28+
o IO-578: Support java.nio.Path and non-default file systems for ReversedLinesFileReader (#62). Thanks to Mark Chesney.
29+
o IO-608: Add a convenience NullPrintStream. Thanks to Gary Gregory.
30+
o IO-612: Add class TeeReader. Thanks to Rob Spoor, Gary Gregory.
31+
o IO-613: Add classes ClosedReader and CloseShieldReader. #84. Thanks to Rob Spoor, Gary Gregory.
32+
o IO-614: Add classes TaggedWriter, ClosedWriter and BrokenWriter. #86. Thanks to Rob Spoor.
33+
o IO-615: Add classes TeeWriter, FilterCollectionWriter, ProxyCollectionWriter, IOExceptionList, IOIndexedException. Thanks to Gary Gregory, Rob Spoor.
34+
o IO-616: Add class AppendableWriter. #87. Thanks to Rob Spoor.
35+
o IO-617: Add class CloseShieldWriter. #83. Thanks to Rob Spoor, Gary Gregory.
36+
o IO-618: Add classes Added TaggedReader, ClosedReader and BrokenReader. #85. Thanks to Rob Spoor.
37+
o IO-619: Support sub sequences in CharSequenceReader. #91. Thanks to Rob Spoor.
38+
o IO-631: Add a CountingFileVisitor (as the basis for a forthcoming DeletingFileVisitor). Thanks to Gary Gregory.
39+
o IO-632: Add PathUtils for operations on NIO Path. Thanks to Gary Gregory.
40+
o IO-633: Add DeletingFileVisitor. Thanks to Gary Gregory.
41+
o IO-635: Add org.apache.commons.io.IOUtils.close(Closeable). Thanks to Gary Gregory.
42+
o IO-636: Add and reuse org.apache.commons.io.IOUtils.closeQuitely(Closeable, Consumer<IOException>).
43+
Add and reuse org.apache.commons.io.IOUtils.close(Closeable, IOConsumer<IOException>). Thanks to Gary Gregory.
44+
o IO-645: Add org.apache.commons.io.file.PathUtils.fileContentEquals(Path, Path, OpenOption...). Thanks to Gary Gregory.
45+
o IO-458: Add a SequenceReader similar to java.io.SequenceInputStream. Thanks to Gary Gregory, Joshua Gitlin.
46+
o IO-648: Implement directory content equality. 100#. Thanks to Gary Gregory.
47+
o IO-648: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thanks to Adam Retter, Alex Herbert, Gary Gregory.
48+
o IO-662: Refactor ByteArrayOutputStream into synchronized and unsynchronized versions #108. Thanks to Adam Retter, Gary Gregory.
49+
50+
Fixed Bugs:
51+
o IO-589: Some tests fail if the base path contains a space.
52+
o IO-582: Make methods in ObservableInputStream.Obsever public. Thanks to Bruno Palos.
53+
o IO-535: Thread bug in FileAlterationMonitor#stop(int). Thanks to Svetlin Zarev, Anthony Raymond.
54+
o IO-557: Perform locale independent upper case conversions. Thanks to luccioman.
55+
o IO-570: Missing Javadoc in FilenameUtils causing Travis-CI build to fail. Thanks to Pranet Verma.
56+
o IO-571: Remove redundant isDirectory() check in org.apache.commons.io.FileUtils.listFilesAndDirs(File, IOFileFilter, IOFileFilter). Thanks to pranet.
57+
o IO-559: FilenameUtils.normalize now verifies hostname syntax in UNC path.
58+
o IO-554: FileUtils.copyToFile(InputStream source, File destination) should not close input stream. Thanks to Michele Mariotti.
59+
o IO-604: FileUtils.doCopyFile(File, File, boolean) can throw ClosedByInterruptException. Thanks to Gary Gregory.
60+
o IO-625: Corrected misleading exception message for FileUtils.copyDirectoryToDirectory. Thanks to Mikko Maunu.
61+
o IO-626: A mistake in the FilenameUtils.concat()'s Javadoc about an absolute path. Thanks to Yuji Konishi.
62+
o IO-640: NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream, InputStream) when only one input is null. Thanks to Gary Gregory.
63+
o IO-641: NPE in org.apache.commons.io.IOUtils.contentEquals(Reader, Reader) when only one input is null. Thanks to Gary Gregory.
64+
o IO-643: NPE in org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when only one input is null. Thanks to Gary Gregory.
65+
o IO-644: NPE in org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when only one input is null. Thanks to Gary Gregory.
66+
o IO-664: org.apache.commons.io.FileUtils.copyURLToFile(*) open but do not close streams. Thanks to Gary Gregory.
67+
68+
Changes:
69+
o IO-572: Refactor duplicate code in org.apache.commons.io.FileUtils. Thanks to Pranet Verma.
70+
o IO-580: Update org.apache.commons.io.FilenameUtils.isExtension(String, String[]) to use var args.
71+
o IO-701: Make array declaration in ThresholdingOutputStream consistent with other array declarations in the library #77. Thanks to Raymond Tan.
72+
o IO-607: Update from Java 7 to Java 8. Thanks to Gary Gregory.
73+
o IO-610: Remove throws IOException in method isSymlink() #80. Thanks to Sebastian.
74+
o IO-628: Migration to JUnit Jupiter #97. Thanks to Allon Mureinik.
75+
o IO-630: Deprecate org.apache.commons.io.output.NullOutputStream.NullOutputStream() in favor of org.apache.commons.io.output.NullOutputStream.NULL_OUTPUT_STREAM. Thanks to Gary Gregory.
76+
o IO-629: FileUtils#forceDelete should use Files#delete rather than File#delete so exception messages includes reason for failure. Thanks to Ian Springer, Ian Springer, Gary Gregory.
77+
o IO-634: Make getCause synchronized and use a Deque instead of a Stack #64. Thanks to V�clav Haisman, Bruno P. Kinoshita, Gary Gregory.
78+
o Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to Gary Gregory.
79+
o Update tests org.junit-pioneer:junit-pioneer 0.3.0 -> 0.6.0. Thanks to Gary Gregory.
80+
o Update tests org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.2. Thanks to Gary Gregory.
81+
o Update tests org.mockito:mockito-core 3.0.0 -> 3.3.3. Thanks to Gary Gregory.
82+
o IO-666: Normalize internal buffers to 8192 bytes. Thanks to Gary Gregory.
83+
o IO-665: Ensure that passing a null InputStream results in NPE with tests #112. Thanks to Otto Fowler, Gary Gregory.
84+
o commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
85+
o com.github.siom79.japicmp:japicmp-maven-plugin 0.14.1 -> 0.14.3. Thanks to Gary Gregory.
86+
o IO-667: Add functional interfaces IOFunction and IOSupplier #110. Thanks to Adam Retter, Gary Gregory.
87+
o Support sub sequences in CharSequenceReader #91. Thanks to Rob Spoor, Gary Gregory.
88+
o Remove deprecated sudo setting. #113. Thanks to dengliming.
89+
90+
Compatibility with 2.6:
91+
Binary compatible: Yes.
92+
Source compatible: Yes.
93+
Semantic compatible: Yes.
94+
95+
Commons IO 2.7 requires Java 8.
96+
Commons IO 2.6 requires Java 7.
97+
Commons IO 2.5 requires Java 6.
98+
Commons IO 2.4 requires Java 6.
99+
Commons IO 2.3 requires Java 6.
100+
Commons IO 2.2 requires Java 5.
101+
Commons IO 1.4 requires Java 1.3.
102+
103+
==============================================================================
104+
Apache Commons IO Version 2.6
105+
==============================================================================
4106

5107
INTRODUCTION:
6108

@@ -122,12 +224,12 @@ Source compatible: No, see the rare case in
122224
Semantic compatible: No, see the rare case in
123225
https://issues.apache.org/jira/browse/IO-318.
124226

125-
Commons IO 2.6 requires JDK 1.7 or later.
126-
Commons IO 2.5 requires JDK 1.6 or later.
127-
Commons IO 2.4 requires JDK 1.6 or later.
128-
Commons IO 2.3 requires JDK 1.6 or later.
129-
Commons IO 2.2 requires JDK 1.5 or later.
130-
Commons IO 1.4 requires JDK 1.3 or later.
227+
Commons IO 2.6 requires Java 7 or later.
228+
Commons IO 2.5 requires Java 6 or later.
229+
Commons IO 2.4 requires Java 6 or later.
230+
Commons IO 2.3 requires Java 6 or later.
231+
Commons IO 2.2 requires Java 5 or later.
232+
Commons IO 1.4 requires Java 1.3 or later.
131233

132234
==============================================================================
133235
Apache Commons IO Version 2.5
@@ -234,11 +336,11 @@ Binary compatible: Yes.
234336
Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
235337
Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
236338

237-
Commons IO 2.5 requires JDK 1.6 or later.
238-
Commons IO 2.4 requires JDK 1.6 or later.
239-
Commons IO 2.3 requires JDK 1.6 or later.
240-
Commons IO 2.2 requires JDK 1.5 or later.
241-
Commons IO 1.4 requires JDK 1.3 or later.
339+
Commons IO 2.5 requires Java 6 or later.
340+
Commons IO 2.4 requires Java 6 or later.
341+
Commons IO 2.3 requires Java 6 or later.
342+
Commons IO 2.2 requires Java 5 or later.
343+
Commons IO 1.4 requires Java 1.3 or later.
242344

243345
==============================================================================
244346
Apache Commons IO Version 2.4
@@ -287,10 +389,10 @@ Binary compatible: Yes.
287389
Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
288390
Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
289391

290-
Commons IO 2.4 requires JDK 1.6 or later.
291-
Commons IO 2.3 requires JDK 1.6 or later.
292-
Commons IO 2.2 requires JDK 1.5 or later.
293-
Commons IO 1.4 requires JDK 1.3 or later.
392+
Commons IO 2.4 requires Java 6 or later.
393+
Commons IO 2.3 requires Java 6 or later.
394+
Commons IO 2.2 requires Java 5 or later.
395+
Commons IO 1.4 requires Java 1.3 or later.
294396

295397
==============================================================================
296398
Apache Commons IO Version 2.3
@@ -308,9 +410,9 @@ Binary compatible: Yes.
308410
Source compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
309411
Semantic compatible: No, see the rare case in https://issues.apache.org/jira/browse/IO-318.
310412

311-
Commons IO 2.3 requires JDK 1.6 or later.
312-
Commons IO 2.2 requires JDK 1.5 or later.
313-
Commons IO 1.4 requires JDK 1.3 or later.
413+
Commons IO 2.3 requires Java 6 or later.
414+
Commons IO 2.2 requires Java 5 or later.
415+
Commons IO 1.4 requires Java 1.3 or later.
314416

315417
==============================================================================
316418
Apache Commons IO Version 2.2
@@ -355,8 +457,8 @@ Binary compatible: Yes
355457
Source compatible: Yes
356458
Semantic compatible: Yes. Check the bug fixes section for semantic bug fixes
357459

358-
Commons IO 2.2 requires a minimum of JDK 1.5.
359-
Commons IO 1.4 requires a minimum of JDK 1.3.
460+
Commons IO 2.2 requires a minimum of Java 5.
461+
Commons IO 1.4 requires a minimum of Java 1.3.
360462

361463
==============================================================================
362464
Apache Commons IO Version 2.1
@@ -397,8 +499,8 @@ Source compatible - Yes
397499
Semantic compatible - Yes
398500
Check the bug fixes section for semantic bug fixes
399501

400-
Commons IO 2.0.1 requires a minimum of JDK 1.5
401-
(Commons IO 1.4 had a minimum of JDK 1.3)
502+
Commons IO 2.0.1 requires a minimum of Java 5
503+
(Commons IO 1.4 had a minimum of Java 1.3)
402504

403505
Enhancements from 2.0
404506
---------------------
@@ -424,8 +526,8 @@ Source compatible - Yes
424526
Semantic compatible - Yes
425527
Check the bug fixes section for semantic bug fixes
426528

427-
Commons IO 2.0 requires a minimum of JDK 1.5
428-
(Commons IO 1.4 had a minimum of JDK 1.3)
529+
Commons IO 2.0 requires a minimum of Java 5
530+
(Commons IO 1.4 had a minimum of Java 1.3)
429531

430532
Deprecations from 1.4
431533
---------------------
@@ -442,7 +544,7 @@ Deprecations from 1.4
442544
Enhancements from 1.4
443545
---------------------
444546

445-
* [IO-140] Move minimum Java requirement from JDK 1.3 to JDK 1.5
547+
* [IO-140] Move minimum Java requirement from Java 1.3 to Java 5
446548
- use Generics
447549
- add new CharSequence write() flavour methods to IOUtils and FileUtils
448550
- replace StringBuffer with StringBuilder, where appropriate
@@ -539,10 +641,10 @@ Source compatible - Yes
539641
Semantic compatible - Yes
540642
Check the bug fixes section for semantic bug fixes
541643

542-
Commons IO 1.4 introduces four new implementations which depend on JDK 1.4 features
644+
Commons IO 1.4 introduces four new implementations which depend on Java 4 features
543645
(CharSequenceReader, FileWriterWithEncoding, IOExceptionWithCause and RegexFileFilter).
544-
It has been built with the JDK source and target options set to JDK 1.3 and, except for
545-
those implementations, can be used with JDK 1.3 (see IO IO-127).
646+
It has been built with the JDK source and target options set to Java 1.3 and, except for
647+
those implementations, can be used with Java 1.3 (see IO IO-127).
546648

547649
Deprecations from 1.3.2
548650
-----------------------
@@ -856,7 +958,7 @@ Enhancements from 1.2
856958

857959
- TrueFileFilter/FalseFileFilter/DirectoryFileFilter
858960
- New singleton instance constants (TRUE/FALSE/DIRECTORY)
859-
- The new constants are more JDK 1.5 friendly with regards to static imports
961+
- The new constants are more Java 5 friendly with regards to static imports
860962
(whereas if everything uses INSTANCE, then they just clash)
861963
- The old INSTANCE constants are still present and have not been deprecated
862964

pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,10 @@ file comparators, endian transformation classes, and much more.
296296
<commons.japicmp.version>0.14.3</commons.japicmp.version>
297297
<japicmp.skip>false</japicmp.skip>
298298
<jacoco.skip>${env.JACOCO_SKIP}</jacoco.skip>
299+
<commons.bc.version>2.6</commons.bc.version>
300+
<commons.release.isDistModule>true</commons.release.isDistModule>
301+
<commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>
302+
<commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
299303
</properties>
300304

301305
<build>

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.7" date="2020-MM-DD" description="Java 8 required.">
49+
<release version="2.7" date="2020-05-24" description="Java 8 required.">
5050
<action issue="IO-589" dev="sebb" type="fix">
5151
Some tests fail if the base path contains a space.
5252
</action>

0 commit comments

Comments
 (0)