You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gary Gregory <gg...@apache.org> on 2020/05/28 19:37:12 UTC

[ANNOUCEMENT] Apache Commons IO Version 2.7

Apache Commons IO Version 2.7 is out!

Commons IO is a package of Java utility classes like java.io.
Classes in this package are considered to be so standard and of such high
reuse as to justify existence in java.io.

The Apache Commons IO library contains utility classes, stream
implementations, file filters,
file comparators, endian transformation classes, and much more.

========================================================================
Apache Commons IO Version 2.7
========================================================================
Java 8 required.

Changes in this version include:

New features:
o           Adding the CircularBufferInputStream, and the
PeekableInputStream.
o IO-553:  Add
org.apache.commons.io.FilenameUtils.isIllegalWindowsFileName(char).
o IO-577:  Add readers to filter out given characters:
CharacterSetFilterReader and CharacterFilterReader. Thanks to Gary Gregory.
o IO-594:  Add IOUtils copy methods with java.lang.Appendable as the
target. Thanks to Gary Gregory.
o IO-605:  Add class CanExecuteFileFilter. Thanks to Gary Gregory.
o IO-578:  Support java.nio.Path and non-default file systems for
ReversedLinesFileReader (#62). Thanks to Mark Chesney.
o IO-608:  Add a convenience NullPrintStream. Thanks to Gary Gregory.
o IO-612:  Add class TeeReader. Thanks to Rob Spoor, Gary Gregory.
o IO-613:  Add classes ClosedReader and CloseShieldReader. #84. Thanks to
Rob Spoor, Gary Gregory.
o IO-614:  Add classes TaggedWriter, ClosedWriter and BrokenWriter. #86.
Thanks to Rob Spoor.
o IO-615:  Add classes TeeWriter, FilterCollectionWriter,
ProxyCollectionWriter, IOExceptionList, IOIndexedException. Thanks to Gary
Gregory, Rob Spoor.
o IO-616:  Add class AppendableWriter. #87. Thanks to Rob Spoor.
o IO-617:  Add class CloseShieldWriter. #83. Thanks to Rob Spoor, Gary
Gregory.
o IO-618:  Add classes Added TaggedReader, ClosedReader and BrokenReader.
#85. Thanks to Rob Spoor.
o IO-619:  Support sub sequences in CharSequenceReader. #91. Thanks to Rob
Spoor.
o IO-631:  Add a CountingFileVisitor (as the basis for a forthcoming
DeletingFileVisitor). Thanks to Gary Gregory.
o IO-632:  Add PathUtils for operations on NIO Path. Thanks to Gary
Gregory.
o IO-633:  Add DeletingFileVisitor. Thanks to Gary Gregory.
o IO-635:  Add org.apache.commons.io.IOUtils.close(Closeable). Thanks to
Gary Gregory.
o IO-636:  Add and reuse
org.apache.commons.io.IOUtils.closeQuitely(Closeable,
Consumer<IOException>).
           Add and reuse org.apache.commons.io.IOUtils.close(Closeable,
IOConsumer<IOException>). Thanks to Gary Gregory.
o IO-645:  Add org.apache.commons.io.file.PathUtils.fileContentEquals(Path,
Path, OpenOption...). Thanks to Gary Gregory.
o IO-458:  Add a SequenceReader similar to java.io.SequenceInputStream.
Thanks to Gary Gregory, Joshua Gitlin.
o IO-648:  Implement directory content equality. 100#. Thanks to Gary
Gregory.
o IO-648:  Refactor ByteArrayOutputStream into synchronized and
unsynchronized versions #108. Thanks to Adam Retter, Alex Herbert, Gary
Gregory.
o IO-662:  Refactor ByteArrayOutputStream into synchronized and
unsynchronized versions #108. Thanks to Adam Retter, Gary Gregory.

Fixed Bugs:
o IO-589:  Some tests fail if the base path contains a space.
o IO-582:  Make methods in ObservableInputStream.Obsever public. Thanks to
Bruno Palos.
o IO-535:  Thread bug in FileAlterationMonitor#stop(int). Thanks to Svetlin
Zarev, Anthony Raymond.
o IO-557:  Perform locale independent upper case conversions. Thanks to
luccioman.
o IO-570:  Missing Javadoc in FilenameUtils causing Travis-CI build to
fail. Thanks to Pranet Verma.
o IO-571:  Remove redundant isDirectory() check in
org.apache.commons.io.FileUtils.listFilesAndDirs(File, IOFileFilter,
IOFileFilter). Thanks to pranet.
o IO-559:  FilenameUtils.normalize now verifies hostname syntax in UNC
path.
o IO-554:  FileUtils.copyToFile(InputStream source, File destination)
should not close input stream. Thanks to Michele Mariotti.
o IO-604:  FileUtils.doCopyFile(File, File, boolean) can throw
ClosedByInterruptException. Thanks to Gary Gregory.
o IO-625:  Corrected misleading exception message for
FileUtils.copyDirectoryToDirectory. Thanks to Mikko Maunu.
o IO-626:  A mistake in the FilenameUtils.concat()'s Javadoc about an
absolute path. Thanks to Yuji Konishi.
o IO-640:  NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream,
InputStream) when only one input is null. Thanks to Gary Gregory.
o IO-641:  NPE in org.apache.commons.io.IOUtils.contentEquals(Reader,
Reader) when only one input is null. Thanks to Gary Gregory.
o IO-643:  NPE in
org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when
only one input is null. Thanks to Gary Gregory.
o IO-644:  NPE in
org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when
only one input is null. Thanks to Gary Gregory.
o IO-664:  org.apache.commons.io.FileUtils.copyURLToFile(*) open but do not
close streams. Thanks to Gary Gregory.

