Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache-commons-io for
openSUSE:Factory checked in at 2026-02-07 15:33:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-commons-io (Old)
and /work/SRC/openSUSE:Factory/.apache-commons-io.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-commons-io"
Sat Feb 7 15:33:10 2026 rev:26 rq:1331669 version:2.21.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-commons-io/apache-commons-io.changes
2025-01-28 14:58:41.552846093 +0100
+++
/work/SRC/openSUSE:Factory/.apache-commons-io.new.1670/apache-commons-io.changes
2026-02-07 15:33:25.397365117 +0100
@@ -1,0 +2,260 @@
+Fri Feb 6 12:48:41 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to 2.21.0
+ * New features
+ + FileUtils#byteCountToDisplaySize() supports Zettabyte,
+ Yottabyte, Ronnabyte and Quettabyte
+ + Add org.apache.commons.io.FileUtils.ONE_RB
+ + Add org.apache.commons.io.FileUtils.ONE_QB
+ + Add org.apache.commons.io.output.ProxyOutputStream
+ .writeRepeat(byte[], int, int, long)
+ + Add org.apache.commons.io.output.ProxyOutputStream
+ .writeRepeat(byte[], long)
+ + Add org.apache.commons.io.output.ProxyOutputStream
+ .writeRepeat(int, long)
+ + Add length unit support in FileSystem limits
+ + Add IOUtils.toByteArray(InputStream, int, int) for safer
+ chunked reading with size validation
+ + Add org.apache.commons.io.file.PathUtils.getPath(String,
+ String)
+ + Add org.apache.commons.io.channels
+ .ByteArraySeekableByteChannel
+ + Add IOIterable.asIterable()
+ + Add NIO channel support to 'AbstractStreamBuilder'
+ + Add CloseShieldChannel to close-shielded NIO Channels
+ + Added IOUtils.checkFromIndexSize as a Java 8 backport of
+ Objects.checkFromIndexSize
+ * Fixed Bugs
+ + When testing on Java 21 and up, enable
+ -XX:+EnableDynamicAgentLoading
+ + When testing on Java 24 and up, don't fail
+ FileUtilsListFilesTest for a different behavior in the JRE
+ + ValidatingObjectInputStream does not validate dynamic proxy
+ interfaces
+ + BoundedInputStream.getRemaining() now reports Long.MAX_VALUE
+ instead of 0 when no limit is set
+ + BoundedInputStream.available() correctly accounts for the
+ maximum read limit
+ + Deprecate IOUtils.readFully(InputStream, int) in favor of
+ toByteArray(InputStream, int)
+ + IOUtils.toByteArray(InputStream) now throws IOException on
+ byte array overflow
+ + Javadoc general improvements
+ + IOUtils.toByteArray() now throws EOFException when not enough
+ data is available
+ + Fix IOUtils.skip() usage in concurrent scenarios
+ + [javadoc] Fix XmlStreamReader Javadoc to indicate the correct
+ class that is built
+ * Changes
+ + Bump org.apache.commons:commons-parent from 85 to 91
+ + [test] Bump commons-codec:commons-codec from 1.18.0 to 1.19.0
+ + [test] Bump commons.bytebuddy.version from 1.17.6 to 1.17.8
+ + [test] Bump org.apache.commons:commons-lang3 from 3.18.0 to
+ 3.19.0
+ * Removed
+ + Inline private constant field
+ ProxyInputStream.exceptionHandler
+
+-------------------------------------------------------------------
+Fri Feb 6 12:48:07 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to 2.20.0
+ * New features
+ + Add org.apache.commons.io.file.CountingPathVisitor
+ .accept(Path, BasicFileAttributes)
+ + Add org.apache.commons.io.Charsets.isAlias(Charset, String)
+ + Add org.apache.commons.io.Charsets.isUTF8(Charset)
+ + Add org.apache.commons.io.Charsets.toCharsetDefault(String,
+ Charset)
+ + Add Tailer ignoreTouch option
+ * Fixed Bugs
+ + [javadoc] Rename parameter of ProxyOutputStream.write(int)
+ + CopyDirectoryVisitor ignores fileFilter
+ + org.apache.commons.io.build.AbstractOrigin.getReader(Charset)
+ now maps a null Charset to the default Charset
+ + org.apache.commons.io.build.AbstractOrigin
+ .AbstractRandomAccessFileOrigin.getReader(Charset) now maps a
+ null Charset to the default Charset
+ + org.apache.commons.io.build.AbstractOrigin.ByeArrayOrigin
+ .getReader(Charset) now maps a null Charset to the default
+ Charset
+ + org.apache.commons.io.build.AbstractOrigin.InputStreamOrigin
+ .getReader(Charset) now maps a null Charset to the default
+ Charset
+ + org.apache.commons.io.build.AbstractOrigin.getWriter(Charset)
+ now maps a null Charset to the default Charset
+ + org.apache.commons.io.build.AbstractOrigin
+ .AbstractRandomAccessFileOrigin.getWriter(Charset) now maps a
+ null Charset to the default Charset
+ + org.apache.commons.io.build.AbstractOrigin.OutputStreamOrigin
+ .getWriter(Charset) now maps a null Charset to the default
+ Charset
+ + FileUtils.readLines(File, Charset) now maps a null Charset to
+ the default Charset
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashCr" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.WindowsLineEndingInputStream,
+ org.apache.commons.io.input.WindowsLineEndingInputStream] At
+ WindowsLineEndingInputStream.java:[line 77] Another occurrence
+ at WindowsLineEndingInputStream.java:[line 81]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashCr" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.WindowsLineEndingInputStream] At
+ WindowsLineEndingInputStream.java:[line 112]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashLf" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.WindowsLineEndingInputStream] At
+ WindowsLineEndingInputStream.java:[line 113]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashLf" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.UnixLineEndingInputStream] At
+ UnixLineEndingInputStream.java:[line 75]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atEos" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.UnixLineEndingInputStream] At
+ UnixLineEndingInputStream.java:[line 120]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashCr" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.UnixLineEndingInputStream] At
+ UnixLineEndingInputStream.java:[line 124]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "atSlashLf" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.UnixLineEndingInputStream] At
+ UnixLineEndingInputStream.java:[line 125]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "closed" in one thread may not yield the value of the most
+ recent write from another thread
+ [org.apache.commons.io.input.ProxyInputStream] At
+ ProxyInputStream.java:[line 233]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + Fix SpotBugs [ERROR] Medium: Shared primitive variable
+ "propagateClose" in one thread may not yield the value of the
+ most recent write from another thread
+ [org.apache.commons.io.input.BoundedInputStream] At
+ BoundedInputStream.java:[line 555]
+ AT_STALE_THREAD_WRITE_OF_PRIMITIVE
+ + QueueInputStream reads all but the first byte without waiting
+ + Javadoc fixes and improvements
+ + Avoid NPE in org.apache.commons.io.filefilter.WildcardFilter
+ .accept(File)
+ + FileUtils.forceDelete can delete a broken symlink again
+ + Fix infinite loop in AbstractByteArrayOutputStream
+ * Changes
+ + Bump commons.bytebuddy.version from 1.17.5 to 1.17.6
+ + Bump org.apache.commons:commons-parent from 81 to 85
+ + Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0
+
+-------------------------------------------------------------------
+Fri Feb 6 12:46:24 UTC 2026 - Fridrich Strba <[email protected]>
+
+- Upgrade to 2.19.0
+ * New features
+ + Add ThrottledInputStream.Builder.setMaxBytes(long,
+ ChronoUnit)
+ + Add IOIterable
+ + ReversedLinesFileReader implements IOIterable<String>
+ + Add AbstractByteArrayOutputStream.write(CharSequence,
+ Charset)
+ + Add AbstractByteArrayOutputStream.write(byte[])
+ + Add RandomAccessFileOutputStream.getRandomAccessFile()
+ + Add ProxyInputStream.setReference(InputStream), was
+ package-private setIn(InputStream)
+ + Add ProxyOutputStream.setReference(OutputStream)
+ + Add RandomAccessFileInputStream.copy(long, long,
+ OutputStream)
+ + Add ProxyOutputStream.Builder
+ + Add ByteOrderMark.matches(int[])
+ + Add BrokenOutputStream.BrokenOutputStream(Function<String>,
+ Throwable>) and deprecate Supplier<String> constructor
+ + Add IOBooleanSupplier
+ + Add Uncheck.getAsBoolean(IOBooleanSupplier)
+ + Add FileChannels.contentEquals(SeekableByteChannel,
+ SeekableByteChannel, int)
+ + Add FileChannels.contentEquals(ReadableByteChannel,
+ ReadableByteChannel, int)
+ + Add SimplePathVisitor.AbstractBuilder
+ + Add CountingPathVisitor.AbstractBuilder and
+ CountingPathVisitor.Builder
+ + Add AccumulatorPathVisitor.Builder and builder()
+ + Add PathUtils.contentEquals(FileSystem, FileSystem)
+ * Fixed Bugs
+ + Deprecate constructor Counters.Counters() to be private in
+ 4.0
+ + Deprecate constructor Charsets.Charsets() to be private in
+ 4.0
+ + Pick up maven-antrun-plugin version from parent POM
+ org.apache:apache
+ + Javadoc is missing its Overview page
+ + Remove -nouses directive from maven-bundle-plugin. OSGi
+ package imports now state 'uses' definitions for package
+ imports, this doesn't affect JPMS (from
+ org.apache.commons:commons-parent:80)
+ + Deprecate DeferredFileOutputStream.getStream() in favor of
+ getOutputStream()
+ + Improve Javadoc for a BoundedInputStream builder() throwing
+ IOException
+ + Improve Javadoc for all implementations of
+ AbstractOriginSupplier#get()
+ + The Consumer to IOUtils.closeQuietly(Closeable, Consumer) now
+ accepts Exception, not just IOException
+ + The Consumer to IOUtils.close(Closeable, IOConsumer) now
+ accepts wrapped Exception, not just IOException
+ + Use Uncheck.getAsBoolean(IOBooleanSupplier) to avoid boxing
+ and unboxing of boolean values
+ + Avoid unnecessary boxing and unboxing of long values in
+ FileUtils.sizeOf(File)
+ + Avoid unnecessary boxing and unboxing of int values in
+ UncheckedBufferedReader.read()
+ + Avoid unnecessary boxing and unboxing of int values in
+ UncheckedFilterInputStream.available() and read()
+ + Avoid unnecessary boxing and unboxing of int values in
+ UncheckedFilterReader.read()
+ + FileChannels.contentEquals(FileChannel, FileChannel, int) can
+ return false when comparing a non-blocking channel
+ + Deprecate FileChannels.contentEquals(FileChannel, FileChannel,
+ int) in favor of FileChannels
+ .contentEquals(SeekableByteChannel, SeekableByteChannel, int)
+ + Improve performance of IOUtils.contentEquals(InputStream,
+ InputStream) by about 13%
+ + PathUtils.copyFileToDirectory() across file systems
+ + IOUtils.contentEquals is incorrect when InputStream.available
+ under-reports
+ + java.lang.ArithmeticException: long overflow java.lang.Math
+ .addExact(Math.java:932) at org.apache.commons.io.file
+ .attribute.FileTimes.ntfsTimeToFileTime(FileTimes.java:164).
+ See also https://issues.apache.org/jira/browse/MDEP-978
+ + java.lang.ArithmeticException: long overflow java.lang.Math
+ .addExact(Math.java:932) at org.apache.commons.io.file
+ .attribute.FileTimes.ntfsTimeToDate(long)
+ + FileTimes.toNtfsTime(*) methods can overflow result values
+ + Fix Javadoc for ChunkedOutputStream.Builder
+ + General Javadoc improvements
+ + Calling QueueInputStream.QueueInputStream(null) maps to the
+ same kind of default blocking queue as
+ QueueInputStream.Builder.setBlockingQueue(null)
+ + CopyDirectoryVisitor creates incorrect file names when
+ copying between different file systems that use different file
+ system separators ("/" versus "\"); fixes
+ PathUtils.copyDirectory(Path, Path, CopyOption...)
+ + ThreadUtils.sleep(Duration) should handle the underlying OS
+ time changing
+ * Changes
+ + Bump commons.bytebuddy.version from 1.15.10 to 1.17.5
+ + Bump commons-codec:commons-codec from 1.17.1 to 1.18.0
+ + Bump org.apache.commons:commons-parent from 78 to 81
+
+-------------------------------------------------------------------
Old:
----
commons-io-2.18.0-src.tar.gz
commons-io-2.18.0-src.tar.gz.asc
New:
----
_scmsync.obsinfo
build.specials.obscpio
commons-io-2.21.0-src.tar.gz
commons-io-2.21.0-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-commons-io.spec ++++++
--- /var/tmp/diff_new_pack.8xmZfW/_old 2026-02-07 15:33:27.293443890 +0100
+++ /var/tmp/diff_new_pack.8xmZfW/_new 2026-02-07 15:33:27.293443890 +0100
@@ -1,7 +1,7 @@
#
# spec file for package apache-commons-io
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define base_name io
%define short_name commons-%{base_name}
Name: apache-%{short_name}
-Version: 2.18.0
+Version: 2.21.0
Release: 0
Summary: Utilities to assist with developing IO functionality
License: Apache-2.0
++++++ _scmsync.obsinfo ++++++
mtime: 1770384237
commit: d812a256ae66e8fa42890de9431138eacadb49ec1a78bb32ad9514b12df1adff
url: https://src.opensuse.org/java-packages/apache-commons-io.git
revision: d812a256ae66e8fa42890de9431138eacadb49ec1a78bb32ad9514b12df1adff
projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj
++++++ apache-commons-io-build.xml ++++++
--- /var/tmp/diff_new_pack.8xmZfW/_old 2026-02-07 15:33:27.353446382 +0100
+++ /var/tmp/diff_new_pack.8xmZfW/_new 2026-02-07 15:33:27.357446549 +0100
@@ -10,16 +10,20 @@
<property name="project.groupId" value="commons-io"/>
<property name="project.artifactId" value="commons-io"/>
- <property name="project.version" value="2.18.0"/>
+ <property name="project.version" value="2.21.0"/>
<property name="project.name" value="Apache Commons IO"/>
- <property name="project.description" value="The Apache Commons IO library
-contains utility classes, stream implementations, file filters,
+ <property name="project.description" value="The Apache Commons IO library
+contains utility classes, stream implementations, file filters,
file comparators, endian transformation classes, and much more."/>
<property name="project.organization.name" value="The Apache Software
Foundation"/>
-
- <property name="bundle.symbolicName" value="org.apache.commons.io"/>
+
+ <property name="bundle.symbolicName" value="org.apache.commons.commons-io"/>
<property name="bundle.version" value="${project.version}"/>
+ <property name="module.name" value="org.apache.commons.io"/>
+
+ <property name="spec.version" value="2.21"/>
+
<property name="compiler.release" value="8"/>
<property name="compiler.source" value="1.${compiler.release}"/>
<property name="compiler.target" value="${compiler.source}"/>
@@ -33,13 +37,6 @@
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ======================================================================
-->
- <!-- Defining classpaths
-->
- <!-- ======================================================================
-->
-
- <path id="build.classpath"/>
- <path id="build.test.classpath"/>
-
- <!-- ======================================================================
-->
<!-- Cleaning up target
-->
<!-- ======================================================================
-->
@@ -67,7 +64,6 @@
<src>
<pathelement location="${build.srcDir}"/>
</src>
- <classpath refid="build.classpath"/>
</javac>
<mkdir dir="${build.outputDir}/META-INF"/>
<copy todir="${build.outputDir}/META-INF">
@@ -117,7 +113,7 @@
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
- <attribute name="Automatic-Module-Name"
value="${bundle.symbolicName}"/>
+ <attribute name="Automatic-Module-Name" value="${module.name}"/>
<attribute name="Bundle-Description" value="${project.description}"/>
<attribute name="Bundle-DocURL"
value="http://commons.apache.org/proper/commons-io/"/>
<attribute name="Bundle-License"
value="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
@@ -126,12 +122,19 @@
<attribute name="Bundle-SymbolicName" value="${bundle.symbolicName}"/>
<attribute name="Bundle-Vendor" value="${project.organization.name}"/>
<attribute name="Bundle-Version" value="${bundle.version}"/>
- <attribute name="Export-Package"
value="org.apache.commons.io;version="1.4.9999",org.apache.commons.io.comparator;version="1.4.9999",org.apache.commons.io.filefilter;version="1.4.9999",org.apache.commons.io.input;version="1.4.9999",org.apache.commons.io.output;version="1.4.9999",org.apache.commons.io.monitor;version="${project.version}",org.apache.commons.io.serialization;version="${project.version}",org.apache.commons.io;version="${project.version}",org.apache.commons.io.comparator;version="${project.version}",org.apache.commons.io.filefilter;version="${project.version}",org.apache.commons.io.input;version="${project.version}",org.apache.commons.io.output;version="${project.version}""/>
- <attribute name="Include-Resource"
value="META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=LICENSE.txt"/>
+ <attribute name="Export-Package"
value="org.apache.commons.io.build;version="${project.version}";uses:="org.apache.commons.io,org.apache.commons.io.function",org.apache.commons.io.channels;version="${project.version}",org.apache.commons.io.charset;version="${project.version}",org.apache.commons.io.comparator;version="1.4.9999";uses:="org.apache.commons.io",org.apache.commons.io.comparator;version="${project.version}",org.apache.commons.io.file.attribute;version="${project.version}",org.apache.commons.io.file.spi;version="${project.version}",org.apache.commons.io.file;version="${project.version}";uses:="org.apache.commons.io.build,org.apache.commons.io.function",org.apache.commons.io.filefilter;version="1.4.9999";uses:="org.apache.commons.io,org.apache.commons.io.build,org.apache.commons.io.file",org.apache.commons.io.filefilter;version="${pro
ject.version}",org.apache.commons.io.function;version="${project.version}";uses:="org.apache.commons.io",org.apache.commons.io.input.buffer;version="${project.version}",org.apache.commons.io.input;version="1.4.9999";uses:="org.apache.commons.io,org.apache.commons.io.build,org.apache.commons.io.function,org.apache.commons.io.output",org.apache.commons.io.input;version="${project.version}",org.apache.commons.io.monitor;version="${project.version}";uses:="org.apache.commons.io,org.apache.commons.io.build",org.apache.commons.io.output;version="1.4.9999";uses:="org.apache.commons.io.build,org.apache.commons.io.function,org.apache.commons.io.input",org.apache.commons.io.output;version="${project.version}",org.apache.commons.io.serialization;version="${project.version}";uses:="org.apache.commons.io.build",org.apache.commons.io;version="1.4.9999";u
ses:="org.apache.commons.io.filefilter,org.apache.commons.io.function,org.apache.commons.io.input",org.apache.commons.io;version="${project.version}""/>
+ <attribute name="Implementation-Title" value="${project.name}"/>
+ <attribute name="Implementation-Vendor"
value="${project.organization.name}"/>
+ <attribute name="Implementation-Version" value="2.21.0"/>
+ <attribute name="Import-Package"
value="java.io,java.lang,java.lang.invoke,java.lang.ref,java.lang.reflect,java.math,java.net,java.nio,java.nio.channels,java.nio.charset,java.nio.file,java.nio.file.attribute,java.nio.file.spi,java.security,java.text,java.time,java.time.chrono,java.time.temporal,java.util,java.util.concurrent,java.util.concurrent.atomic,java.util.concurrent.locks,java.util.function,java.util.regex,java.util.stream,java.util.zip,sun.misc;resolution:=optional,sun.nio.ch;resolution:=optional"/>
+ <attribute name="Include-Resource"
value="META-INF/LICENSE.txt=LICENSE.txt,META-INF/NOTICE.txt=NOTICE.txt"/>
<attribute name="JavaPackages-ArtifactId"
value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Require-Capability"
value="osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=${compiler.target}))""/>
+ <attribute name="Specification-Title" value="${project.name}"/>
+ <attribute name="Specification-Vendor"
value="${project.organization.name}"/>
+ <attribute name="Specification-Version" value="${spec.version}"/>
</manifest>
</jar>
</target>
++++++ apache-commons-io.keyring ++++++
--- /var/tmp/diff_new_pack.8xmZfW/_old 2026-02-07 15:33:27.401448377 +0100
+++ /var/tmp/diff_new_pack.8xmZfW/_new 2026-02-07 15:33:27.405448543 +0100
@@ -10343,4 +10343,65 @@
qUCgtLalgCQLRhBds+uGLA==
=7Xnu
-----END PGP PUBLIC KEY BLOCK-----
+pub ed25519 2025-06-09 [SC]
+ D8F51089DFE9BCD85017A5BB90F70EE20EC0F57B
+uid [ultimate] Jochen Wiedmann <[email protected]>
+uid [ultimate] Jochen Wiedmann <[email protected]>
+uid [ultimate] Jochen Wiedmann <[email protected]>
+sub cv25519 2025-06-09 [E]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEaEbknBYJKwYBBAHaRw8BAQdAGi7rKVI8QcOp9tQyjI2jy5BNHliBvl3fukhw
+lBA32Hm0MEpvY2hlbiBXaWVkbWFubiA8am9jaGVuLndpZWRtYW5uQHNvZnR3YXJl
+YWcuY29tPoiTBBMWCgA7FiEE2PUQid/pvNhQF6W7kPcO4g7A9XsFAmhG5V8CGwMF
+CwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQkPcO4g7A9XvQ8QD/emMjiWXI
+kNPpPckGRPIHYmb4VjsqNhpy8jnkFdo8zXoBAPv/1+g4cPwUx5l5x6PIbKiaR7Vw
+h6ZUtA11rV8Z0gUBtCtKb2NoZW4gV2llZG1hbm4gPGpvY2hlbi53aWVkbWFubkBn
+bWFpbC5jb20+iJYEExYKAD4CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AW
+IQTY9RCJ3+m82FAXpbuQ9w7iDsD1ewUCaEbr+gIZAQAKCRCQ9w7iDsD1e3hYAPoC
+vzKUltgqSto0TJM/DzSvGhTKUOo2vecbYMw0kTUd2AEAuExUlYtiD9S/5UmpwMPw
+ndEAtdJ/XglkzR69SgyTuQ60I0pvY2hlbiBXaWVkbWFubiA8am9jaGVuQGFwYWNo
+ZS5vcmc+iJMEExYKADsWIQTY9RCJ3+m82FAXpbuQ9w7iDsD1ewUCaEblMwIbAwUL
+CQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRCQ9w7iDsD1e8rZAP9d7euY5gzO
+jGoOJG9osIMps172rpX50stgaWrJ5Eyq2gD/TmqKSqskbXlu8dKGl5R0mEM2/FzP
+o73X30i3ws5qPgq4OARoRuScEgorBgEEAZdVAQUBAQdA0epQ+BUcThB6ytk/sKdK
+q95G0D0KkQx0/I2nitgJHAMDAQgHiHgEGBYKACAWIQTY9RCJ3+m82FAXpbuQ9w7i
+DsD1ewUCaEbknAIbDAAKCRCQ9w7iDsD1e7pmAQDBeAa3xs9C5GYzjv6ipz98GGx+
+yf6MsWvs9vYbdgERdwEAvjXMf7kBU9IK8OeV2k4VzXYEPd6Tp8GK9u5h9e+ecQA=
+=NDpZ
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub ed25519 2025-10-27 [SC]
+ F4DD59C90148BDC52BEB90A4530AA5F25C25011F
+uid [ultimate] Gary Gregory <[email protected]>
+sig 3 530AA5F25C25011F 2025-11-02 [self-signature]
+uid [ultimate] Gary D. Gregory <[email protected]>
+sig 3 530AA5F25C25011F 2025-11-02 [self-signature]
+uid [ultimate] Gary Gregory <[email protected]>
+sig 3 530AA5F25C25011F 2025-10-27 [self-signature]
+sub cv25519 2025-10-27 [E]
+sig 530AA5F25C25011F 2025-10-27 [self-signature]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEaP9I0xYJKwYBBAHaRw8BAQdAOUBgNeJu8Xe4w2IE+22aMEiVvJRcY6Gwx8s/
+mfadmLq0KEdhcnkgRC4gR3JlZ29yeSA8Z2FyeWRncmVnb3J5QGdtYWlsLmNvbT6I
+kwQTFgoAOxYhBPTdWckBSL3FK+uQpFMKpfJcJQEfBQJpBzV0AhsDBQsJCAcCAiIC
+BhUKCQgLAgQWAgMBAh4HAheAAAoJEFMKpfJcJQEfDqsA/0o9+F8hTZeKZJd46ylC
+dqjqreGWF1JWPRGRRNZJyzPKAP4rwRjBZbqaEKnCT6QS8F5K9F5SW7hUgt2WlqAy
+PGAnCLQlR2FyeSBHcmVnb3J5IDxnYXJ5ZGdyZWdvcnlAZ21haWwuY29tPoiTBBMW
+CgA7FiEE9N1ZyQFIvcUr65CkUwql8lwlAR8FAmj/SNMCGwMFCwkIBwICIgIGFQoJ
+CAsCBBYCAwECHgcCF4AACgkQUwql8lwlAR/iwgD7BRj02LyyfcREL8NCuyNfNZ12
+wc14g8rvcwCKNPpfq5wA/jitteJYbXnm5XJkOIDkA1Gc9tLg2mUSAPx+U0Hp7eYM
+tCJHYXJ5IEdyZWdvcnkgPGdncmVnb3J5QGFwYWNoZS5vcmc+iJMEExYKADsWIQT0
+3VnJAUi9xSvrkKRTCqXyXCUBHwUCaQdJlgIbAwULCQgHAgIiAgYVCgkICwIEFgID
+AQIeBwIXgAAKCRBTCqXyXCUBHwGxAQCarHLyRvv8JNK8msjI03/Q9VD6hxaFXqSU
+PYplpeIfEwEAu0elSIXEGohxpIkIG69oTuBndm8NvFSSjD6ZQLllxQC4OARo/0jT
+EgorBgEEAZdVAQUBAQdAyPaT/8w88+/NA4o6ovcnWTqveOIhA3IIVYOlys0o7A8D
+AQgHiHgEGBYKACAWIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaP9I0wIbDAAKCRBT
+CqXyXCUBHySfAPwPXyiSs7i0yaZetG2b+UgRcTJ9mp2BSshgHyFHTHouJgD/WCbr
+Assv7MmNDjfS39AgWpkpr2dbNFIVY5cQlbXHNgo=
+=Aq+e
+-----END PGP PUBLIC KEY BLOCK-----
++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2026-02-06 14:24:34.000000000 +0100
@@ -0,0 +1 @@
+.osc
++++++ commons-io-2.18.0-src.tar.gz -> commons-io-2.21.0-src.tar.gz ++++++
++++ 61356 lines of diff (skipped)