apache-commons-io/apache-commons-io.changes

452 lines
20 KiB
Plaintext

-------------------------------------------------------------------
Mon Apr 29 13:12:59 UTC 2024 - Gus Kenion <gus.kenion@suse.com>
- Upgrade to 2.16.1
* Fixes:
+ Reimplement FileSystemUtils using NIO.
+ FileSystemUtils no longer throws IllegalStateException. Fixes
IO-851.
+ Avoid possible NullPointerException in
FileUtils.listAccumulate(File, IOFileFilter, IOFileFilter,
FileVisitOption...).
+ BoundedInputStream.reset() not updating count. Fixes IO-853.
+ ThresholdingOutputStream: a negative threshold should behave
like a zero threshold and trigger the event on the first
write #609. Fixes IO-854.
* Updates:
+ Bump commons.bytebuddy.version from 1.14.12 to 1.14.13 #605.
+ Bump org.apache.commons:commons-parent from 67 to 69 #608.
- Update apache-commons-io-build.xml for new version
- Includes changes from 2.16.0
* Fixes:
+ Fix and re-enable testSkip_RequiredCharsets #518.
+ SymbolicLineFileFilter documentation fixes. Fixes IO-824.
+ CharSequenceInputStream.reset() only works once #520. Fixes
IO-795.
+ Finish TODO on CharSequenceInputStream #540. Fixes IO-795.
+ Add byte array size validation for methods in EndianUtils
#521. Fixes IO-825.
+ Add missing test case CircularByteBufferTest. Fixes IO-825.
+ Make CharSequenceInputStream.available() more correct in the
face of multibyte encodings #525. Fixes IO-781.
+ Remove unreachable code in AbstractIOFileFilterTest #526.
Fixes IO-781.
+ Rationalize and unify checking for existence of files and
directories #529. Fixes IO-808.
+ Avoid NullPointerException in IOCase.checkEquals(String,
String) on null input.
+ Avoid NullPointerException in
CanExecuteFileFilter.accept(File) on null input.
+ Avoid NullPointerException in
CanExecuteFileFilter.accept(Path, BasicFileAttributes) on
null input.
+ Avoid NullPointerException in CanReadFileFilter.accept(File)
on null input.
+ Avoid NullPointerException in CanReadFileFilter.accept(Path,
BasicFileAttributes) on null input.
+ Avoid NullPointerException in CanWriteFileFilter.accept(File)
on null input.
+ Avoid NullPointerException in CanWriteFileFilter.accept(Path,
BasicFileAttributes) on null input.
+ Avoid NullPointerException in
DirectoryFileFilter.accept(File) on null input.
+ Avoid NullPointerException in
DirectoryFileFilter.accept(Path, BasicFileAttributes) on null
input.
+ Avoid NullPointerException in EmptyFileFilter.accept(File) on
null input.
+ Avoid NullPointerException in EmptyFileFilter.accept(Path,
BasicFileAttributes) on null input.
+ Avoid NullPointerException in FileFileFilter.accept(File) on
null input.
+ Avoid NullPointerException in FileFileFilter.accept(Path,
BasicFileAttributes) on null input.
+ Avoid NullPointerException in HiddenFileFilter.accept(File)
on null input.
+ Avoid NullPointerException in HiddenFileFilter.accept(Path,
BasicFileAttributes) on null input.
+ Avoid NullPointerException in IOCase.checkIndexOf(String,
int, String) on null input.
+ Avoid NullPointerException in
IOCase.checkRegionMatches(String, int, String) on null input.
+ BoundedInputStream.getCount() should not count EOF.
+ Modernize temporary file creation and deletion in
DeferredFileOutputStreamTest #535.
+ Add PathMatcher to IOFileFilter class Javadoc #536.
+ Fix CharSequenceInputStream coding exception handling #537.
Fixes IO-781.
+ Deprecate int CountingInputStream#getCount() in favor of long
CountingInputStream#getByteCount(). Fixes IO-781.
+ Deprecate CountingInputStream.resetCount() in favor of
resetByteCount(). Fixes IO-828.
+ Deprecate CountingInputStream.getMaxLength() in favor of
getMaxCount()). Fixes IO-828.
+ NullInputStream breaks InputStream's read method contract.
Fixes IO-818.
+ Javadoc shouldn't reference 1.x behavior #539.
+ Don't decode and reencode characters in a potentially
different charset in
AbstractOrigin.CharSequenceOrigin.getReader(Charset). Fixes
IO-829.
+ Let subclasses of CountingInputStream.afterRead(int) throw
IOException.
+ Characterization test for broken symlinks when copying
directories #547. Fixes IO-807.
+ ClosedInputStream.read(byte[], int, int) does not always
return -1.
+ ClosedOutputStream.write(byte[], int, int) does not always
throw IOException.
+ XmlStreamReader can't parse an XML document with a multi-line
prolog #550.
+ XmlStreamReader can't parse XML an document with an external
parsed entity prolog.
+ Update FileNameUtils Javadoc #554. Fixes IO-836.
+ Copy symlinks, not the files the symlinks point to #558.
Fixes IO-807.
+ Pickup apache-rat-plugin version from parent POM.
+ Add test for copying a symlink
FileUtilsTest#testCopyFile_symLink() #564.
+ Make copyFile copy symbolic links by value rather than
reference #565.
+ Deprecate CopyUtils 0-argument constructor.
+ Deprecate EndianUtils 0-argument constructor. Fixes IO-843.
+ Deprecate FileSystemUtils 0-argument constructor.
+ Deprecate FilenameUtils 0-argument constructor.
+ Deprecate RandomAccessFiles 0-argument constructor.
+ Clarify and correct EndianUtils and SwappedDataInputStream
API doc #566.
+ Add characterization test for copying a symlinked directory
#570.
+ RandomAccessFileInputStream.builder().get() now throws ISE
instead of NPE.
+ Test links to targets outside the source directory #571.
Fixes IO-845.
+ Focus Javadoc on current version rather than past versions
#573, #574.
+ "Self-suppression not permitted" while using BrokenOutput and
BrokenInput streams with try-with-resources. Fixes IO-469.
+ Handle zero and negative thresholds #587. Fixes IO-405.
+ Deprecate CountingInputStream in favor of BoundedInputStream.
+ PathUtils.setPosixPermissions(...) only sets permissions if
needed.
+ PathUtils.setReadOnly(...) only sets permissions if needed.
+ PathUtils.deleteFile(..., DeleteOption...) only sets
permissions if needed.
+ CleaningPathVisitor only sets permissions if needed.
+ DeletingPathVisitor only sets permissions if needed.
* New features:
+ Add and use PathUtils.getFileName(Path, Function<Path, R>).
+ Add and use PathUtils.getFileNameString().
+ Make public Erase.rethrow(Throwable).
+ Add BrokenInputStream.BrokenInputStream(Throwable). Fixes
IO-826.
+ Add BrokenReader.BrokenReader(Throwable). Fixes IO-826.
+ Add BrokenOutputStream.BrokenOutputStream(Throwable). Fixes
IO-826.
+ Add BrokenWriter.BrokenWriter(Throwable). Fixes IO-826.
+ Add BoundedInputStream.getRemaining().
+ Add FileTimes.toNtfsTime(long).
+ Add FileTimes.fromUnixTime(long).
+ Add FileTimes.isUnixTime(FileTime).
+ Add FileTimes.isUnixTime(long).
+ Add FileTimes.toUnixTime(FileTime).
+ Add BrokenInputStream.Builder.
+ Add PathUtils.getExtension(Path).
+ Add PathUtils.getBaseName(Path).
+ Add ThrottledInputStream.
+ Add IORunnable.noop().
+ Add ChecksumInputStream and test #548.
+ Add AbstractStreamBuilder.getReader().
+ Add Maven property project.build.outputTimestamp for build
reproducibility.
+ Add ProxyInputStream.unwrap().
+ Add a running count and builder to BoundedInputStream.
* Updates:
+ Bump commons.bytebuddy.version from 1.14.10 to 1.14.12 #534,
#592.
+ Bump org.apache.commons:commons-parent from 65 to 67.
+ Bump commons-codec:commons-codec from 1.16.0 to 1.16.1 #583.
+ Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0
#593.
-------------------------------------------------------------------
Mon Feb 19 14:58:13 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to 2.15.1
* Fixed Bugs:
+ Fix wrong issue id in change log
+ Add test for FileChannels.contentEquals()
+ Fix FileChannels.contentEquals()
+ Fix some Javadoc issues in LineIterator and IOUtils
+ Simplify FileAlterationObserver internal processing
+ Avoid NullPointerException in RegexFileFilter
.RegexFileFilter(Pattern)
+ Avoid NullPointerException in RegexFileFilter
.accept(Path, BasicFileAttributes)
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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]
CT_CONSTRUCTOR_THROW
+ 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]
CT_CONSTRUCTOR_THROW
- Upgrade to 2.15.0
* New features:
+ Add org.apache.commons.io.channels.FileChannels
+ Add RandomAccessFiles#contentEquals(RandomAccessFile,
RandomAccessFile)
+ Add RandomAccessFiles#reset(RandomAccessFile)
+ Add PathUtilsContentEqualsBenchmark
+ Add org.apache.commons.io.StreamIterator
+ Add MessageDigestInputStream and deprecate
MessageDigestCalculatingInputStream
* Fixed Bugs:
+ IO-815: XmlStreamReader encoding match RE is too strict
+ IO-810: Javadoc in FileUtils does not reflect code for thrown
exceptions
+ IO-812: Javadoc should mention closing Streams based on file
resources
+ IO-811: In tests, Files.walk() direct and indirect callers
fail to close the returned Stream
+ IO-811: FileUtils.listFiles(File, String[], boolean) fails to
close its internal Stream
+ IO-811: FileUtils.iterateFiles(File, String[], boolean) fails
to close its internal Stream
+ IO-811: StreamIterator fails to close its internal Stream
+ IO-814: Don't throw UncheckedIOException
+ IO-414: Don't write a BOM on every (or any) line
+ IO-814: RandomAccessFileMode.create(Path) provides a better
NullPointerException message
+ Improve performance of PathUtils.fileContentEquals(Path, Path,
LinkOption[], OpenOption[]) by about 60%, see
PathUtilsContentEqualsBenchmark
+ Improve performance of PathUtils.fileContentEquals(Path, Path)
by about 60%, see PathUtilsContentEqualsBenchmark
+ Improve performance of FileUtils.contentEquals(File, File) by
about 60%, see PathUtilsContentEqualsBenchmark
+ Remove unused test code
+ [Javadoc] IOUtils#contentEquals does not throw
NullPointerException
+ Fix CodeQL warnings in UnsynchronizedBufferedInputStream:
Implicit narrowing conversion in compound assignment
+ MessageDigestCalculatingInputStream
.MessageDigestMaintainingObserver
.MessageDigestMaintainingObserver(MessageDigest) now throws a
NullPointerException if the MessageDigest is null
+ MessageDigestCalculatingInputStream
.MessageDigestCalculatingInputStream(InputStream,
MessageDigest) now throws a NullPointerException if the
MessageDigest is null
+ IO-816: UnsynchronizedBufferedInputStream.read(byte[], int,
int) does not use buffer
-------------------------------------------------------------------
Wed Oct 25 16:53:57 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Build with source and target levels 8
-------------------------------------------------------------------
Wed Oct 18 12:52:58 UTC 2023 - David Anes <david.anes@suse.com>
- Update to 2.14.0:
* Lots of new features, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.14.0
-------------------------------------------------------------------
Tue Apr 19 15:34:30 UTC 2022 - David Anes <david.anes@suse.com>
- Update to 2.11.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.11.0
- Update to 2.10.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.10.0
-------------------------------------------------------------------
Thu Jun 3 16:51:10 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
- Update to 2.9.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.9.0
-------------------------------------------------------------------
Tue Oct 27 11:49:20 UTC 2020 - Pedro Monreal <pmonreal@suse.com>
- Update to 2.8.0
* Lots of added functions, fixes and updates.
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.8.0
-------------------------------------------------------------------
Wed Jun 3 11:12:22 UTC 2020 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Update to upstream version 2.7 (bsc#1184755, CVE-2021-29425)
* https://commons.apache.org/proper/commons-io/changes-report.html#a2.7
* Lots of bugfixes, updates and enhancements
* Java 8 or later is required
-------------------------------------------------------------------
Wed Mar 27 10:17:25 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Remove pom parent, since we don't use it when not building with
maven
-------------------------------------------------------------------
Tue Feb 26 17:34:25 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Update to upstream version 2.6
* many bugfixes, features and enhancenments, like
Automatic-Module-Name entry in manifest
* requires jdk7 or later
* see RELEASE-NOTES.txt for details
- Generated a build.xml to be able to build with ant
- Build with tests is now optional
- Removed patch:
* commons-io-version-property.patch
+ not needed anymore in this version
-------------------------------------------------------------------
Tue May 15 10:41:03 UTC 2018 - fstrba@suse.com
- Build with source and target 8 to prepare for a possible removal
of 1.6 compatibility
- Run fdupes on documentation
-------------------------------------------------------------------
Thu Sep 14 11:39:40 UTC 2017 - fstrba@suse.com
- Fix build with jdk9 by specifying source and target level 1.6
-------------------------------------------------------------------
Sun May 21 07:52:44 UTC 2017 - tchvatal@suse.com
- Remove unused depedencies
-------------------------------------------------------------------
Fri May 19 09:52:13 UTC 2017 - pcervinka@suse.com
- New build dependency: javapackages-local
-------------------------------------------------------------------
Wed Mar 18 09:45:59 UTC 2015 - tchvatal@suse.com
- Fix build with new javapackages-tools
-------------------------------------------------------------------
Mon Jul 7 14:53:05 UTC 2014 - tchvatal@suse.com
- Use junit not junit4
-------------------------------------------------------------------
Mon Sep 9 11:05:28 UTC 2013 - tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
-------------------------------------------------------------------
Wed Mar 20 12:45:16 UTC 2013 - mmeister@suse.com
- Added url as source.
Please see http://en.opensuse.org/SourceUrls
-------------------------------------------------------------------
Thu Oct 25 08:21:33 UTC 2012 - mvyskocil@suse.com
- update to the latest upstream version 2.4 (needed by fop 1.1)
* many bugfixes, features and enhancenments, like
* XmlStreamReader support for UTF-32
* requires jdk6 or later
* see RELEASE-NOTES.txt for details
- rename to apache-commons-io to stay compatible with upstream and fedora
- add commons-io-version-property.patch to fix the version in build.xml
-------------------------------------------------------------------
Mon Aug 25 10:26:55 CEST 2008 - mvyskocil@suse.cz
- target=1.5
- removed a build gcj support
- removed a javadoc %post/postun
- fixed a wrong end of line encoding
-------------------------------------------------------------------
Thu Mar 13 11:37:36 CET 2008 - mvyskocil@suse.cz
- Initial package created with version 1.3.2 (JPackage 1.7)