Changes:
o IO-572:  Refactor duplicate code in org.apache.commons.io.FileUtils.
Thanks to Pranet Verma.
o IO-580:  Update org.apache.commons.io.FilenameUtils.isExtension(String,
String[]) to use var args.
o IO-701:  Make array declaration in ThresholdingOutputStream consistent
with other array declarations in the library #77. Thanks to Raymond Tan.
o IO-607:  Update from Java 7 to Java 8. Thanks to Gary Gregory.
o IO-610:  Remove throws IOException in method isSymlink() #80. Thanks to
Sebastian.
o IO-628:  Migration to JUnit Jupiter #97. Thanks to Allon Mureinik.
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.
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.
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.
o            Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to
Gary Gregory.
o            Update tests org.junit-pioneer:junit-pioneer 0.3.0 -> 0.6.0.
Thanks to Gary Gregory.
o            Update tests org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.2.
Thanks to Gary Gregory.
o            Update tests org.mockito:mockito-core 3.0.0 -> 3.3.3. Thanks
to Gary Gregory.
o IO-666:  Normalize internal buffers to 8192 bytes. Thanks to Gary
Gregory.
o IO-665:  Ensure that passing a null InputStream results in NPE with tests
#112. Thanks to Otto Fowler, Gary Gregory.
o            commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
o            com.github.siom79.japicmp:japicmp-maven-plugin 0.14.1 ->
0.14.3. Thanks to Gary Gregory.
o IO-667:  Add functional interfaces IOFunction and IOSupplier #110. Thanks
to Adam Retter, Gary Gregory.
o            Support sub sequences in CharSequenceReader #91. Thanks to Rob
Spoor, Gary Gregory.
o            Remove deprecated sudo setting. #113. Thanks to dengliming.

Compatibility with 2.6:
Binary compatible: Yes.
Source compatible: Yes.
Semantic compatible: Yes.

Commons IO 2.7 requires Java 8.
Commons IO 2.6 requires Java 7.
Commons IO 2.5 requires Java 6.
Commons IO 2.4 requires Java 6.
Commons IO 2.3 requires Java 6.
Commons IO 2.2 requires Java 5.
Commons IO 1.4 requires Java 1.3.

Historical list of changes:
https://commons.apache.org/proper/commons-io/changes-report.html

For complete information on Apache Commons IO, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons IO
website:

https://commons.apache.org/proper/commons-io/

Download page: https://commons.apache.org/proper/commons-io/download_csv.cgi

Have fun!
-Apache Commons Team

Re: [ANNOUCEMENT] Apache Commons IO Version 2.7

