              Apache Commons Net 3.10.0
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.10.0.

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois.


Maintenance and bug fix release (Java 8).

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===============================

New features:
o           Add and use DatagramSocketClient.setDefaultTimeout(Duration) and deprecate DatagramSocketClient.setDefaultTimeout(int). Thanks to Gary Gregory.
o           Add and use TFTP.DEFAULT_TIMEOUT_DURATION and deprecate org.apache.commons.net.tftp.TFTP.DEFAULT_TIMEOUT. Thanks to Gary Gregory.
o           Add and use DatagramSocketClient#getSoTimeoutDuration(). Thanks to Gary Gregory.
o           Add and use DatagramSocketClient#setSoTimeout(Duration). Thanks to Gary Gregory.
o           Add and use DatagramSocketClient.checkOpen(). Thanks to Gary Gregory.
o           Add TelnetClient.sendAYT(Duration). Thanks to Gary Gregory.
o           TFTPServer implements AutoCloseable. Thanks to Gary Gregory.
o           DatagramSocketClient implements AutoCloseable. Thanks to Gary Gregory.
o           Add IMAP package tests, include junit-jupiter-params artifact #166. Thanks to KuKa, Gary Gregory.
o           Add Base64 missing tests and documentation fixes #161. Thanks to KuKa, Bruno P. Kinoshita.
o           Add FTPFile tests and fix Javadoc typos #162. Thanks to KuKa, Gary Gregory.
o           Add IMAPReply tests and documentation fixes #165. Thanks to KuKa, Gary Gregory, Bruno P. Kinoshita.

Fixed Bugs:
o NET-650:  Delegate host resolution to Socket.connect() #138. Thanks to Matthew McGillis, exceptionfactory, sebbASF.
o           Fixes many grammar issues and typos in JavaDoc and code comments #141. Thanks to Martin Wiesner, Gary Gregory, sebbASF.
o           Remove redundant (null) initializations and other clean ups #155. Thanks to Martin Wiesner, Gary Gregory.
o           TFTPServer.setMaxTimeoutRetries() now throws IllegalArgumentException instead of RuntimeException. Thanks to Gary Gregory.
o           TFTPServer.setSocketTimeout() now throws IllegalArgumentException instead of RuntimeException. Thanks to Gary Gregory.
o           FTPCommand.checkArray() now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory.
o           org.apache.commons.net.nntp.Threader now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory.
o           POP3Command static initializer now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory.
o           SMTPCommand static initializer now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory.
o           SubnetUtils.SubnetInfo.getPreviousAddress() now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory.
o           IMAPExportMbox.MboxListener.chunkReceived(IMAP) now throws UncheckedIOException instead of RuntimeException. Thanks to Gary Gregory.
o           IMAPUtils.imapLogin(URI, int, ProtocolCommandListener) now throws IOException instead of RuntimeException while maintaining method signature source compatibility. Thanks to Gary Gregory.
o           [StepSecurity] ci: Harden GitHub Actions #156. Thanks to step-security-bot, Gary Gregory.
o NET-722:  Javadoc for FtpClient.setControlKeepAliveReplyTimeout(Duration) says timeout is in milliseconds. Thanks to David Costanzo, Gary Gregory.
o           Change class org.apache.commons.net.ftp.parser.MVSFTPEntryParser to support more datasets #182. Thanks to haegar9766, Gary Gregory.
o           Bulletproof TFTPServerPathTest #173. Thanks to Jakub Kupczyk, Bruno P. Kinoshita, Gary Gregory.
o           Deprecate org.apache.commons.net.util.Base64 in favor of java.util.Base64. Thanks to Gary Gregory.
o           Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.ftp. Thanks to Gary Gregory.
o           Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.imap. Thanks to Gary Gregory.
o           Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.pop3. Thanks to Gary Gregory.
o           Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.smtp. Thanks to Gary Gregory.

Changes:
o           Bump commons-parent from 54 to 62 #132, #137, #153. Thanks to Dependabot.
o           Bump commons-io from 2.11.0 to 2.14.0. Thanks to Gary Gregory.
o           Bump commons-lang3 from 3.12.0 to 3.13.0. Thanks to Gary Gregory.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net team

-----------------------------------------------------------------------------

              Apache Commons Net 3.9.0
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.9.0.

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois


Maintenance and bug fix release (Java 8).

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===============================

