You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
52
52
+ 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.
54
54
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already exist.
55
55
+ Clearly describe the issue including steps to reproduce when it is a bug.
56
56
+ Make sure you fill in the earliest version that you know has the issue.
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.
0 commit comments