|
| 1 | + |
| 2 | +Apache Commons IO |
| 3 | +Version 2.15.1 |
| 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 | +Java 8 is required. |
| 16 | + |
| 17 | +Changes in this version include: |
| 18 | + |
| 19 | + |
| 20 | +Fixed Bugs: |
| 21 | +o Fix wrong issue id in change log #503. Thanks to Gregor Dschung. |
| 22 | +o Add test for FileChannels.contentEquals() #509. Thanks to Stephan Markwalder, Gary Gregory. |
| 23 | +o Fix FileChannels.contentEquals(). Thanks to Gary Gregory. |
| 24 | +o Fix some Javadoc issues in LineIterator and IOUtils. Thanks to Gary Gregory. |
| 25 | +o Simplify FileAlterationObserver internal processing. Thanks to Gary Gregory. |
| 26 | +o Avoid NullPointerException in RegexFileFilter.RegexFileFilter(Pattern). Thanks to Gary Gregory. |
| 27 | +o Avoid NullPointerException in RegexFileFilter.accept(Path, BasicFileAttributes). Thanks to Gary Gregory. |
| 28 | +o Fix SpotBugs error: Class org.apache.commons.io.filefilter.RegexFileFilter defines non-transient non-serializable instance field pathToString [org.apache.commons.io.filefilter.RegexFileFilter] In RegexFileFilter.java SE_BAD_FIELD. Thanks to Gary Gregory. |
| 29 | +o Fix SpotBugs error: Class org.apache.commons.io.filefilter.DelegateFileFilter defines non-transient non-serializable instance field fileFilter [org.apache.commons.io.filefilter.DelegateFileFilter] In DelegateFileFilter.java SE_BAD_FIELD. Thanks to Gary Gregory. |
| 30 | +o Fix SpotBugs error: Class org.apache.commons.io.filefilter.DelegateFileFilter defines non-transient non-serializable instance field fileNameFilter [org.apache.commons.io.filefilter.DelegateFileFilter] In DelegateFileFilter.java SE_BAD_FIELD. Thanks to Gary Gregory. |
| 31 | +o Fix SpotBugs error: org.apache.commons.io.function.IOStream$1.next() cannot throw NoSuchElementException [org.apache.commons.io.function.IOStream$1] At IOStream.java:[line 98] IT_NO_SUCH_ELEMENT. Thanks to Gary Gregory. |
| 32 | +o Fix SpotBugs error: org.apache.commons.io.monitor.FileAlterationMonitor.getObservers() may expose internal representation by returning FileAlterationMonitor.observers [org.apache.commons.io.monitor.FileAlterationMonitor] At FileAlterationMonitor.java:[line 124] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 33 | +o Fix SpotBugs error: Class org.apache.commons.io.monitor.FileAlterationObserver defines non-transient non-serializable instance field fileFilter [org.apache.commons.io.monitor.FileAlterationObserver] In FileAlterationObserver.java SE_BAD_FIELD. Thanks to Gary Gregory. |
| 34 | +o Fix SpotBugs error: Class org.apache.commons.io.monitor.FileAlterationObserver defines non-transient non-serializable instance field listeners [org.apache.commons.io.monitor.FileAlterationObserver] In FileAlterationObserver.java SE_BAD_FIELD. Thanks to Gary Gregory. |
| 35 | +o Fix SpotBugs error: org.apache.commons.io.FileCleaningTracker.getDeleteFailures() may expose internal representation by returning FileCleaningTracker.deleteFailures [org.apache.commons.io.FileCleaningTracker] At FileCleaningTracker.java:[line 218] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 36 | +o Fix SpotBugs error: org.apache.commons.io.IOExceptionList.getCauseList() may expose internal representation by returning IOExceptionList.causeList [org.apache.commons.io.IOExceptionList] At IOExceptionList.java:[line 118] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 37 | +o Fix SpotBugs error: org.apache.commons.io.IOExceptionList.getCauseList(Class) may expose internal representation by returning IOExceptionList.causeList [org.apache.commons.io.IOExceptionList] At IOExceptionList.java:[line 129] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 38 | +o Fix SpotBugs error: org.apache.commons.io.file.AccumulatorPathVisitor.getDirList() may expose internal representation by returning AccumulatorPathVisitor.dirList [org.apache.commons.io.file.AccumulatorPathVisitor] At AccumulatorPathVisitor.java:[line 179] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 39 | +o Fix SpotBugs error: org.apache.commons.io.file.AccumulatorPathVisitor.getFileList() may expose internal representation by returning AccumulatorPathVisitor.fileList [org.apache.commons.io.file.AccumulatorPathVisitor] At AccumulatorPathVisitor.java:[line 188] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 40 | +o Fix SpotBugs error: org.apache.commons.io.input.ObservableInputStream.getObservers() may expose internal representation by returning ObservableInputStream.observers [org.apache.commons.io.input.ObservableInputStream] At ObservableInputStream.java:[line 187] EI_EXPOSE_REP. Thanks to Gary Gregory. |
| 41 | +o Fix SpotBugs error: Exception thrown in class org.apache.commons.io.input.UnsynchronizedByteArrayInputStream at new org.apache.commons.io.input.UnsynchronizedByteArrayInputStream(byte[], int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. [org.apache.commons.io.input.UnsynchronizedByteArrayInputStream, org.apache.commons.io.input.UnsynchronizedByteArrayInputStream] At UnsynchronizedByteArrayInputStream.java:[line 202]At UnsynchronizedByteArrayInputStream.java:[line 202] CT_CONSTRUCTOR_THROW. Thanks to Gary Gregory. |
| 42 | +o Fix SpotBugs error: Exception thrown in class org.apache.commons.io.input.UnsynchronizedByteArrayInputStream at new org.apache.commons.io.input.UnsynchronizedByteArrayInputStream(byte[], int, int) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. [org.apache.commons.io.input.UnsynchronizedByteArrayInputStream, org.apache.commons.io.input.UnsynchronizedByteArrayInputStream] At UnsynchronizedByteArrayInputStream.java:[line 223]At UnsynchronizedByteArrayInputStream.java:[line 223] CT_CONSTRUCTOR_THROW. Thanks to Gary Gregory. |
| 43 | + |
| 44 | +Changes: |
| 45 | +o Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1 #512. Thanks to Gary Gregory. |
| 46 | +o Bump commons-lang3 from 3.13.0 to 3.14.0. Thanks to Gary Gregory. |
| 47 | +o Bump commons.bytebuddy.version from 1.14.9 to 1.14.10 #516. Thanks to Dependabot. |
| 48 | +o Bump commons-parent from 64 to 65. Thanks to Dependabot. |
| 49 | + |
| 50 | +Compatibility with 2.6: |
| 51 | +Binary compatible: Yes. |
| 52 | +Source compatible: Yes. |
| 53 | +Semantic compatible: Yes. |
| 54 | + |
| 55 | +Commons IO 2.7 and up requires Java 8 or above. |
| 56 | +Commons IO 2.6 requires Java 7 or above. |
| 57 | +Commons IO 2.3 through 2.5 requires Java 6 or above. |
| 58 | +Commons IO 2.2 requires Java 5 or above. |
| 59 | +Commons IO 1.4 requires Java 1.3 or above. |
| 60 | + |
| 61 | +Historical list of changes: https://commons.apache.org/proper/commons-io/changes-report.html |
| 62 | + |
| 63 | +For complete information on Apache Commons IO, including instructions on how to submit bug reports, |
| 64 | +patches, or suggestions for improvement, see the Apache Commons IO website: |
| 65 | + |
| 66 | +https://commons.apache.org/proper/commons-io/ |
| 67 | + |
| 68 | +Download page: https://commons.apache.org/proper/commons-io/download_io.cgi |
| 69 | + |
| 70 | +Have fun! |
| 71 | +-Apache Commons Team |
| 72 | + |
| 73 | +============================================================================== |
| 74 | + |
1 | 75 | Apache Commons IO |
2 | 76 | Version 2.15.0 |
3 | 77 | Release Notes |
|
0 commit comments