New features:
o           [FTP] Add FTPClient.mdtmInstant(String). Thanks to Gary Gregory.
o           [FTP] Add MLSxEntryParser.parseGmtInstant(String). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.getControlKeepAliveReplyTimeoutDuration(). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.setControlKeepAliveReplyTimeout(Duration). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.getControlKeepAliveTimeoutDuration(). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.setControlKeepAliveTimeout(Duration). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.getDataTimeout(). Thanks to Gary Gregory.
o           [FTP] Add FTPClient.setDataTimeout(Duration). Thanks to Gary Gregory.
o           [FTP] Add FTPFile.getTimestampInstant(). Thanks to Gary Gregory.
o           Add github/codeql-action. Thanks to Gary Gregory.

Fixed Bugs:
o NET-708:  Use yyyy instead of YYYY in SimpleDateFormat #97. Thanks to XenoAmess.
o           Prevent serialization of the 4 classes that implement Serializable.
            It is not useful and is unlikely to work properly.
o           Use Math.min and Math.max method instead of manual calculations. #104. Thanks to Arturo Bernal.
o NET-711:  Add FTP option to toggle use of return host like CURL. Thanks to Jochen Wiedmann, Gary Gregory.
o NET-642:  FTPSClient execPROT removes proxy settings #90. Thanks to Yani Mihaylov, Gary Gregory.
o           JUnit5 assertThrows SimpleSMTPHeaderTestCase #121. Thanks to John Patrick, Gary Gregory.
o           JUnit5 assertThrows TestTimeInfo #120. Thanks to John Patrick, Gary Gregory.
o           Simplify conditions avoiding extra operations #88. Thanks to Arturo Bernal, Gary Gregory.
o           Remove reflection from SSLSocketUtils. Thanks to Gary Gregory.
o NET-707:  Process files with spaces in name for OS400 #95. Thanks to Dmytro Sylaiev, sebbASF, Gary Gregory.

Changes:
o           Bump actions/cache from 2.1.6 to 3.0.11 #93, #102, #115, #116. Thanks to Dependabot, Gary Gregory.
o           Bump actions/checkout from 2.3.4 to 3.1.0 #89, #91, #100, #114. Thanks to Dependabot, Gary Gregory.
o           Bump actions/upload-artifact from 3.1.0 to 3.1.1 #124. Thanks to Dependabot.
o           Bump junit from 4.13.1 to 5.9.1 Vintage #74. Thanks to Dependabot.
o           Bump commons-io from 2.6 to 2.11.0 #60. Thanks to Dependabot, Gary Gregory.
o           Bump commons.jacoco.version from 0.8.6 to 0.8.8. Thanks to Gary Gregory.
o           Bump commons.japicmp.version from 0.14.3 to 0.17.1. Thanks to Gary Gregory.
o           Bump commons.surefire.version from 2.22.2 to 3.0.0-M7. Thanks to Gary Gregory.
o           Bump ftpserver-core from 1.1.1 to 1.2.0 #96. Thanks to XenoAmess, Gary Gregory.
o           Bump exec-maven-plugin from 3.0.0 to 3.1.0 #109. Thanks to Dependabot.
o           Bump commons-parent from 53 to 54 #112. Thanks to Dependabot.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net team

-----------------------------------------------------------------------------

              Apache Commons Net 3.8.0
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.8.0.

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois


Maintenance and bug fix release (Java 7).

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===============================

New features:
o           Add and use NetConstants. Thanks to Arturo Bernal, Gary Gregory.
o           Add and use SocketClient.applySocketAttributes(). Thanks to Gary Gregory.
o           Add FTPClient.hasFeature(FTPCmd). Thanks to Gary Gregory.
o           Add FTPClient.mdtmCalendar(String). Thanks to Gary Gregory.

Fixed Bugs:
o           Fix concurrent counting of chunks in IMAPExportMbox. Thanks to Gary Gregory.
o           Fix possible if rare NPEs in tests. Thanks to Gary Gregory.

Changes:
o           Bump actions/checkout from v2.3.3 to v2.3.4 #69. Thanks to Dependabot.
o NET-685:  Update SocketClient default connect timeout from ? to 60 seconds #51. Thanks to Simo385.
o NET-695:  Apply SocketClient timeout after connection but before SSL negotiation. Thanks to Gary Gregory, Possibly Cott.
o           Minor Improvements #71, #72. Thanks to Arturo Bernal, Gary Gregory.
o           Bump actions/cache from v2 to v2.1.4 #73. Thanks to Dependabot.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net team

-----------------------------------------------------------------------------

              Apache Commons Net 3.7.2
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.7.2.

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois


Maintenance and bug fix release.

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===============================

Fixed Bugs:
o NET-689:  Host name is not set on the SSLSocket causing isEndpointCheckingEnabled to fail. Thanks to Charlie, Gary Gregory.
o           Fix possible socket and input stream leak on socket exception in org.apache.commons.net.ftp.FTPClient._retrieveFile(String, String, OutputStream). Thanks to Dependabot.
o NET-690:  Performance issue when using the FTPClient to retrieve files #65. Thanks to payal-meh, Gary Gregory.

