This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-io.git
commit f931824f693ab79344e4e6432dbd89417d36ab88 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Nov 16 14:36:42 2024 +0000 Prepare for the next release candidate --- README.md | 4 +-- RELEASE-NOTES.txt | 78 +++++++++++++++++++++++++++++++++++++++++++ src/changes/changes.xml | 2 +- src/site/xdoc/download_io.xml | 26 +++++++-------- 4 files changed, 94 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 938fb3a0d..3f4e96dd9 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Apache Commons IO [](https://github.com/apache/commons-io/actions/workflows/maven.yml) [](https://search.maven.org/artifact/commons-io/commons-io) -[](https://javadoc.io/doc/commons-io/commons-io/2.17.0) +[](https://javadoc.io/doc/commons-io/commons-io/2.18.0) [](https://github.com/apache/commons-io/actions/workflows/codeql-analysis.yml) [](https://api.securityscorecards.dev/projects/github.com/apache/commons-io) @@ -69,7 +69,7 @@ Alternatively, you can pull it from the central Maven repositories: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> - <version>2.17.0</version> + <version>2.18.0</version> </dependency> ``` diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 3ee17dadd..b3b62dfa3 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,4 +1,82 @@ +Apache Commons IO 2.18.0 Release Notes + +Introduction +------------ + +The Apache Commons IO library contains utility classes, stream implementations, file filters, +file comparators, endian transformation classes, and much more. + +Version 2.18.0: Java 8 is required. + +New features +------------ + +o Add @FunctionalInterface to ClassNameMatcher. Thanks to Gary Gregory. +o Add ValidatingObjectInputStream.Builder and ValidatingObjectInputStream.builder(). Thanks to Gary Gregory. +o Add a "Safe Deserialization" section to the User Guide for the site. Thanks to Gary Gregory. +o Add IORandomAccessFile. Thanks to Gary Gregory. +o Add RandomAccessFileMode.io(String). Thanks to Gary Gregory. +o Add FileAlterationObserver.Builder() and deprecate most constructors. Thanks to Gary Gregory. +o Add IOUtils.readLines(CharSequence). Thanks to Gary Gregory. +o Add ValidatingObjectInputStream.ObjectStreamClassPredicate to allow configuration reuse. Thanks to Gary Gregory. +o Add RandomAccessFileMode.accept(Path, IOConsumer<RandomAccessFile>). Thanks to Gary Gregory. +o Add RandomAccessFileMode.apply(Path, IOFunction<RandomAccessFile>, T). Thanks to Gary Gregory. +o Add IOIntConsumer. Thanks to Gary Gregory. +o IO-861: Add ProxyInputStream.AbstractBuilder. Supports setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to AutoCloseInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to BOMInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o IO-861: Add support to BoundedInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o IO-861: Add support to BoundedInputStream for setting a consumer for BoundedInputStream.onMaxLength(long, long). Thanks to Gary Gregory. +o Add support to ChecksumInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to ThrottledInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to ObservableInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to MessageDigestCalculatingInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. +o Add support to MessageDigestInputStream for setting a consumer for ProxyInputStream.afterRead(int). Thanks to Gary Gregory. + +Fixed Bugs +---------- + +o Clean ups in unit tests. Thanks to Gary Gregory. +o Fix some Javadoc issues. Thanks to Gary Gregory. +o RandomAccessFileMode.toString() is more helpful for debugging when it inherits from Enum. Thanks to Gary Gregory. +o Fix implicit narrowing conversion in compound assignment in UnsynchronizedBufferedReader.skip(long). Thanks to Gary Gregory. +o IO-860: Missing reserved file names in FileSystem.WINDOWS (superscript digits for COM and LPT). Thanks to Stefan Feenstra, Gary Gregory. +o IO-856: FileUtils.listFiles(final File, String[], boolean) can throw NoSuchFileException #697, #699. Thanks to Thomas Hartwig, Gary Gregory. +o IO-859: FileUtils.forceDelete on non-existent file on Windows throws IOException rather than FileNotFoundException. Thanks to JD Dean, Gary Gregory. +o Use Unicode escapes for superscript characters. #701. Thanks to �amonn McManus. +o IO-863: Recent incompatible change to FileUtils.listFiles re extensions, see also IO-856. Thanks to �amonn McManus, Gary Gregory. +o IO-857: Javadoc: Update details for PathUtils "clean" behavior. Thanks to Dmitry, Gary Gregory. + +Changes +------- + +o Bump org.apache.commons:commons-parent from 74 to 78 #670, #676, #679, #688. Thanks to Gary Gregory. +o Bump commons.bytebuddy.version from 1.15.1 to 1.15.10 #672, #673, #685, #686, #694, #696, #698. Thanks to Gary Gregory. +o Update AbstractStreamBuilder getters from protected to public. Thanks to Gary Gregory. + + +Commons IO 2.7 and up requires Java 8 or above. +Commons IO 2.6 requires Java 7 or above. +Commons IO 2.3 through 2.5 requires Java 6 or above. +Commons IO 2.2 requires Java 5 or above. +Commons IO 1.4 requires Java 1.3 or above. + +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 Commons IO website: + +https://commons.apache.org/proper/commons-io/ + +Download page: https://commons.apache.org/proper/commons-io/download_io.cgi + +Have fun! +-Apache Commons Team + +------------------------------------------------------------------------------ + + Apache Commons IO 2.17.0 Release Notes Introduction diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 0ef677a18..273e23883 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,7 +46,7 @@ The <action> type attribute can be add,update,fix,remove. <title>Apache Commons IO Release Notes</title> </properties> <body> - <release version="2.18.0" date="YYYY-MM-DD" description="Version 2.18.0: Java 8 is required."> + <release version="2.18.0" date="2024-11-16" description="Version 2.18.0: Java 8 is required."> <!-- FIX --> <action dev="ggregory" type="fix" due-to="Gary Gregory">Clean ups in unit tests.</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix some Javadoc issues.</action> diff --git a/src/site/xdoc/download_io.xml b/src/site/xdoc/download_io.xml index 50f2f24ba..812feb53c 100644 --- a/src/site/xdoc/download_io.xml +++ b/src/site/xdoc/download_io.xml @@ -113,32 +113,32 @@ limitations under the License. </p> </subsection> </section> - <section name="Apache Commons IO 2.17.0 (requires Java 8)"> + <section name="Apache Commons IO 2.18.0 (requires Java 8)"> <subsection name="Binaries"> <table> <tr> - <td><a href="[preferred]/commons/io/binaries/commons-io-2.17.0-bin.tar.gz">commons-io-2.17.0-bin.tar.gz</a></td> - <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.tar.gz.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/io/binaries/commons-io-2.18.0-bin.tar.gz">commons-io-2.18.0-bin.tar.gz</a></td> + <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/io/binaries/commons-io-2.17.0-bin.zip">commons-io-2.17.0-bin.zip</a></td> - <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.zip.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.17.0-bin.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/io/binaries/commons-io-2.18.0-bin.zip">commons-io-2.18.0-bin.zip</a></td> + <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/io/binaries/commons-io-2.18.0-bin.zip.asc">pgp</a></td> </tr> </table> </subsection> <subsection name="Source"> <table> <tr> - <td><a href="[preferred]/commons/io/source/commons-io-2.17.0-src.tar.gz">commons-io-2.17.0-src.tar.gz</a></td> - <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.tar.gz.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.tar.gz.asc">pgp</a></td> + <td><a href="[preferred]/commons/io/source/commons-io-2.18.0-src.tar.gz">commons-io-2.18.0-src.tar.gz</a></td> + <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.tar.gz.asc">pgp</a></td> </tr> <tr> - <td><a href="[preferred]/commons/io/source/commons-io-2.17.0-src.zip">commons-io-2.17.0-src.zip</a></td> - <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.zip.sha512">sha512</a></td> - <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.17.0-src.zip.asc">pgp</a></td> + <td><a href="[preferred]/commons/io/source/commons-io-2.18.0-src.zip">commons-io-2.18.0-src.zip</a></td> + <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.sha512">sha512</a></td> + <td><a href="https://downloads.apache.org/commons/io/source/commons-io-2.18.0-src.zip.asc">pgp</a></td> </tr> </table> </subsection>