Posted by sebb <se...@gmail.com>.
On Thu, 28 May 2020 at 20:37, Gary Gregory <gg...@apache.org> wrote:
>
> Apache Commons IO Version 2.7 is out!
>
> Commons IO is a package of Java utility classes like java.io.
> Classes in this package are considered to be so standard and of such high
> reuse as to justify existence in java.io.
>
> The Apache Commons IO library contains utility classes, stream
> implementations, file filters,
> file comparators, endian transformation classes, and much more.
>
> ========================================================================
> Apache Commons IO Version 2.7
> ========================================================================
> Java 8 required.
>
> Changes in this version include:
>
> New features:
> o           Adding the CircularBufferInputStream, and the
> PeekableInputStream.
> o IO-553:  Add
> org.apache.commons.io.FilenameUtils.isIllegalWindowsFileName(char).
> o IO-577:  Add readers to filter out given characters:
> CharacterSetFilterReader and CharacterFilterReader. Thanks to Gary Gregory.
> o IO-594:  Add IOUtils copy methods with java.lang.Appendable as the
> target. Thanks to Gary Gregory.
> o IO-605:  Add class CanExecuteFileFilter. Thanks to Gary Gregory.
> o IO-578:  Support java.nio.Path and non-default file systems for
> ReversedLinesFileReader (#62). Thanks to Mark Chesney.
> o IO-608:  Add a convenience NullPrintStream. Thanks to Gary Gregory.
> o IO-612:  Add class TeeReader. Thanks to Rob Spoor, Gary Gregory.
> o IO-613:  Add classes ClosedReader and CloseShieldReader. #84. Thanks to
> Rob Spoor, Gary Gregory.
> o IO-614:  Add classes TaggedWriter, ClosedWriter and BrokenWriter. #86.
> Thanks to Rob Spoor.
> o IO-615:  Add classes TeeWriter, FilterCollectionWriter,
> ProxyCollectionWriter, IOExceptionList, IOIndexedException. Thanks to Gary
> Gregory, Rob Spoor.
> o IO-616:  Add class AppendableWriter. #87. Thanks to Rob Spoor.
> o IO-617:  Add class CloseShieldWriter. #83. Thanks to Rob Spoor, Gary
> Gregory.
> o IO-618:  Add classes Added TaggedReader, ClosedReader and BrokenReader.
> #85. Thanks to Rob Spoor.
> o IO-619:  Support sub sequences in CharSequenceReader. #91. Thanks to Rob
> Spoor.
> o IO-631:  Add a CountingFileVisitor (as the basis for a forthcoming
> DeletingFileVisitor). Thanks to Gary Gregory.
> o IO-632:  Add PathUtils for operations on NIO Path. Thanks to Gary
> Gregory.
> o IO-633:  Add DeletingFileVisitor. Thanks to Gary Gregory.
> o IO-635:  Add org.apache.commons.io.IOUtils.close(Closeable). Thanks to
> Gary Gregory.
> o IO-636:  Add and reuse
> org.apache.commons.io.IOUtils.closeQuitely(Closeable,
> Consumer<IOException>).
>            Add and reuse org.apache.commons.io.IOUtils.close(Closeable,
> IOConsumer<IOException>). Thanks to Gary Gregory.
> o IO-645:  Add org.apache.commons.io.file.PathUtils.fileContentEquals(Path,
> Path, OpenOption...). Thanks to Gary Gregory.
> o IO-458:  Add a SequenceReader similar to java.io.SequenceInputStream.
> Thanks to Gary Gregory, Joshua Gitlin.
> o IO-648:  Implement directory content equality. 100#. Thanks to Gary
> Gregory.
> o IO-648:  Refactor ByteArrayOutputStream into synchronized and
> unsynchronized versions #108. Thanks to Adam Retter, Alex Herbert, Gary
> Gregory.
> o IO-662:  Refactor ByteArrayOutputStream into synchronized and
> unsynchronized versions #108. Thanks to Adam Retter, Gary Gregory.
>
> Fixed Bugs:
> o IO-589:  Some tests fail if the base path contains a space.
> o IO-582:  Make methods in ObservableInputStream.Obsever public. Thanks to
> Bruno Palos.
> o IO-535:  Thread bug in FileAlterationMonitor#stop(int). Thanks to Svetlin
> Zarev, Anthony Raymond.
> o IO-557:  Perform locale independent upper case conversions. Thanks to
> luccioman.
> o IO-570:  Missing Javadoc in FilenameUtils causing Travis-CI build to
> fail. Thanks to Pranet Verma.
> o IO-571:  Remove redundant isDirectory() check in
> org.apache.commons.io.FileUtils.listFilesAndDirs(File, IOFileFilter,
> IOFileFilter). Thanks to pranet.
> o IO-559:  FilenameUtils.normalize now verifies hostname syntax in UNC
> path.
> o IO-554:  FileUtils.copyToFile(InputStream source, File destination)
> should not close input stream. Thanks to Michele Mariotti.
> o IO-604:  FileUtils.doCopyFile(File, File, boolean) can throw
> ClosedByInterruptException. Thanks to Gary Gregory.
> o IO-625:  Corrected misleading exception message for
> FileUtils.copyDirectoryToDirectory. Thanks to Mikko Maunu.
> o IO-626:  A mistake in the FilenameUtils.concat()'s Javadoc about an
> absolute path. Thanks to Yuji Konishi.
> o IO-640:  NPE in org.apache.commons.io.IOUtils.contentEquals(InputStream,
> InputStream) when only one input is null. Thanks to Gary Gregory.
> o IO-641:  NPE in org.apache.commons.io.IOUtils.contentEquals(Reader,
> Reader) when only one input is null. Thanks to Gary Gregory.
> o IO-643:  NPE in
> org.apache.commons.io.IOUtils.contentEqualsIgnoreEOL(Reader, Reader) when
> only one input is null. Thanks to Gary Gregory.
> o IO-644:  NPE in
> org.apache.commons.io.FileUtils.contentEqualsIgnoreEOL(File, File) when
> only one input is null. Thanks to Gary Gregory.
> o IO-664:  org.apache.commons.io.FileUtils.copyURLToFile(*) open but do not
> close streams. Thanks to Gary Gregory.
>
> Changes:
> o IO-572:  Refactor duplicate code in org.apache.commons.io.FileUtils.
> Thanks to Pranet Verma.
> o IO-580:  Update org.apache.commons.io.FilenameUtils.isExtension(String,
> String[]) to use var args.
> o IO-701:  Make array declaration in ThresholdingOutputStream consistent
> with other array declarations in the library #77. Thanks to Raymond Tan.
> o IO-607:  Update from Java 7 to Java 8. Thanks to Gary Gregory.
> o IO-610:  Remove throws IOException in method isSymlink() #80. Thanks to
> Sebastian.
> o IO-628:  Migration to JUnit Jupiter #97. Thanks to Allon Mureinik.
> 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.
> 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.
> 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.
> o            Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to
> Gary Gregory.
> o            Update tests org.junit-pioneer:junit-pioneer 0.3.0 -> 0.6.0.
> Thanks to Gary Gregory.
> o            Update tests org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.2.
> Thanks to Gary Gregory.
> o            Update tests org.mockito:mockito-core 3.0.0 -> 3.3.3. Thanks
> to Gary Gregory.
> o IO-666:  Normalize internal buffers to 8192 bytes. Thanks to Gary
> Gregory.
> o IO-665:  Ensure that passing a null InputStream results in NPE with tests
> #112. Thanks to Otto Fowler, Gary Gregory.
> o            commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
> o            com.github.siom79.japicmp:japicmp-maven-plugin 0.14.1 ->
> 0.14.3. Thanks to Gary Gregory.
> o IO-667:  Add functional interfaces IOFunction and IOSupplier #110. Thanks
> to Adam Retter, Gary Gregory.
> o            Support sub sequences in CharSequenceReader #91. Thanks to Rob
> Spoor, Gary Gregory.
> o            Remove deprecated sudo setting. #113. Thanks to dengliming.
>
> Compatibility with 2.6:
> Binary compatible: Yes.
> Source compatible: Yes.
> Semantic compatible: Yes.
>
> Commons IO 2.7 requires Java 8.
> Commons IO 2.6 requires Java 7.
> Commons IO 2.5 requires Java 6.
> Commons IO 2.4 requires Java 6.
> Commons IO 2.3 requires Java 6.
> Commons IO 2.2 requires Java 5.
> Commons IO 1.4 requires Java 1.3.
>
> Historical list of changes:
> https://commons.apache.org/proper/commons-io/changes-report.html
>
> For complete information on Apache Commons IO, including instructions on
> how to submit bug reports,
> patches, or suggestions for improvement, see the Apache Apache Commons IO
> website:
>
> https://commons.apache.org/proper/commons-io/
>
> Download page: https://commons.apache.org/proper/commons-io/download_csv.cgi

Broken.

> Have fun!
> -Apache Commons Team

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org