Version: 3.13.0-160000.1.2
* Mon Jun 22 2026 fstrba@suse.com
- Upgrade to 3.13.0
* New features
+ Add DatagramSocketClient.getDefaultTimeoutDuration() and
deprecate getDefaultTimeout()
+ NET-741: Add subnet IPv6 handling with SubnetUtils6 #391
* Fixed Bugs
+ DaytimeTCPClientTest now should now pass inside most VPNs
+ Migrate tests to JUnit5 #358, #359
+ Fix malformed Javadoc comments
+ IMAPExportMbox now restores the current thread's interrupt
flag when catching InterruptedException
+ IOUtil.readWrite() now restores the current thread's interrupt
flag when catching InterruptedException
+ TelnetInputStream now restores the current thread's interrupt
flag when catching InterruptedException
+ NET-740: FTP fails to parse listings for Linux vsftpd in
Chinese or Japanese #393
+ TelnetInputStream.read() doesn't preserve the original
InterruptedException as the cause of its
InterruptedIOException
+ FTPClient._storeFile(String, String, InputStream) doesn't
always close it's internal socket when an exception is thrown
early in processing
+ ListenerList.removeListener(T) now ignores null input to avoid
a NullPointerException
+ ListenerList.addListener(T) now ignores null input
+ Fix typo in FTPConnectionClosedException message from FTP
.getReply(boolean)
+ Reimplement Util.copyReader() with IOUtils.copyLarge()
+ Reimplement Util.copyStream() with IOUtils.copyLarge()
+ Reimplement Util.copyStream() with IOUtils.copyLarge()
+ Deprecate Util.copyReader(Reader, Writer) in favor of IOUtils
.copyLarge(Reader, Writer)
* Changes
+ Bump org.apache.commons:commons-parent from 85 to 97 #371,
[#388], #389
+ Bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0
+ Bump commons-io:commons-io from 2.20.0 to 2.21.0
+ Bump Util.DEFAULT_COPY_BUFFER_SIZE from 1 KiB to 8 KiB
* Mon Jun 22 2026 fstrba@suse.com
- Upgrade to 3.12.0
* New features
+ Add org.apache.commons.net.nntp.Article#getChild()
+ Add org.apache.commons.net.nntp.Article#getNext()
+ Add private SubnetAddressStringIterable and private
SubnetAddressStringIterator to implement
SubnetInfo.iterableAddressStrings() and
SubnetInfo.streamAddressStrings() #298
+ Add SubnetInfo.iterableAddressStrings()
+ Add SubnetInfo.streamAddressStrings()
+ Add FTPCmd.OPTS
+ Add FTP.opts(String, String)
+ Add FTP.opts(String...)
+ Add FTP.setControlEncoding(Charset)
+ Add --OPTS to FTPClientExample
+ NET-727: Add accessing options map for TFTP request packet and
allow using 'blksize' option #331
+ Add org.apache.commons.net.util.ListenerList.isEmpty()
+ Add org.apache.commons.net.ftp.FTPClient
.getSystemTypeOverride()
+ Add generics to ListenerList
+ Add module-info.class in the JAR file instead of an
Automatic-Module-Name in MANIFEST.MF
+ Fixed Bugs
+ Increase message limit in IMAPReply.TAGGED_RESPONSE from 80 to
500 characters
+ Increase message limit in IMAPReply.UNTAGGED_RESPONSE from 160
to 500 characters
+ Remove InvalidKeySpecException from AuthenticatingIMAPClient
.auth(AUTH_METHOD, String, String) never throws, it's not
thrown
+ Remove InvalidKeySpecException from AuthenticatingIMAPClient
.authenticate(AUTH_METHOD, String, String) never throws, it's
not thrown
+ Remove InvalidKeySpecException from ExtendedPOP3Client
.auth(AUTH_METHOD, String, String) never throws, it's not
thrown
+ Remove InvalidKeySpecException from
org.apache.commons.net.smtp.AuthenticatingSMTPClient
.auth(AUTH_METHOD, String, String) never throws, it's not
thrown
+ Fix SpotBugs RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE in
SSLSocketUtils
+ Fix PMD UnnecessaryFullyQualifiedName
+ Fix PMD UnusedFormalParameter
+ Fix PMD AvoidBranchingStatementAsLastInLoop in org.apache
.commons.net.bsd.RCommandClient
+ Fix PMD UselessOverridingMethod in org.apache.commons.net
.telnet.TelnetClient
+ Fix PMD UnnecessaryModifier
+ Deprecate MLSxEntryParser default constructor in favor of
MLSxEntryParser.getInstance()
+ Deprecate direct access to org.apache.commons.net.nntp.Article
.kid and next fields
+ Fix SpotBugs CT_CONSTRUCTOR_THROW in Base64 by implementing
finalize() as a noop to avoid finalizer attacks
+ Add missing Javadoc to ListenerList
+ Add missing Javadoc to SubnetUtils
+ Deprecate PrintCommandListeners.PrintCommandListeners()
+ Deprecate NtpUtils.NtpUtils()
+ Deprecate FTPFileFilters.FTPFileFilters()
+ Avoid multiple possible NullPointerException in SocketClient
.verifyRemote(Socket)
+ PrintCommandListener.protocolReplyReceived(ProtocolCommandEvent)
doesn't always use an end-of-line
+ FTPClientExample uses the wrong FTP system type to parse file
lines
+ Base64 does not call super.finalize()
+ TFTPServer does not call super.finalize()
+ KeyManagerUtils.loadStore(String, File, String) shouldn't
ignore an IOException closing a keystore stream; use
try-with-resources
+ NNTPClient.readNewsgroupListing() can use an ArrayList instead
of a Vector
+ Deprecate org.apache.commons.net.util.Charsets
+ Performance: NTFTPEntryParser.parseFTPEntry(String) doesn't
need to parse timestamps if there is no name
+ Improve error handling in org.apache.commons.net.ftp.parser
.DefaultFTPFileEntryParserFactory
.createFileEntryParser(String, FTPClientConfig)
+ Fail-fast in org.apache.commons.net.PrintCommandListener
.PrintCommandListener(PrintWriter, boolean, char, boolean) if
the PrintWriter is null
+ Avoid NullPointerException in org.apache.commons.net
.PrintCommandListener.protocolCommandSent(ProtocolCommandEvent)
+ Avoid NullPointerException in org.apache.commons.net
.PrintCommandListener.protocolReplyReceived(ProtocolCommandEvent)
* Changes
+ Bump org.apache.commons:commons-parent from 70 to 85 #261,
[#278], #280, #285, #298, #293, #300, #345
+ Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.18.0
[#268], #273, #281, #354
+ Bump commons-io:commons-io from 2.16.1 to 2.20.0 #286, #308
+ Bump org.apache.commons:commons-collections4 from 4.5.0-M2 to
4.5.0 #314
+ Bump org.apache.ftpserver:ftpserver-core from 1.2.0 to 1.2.1
* Mon Jun 22 2026 fstrba@suse.com
- Upgrade to 3.11.1
* Fixed Bugs
+ Allow longer data in pattern IMAPReply.UNTAGGED_RESPONSE
+ Fix Reproducible Builds issues #259
* Mon Jun 22 2026 fstrba@suse.com
- Upgrade to 3.11.0
* New features
+ NET-726: Add protected getters to FTPSClient #204
+ Add SubnetUtils.toString()
+ Add Maven property project.build.outputTimestamp for build
reproducibility
+ Add FTP.DEFLATE_TRANSFER_MODE to support the "deflate"
compression format in FTPClient.setFileTransferMode(int)
+ Add org.apache.commons.net.SocketClient.checkOpenOutputStream()
* Fixed Bugs
+ Precompile regular expression in UnixFTPEntryParser
.preParse(List<String>)
+ Guard against polynomial regular expression used on
uncontrolled data in VMSVersioningFTPEntryParser.REGEX
+ Guard against polynomial regular expression used on
uncontrolled data in IMAPReply.TAGGED_RESPONSE
+ Guard against polynomial regular expression used on
uncontrolled data in IMAPReply.UNTAGGED_RESPONSE
+ NET-730: Cannot connect to FTP server with HTTP proxy
+ Base 64 Encoding with URL and Filename Safe Alphabet should
not chunk per RFC 4648
+ Deprecate org.apache.commons.net.util.Charsets.Charsets() for
removal
+ Deprecate org.apache.commons.net.util.TrustManagerUtils
.TrustManagerUtils() for removal
* Changes
+ Bump commons-parent from 62 to 70 #238
+ Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.2.0,
[#221]
+ Bump commons-lang3 from 3.13.0 to 3.14.0
+ Bump commons-io from 2.15.0 to 2.16.1 #236, #240
* Mon Jun 22 2026 fstrba@suse.com
- Upgrade to 3.10.0
* New features
+ Add and use DatagramSocketClient.setDefaultTimeout(Duration)
and deprecate DatagramSocketClient.setDefaultTimeout(int)
+ Add and use TFTP.DEFAULT_TIMEOUT_DURATION and deprecate
org.apache.commons.net.tftp.TFTP.DEFAULT_TIMEOUT
+ Add and use DatagramSocketClient#getSoTimeoutDuration()
+ Add and use DatagramSocketClient#setSoTimeout(Duration)
+ Add and use DatagramSocketClient.checkOpen()
+ Add TelnetClient.sendAYT(Duration)
+ TFTPServer implements AutoCloseable
+ DatagramSocketClient implements AutoCloseable
+ Add IMAP package tests, include junit-jupiter-params artifact
[#166]
+ Add Base64 missing tests and documentation fixes #161
+ Add FTPFile tests and fix Javadoc typos #162
+ Add IMAPReply tests and documentation fixes #165
* Fixed Bugs
+ NET-650: Delegate host resolution to Socket.connect() #138
+ Fixes many grammar issues and typos in JavaDoc and code
comments #141
+ Remove redundant (null) initializations and other clean ups
[#155]
+ TFTPServer.setMaxTimeoutRetries() now throws
IllegalArgumentException instead of RuntimeException
+ TFTPServer.setSocketTimeout() now throws
IllegalArgumentException instead of RuntimeException
+ FTPCommand.checkArray() now throws IllegalStateException
instead of RuntimeException
+ org.apache.commons.net.nntp.Threader now throws
IllegalStateException instead of RuntimeException
+ POP3Command static initializer now throws
IllegalStateException instead of RuntimeException
+ SMTPCommand static initializer now throws
IllegalStateException instead of RuntimeException
+ SubnetUtils.SubnetInfo.getPreviousAddress() now throws
IllegalStateException instead of RuntimeException
+ IMAPExportMbox.MboxListener.chunkReceived(IMAP) now throws
UncheckedIOException instead of RuntimeException
+ IMAPUtils.imapLogin(URI, int, ProtocolCommandListener) now
throws IOException instead of RuntimeException while
maintaining method signature source compatibility
+ [StepSecurity] ci: Harden GitHub Actions #156
+ NET-722: Javadoc for FtpClient
.setControlKeepAliveReplyTimeout(Duration) says timeout is in
milliseconds
+ Change class org.apache.commons.net.ftp.parser
.MVSFTPEntryParser to support more datasets #182
+ Bulletproof TFTPServerPathTest #173
+ Deprecate org.apache.commons.net.util.Base64 in favor of
java.util.Base64
+ Replace use of org.apache.commons.net.util.Base64 with
java.util.Base64 in org.apache.commons.net.ftp
+ Replace use of org.apache.commons.net.util.Base64 with
java.util.Base64 in org.apache.commons.net.imap
+ Replace use of org.apache.commons.net.util.Base64 with
java.util.Base64 in org.apache.commons.net.pop3
+ Replace use of org.apache.commons.net.util.Base64 with
java.util.Base64 in org.apache.commons.net.smtp
* Changes
+ Bump commons-parent from 54 to 62 #132, #137, #153
+ Bump commons-io from 2.11.0 to 2.14.0
+ Bump commons-lang3 from 3.12.0 to 3.13.0
* Wed Oct 02 2024 fstrba@suse.com
- Spec file cleanup
* Mon Dec 05 2022 fridrich.strba@bluewin.ch
- Upgrade to 3.9.0 (Security fixes)
* Changes in 3.9.0
+ Use yyyy instead of YYYY in SimpleDateFormat #97.
Fixes NET-708.
+ Prevent serialization of the 4 classes that implement
Serializable. It is not useful and is unlikely to work
properly.
+ Use Math.min and Math.max method instead of manual
calculations. #104.
+ Add FTP option to toggle use of return host like CURL.
Fixes NET-711, bsc#1206018, CVE-2021-37533.
+ FTPSClient execPROT removes proxy settings #90. Fixes NET-642.
+ JUnit5 assertThrows SimpleSMTPHeaderTestCase #121.
+ JUnit5 assertThrows TestTimeInfo #120.
+ Simplify conditions avoiding extra operations #88.
+ Remove reflection from SSLSocketUtils.
+ Process files with spaces in name for OS400 #95.
Fixes NET-707.
+ [FTP] Add FTPClient.mdtmInstant(String).
+ [FTP] Add MLSxEntryParser.parseGmtInstant(String).
+ [FTP] Add FTPClient.getControlKeepAliveReplyTimeoutDuration().
+ [FTP] Add FTPClient.setControlKeepAliveReplyTimeout(Duration).
+ [FTP] Add FTPClient.getControlKeepAliveTimeoutDuration().
+ [FTP] Add FTPClient.setControlKeepAliveTimeout(Duration).
+ [FTP] Add FTPClient.getDataTimeout().
+ [FTP] Add FTPClient.setDataTimeout(Duration).
+ [FTP] Add FTPFile.getTimestampInstant().
* Changes in 3.8.0
+ Add and use NetConstants.
+ Add and use SocketClient.applySocketAttributes().
+ [FTP] Add FTPClient.hasFeature(FTPCmd).
+ [FTP] Add FTPClient.mdtmCalendar(String).
+ [IMAP] Fix concurrent counting of chunks in IMAPExportMbox.
+ Fix possible if rare NPEs in tests.
+ Update SocketClient default connect timeout from ∞ to 60
seconds #51. Fixes NET-685.
+ Apply SocketClient timeout after connection but before SSL
negotiation. Fixes NET-695.
+ Minor Improvements #71, #72.
* Changes in 3.7.2
+ Host name is not set on the SSLSocket causing
isEndpointCheckingEnabled to fail. Fixes NET-689.
+ Fix possible socket and input stream leak on socket exception
in org.apache.commons.net.ftp.FTPClient._retrieveFile(String,
String, OutputStream).
+ Performance issue when using the FTPClient to retrieve
files #65. Fixes NET-690.
+ Improve Javadoc for IMAPSClient #68. Fixes NET-691.
* Changes in 3.7.1
+ [FTPS] javax.net.ssl.SSLException: Unsupported or unrecognized
SSL message, #59. Fixes NET-687.
* Changes in 3.7
+ IMAPClient.APPEND does not always calculate the correct
length. Fixes NET-673.
+ ALLO FTP Command for files >2GB. Fixes NET-646.
+ IMAPClient could simplify using empty arguments. Fixes
NET-615.
+ IMAP fails to quote/encode mailbox names. Fixes NET-614.
+ NPE when closing telnet stream. Fixes NET-643.
+ Add Automatic-Module-Name MANIFEST entry for Java 9
compatibility. Fixes NET-648.
+ SubnetUtils.SubnetInfo.isInRange("0.0.0.0") returns true for
CIDR/31, 32. Fixes NET-641.
+ Telnet subnegotiations hard-limited to 512 bytes - allow
override. Fixes NET-638.
+ MVSFTPEntryParser.preParse - MVS, z/OS - allow for merged
Ext/Used fields. Fixes NET-639.
+ examples should be in org.apache.commons.net subpackage. Fixes
NET-636.
+ Add SIZE command support. Fixes NET-634.
+ Add POP3ExportMbox example code
+ Add XOAUTH2 to IMAP and SMTP. Fixes NET-633.
+ FTPHTTPClient - support for encoding other than UTF-8. Fixes
NET-632.
+ Bug in MVSFTPEntryParser.parseUnixList (FindBugs). Fixes
NET-631.
+ Error when using org.apache.commons.net.ftp.FTPClient
setControlKeepAliveTimeout. Fixes NET-584.
+ SubnetUtils#SubnetUtils - improved comment. Fixes NET-626.
+ SubnetUtils - improve construction. Fixes NET-625.
+ SubnetInfo#getCidrSignature - improve functions. Fixes
NET-624.
+ SubnetInfo#toCidrNotation: A wrong format subnet mask is
allowed. Fixes NET-624.
+ SubnetUtils - fixed spelling errors. Fixes NET-623.
+ SubnetUtils#SubnetInfo - remove unnecessary accessors. Fixes
NET-621.
+ SubnetUtils - improve binary netmask algorithm. Fixes NET-619.
+ System Information Leak in ftp parser. Fixes NET-613.
+ VMS ftp LIST parsing results in empty file list. Fixes
NET-678.
+ FTPListParseEngine should support listing via MLSD. Fixes
NET-674.
+ NullPointerException when FTPClient remote verification fails.
Fixes NET-663.
+ 227 Entering Passive Mode. Fixes NET-649.
+ Next and Previous IP Address in SubnetUtils.SubnetInfo. Fixes
NET-660.
+ MVSFTPEntryParser doesn't support Record Formats of U. Fixes
NET-682.
* Fri Mar 18 2022 fstrba@suse.com
- Build with source/target levels 8
* Thu Jan 09 2020 fstrba@suse.com
- Remove reference to the parent pom, since we don't build with
maven
* Sat Mar 02 2019 fstrba@suse.com
- Rename to apache-commons-net
- Upgrade to version 3.6
- Generate and customize the ant build file
Version: 3.6-bp152.1.16
* Thu Jan 09 2020 Fridrich Strba <fstrba@suse.com>
- Remove reference to the parent pom, since we don't build with
maven
* Sat Mar 02 2019 Fridrich Strba <fstrba@suse.com>
- Rename to apache-commons-net
- Upgrade to version 3.6
- Generate and customize the ant build file
* Fri Sep 08 2017 fstrba@suse.com
- Specify java source and target 1.6 in order to allow building
with jdk9
* Fri Jun 09 2017 tchvatal@suse.com
- Require java 1.6 or newer to build
* Fri May 19 2017 tchvatal@suse.com
- Fix build with new javapackages-tools
* Wed Mar 18 2015 tchvatal@suse.com
- Fix build with new javapackages-tools
* Tue Jul 08 2014 tchvatal@suse.com
- Fix sle build properly.
* Wed Apr 30 2014 darin@darins.net
- Update project_xml patch for strict fuzz
- Suppress bytecode check on SLES
- remove java-javadoc build requirement
* Mon Sep 09 2013 tchvatal@suse.com
- Move from jpackage-utils to javapackage-tools
* Fri Sep 06 2013 mvyskocil@suse.com
- use add_maven_depmap
* Thu Nov 29 2012 mvyskocil@suse.com
- buildrequire saxon8 (bnc#780666)
- remove self-obsolete commons-net
* Wed Nov 28 2012 mvyskocil@suse.com
- require saxon9 for build
- don't build with java5 target
* Tue Jun 26 2012 mvyskocil@suse.cz
- remove openjdk6 dependency
* Mon Mar 12 2012 mvyskocil@suse.cz
- fix bnc#749895 - ant FTP action fails on the date with leap year
* Tue Apr 28 2009 mvyskocil@suse.cz
- Initial SUSE packaging (version 1.4.1 from jpp5)