Changes:
o NET-691:  Improve Javadoc for IMAPSClient #68. Thanks to Lewis John McGibbney.
o           Bump actions/setup-java from v1.4.2 to v1.4.3 #62. Thanks to Dependabot.
o           Bump junit from 4.13 to 4.13.1 #67. Thanks to Dependabot.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net team

-----------------------------------------------------------------------------

              Apache Commons Net 3.7.1
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.7.1

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois


Maintenance and bug fix release.

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===============================

Fixed Bugs:
o NET-687:  [FTPS] javax.net.ssl.SSLException: Unsupported or unrecognized SSL message, #59. Thanks to Gary Gregory, Mikael, j-verse.
o NET-673:  Update actions/checkout from v2.3.1 to v2.3.3 #56, #61. Thanks to Dependabot.
o NET-673:  Update actions/setup-java from v1.4.0 to v1.4.2 #58. Thanks to Dependabot.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net team

-----------------------------------------------------------------------------

              Apache Commons Net 3.7
                  RELEASE NOTES

The Apache Commons Net team is pleased to announce the release of Apache Commons Net 3.7

Apache Commons Net library contains a collection of network utilities and protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois

This is mainly a bug-fix release. See further details below.
 This release requires a minimum of Java 7.
 This release is binary compatible with previous releases.
However it is not source compatible with releases before 3.4, as some methods were added to the interface NtpV3Packet in 3.4
 Note that the examples packages were moved under org/apache/commons/net/examples.
The examples are not part of the public API, so this does not affect compatibility.

Changes in this version include:

New features:
o NET-646:  ALLO FTP Command for files >2GB
o NET-615:  IMAPClient could simplify using empty arguments
o NET-614:  IMAP fails to quote/encode mailbox names
o NET-648:  Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility
o NET-638:  Telnet subnegotiations hard-limited to 512 bytes - allow override Thanks to Daniel Leong.
o NET-634:  Add SIZE command support Thanks to Mauro Molinari.
o           Add POP3ExportMbox example code
o NET-674:  FTPListParseEngine should support listing via MLSD Thanks to Chris Steingen.
o NET-660:  Next and Previous IP Address in SubnetUtils.SubnetInfo Thanks to Nagabhushan S N.

Fixed Bugs:
o NET-673:  IMAPClient.APPEND does not always calculate the correct length
o NET-643:  NPE when closing telnet stream Thanks to Vasily.
o NET-641:  SubnetUtils.SubnetInfo.isInRange("0.0.0.0") returns true for CIDR/31, 32 Thanks to pin_ptr.
o NET-639:  MVSFTPEntryParser.preParse - MVS, z/OS - allow for merged Ext/Used fields Thanks to Alexander Eller.
o NET-636:  examples should be in org.apache.commons.net subpackage
o NET-631:  Bug in MVSFTPEntryParser.parseUnixList (FindBugs)
o NET-584:  Error when using org.apache.commons.net.ftp.FTPClient setControlKeepAliveTimeout Thanks to Kazantsev Andrey Sergeevich/Nick Manley.
o NET-624:  SubnetInfo#toCidrNotation: A wrong format subnet mask is allowed Thanks to Makoto Sakaguchi.
o NET-623:  SubnetUtils - fixed spelling errors Thanks to Makoto Sakaguchi.
o NET-613:  System Information Leak in ftp parser Thanks to Donald Kwakkel.
o NET-663:  NullPointerException when FTPClient remote verification fails Thanks to Max Shenfield.
o NET-649:  227 Entering Passive Mode Thanks to Filipe Bojikian Rissi.
o NET-682:  MVSFTPEntryParser doesn't support Record Formats of U Thanks to richard.

Changes:
o NET-633:  Add XOAUTH2 to IMAP and SMTP Thanks to n0rm1e.
o NET-632:  FTPHTTPClient - support for encoding other than UTF-8 Thanks to prakapenka.
o NET-626:  SubnetUtils#SubnetUtils - improved comment Thanks to Makoto Sakaguchi.
o NET-625:  SubnetUtils - improve construction
o NET-624:  SubnetInfo#getCidrSignature - improve functions Thanks to Makoto Sakaguchi.
o NET-621:  SubnetUtils#SubnetInfo - remove unnecessary accessors Thanks to Makoto Sakaguchi.
o NET-619:  SubnetUtils - improve binary netmask algorithm Thanks to Makoto Sakaguchi.
o NET-678:  VMS ftp LIST parsing results in empty file list Thanks to Roman Grigoriadi.


Historical list of changes: https://commons.apache.org/proper/commons-net/changes-report.html

For complete information on Apache Commons Net, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi
