Apache Commons logo Commons IO
Comparing source compatibility of commons-io-2.21.0.jar against commons-io-2.20.0.jar
Old: commons-io-2.20.0.jar
New: commons-io-2.21.0.jar
Created: 2025-11-07T20:04:39.574+0000
Access modifier filter: PROTECTED
Only modifications: true
Only binary incompatible modifications: false
Ignore missing classes: false
Includes: all
Excludes: n.a.
Semantic Versioning: 0.1.0
Classes:
Status Fully Qualified Name
MODIFIED org.apache.commons.io.build.AbstractOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$AbstractRandomAccessFileOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$ByteArrayOrigin
NEW org.apache.commons.io.build.AbstractOrigin$ChannelOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$CharSequenceOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$FileOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$InputStreamOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$OutputStreamOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$PathOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$ReaderOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$URIOrigin
MODIFIED org.apache.commons.io.build.AbstractOrigin$WriterOrigin
MODIFIED org.apache.commons.io.build.AbstractOriginSupplier
MODIFIED org.apache.commons.io.build.AbstractStreamBuilder
NEW org.apache.commons.io.channels.ByteArraySeekableByteChannel
NEW org.apache.commons.io.channels.CloseShieldChannel
MODIFIED org.apache.commons.io.file.PathUtils
MODIFIED org.apache.commons.io.FileSystem
MODIFIED org.apache.commons.io.FileUtils
MODIFIED org.apache.commons.io.function.IOIterable
MODIFIED org.apache.commons.io.input.BoundedInputStream
MODIFIED org.apache.commons.io.input.ProxyInputStream
MODIFIED org.apache.commons.io.IOUtils
MODIFIED org.apache.commons.io.output.ProxyOutputStream
MODIFIED org.apache.commons.io.serialization.ValidatingObjectInputStream
Binary incompatible changes are marked with (!) while source incompatible changes are marked with (*).
MODIFIED public abstract class  org.apache.commons.io.build.AbstractOrigin top
Generic Templates:
Change Status Name Old Type New Type Generics
UNCHANGED B org.apache.commons.io.build.AbstractOrigin org.apache.commons.io.build.AbstractOrigin
<..>
New:TB
Old:TB
UNCHANGED T java.lang.Object java.lang.Object
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractSupplier n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW final public Generic Templates:
Change Status Name Old Type New Type Generics
NEW C n.a. java.nio.channels.Channel
java.nio.channels.Channel getChannel(java.lang.Class
<..>
New:C
, java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 1132
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 1151
MODIFIED static public abstract class  org.apache.commons.io.build.AbstractOrigin$AbstractRandomAccessFileOrigin top
Generic Templates:
Change Status Name Old Type New Type Generics
UNCHANGED B org.apache.commons.io.build.AbstractOrigin$AbstractRandomAccessFileOrigin org.apache.commons.io.build.AbstractOrigin$AbstractRandomAccessFileOrigin
<..>
New:TB
Old:TB
UNCHANGED T java.io.RandomAccessFile java.io.RandomAccessFile
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 391
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$ByteArrayOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 462
NEW static public class  org.apache.commons.io.build.AbstractOrigin$ChannelOrigin top
Compatibility Changes:
Change
INTERFACE_ADDED
Superclass:
Status Superclass Compatibility Changes
NEW org.apache.commons.io.build.AbstractOrigin n.a.
Interfaces:
Status Interface Compatibility Changes
NEW org.apache.commons.io.function.IOSupplier n.a.
Constructors:
Status Modifier Generic Templates Constructor Exceptions Compatibility Changes: Line Number
NEW public n.a. AbstractOrigin$ChannelOrigin(java.nio.channels.Channel) n.a.
Old file New file
n.a. 507
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public n.a. byte[] getByteArray()
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 512
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 525
NEW public n.a. java.io.InputStream getInputStream(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 530
NEW public n.a. java.io.OutputStream getOutputStream(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 535
NEW public n.a. java.io.Reader getReader(java.nio.charset.Charset)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 540
NEW public n.a. java.io.Writer getWriter(java.nio.charset.Charset, java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 548
NEW public n.a. long size()
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 553
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$CharSequenceOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 583
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$FileOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 663
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$InputStreamOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 710
NEW public n.a. long size()
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 735
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$OutputStreamOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 791
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$PathOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 846
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$ReaderOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 917
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$URIOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 979
MODIFIED static public class  org.apache.commons.io.build.AbstractOrigin$WriterOrigin top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOrigin n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.nio.channels.Channel getChannel(java.nio.file.OpenOption[])
Status: Name:
NEW java.io.IOException
n.a.
Old file New file
n.a. 1028
MODIFIED public abstract class  org.apache.commons.io.build.AbstractOriginSupplier top
Generic Templates:
Change Status Name Old Type New Type Generics
UNCHANGED B org.apache.commons.io.build.AbstractOriginSupplier org.apache.commons.io.build.AbstractOriginSupplier
<..>
New:TB
Old:TB
UNCHANGED T java.lang.Object java.lang.Object
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractSupplier n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW static protected n.a. org.apache.commons.io.build.AbstractOrigin$ChannelOrigin newChannelOrigin(java.nio.channels.Channel) n.a.
Old file New file
n.a. 72
NEW public n.a. org.apache.commons.io.build.AbstractOriginSupplier setChannel(java.nio.channels.Channel)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 259
MODIFIED public abstract class  org.apache.commons.io.build.AbstractStreamBuilder top
Generic Templates:
Change Status Name Old Type New Type Generics
UNCHANGED B org.apache.commons.io.build.AbstractStreamBuilder org.apache.commons.io.build.AbstractStreamBuilder
<..>
New:TB
Old:TB
UNCHANGED T java.lang.Object java.lang.Object
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.build.AbstractOriginSupplier n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public Generic Templates:
Change Status Name Old Type New Type Generics
NEW C n.a. java.nio.channels.Channel
java.nio.channels.Channel getChannel(java.lang.Class
<..>
New:C
)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 139
NEW public class  org.apache.commons.io.channels.ByteArraySeekableByteChannel top
Compatibility Changes:
Change
INTERFACE_ADDED
Interfaces:
Status Interface Compatibility Changes
NEW java.nio.channels.SeekableByteChannel n.a.
NEW java.nio.channels.ReadableByteChannel n.a.
NEW java.io.Closeable n.a.
NEW java.nio.channels.ByteChannel n.a.
NEW java.nio.channels.WritableByteChannel n.a.
NEW java.lang.AutoCloseable n.a.
NEW java.nio.channels.Channel n.a.
Constructors:
Status Modifier Generic Templates Constructor Exceptions Compatibility Changes: Line Number
NEW public n.a. ByteArraySeekableByteChannel() n.a.
Old file New file
n.a. 84
NEW public n.a. ByteArraySeekableByteChannel(int) n.a.
Old file New file
n.a. 102
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public n.a. byte[] array()
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 120
NEW public n.a. void close()
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 138
NEW public n.a. long getSize()
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 147
NEW public n.a. boolean isOpen()
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 152
NEW public n.a. long position()
Status: Name:
NEW java.nio.channels.ClosedChannelException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 157
NEW public n.a. java.nio.channels.SeekableByteChannel position(long)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 168
NEW public n.a. int read(java.nio.ByteBuffer)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 181
NEW public n.a. long size()
Status: Name:
NEW java.nio.channels.ClosedChannelException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 217
NEW public n.a. byte[] toByteArray()
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 235
NEW public n.a. java.nio.channels.SeekableByteChannel truncate(long)
Status: Name:
NEW java.nio.channels.ClosedChannelException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 240
NEW static public n.a. org.apache.commons.io.channels.ByteArraySeekableByteChannel wrap(byte[])
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 65
NEW public n.a. int write(java.nio.ByteBuffer)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 258
NEW final public class  org.apache.commons.io.channels.CloseShieldChannel top
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW static public Generic Templates:
Change Status Name Old Type New Type Generics
NEW T n.a. java.nio.channels.Channel
java.nio.channels.Channel wrap(java.nio.channels.Channel)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 90
MODIFIED final public class  org.apache.commons.io.file.PathUtils top
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW static public n.a. java.nio.file.Path getPath(java.lang.String, java.lang.String)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 1108
MODIFIED  (Serializable compatible)  final public enum  org.apache.commons.io.FileSystem top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED java.lang.Enum n.a.
Serializable default serialVersionUID serialVersionUID in class
Oldtrue -3459880450112012686 n.a.
Newtrue -5160232478350521021 n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public n.a. boolean isLegalFileName(java.lang.CharSequence, java.nio.charset.Charset)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 637
NEW public n.a. java.lang.String toLegalFileName(java.lang.CharSequence, char, java.nio.charset.Charset)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 702
MODIFIED public class  org.apache.commons.io.FileUtils top
Fields:
Status Modifier Type Field Compatibility Changes:
NEW public static final java.math.BigInteger ONE_QB n.a.
NEW public static final java.math.BigInteger ONE_RB n.a.
MODIFIED public abstract interface  org.apache.commons.io.function.IOIterable top
Generic Templates:
Change Status Name Old Type New Type Generics
UNCHANGED T java.lang.Object java.lang.Object
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public n.a. java.lang.Iterable
<..>
New:T
asIterable()
Compatibility Changes:
Change
METHOD_NEW_DEFAULT
Old file New file
n.a. 40
MODIFIED public class  org.apache.commons.io.input.BoundedInputStream top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED org.apache.commons.io.input.ProxyInputStream n.a.
MODIFIED public abstract class  org.apache.commons.io.input.ProxyInputStream top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED java.io.FilterInputStream n.a.
MODIFIED public class  org.apache.commons.io.IOUtils top
Fields:
Status Modifier Type Field Compatibility Changes:
NEW public static final int SOFT_MAX_ARRAY_LENGTH n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW static public n.a. void checkFromIndexSize(byte[], int, int)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 571
NEW static public n.a. void checkFromIndexSize(char[], int, int)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 618
NEW static public n.a. void checkFromIndexSize(java.lang.String, int, int)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 660
NEW static public n.a. void checkFromToIndex(java.lang.CharSequence, int, int)
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 695
UNCHANGED static public n.a. byte[] readFully(java.io.InputStream, int)
Annotations:
Status: Fully Qualified Name: Elements:
NEW java.lang.Deprecated n.a.
Status: Name:
UNCHANGED java.io.IOException
Compatibility Changes:
Change
ANNOTATION_DEPRECATED_ADDED
Old file New file
2063 2303
NEW static public n.a. byte[] toByteArray(java.io.InputStream, int, int)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 2968
MODIFIED public class  org.apache.commons.io.output.ProxyOutputStream top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED java.io.FilterOutputStream n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW public n.a. void writeRepeat(byte[], int, int, long)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 252
NEW public n.a. void writeRepeat(byte[], long)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 267
NEW public n.a. void writeRepeat(int, long)
Status: Name:
NEW java.io.IOException
Compatibility Changes:
Change
METHOD_ADDED_TO_PUBLIC_CLASS
Old file New file
n.a. 282
MODIFIED public class  org.apache.commons.io.serialization.ValidatingObjectInputStream top
Superclass:
Status Superclass Compatibility Changes
UNCHANGED java.io.ObjectInputStream n.a.
Methods:
Status Modifier Generic Templates Type Method Exceptions Compatibility Changes: Line Number
NEW protected n.a. java.lang.Class
<..>
New:?
resolveProxyClass(java.lang.String[])
Status: Name:
NEW java.io.IOException
NEW java.lang.ClassNotFoundException
n.a.
Old file New file
n.a. 485