Apache Commons Net Release Notes
Release History
Version |
Date |
Description |
3.11.1 |
2024-06-07 |
This is a feature and maintenance release. Java 8 or later is required. |
3.11.0 |
2024-05-28 |
This is a feature and maintenance release. Java 8 or later is required. |
3.10.0 |
2023-10-01 |
This is a feature and maintenance release. Java 8 or later is required. |
3.9.0 |
2022-11-26 |
This is a feature and maintenance release. Java 8 or later is required. |
3.8.0 |
2021-02-13 |
This is a feature and maintenance release. Java 7 or later is required. |
3.7.2 |
2020-10-14 |
This is a feature and maintenance release. Java 7 or later is required. |
3.7.1 |
2020-09-30 |
This is a feature and maintenance release. Java 7 or later is required. |
3.7 |
2020-08-05 |
This is mainly a bug-fix release (Java 7 or above). 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. |
3.6 |
2017-02-15 |
This is mainly a bug-fix release (Java 6 or above). See further details below. 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 The code now requires a minimum of Java 6. Changes to functionality: * The FTP client now performs stricter checks on non-multiline command replies. The 3 digit code must now be followed by a space and some text, as per RFC 959. To suppress this stricter checking, call FTP#setStrictReplyParsing(false). This should not be needed with a well-behaved server. Note also that if strict checking is disabled, some functions may unconditionally strip the next character after the code, without checking it if is a space. * The FTP client mlistFile() method now checks for a leading space before removing it. If the space is missing, a MalformedServerReplyException is thrown. This will only happen if the FTP server is not compliant with RFC 3659. Notable additions: * The POP3Mail examples can now get password from console, stdin or an environment variable. * TFTPClient code has been rewritten to improve error handling and retries. |
3.5 |
2016-05-05 |
This is mainly a bug-fix release (Java 6 or above). See further details below. 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 The code now requires a minimum of Java 6. Notable additions: The IMAP examples can now get password from console, stdin or an environment variable. |
3.4 |
2015-11-26 |
This is mainly a bug-fix release. See further details below. This release is binary compatible with previous releases. However it is not source compatible, as some methods have been added to the interface NtpV3Packet Notable additions: IMAPExportMbox (example app) allows IMAP folders to be exported into an mbox file. This is the inverse of the IMAPImportMbox example added previously |
3.3 |
2013-06-11 |
This is mainly a bug-fix release. See further details below. |
3.2 |
2012-12-03 |
This release fixes bugs and adds some new functionality (see below). It is binary compatible with previous releases. Note that Clirr shows that two public methods have been removed (NET-485). These are not used within NET. |
3.1 |
Feb 20, 2012 |
This release fixes a few bugs and adds some new functionality (see below). It is binary compatible with previous releases |
3.0.1 |
June 6, 2011 |
This is a bug-fix release. |
3.0 |
May 16, 2011 |
This release fixes many bugs (see below), and adds new functionality: - basic support for IMAP and IMAPS - support for SMTPS and POP3S FTP changes: - default for lenient future dates is now true, which fixes short date parsing where host clock is ahead of client clock - no longer parses every response line twice - OS auto-detection can be overriden by defining the property 'org.apache.commons.net.ftp.systemType'; - or by creating a properties file '/systemType.properties' which provides a mapping from getSystemType() to parser name See the Javadoc for FTPClient.initiateListParsing(String parserKey, String pathname). - SASL, PLAIN and CRAM-MD5 authentication added - added control channel keep-alive for use with misbehaving routers, see FTPClient.setControlKeepAliveTimeout(long controlIdle) NNTP changes: - reworked to use long for article numbers - added streaming equivalents for the array methods Added TrustManagerUtils and KeyManagerUtils classes to simplify setting up trust and key namagers. KeyManagerUtils can be used to provide client certificates. This release is binary-compatible with 2.2, but there are some minor changes to source compatibility: - telnet.TelnetClient#addOptionHandler(TelnetOptionHandler) now additionally throws IOException - telnet.TelnetClient#deleteOptionHandler() now additionally throws IOException - ftp.FTPSClient ctors no longer throw NoSuchAlgorithmException - Redundant CODE_nnn definitions have been removed from FTPReply, SMTPReply and NNTPReply classes - Unused String constants KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM removed from FTPSClient All users are recommended to upgrade. |
2.2 |
Nov 22, 2010 |
This is primarily a maintenance release, but it also includes new features and enhancements. Users of version 2.0 are encouraged to upgrade to 2.2, as this release includes some important bug fixes. See the detailed list of changes below for full description of all bug fixes and enhancements. |
2.1 |
|
Not released |
2.0 |
October 20, 2008 |
Java 5.0 release |
1.4.1 |
December 3, 2005 |
fix release to restore jdk 1.3 compatability |
1.4.0 |
May 7, 2005 |
Some additions and enhancements |
1.3.0 |
December 15, 2004 |
many fixes and enhancements |
1.3.0-dev |
July 28, 2004 |
regression fix |
1.2.2 |
June 25, 2004 |
fix release |
1.2.1 |
May 6, 2004 |
fix release |
1.2.0 |
April 30, 2004 |
autodetection of system for listings |
1.1.0 |
October 23, 2003 |
many enhancements and bug fixes |
1.0.0 |
February 23, 2003 |
first jakarta-commons release |
Release 3.11.1 – 2024-06-07
Type |
Changes |
By |
|
Allow longer data in pattern IMAPReply.UNTAGGED_RESPONSE. Thanks to Stuart Maclean, Gary Gregory. |
ggregory |
|
Fix Reproducible Builds issues #259. Thanks to Hervé Boutemy, Gary Gregory. |
ggregory |
Release 3.11.0 – 2024-05-28
Type |
Changes |
By |
|
Precompile regular expression in UnixFTPEntryParser.preParse(List<String>). Thanks to Gary Gregory. |
ggregory |
|
Guard against polynomial regular expression used on uncontrolled data in VMSVersioningFTPEntryParser.REGEX. Thanks to Gary Gregory. |
ggregory |
|
Guard against polynomial regular expression used on uncontrolled data in IMAPReply.TAGGED_RESPONSE. Thanks to Gary Gregory. |
ggregory |
|
Guard against polynomial regular expression used on uncontrolled data in IMAPReply.UNTAGGED_RESPONSE. Thanks to Gary Gregory. |
ggregory |
|
Cannot connect to FTP server with HTTP proxy. Fixes NET-730. Thanks to Johannes Thalmair, Gary Gregory. |
ggregory |
|
Base 64 Encoding with URL and Filename Safe Alphabet should not chunk per RFC 4648. Thanks to Gary Gregory. |
ggregory |
|
Deprecate org.apache.commons.net.util.Charsets.Charsets() for removal. Thanks to Gary Gregory. |
ggregory |
|
Deprecate org.apache.commons.net.util.TrustManagerUtils.TrustManagerUtils() for removal. Thanks to Gary Gregory. |
ggregory |
|
Add protected getters to FTPSClient #204. Fixes NET-726. Thanks to PJ Fanning, Gary Gregory. |
ggregory |
|
Add SubnetUtils.toString(). Thanks to Gary Gregory. |
ggregory |
|
Add Maven property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory. |
ggregory |
|
Add FTP.DEFLATE_TRANSFER_MODE to support the "deflate" compression format in FTPClient.setFileTransferMode(int). Thanks to Georg Voss, Gary Gregory. |
ggregory |
|
Add org.apache.commons.net.SocketClient.checkOpenOutputStream(). Thanks to Gary Gregory. |
ggregory |
|
Bump commons-parent from 62 to 70 #238. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.2.0, #221. Thanks to Dependabot. |
ggregory |
|
Bump commons-lang3 from 3.13.0 to 3.14.0. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-io from 2.15.0 to 2.16.1 #236, #240. Thanks to Gary Gregory. |
ggregory |
Release 3.10.0 – 2023-10-01
Type |
Changes |
By |
|
Add and use DatagramSocketClient.setDefaultTimeout(Duration) and deprecate DatagramSocketClient.setDefaultTimeout(int). Thanks to Gary Gregory. |
ggregory |
|
Add and use TFTP.DEFAULT_TIMEOUT_DURATION and deprecate org.apache.commons.net.tftp.TFTP.DEFAULT_TIMEOUT. Thanks to Gary Gregory. |
ggregory |
|
Add and use DatagramSocketClient#getSoTimeoutDuration(). Thanks to Gary Gregory. |
ggregory |
|
Add and use DatagramSocketClient#setSoTimeout(Duration). Thanks to Gary Gregory. |
ggregory |
|
Add and use DatagramSocketClient.checkOpen(). Thanks to Gary Gregory. |
ggregory |
|
Add TelnetClient.sendAYT(Duration). Thanks to Gary Gregory. |
ggregory |
|
TFTPServer implements AutoCloseable. Thanks to Gary Gregory. |
ggregory |
|
DatagramSocketClient implements AutoCloseable. Thanks to Gary Gregory. |
ggregory |
|
Add IMAP package tests, include junit-jupiter-params artifact #166. Thanks to KuKa, Gary Gregory. |
ggregory |
|
Add Base64 missing tests and documentation fixes #161. Thanks to KuKa, Bruno P. Kinoshita. |
ggregory |
|
Add FTPFile tests and fix Javadoc typos #162. Thanks to KuKa, Gary Gregory. |
ggregory |
|
Add IMAPReply tests and documentation fixes #165. Thanks to KuKa, Gary Gregory, Bruno P. Kinoshita. |
ggregory |
|
Delegate host resolution to Socket.connect() #138. Fixes NET-650. Thanks to Matthew McGillis, exceptionfactory, sebbASF. |
ggregory |
|
Fixes many grammar issues and typos in JavaDoc and code comments #141. Thanks to Martin Wiesner, Gary Gregory, sebbASF. |
ggregory |
|
Remove redundant (null) initializations and other clean ups #155. Thanks to Martin Wiesner, Gary Gregory. |
ggregory |
|
TFTPServer.setMaxTimeoutRetries() now throws IllegalArgumentException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
TFTPServer.setSocketTimeout() now throws IllegalArgumentException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
FTPCommand.checkArray() now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.net.nntp.Threader now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
POP3Command static initializer now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
SMTPCommand static initializer now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
SubnetUtils.SubnetInfo.getPreviousAddress() now throws IllegalStateException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
IMAPExportMbox.MboxListener.chunkReceived(IMAP) now throws UncheckedIOException instead of RuntimeException. Thanks to Gary Gregory. |
ggregory |
|
IMAPUtils.imapLogin(URI, int, ProtocolCommandListener) now throws IOException instead of RuntimeException while maintaining method signature source compatibility. Thanks to Gary Gregory. |
ggregory |
|
[StepSecurity] ci: Harden GitHub Actions #156. Thanks to step-security-bot, Gary Gregory. |
ggregory |
|
Javadoc for FtpClient.setControlKeepAliveReplyTimeout(Duration) says timeout is in milliseconds. Fixes NET-722. Thanks to David Costanzo, Gary Gregory. |
ggregory |
|
Change class org.apache.commons.net.ftp.parser.MVSFTPEntryParser to support more datasets #182. Thanks to haegar9766, Gary Gregory. |
ggregory |
|
Bulletproof TFTPServerPathTest #173. Thanks to Jakub Kupczyk, Bruno P. Kinoshita, Gary Gregory. |
ggregory |
|
Deprecate org.apache.commons.net.util.Base64 in favor of java.util.Base64. Thanks to Gary Gregory. |
ggregory |
|
Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.ftp. Thanks to Gary Gregory. |
ggregory |
|
Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.imap. Thanks to Gary Gregory. |
ggregory |
|
Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.pop3. Thanks to Gary Gregory. |
ggregory |
|
Replace use of org.apache.commons.net.util.Base64 with java.util.Base64 in org.apache.commons.net.smtp. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-parent from 54 to 62 #132, #137, #153. Thanks to Dependabot. |
ggregory |
|
Bump commons-io from 2.11.0 to 2.15.0. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-lang3 from 3.12.0 to 3.13.0. Thanks to Gary Gregory. |
ggregory |
Release 3.9.0 – 2022-11-26
Type |
Changes |
By |
|
Use yyyy instead of YYYY in SimpleDateFormat #97. Fixes NET-708. Thanks to XenoAmess. |
ggregory |
|
Prevent serialization of the 4 classes that implement Serializable.
It is not useful and is unlikely to work properly. |
sebb |
|
Use Math.min and Math.max method instead of manual calculations. #104. Thanks to Arturo Bernal. |
ggregory |
|
Add FTP option to toggle use of return host like CURL. Fixes NET-711. Thanks to Jochen Wiedmann, Gary Gregory. |
ggregory |
|
FTPSClient execPROT removes proxy settings #90. Fixes NET-642. Thanks to Yani Mihaylov, Gary Gregory. |
ggregory |
|
JUnit5 assertThrows SimpleSMTPHeaderTestCase #121. Thanks to John Patrick, Gary Gregory. |
ggregory |
|
JUnit5 assertThrows TestTimeInfo #120. Thanks to John Patrick, Gary Gregory. |
ggregory |
|
Simplify conditions avoiding extra operations #88. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
|
Remove reflection from SSLSocketUtils. Thanks to Gary Gregory. |
ggregory |
|
Process files with spaces in name for OS400 #95. Fixes NET-707. Thanks to Dmytro Sylaiev, sebbASF, Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.mdtmInstant(String). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add MLSxEntryParser.parseGmtInstant(String). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.getControlKeepAliveReplyTimeoutDuration(). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.setControlKeepAliveReplyTimeout(Duration). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.getControlKeepAliveTimeoutDuration(). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.setControlKeepAliveTimeout(Duration). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.getDataTimeout(). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.setDataTimeout(Duration). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPFile.getTimestampInstant(). Thanks to Gary Gregory. |
ggregory |
|
Add github/codeql-action. Thanks to Gary Gregory. |
ggregory |
|
Bump actions/cache from 2.1.6 to 3.0.11 #93, #102, #115, #116. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump actions/checkout from 2.3.4 to 3.1.0 #89, #91, #100, #114. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump actions/upload-artifact from 3.1.0 to 3.1.1 #124. Thanks to Dependabot. |
ggregory |
|
Bump junit from 4.13.1 to 5.9.1 Vintage #74. Thanks to Dependabot. |
ggregory |
|
Bump commons-io from 2.6 to 2.11.0 #60. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump commons.jacoco.version from 0.8.6 to 0.8.8. Thanks to Gary Gregory. |
ggregory |
|
Bump commons.japicmp.version from 0.14.3 to 0.17.1. Thanks to Gary Gregory. |
ggregory |
|
Bump commons.surefire.version from 2.22.2 to 3.0.0-M7. Thanks to Gary Gregory. |
ggregory |
|
Bump ftpserver-core from 1.1.1 to 1.2.0 #96. Thanks to XenoAmess, Gary Gregory. |
ggregory |
|
Bump exec-maven-plugin from 3.0.0 to 3.1.0 #109. Thanks to Dependabot. |
ggregory |
|
Bump commons-parent from 53 to 54 #112. Thanks to Dependabot. |
ggregory |
Release 3.8.0 – 2021-02-13
Type |
Changes |
By |
|
Add and use NetConstants. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
|
Add and use SocketClient.applySocketAttributes(). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.hasFeature(FTPCmd). Thanks to Gary Gregory. |
ggregory |
|
[FTP] Add FTPClient.mdtmCalendar(String). Thanks to Gary Gregory. |
ggregory |
|
[IMAP] Fix concurrent counting of chunks in IMAPExportMbox. Thanks to Gary Gregory. |
ggregory |
|
Fix possible if rare NPEs in tests. Thanks to Gary Gregory. |
ggregory |
|
Bump actions/checkout from v2.3.3 to v2.3.4 #69. Thanks to Dependabot. |
ggregory |
|
Update SocketClient default connect timeout from ∞ to 60 seconds #51. Fixes NET-685. Thanks to Simo385. |
ggregory |
|
Apply SocketClient timeout after connection but before SSL negotiation. Fixes NET-695. Thanks to Gary Gregory, Possibly Cott. |
ggregory |
|
Minor Improvements #71, #72. Thanks to Arturo Bernal, Gary Gregory. |
ggregory |
|
Bump actions/cache from v2 to v2.1.4 #73. Thanks to Dependabot. |
ggregory |
Release 3.7.2 – 2020-10-14
Type |
Changes |
By |
|
Host name is not set on the SSLSocket causing isEndpointCheckingEnabled to fail. Fixes NET-689. Thanks to Charlie, Gary Gregory. |
ggregory |
|
Fix possible socket and input stream leak on socket exception in
org.apache.commons.net.ftp.FTPClient._retrieveFile(String, String, OutputStream). Thanks to Dependabot. |
ggregory |
|
Performance issue when using the FTPClient to retrieve files #65. Fixes NET-690. Thanks to payal-meh, Gary Gregory. |
ggregory |
|
Improve Javadoc for IMAPSClient #68. Fixes NET-691. Thanks to Lewis John McGibbney. |
ggregory |
|
Bump actions/setup-java from v1.4.2 to v1.4.3 #62. Thanks to Dependabot. |
ggregory |
|
Bump junit from 4.13 to 4.13.1 #67. Thanks to Dependabot. |
ggregory |
Release 3.7.1 – 2020-09-30
Type |
Changes |
By |
|
[FTPS] javax.net.ssl.SSLException: Unsupported or unrecognized SSL message, #59. Fixes NET-687. Thanks to Gary Gregory, Mikael, j-verse. |
ggregory |
|
Update actions/checkout from v2.3.1 to v2.3.3 #56, #61. Thanks to Dependabot. |
ggregory |
Release 3.7 – 2020-08-05
Type |
Changes |
By |
|
IMAPClient.APPEND does not always calculate the correct length. Fixes NET-673. |
sebb |
|
ALLO FTP Command for files >2GB. Fixes NET-646. |
sebb |
|
IMAPClient could simplify using empty arguments. Fixes NET-615. |
sebb |
|
IMAP fails to quote/encode mailbox names. Fixes NET-614. |
sebb |
|
NPE when closing telnet stream. Fixes NET-643. Thanks to Vasily. |
sebb |
|
Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility. Fixes NET-648. |
pschumacher |
|
SubnetUtils.SubnetInfo.isInRange("0.0.0.0") returns true for CIDR/31, 32. Fixes NET-641. Thanks to pin_ptr. |
sebb |
|
Telnet subnegotiations hard-limited to 512 bytes - allow override. Fixes NET-638. Thanks to Daniel Leong. |
sebb |
|
MVSFTPEntryParser.preParse - MVS, z/OS - allow for merged Ext/Used fields. Fixes NET-639. Thanks to Alexander Eller. |
sebb |
|
examples should be in org.apache.commons.net subpackage. Fixes NET-636. |
sebb |
|
Add SIZE command support. Fixes NET-634. Thanks to Mauro Molinari. |
sebb |
|
Add POP3ExportMbox example code |
sebb |
|
Add XOAUTH2 to IMAP and SMTP. Fixes NET-633. Thanks to n0rm1e. |
sebb |
|
FTPHTTPClient - support for encoding other than UTF-8. Fixes NET-632. Thanks to prakapenka. |
sebb |
|
Bug in MVSFTPEntryParser.parseUnixList (FindBugs). Fixes NET-631. |
sebb |
|
Error when using org.apache.commons.net.ftp.FTPClient setControlKeepAliveTimeout. Fixes NET-584. Thanks to Kazantsev Andrey Sergeevich/Nick Manley. |
sebb |
|
SubnetUtils#SubnetUtils - improved comment. Fixes NET-626. Thanks to Makoto Sakaguchi. |
sebb |
|
SubnetUtils - improve construction. Fixes NET-625. |
sebb |
|
SubnetInfo#getCidrSignature - improve functions. Fixes NET-624. Thanks to Makoto Sakaguchi. |
sebb |
|
SubnetInfo#toCidrNotation: A wrong format subnet mask is allowed. Fixes NET-624. Thanks to Makoto Sakaguchi. |
sebb |
|
SubnetUtils - fixed spelling errors. Fixes NET-623. Thanks to Makoto Sakaguchi. |
sebb |
|
SubnetUtils#SubnetInfo - remove unnecessary accessors. Fixes NET-621. Thanks to Makoto Sakaguchi. |
sebb |
|
SubnetUtils - improve binary netmask algorithm. Fixes NET-619. Thanks to Makoto Sakaguchi. |
sebb |
|
System Information Leak in ftp parser. Fixes NET-613. Thanks to Donald Kwakkel. |
sebb |
|
VMS ftp LIST parsing results in empty file list. Fixes NET-678. Thanks to Roman Grigoriadi. |
sebb |
|
FTPListParseEngine should support listing via MLSD. Fixes NET-674. Thanks to Chris Steingen. |
sebb |
|
NullPointerException when FTPClient remote verification fails. Fixes NET-663. Thanks to Max Shenfield. |
sebb |
|
227 Entering Passive Mode. Fixes NET-649. Thanks to Filipe Bojikian Rissi. |
sebb |
|
Next and Previous IP Address in SubnetUtils.SubnetInfo. Fixes NET-660. Thanks to Nagabhushan S N. |
sebb |
|
MVSFTPEntryParser doesn't support Record Formats of U. Fixes NET-682. Thanks to richard. |
sebb |
Release 3.6 – 2017-02-15
Type |
Changes |
By |
|
TFTPClient assumes that lastBlock == 0 only once. Fixes NET-613. |
sebb |
|
Allow TFTPServer.java to bind to a specific network adapter. Fixes NET-320. Thanks to Kevin Bulebush. |
sebb |
|
Apache Commons TFTP does not reject request replies that originate from a control port. Fixes NET-414. Thanks to Chuck Wolber. |
sebb |
|
TFTP sendFile retry broken. Fixes NET-477. Thanks to John Walton. |
sebb |
|
Allow TFTP socket IO tracing. Fixes NET-612. |
sebb |
|
NullPointerException when disconnecting TelnetClient twice with JDK 7. Fixes NET-596. Thanks to Vincent Bories-Azeau. |
sebb |
|
Failure to parse times from SYST_L8 systems that report as "WINDOWS Type: L8". Fixes NET-602. Thanks to Ross Braithwaite. |
sebb |
|
TFTP send and receive don't have progress indication. Fixes NET-604. Thanks to Frank Delporte. |
sebb |
|
FTPClient.setPassiveNatWorkaround assumes host is outside site local range. Fixes NET-588. Thanks to Dave Nice / Thai H. |
sebb |
|
FTPClient.mlistFile incorrectly handles MLST reply. Fixes NET-610. Thanks to Sergey Yanzin. |
sebb |
|
FTP does not validate command reply syntax fully. Fixes NET-611. |
sebb |
|
DefaultUnixFTPFileEntryParserFactory Issue (leading spaces removal configuration). Fixes NET-609. Thanks to Tqup3. |
sebb |
|
POP3Mail example: support host port; allow reading password from Console/stdin/environment |
sebb |
|
FTP fails to parse listings for Solaris 10 FTPd in Japanese. Fixes NET-597. Thanks to Hiroki Taniura. |
sebb |
|
Add shorthand FTPClientConfig constructor. Fixes NET-599. |
sebb |
|
HostnameVerifier is called with ip addess instead of the provided hostname. Fixes NET-593. Thanks to Joerg Weule. |
sebb |
|
TelnetClient._closeOutputStream unhandled exception from FilterOutputStream.close. Fixes NET-594. Thanks to Brad Worrral. |
sebb |
|
plainSocket in FTPSClient is never closed. Fixes NET-592. Thanks to Mark Ford. |
sebb |
Release 3.5 – 2016-05-05
Type |
Changes |
By |
|
FTPClient.getReplyString() returns wrong value after connect(). Fixes NET-583. Thanks to Holger Rehn. |
sebb |
|
Alternative password input methods for IMAP examples |
sebb |
|
More tests for Feb 29 handling. |
sebb |
|
Don't use Feb 29 for short future date tests. Fixes NET-586. |
sebb |
|
Documentation tweaks |
sebb |
Release 3.4 – 2015-11-26
Type |
Changes |
By |
|
SimpleSMTPHeader fails to supply the required Date: header. Fixes NET-581. |
sebb |
|
SimpleSMTPHeader does not allow for missing To: field. Fixes NET-582. |
sebb |
|
SMTPClient.sendSimpleMessage() silently ignores failed recipients
Update Javadoc. Fixes NET-580. Thanks to Simon Arlott. |
sebb |
|
SSL/TLS SocketClients do not verify the hostname against the certificate. Fixes NET-579. Thanks to Simon Arlott. |
sebb |
|
Allow FTPClient to use SYST response if system type is not specified in configuration. Fixes NET-576. |
sebb |
|
FTPClientExample should support setting the date format. Fixes NET-575. |
sebb |
|
FTPHTTPClient should use socket factory to create sockets. Fixes NET-538. Thanks to Dzmitry. |
sebb |
|
UnixFTPEntryParser Drops Leading Spaces from File Names. Fixes NET-566. Thanks to Gary Russell. |
sebb |
|
examples/Main now uses a property file to define aliases instead of scanning class files |
sebb |
|
SocketTimeoutException connecting a FTP server via an HTTP Proxy. Fixes NET-552. Thanks to Quentin Devriendt. |
sebb |
|
FTPListParseEngine does not provide access to raw responses. Fixes NET-528. |
sebb |
|
Add FTPClient method to return an FTPFile from an MDTM command. Fixes NET-565. |
sebb |
|
FTPFile.toFormattedString - allow specification of TimeZone for display. Fixes NET-564. |
sebb |
|
FTPFile.toFormattedString should print only signficant parts of the parsed date. Fixes NET-562. |
sebb |
|
MLSxEntryParser needs test cases; parsing is too lax. Fixes NET-563. |
sebb |
|
FTPFile.toFormattedString prints user and group in wrong order. Fixes NET-561. |
sebb |
|
FTPClient.initiateListParsing does not correctly check if parserKey was cached. Fixes NET-544. Thanks to Olivier Queyrut. |
sebb |
|
Simplify TelnetOptionHandler class hierarchy. Fixes NET-554. |
sebb |
|
FTPClient.getModificationTime(filename) returns complete received line including response code and EOL
Strip the response code and EOL. Fixes NET-558. Thanks to Ralph Becker. |
sebb |
|
Make SubnetInfo.isInRange(int) public. Fixes NET-556. Thanks to Andy Rosa. |
sebb |
|
Default FTPClient bufferSize results in very slow retrieve transfers
Fix code in Util#copyStream (also copyReader) that failed to use the proper default for buffer size 0. Fixes NET-550. Thanks to Geoffrey Hardy. |
sebb |
|
Util copyReader calls CopyStreamListener.bytesTransferred with the incorrect value for bytesTransferred. Fixes NET-551. |
sebb |
|
Added control character processing to TelnetClientExample |
sebb |
|
There is a lack of documentation regarding setControlKeepAliveTimeout. Fixes NET-547. Thanks to Fabio Scippacercola. |
sebb |
|
Telnet does not convert LF to CRLF in ASCII mode. Fixes NET-549. Thanks to Pradeep Natarajan. |
sebb |
|
telnet: spy read EOL is reversed. Fixes NET-543. Thanks to Ferry Huberts. |
sebb |
|
Article#printThread should have option to use any PrintStream. Fixes NET-540. |
sebb |
|
NPE if Threader.thread invoked with empty list or with null array. Fixes NET-539. |
sebb |
|
IMAP FETCH example
IMAPExportMbox can export selected nessages from an IMAP folder. Fixes NET-536. |
sebb |
|
IMAP FETCH can overflow reply buffer; provide for partial responses. Fixes NET-535. |
sebb |
|
Unnecesssary call to getReplyString() if no listeners configured. Fixes NET-534. |
sebb |
|
input parameter of org.apache.commons.net.ftp.FTP.__getReply(boolean) is not used. Fixes NET-530. Thanks to fish ship. |
sebb |
|
SubnetUtils throws exception on valid input. Fixes NET-529. Thanks to Putinas Piliponis. |
sebb |
|
Add SimpleNTPServer as example and for testing. Fixes NET-527. Thanks to jason mathews. |
sebb |
|
parser problem occurs if the filename contains one or more characters of which the second byte of Shift-JIS code is 0x85
Fix NT parser. Fixes NET-516. Thanks to Asha K S & pavan. |
sebb |
|
Added control encoding option to FTPClientExample |
sebb |
|
Added missing set methods on NTP class and interface. Fixes NET-526. Thanks to Jason Mathews, MITRE Corp. |
sebb |
|
Avoid greedy matches within a regex. Fixes NET-526. |
sebb |
|
SubnetUtils("0.0.0.0/0") does not behave as expected
Fixed range checking so network and broadcast addresses are treated as unsigned ints. Fixes NET-520. |
sebb |
|
SubnetUtils.SubnetInfo.getAddressCount() can overflow as it returns an int. Fixes NET-521. |
sebb |
|
FTPClient sample in class javadoc "bug". Fixes NET-515. Thanks to Sebastian Ritter. |
|
|
Apache Commons Net 3.3 has a performance issue. Fixes NET-519. |
|
|
FTPClient#reinitialize is package protected. Fixes NET-517. Thanks to David Kocher. |
sebb |
|
Downloading files or members from the AS400 QSYS file system is not supported. Fixes NET-512. Thanks to Thomas Raddatz. |
sebb |
|
FTPClient#initFeatureMap should not initialize empty map if reply code is 530. Fixes NET-518. Thanks to David Kocher. |
sebb |
|
IMAP APPEND multiple issues in IMapClient.
Deprecated unusable append methods.
Added new append method, as well as example IMapImportMbox class to make use of it. Fixes NET-514. |
sebb |
|
Exception for new SubnetUtils("0.0.0.0/0"). Fixes NET-511. Thanks to Kyriacos Elia, Daniel Scott. |
ggregory |
Release 3.3 – 2013-06-11
Type |
Changes |
By |
|
AuthenticatingSMTPClient needs a constructor with the isImplicit argument for SSL. Fixes NET-509. Thanks to Anthony Dahanne. |
sebb |
|
Race Condition on TelnetClient.disconnect() and TelnetInputStream.run()
java.lang.IllegalStateException: Queue is full! Cannot process another character. Fixes NET-501. Thanks to Julián Lastiri. |
sebb |
|
User specified bufferSize reset to default when FTPClient is disconnected or reinitialized resulting in performance
degradation. Fixes NET-505. Thanks to Sean Kelley. |
sebb |
|
Option to disable private IP replacement in FTP passive mode. Fixes NET-507. Thanks to Jiri Netolicky. |
sebb |
|
AuthenticatingSMTPClient does not support non-default encoding. Fixes NET-503. Thanks to Ofer Regev. |
sebb |
|
Always call FTPClient#setFileType after connection.
Not all servers default to ASCII. Fixes NET-500. Thanks to Michael Frick. |
sebb |
|
FTPClient setSendBufferSize and setReceiveBufferSize on data socket.
The previous fix caused performance problems.
Added new getters and setters for the SO_SNDBUF and SO_RCVBUF values to be used on the data socket. Fixes NET-465. Thanks to Jim Kerwood. |
sebb |
|
Util copyReader/copyStream classes should use default buffer size for non-positive buffer size parameters. Fixes NET-496. |
sebb |
|
FTPCommand conversion to use enum; added FTPCmd emum and deprecated FTPCommand. Fixes NET-310. |
sebb |
|
Wrong passivHost when using FTPHTTPClient with EPSV. Fixes NET-480. Thanks to Peter Naber. |
sebb |
|
FTPClient.CSL.cleanUp() fails to restore timeout value on exception. Fixes NET-494. |
sebb |
|
FTPClient.printWorkingDirectory() incorrectly parses certain valid PWD command results. Fixes NET-492. Thanks to Tomasz Jedrzejewski. |
sebb |
Release 3.2 – 2012-12-03
Type |
Changes |
By |
|
retrieveFileStream fails randomly or hangs. Fixes NET-46. |
sebb |
|
Remove unnecessary Base64 methods. Fixes NET-485. |
sebb |
|
Support XOAUTH. Fixes NET-482. Thanks to Houman Atashbar. |
sebb |
|
Base64.CHUNK_SEPARATOR should be private. Fixes NET-484. |
sebb |
|
Base64.encodeBase64(byte[], boolean, boolean, int) does not calculate output size correctly for unchunked output. Fixes NET-483. |
sebb |
|
Regression: TelnetInputStream#available() blocks. Fixes NET-466. Thanks to Martin Oberhuber. |
sebb |
|
FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called.
Implement _openDataConnection(String, String) method to properly
interface with FTPClient.openDataConnection(String, String). Fixes NET-426. Thanks to Ketan. |
sebb |
|
TelnetClient hangs when reader-thread startup is delayed. Fixes NET-456. |
sebb |
|
listFiles bug with folder that begins with "-". Clarify Javadoc. Fixes NET-449. |
sebb |
|
FTPClient setSoTimeout (int time) will result in NullPointerException. Clarify Javadoc. Fixes NET-473. |
sebb |
|
Request for native support for socks proxy routing with Commons net FTP. Fixes NET-468. Thanks to Bogdan Drozdowski. |
sebb |
|
FtpClient sends REST when calling listFiles. Clarified Javadoc. Fixes NET-475. |
sebb |
|
FTPClient setSendBufferSize and setReceiveBufferSize on data socket. Fixes NET-465. Thanks to Bogdan Drozdowski. |
sebb |
|
FTPClient in PASSIVE_LOCAL_DATA_CONNECTION_MODE cannot work when host have several different IP. Fixes NET-462. Thanks to Bogdan Drozdowski. |
sebb |
|
IMAPClient#fetch() does not handle literal strings. Fixes NET-467. |
sebb |
|
MVSFTPEntryParser.parseSimpleEntry - ArrayIndexOutOfBoundsException. Fixes NET-458. Thanks to Denis Molony. |
sebb |
|
Bug in documentation for FTPClient. Fixes NET-450. Thanks to Roger Hardiman. |
sebb |
|
The examples can now be run using "java -jar commons-net-examples-m.n.jar".
This will automatically include the main net jar in the classpath.
See documentation.
FTPClientExample now supports "-A" for anonymous login |
sebb |
|
StringIndexOutOfBoundsException: String index out of range: -1 if server respond with root is current directory. Fixes NET-442. |
sebb |
|
FTPTimestampParserImpl fails to parse future dates correctly on Feb 28th in a leap year. Fixes NET-444. |
sebb |
Release 3.1 – Feb 20, 2012
Type |
Changes |
By |
|
[FTP] mlistDir doc should be "MLSD" not "MSLD". Fixes NET-441. Thanks to consiliens. |
sebb |
|
[FTP] Allow user to provide default value in case SYST command fails. Fixes NET-440. |
sebb |
|
POP3Client.capa() should call POP3Client.getAdditionalReply(). Fixes NET-438. Thanks to Norman Maurer. |
sebb |
|
TFTP implementation subject to Sorcerer's Apprentice Syndrome. Fixes NET-412. Thanks to Chuck Wolber. |
sebb |
|
TFTP does not handle RFC 783 retransmits. Fixes NET-410. Thanks to Chuck Wolber. |
sebb |
|
TelnetInputStream doesn't support non-blocking IO when reader thread is not enabled. Fixes NET-437. Thanks to Gavin Camp. |
sebb |
|
FTP should support reporting NATed external IP address. Fixes NET-346. Thanks to Kevin Samuel. |
sebb |
|
Commons NET site should link to the examples. Fixes NET-433. |
sebb |
|
FTP using HTTP proxy not working. Fixes NET-422. Thanks to Tomas Mysik / Magnus Johansson. |
sebb |
|
FTPClient.storeFIle might fail when ControlKeepAliveTimeout is set (ditto for FTPCLient.retrieveFile). Fixes NET-423. Thanks to Jens Koch. |
sebb |
|
FTPS: Hook to customize _openDataConnection_ SSLSocket before startHandshake() is called. Fixes NET-426. Thanks to Ketan. |
sebb |
|
Can't login to POP3S Server using explicit mode. Fixes NET-430. Thanks to Thomas Mathis. |
sebb |
|
FTPClient fails to close local listener socket when command socket channel encounter "ReadTimeoutException". Fixes NET-434. Thanks to zhangyong. |
sebb |
|
[FTP] Support for SYST "Mac OS" listing - "MACOS Peter's Server". Fixes NET-436. Thanks to Jürgen Jung. |
sebb |
|
[FTP] _openDataConnection_, __storeFile, and __storeFileStream should be protected and take String for FTP command.
Likewise for receiveFile and receiveFileStream. Fixes NET-425. Thanks to Steven Jardine. |
sebb |
|
[Telnet] Increasing sub-negotiation message holder array size. Fixes NET-416. Thanks to Abhijeet Gaikwad. |
sebb |
|
SubnetUtils throws ArrayIndexOutOfBoundsException for new SubnetUtils( "1.2.3.4/32" ).getInfo().getAllAddresses(). Fixes NET-428. Thanks to sebb. |
sebb |
|
Problem connecting to TLS/SSL SMTP server using explicit mode. Fixes NET-421. Thanks to Oliver Saggau. |
sebb |
|
[Site] typo in migration how-to. Fixes NET-415. Thanks to george thomas. |
sebb |
Release 3.0.1 – June 6, 2011
Type |
Changes |
By |
|
FTPClient truncates file (storeFile method).
Fix bug introduced in release 3.0. Fixes NET-409. |
sebb |
Release 3.0 – May 16, 2011
Type |
Changes |
By |
|
Change lenientFutureDates to default to true.
This means short dates will be parsed as the current year when the host clock is up to 1 day ahead of the client clock. Fixes NET-407. |
sebb |
|
FTPSSocketFactory does not override createSocket(); causes java.net.SocketException: Unconnected sockets not implemented. Fixes NET-404. |
sebb |
|
ftp data connection does not use connectTimeout. Fixes NET-399. Thanks to Noah Levitt. |
sebb |
|
Option to override SSL negotiation. Make FTPSClient#execAuth() and FTPSClient#sslNegotiation() protected. Fixes NET-400. Thanks to David Kocher. |
sebb |
|
IMAP, NNTP, POP3 and SMTP classes uses BufferedReader for control channel, which does not follow the standard.
Changed reader to CRLFLineReader. Fixes NET-402. |
sebb |
|
FTP class uses BufferedReader for control channel, which does not follow the standard.
Changed reader to CRLFLineReader. Fixes NET-401. |
sebb |
|
AS400 file timestamp format is wrong. Workround exists. Fixes NET-331. |
sebb |
|
Remove semi-redundant check in SubnetUtils.calculate(). Fixes NET-269. |
sebb |
|
Should Telnet class Exception blocks write to System.err?
Catch blocks removed, and throws clauses added to allow caller to more easily detect and recover. Fixes NET-219. |
sebb |
|
FTPSClient does not handle AUTH or ADAT and only partially handles PBSZ. FTPSCommand should be deprecated. Fixes NET-397. Thanks to Bogdan Drozdowski. |
sebb |
|
Better handling of CIDR/31 and CIDR/32 where isInclusive = false.
Return 0 for address count, and 0.0.0.0 for each of the addresses. Fixes NET-268. |
sebb |
|
Move ProtocolCommandSupport to SocketClient. Fixes NET-395. |
sebb |
|
Should the sendCommandWithID() methods be public?
Made methods private, and deleted currently unused ones. Fixes NET-393. |
sebb |
|
Are the sendUntaggedCommand() methods needed?
Renamed the method as sendData(), as it's not a command. Fixes NET-394. |
sebb |
|
Use enum for IMAPCommand. Fixes NET-392. |
sebb |
|
Added basic IMAP/IMAPS implementation. Fixes NET-333. Thanks to Bogdan Drozdowski. |
sebb |
|
Unix parser should ignore "total nnn" lines. Fixes NET-389. |
sebb |
|
Article.addHeaderField() is currently write-only - there is no way to retrieve the headers - is it needed?
Method was removed, along with the field. Fixes NET-369. |
sebb |
|
ntp.TimeStamp uses incorrect lazy initialisation of static fields simpleFormatter and utcFormatter. Fixes NET-367. |
sebb |
|
Parsing is inefficient, as it parses everything twice. Fixes NET-381. |
sebb |
|
VMSVersioningFTPEntryParser#preParse should not call super.preParse(). Fixes NET-388. |
sebb |
|
TelnetInputStream has various threading bugs. Fixes NET-362. |
sebb |
|
TelnetClient use of FromNetASCIIInputStream and ToNetASCIIOutputStream breaks binary mode.
See also NET-387. Fixes NET-89. |
sebb |
|
FTP does not apply timeout to initial responses. Fixes NET-385. |
sebb |
|
KeyManagerUtils - the KeyManager is not efficient. Fixes NET-384. |
sebb |
|
KeyManagerUtils - allow alias to be omitted when there is only one private key in the store. Fixes NET-383. |
sebb |
|
A KeyManager is required when the protection level is set to 'P' with FTPSClient on active mode.
Added KeyManagerUtils class to simplify provision of client certificates. Fixes NET-326. |
sebb |
|
FEAT response parsing. Added FTPClient methods: boolean hasFeature(feature [,option]),
String fetaureValue(feature), String[] featureValues(feature). Fixes NET-273. |
sebb |
|
FTPClient - support for processing arbitrary commands that only use the control channel. Fixes NET-379. |
sebb |
|
FTP listing should support MLST and MLSD. Fixes NET-378. |
sebb |
|
NLST does not take notice of HiddenFiles setting. Fixes NET-377. |
sebb |
|
NNTP Listgroups not working - broken server implementation. Fixes NET-373. |
sebb |
|
DotTerminatedMessageReader should extend BufferedReader, rather than Reader. Fixes NET-375. |
sebb |
|
ParserInitializationException doesn't use standard JDK exception chaining. Fixes NET-374. |
sebb |
|
FTPSClient: java.security.cert.CertificateException: No X509TrustManager implementation available if trustManager == null. Fixes NET-372. |
sebb |
|
Create TrustManagerFactory to provide custom TrustManagers. Fixes NET-371. |
sebb |
|
FTPSClient not properly supporting CCC and PROT P. Fixes NET-354. Thanks to Leif John Korshavn. |
sebb |
|
Threader.thread should accept an Iterable rather than a List. Fixes NET-368. |
sebb |
|
"Unconnected sockets not implemented" when using FTPSClient
Added disconnect() override which resets the socket factories to their defaults. Fixes NET-327. Thanks to Bogdan Drozdowski. |
sebb |
|
"java.net.SocketException: Broken pipe" when calling "TelnetClient.sendAYT()"
Added SocketClient#isAvailable() method to perform additional checks on a socket. Fixes NET-350. Thanks to Bogdan Drozdowski. |
sebb |
|
Add streaming methods (corresponding to array methods) to NNTPClient. Fixes NET-237. |
sebb |
|
FTPClient.listFiles() does not work properly, if remote server speaks German.
Match non-space{3} instead of A-Za-z{3}. Fixes NET-365. |
sebb |
|
FTPClientConfig: setServerLanguageCode and setShortMonthNames do not work.
Ensure that config is passed to all parsers that can use it. Fixes NET-366. |
sebb |
|
NNTPClient has problems with group listings for large groups. Fixes NET-276. |
sebb |
|
Possible NPE in Threader.java. Fixes NET-185. |
sebb |
|
nntp.Article is very inefficient and incorrect. Fixes NET-364. |
sebb |
|
The FTP client should autodetect the control encoding. Fixes NET-314. Thanks to Bogdan Drozdowski. |
sebb |
|
Can't connect to a server behind firewall in passive mode. Fixes NET-363. Thanks to daniel damon. |
sebb |
|
Queue is full TelnetInputStream. Fixes NET-348. |
sebb |
|
Implement Telnet Command sender. Fixes NET-361. |
sebb |
|
Telnet client: not properly handling IAC bytes within subnegotiation messages:
- failing to double IACs on output
- failing to de-double IACs in input. Fixes NET-345. Thanks to Archie Cobbs. |
sebb |
|
Telnet client: Support Client-initiated Subnegotiation Messages. Fixes NET-343. Thanks to Archie Cobbs. |
sebb |
|
Telnet client: Support Listener Notification of Incoming Data. Fixes NET-344. Thanks to Archie Cobbs. |
sebb |
|
Incorrect error handling in method initiateListParsing of FTPClient. Fixes NET-270. |
sebb |
|
SASL PLAIN and CRAM-MD5 authentication. Fixes NET-352. Thanks to Bogdan Drozdowski. |
sebb |
|
The POP3 client does not support SSL/TLS connections. Fixes NET-357. Thanks to Bogdan Drozdowski. |
sebb |
|
Removed deprecated unused fields from FTPSClient:
- KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM |
sebb |
|
Implement A Keepalive Mechanism. Control channel keepalive implemented for the following methods:
appendFile, storeFile, storeUniqueFile, retrieveFile. Fixes NET-258. |
sebb |
|
StackOverflowError in Threader. Fixes NET-289. Thanks to Luc Claes. |
sebb |
|
POP3MessageInfo fields should be final. Fixes NET-317. |
sebb |
|
Get rid of using deprecated API in VMSFTPEntryParser. Fixes NET-252. |
sebb |
|
The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present. Fixes NET-330. |
sebb |
|
FTPFileEntryParser API samples are wrong. Fixes NET-303. |
sebb |
|
Use properties file (/systemType.properties) to handle new OS-type auto-detection. Fixes NET-229. |
sebb |
|
Commons net ftp cannot handle unknown type parser and should allow override of parser through vm argument.
The system property "org.apache.commons.net.ftp.systemType" can be used to provide the system type. Fixes NET-332. |
sebb |
|
Unhandled SecurityException in DefaultFTPFileEntryParserFactory.createFileEntryParser when using applets. Fixes NET-286. |
sebb |
|
DefaultFTPFileEntryParserFactory.createFileEntryParser(String key) always tries to load a class. Fixes NET-360. |
sebb |
|
New FTPClient method to retrieve all directory names in the current working directory.
Added methods listDirectories(), listDirectories(String path). Fixes NET-156. |
sebb |
|
The SMTPClient does not support authentication. Fixes NET-353. Thanks to Bogdan Drozdowski. |
sebb |
|
The SMTP client does not support SSL/TLS connections. Fixes NET-356. Thanks to Bogdan Drozdowski. |
sebb |
|
Implement copy Listener in FTPClient file operations. Fixes NET-358. |
sebb |
|
CopyStreamAdapter unconditionally resets the CopyStreamEvent source and is inefficient. Fixes NET-359. |
sebb |
|
examples.nntp.NNTPUtils does not compile. Fixes NET-355. |
sebb |
|
APOP authentication fails most of the time.
Fix by adding leading 0 if necessary. Fixes NET-351. Thanks to Bogdan Drozdowski. |
sebb |
Release 2.2 – Nov 22, 2010
Type |
Changes |
By |
|
FromNetASCIIInputStream can throw a NullPointerException. Fixes NET-334. |
sebb |
|
FTPClient.remoteAppend(String filename) uses STOR instead of APPE. Fixes NET-341. |
sebb |
|
Incorrect parsing of timestamp on Windows CE
Fix parsing to allow for new-style DOS listing using 24hr clock rather than AM/PM. Fixes NET-339. |
sebb |
|
ftp.FTPClient.initiateListParsing(String parserKey, String pathname)
can call createFileEntryParser with null systemName.
Fix this by adding getSystemType() which does not return null, and deprecating getSystemName(). Fixes NET-338. |
sebb |
|
Add support for FTPFileFilter filters. New classes FTPFileFilter, FTPFileFilters, new methods:
FTPListParseEngine#getFiles(FTPFileFilter filter)
FTPClient.listFiles(String pathname, FTPFileFilter filter). Fixes NET-244. |
sebb |
|
Optionally enable EPSV with IPv4; Only send EPRT with IPv6.
Fix incorrect port used with EPRT. Allow activeMaxPort == activeMinPort in getActivePort() method. Fixes NET-313. |
sebb |
|
FromNetASCIIInputStream.read(byte[], int, int) may change length passed to superclass if not doing conversion. Fixes NET-328. |
sebb |
|
Testcase to show WindowSizeOptionHandler is working OK. Fixes NET-74. |
sebb |
|
The method VMSFTPEntryParser.parseFileList(InputStream listStream) should not be present.
Partial fix - marked method as deprecated and to be removed. Fixes NET-330. |
sebb |
|
Telnet EOR is "consumed" by TelnetInputStream when in BINARY transmission.
Send notification to TelnetNotificationHandler. Fixes NET-180. |
sebb |
|
TelnetInoutStream#__read() bug in the __receiveState handling for the _STATE_IAC state. Fixes NET-329. |
sebb |
|
SocketClient should ensure input and output streams are closed. Fixes NET-283. |
sebb |
|
FTP: initiateListParsing should not cache entryParser. Fixes NET-302. |
sebb |
|
Improvement to isInRange method in SubnetUtil.SubnetInfo class. Fixes NET-282. |
rwinston |
|
FTPClient.listFiles() corrupts file name in certain circumstances. Fixes NET-266. |
rwinston |
|
Telnet spyStream NullPointerException. Fixes NET-264. |
sebb |
|
Deprecated the following unused fields from org.apache.commons.net.ftp.FTPSClient:
KEYSTORE_ALGORITHM, PROVIDER, STORE_TYPE, TRUSTSTORE_ALGORITHM |
sebb |
|
Fix site reports |
niallp |
|
Add support for setting external host ip/port range. Fixes NET-285. |
rwinston |
|
Add fix and testcase for DotTerminatedMessageReader. Fixes NET-290. |
rwinston |
|
Add support for IPv6 EPRT/EPSV. Fixes NET-288. |
rwinston |
|
Fix SubnetUtils for /32 subnets and add inclusive host count flag. Fixes NET-305. |
rwinston |
|
Fix NPE when listHiddenFiles was on. Fixes NET-300. |
rwinston |
|
UNIXFTPEntryParser didn't preserve trailing whitespace in files. Fixes NET-215. |
rwinston |
|
method SubnetUtils.SubnetInfo.isInRange(addr) returns incorrect result. Fixes NET-236. |
rwinston |
|
Method createServerSocket of FTPSSocketFactory never called and thus UseClientMode is incorrect in a secured ftp transfer
using active mode. Fixes NET-242. |
rwinston |
|
Fix inconsistent command list in FTPCommand. Fixes NET-248. |
rwinston |
|
DefaultFTPFileEntryParserFactory did not work with Netware FTP server returning "NETWARE TYPE: L8". Fixes NET-250. |
rwinston |
|
FTP.getReplyStrings() returned array of null Strings. Fixes NET-257. |
rwinston |
|
UnixFTPEntryParser regex did not match some directory entries. Fixes NET-259. |
rwinston |
|
SubnetUtils.SubnetInfo.isInRange(...) returned incorrect values. Fixes NET-260. |
rwinston |
|
SubnetUtils.SubnetInfo.isInRange(...) behavior not documented. Fixes NET-261. |
rwinston |
|
SubnetUtils did not handle /31 and /32 CIDRs well. Fixes NET-262. |
rwinston |
|
UnixFTPEntryParser failed to parse entry in certain conditions. Fixes NET-265. |
rwinston |
|
FTPClient.listFiles() corrupted file name in certain circumstances. Fixes NET-266. |
rwinston |
|
Moved class "ThreadContainer" from Threader.java into its own source file. Fixes NET-251. |
rwinston |
|
FTPSClient should accept a pre-configured SSLContext. Fixes NET-256. |
rwinston |
|
SubnetUtils / SubNetInfo toString() implementations. Fixes NET-263. |
rwinston |
|
Improve NNTPClient handling of invalid articles |
rwinston |
|
Refactor examples package. |
rwinston |
|
Javadoc fixes, improvements, and refactoring. |
sebb |
|
Apply MFMT patch. Fixes NET-245. |
rwinston |
|
Fix copying of reply lines collection. Fixes NET-279. |
rwinston |
|
Fix incorrect NNTP constant. Fixes NET-277. |
rwinston |
|
Restore socket state after CCC command. Fixes NET-274. |
rwinston |
|
Example code in FTPClient doesn't compile. Fixes NET-275. |
rwinston |
|
Fix inconsistent handling of socket read/write buffer size |
rwinston |
|
UnixFTPEntryParser fails to parse some entries. Fixes NET-294. |
sebb |
Release 2.1
No changes in this release.
Release 2.0 – October 20, 2008
Type |
Changes |
By |
|
One of the "connect" method in class org.apache.commons.net.SocketClient doesn't handle connection timeout properly. Fixes NET-307. |
rwinston |
|
Add null check in TelnetClient::disconnect(). |
rwinston |
|
Remove deprecated FTPFileIterator and FTPFileList classes. |
rwinston |
|
Add connection timeout functionality to SocketClient. |
rwinston |
|
Make the KeyManager and TrustManager settable (niklas@protocol7.com). |
rwinston |
|
Patch FTPSClient to set default SSLServerSocketFactory. Thanks niklas@protocol7.com |
rwinston |
|
Patch to prevent TFTPClient dropping last packet. Thanks palm@poplarware.com. Fixes NET-68. |
rwinston |
|
Change isConnected() method to delegate to underlying socket connection. |
rwinston |
|
FTPS (TLS and SSL) is now supported. Thanks to Jose Juan Montiel, Paul Ferraro, and Satoshi Ishigami. |
rwinston |
|
Commons::Net now uses Maven 2. The project.xml has been replaced with a pom.xml, and the source tree layout
has been changed accordingly. |
rwinston |
|
Removed old ftp2 proposal directories. |
rwinston |
|
Commons::Net now uses JDK regex functionality, saving on an extra [oro] dependency. There are now
no external dependencies required. |
rwinston |
|
Various syntactic issues (FindBugs issues, JDK 5.0 generics support) |
rwinston |
|
Applied Rob Hasselbaum's
rhasselbaum -> alumni.ithaca.edu
patch for PR 38688 fixing a
TelnetInputStream hang. |
dfs |
|
Exposed control connection of FTP
class via _controlInput_ and _controlOutput_
protected member variables in response
to PR 38309 reported by
josejuan.montiel@gmail.com. |
dfs |
|
Reverted PR 32859 patch to TFTPClient
because it caused final packets to not
be sent. |
dfs |
|
Make FTPClient extend SocketClient instead of TelnetClient. From jhindsley@providerlink.com. Fixes NET-36. |
rwinston |
|
Adds an "e" symbolic link flag to the Unix FTP parser. From denisgaebler@netscape.net. Fixes NET-39. |
rwinston |
|
Allow hidden files to be listed. Thanks to mario@ops.co.at. Fixes NET-119. |
rwinston |
|
Remove reflective check for Socket::isConnected() (no longer needed) |
rwinston |
|
Added WindowSizeOptionHandler for TelnetClient. Thanks to yuvalkashtan@gmail.com. Fixes NET-136. |
rwinston |
|
Refactored *Client classes under net/ package into separate subpackages, and move PrintCommandListener
out of the examples/ package. |
rwinston |
|
Added an ant target to the Maven build to generate an FTP-only jar file, for clients who
wish to use only FTP-based functionality. |
rwinston |
|
Custom SocketFactory interface has been replaced with the JDK SocketFactory implementation. Added
ServerSocketFactory instance to SocketClient. |
rwinston |
|
Removed redundant FTP.IMAGE_FILE_TYPE flag. |
rwinston |
|
Added heavily updated MVSFTPEntryParser from henrik.sorensen@balcab.ch |
rwinston |
|
Removed deprecated classes FTPFileListParser, FTPFileListParserImpl, and DefaultFTPFileListParser. Also
removed associated deprecated methods from FTPClient. |
rwinston |
|
Added encoding to FingerClient. From Ulrich Mayring. Fixes NET-164. |
rwinston |
|
Catch BindException in RCommandClient::connect(). Fixes NET-24. |
rwinston |
|
Add encoding specifier to SMTPClient. Fixes NET-178. |
rwinston |
|
Add setters for socket send/receive buffer size to SocketClient. |
rwinston |
|
Fix PASV specifiers that broke previously. From Chris Eagle. Fixes NET-177. |
rwinston |
|
Catch NPE in FTP parser factory method. Fixes NET-182. |
rwinston |
|
Don't bind a UDP socket to NTP protocol port. Fixes NET-172. |
rwinston |
|
Better handling of user and group names with embedded spaces in FTP listings. |
rwinston |
|
Add configurable multiline parsing. Fixes NET-173. |
rwinston |
|
Add fix for broken leap year date parsing. Fixes NET-188. |
rwinston |
|
Add SubnetUtils class (suggested by Kenny McLeod) |
rwinston |
|
Add Unix-type handling for UNKNOWN Type: L8 syst() message systems. Fixes NET-169. |
rwinston |
|
Allow FTPTimestampParserImpl to take a predefined Calendar instance representing current time. Fixes NET-198. |
rwinston |
|
Replace Exception with IOException. Fixes NET-194. |
sebb |
|
VMS file permission parsing. Fixes NET-214. |
sebb |
|
TelnetInputStream swallows interruptedexception as IOException. Fixes NET-208. |
sebb |
|
the data connection socket is not closed when an IOException occurred. Fixes NET-223. |
sebb |
|
ParserInitializationException when connecting to a Unix FTP server: comparison string must be upper case. Fixes NET-230. |
sebb |
|
FTPFileEntryParserImpl.preParse() doesn't remove unparsable entries at the end of the file list. Fixes NET-225. |
sebb |
Release 1.4.1 – December 3, 2005
Type |
Changes |
By |
|
Applied patches for defect 37113. Code incompatible with jdk 1.3. Original patch submitted by Andrea Rombald |
scohen |
|
Applied patches for defect 37522. updated project.xml to correct compatibility level. |
scohen |
Release 1.4.0 – May 7, 2005
Type |
Changes |
By |
|
Fixed typo in method name.
FTP.removeCommandListener() was missing
the L. Problem reported by
Per.Lindberger@linkon.se. |
dfs |
|
Applied fix for PR 33942 and PR 31793. Original patch submitted by mario@ops.co.at |
rwinston |
|
TFTPClient was ignoring final ACK (PR 32859). Thanks to perttu.auramo@ekahau.com |
rwinston |
|
Applied fix for ACL parsing in the FTP client (PR 33972). Submitted by robertalasch@yahoo.com |
rwinston |
|
Added missing NTP/SNTP unit tests to the codebase. |
rwinston |
|
Applied fix for POP3Client returning empty reply strings (PR 34133). Thanks to sammy_c@lineone.net |
dfs |
|
NTP port parameter was being ignored (PR 34219). Fixed by felix.eichhorn@3soft.de |
rwinston |
|
An FTP parser for MVS was added. Submitted by wnoto@openfinance.com |
scohen |
|
Added functionality for extensible parsing of FTP responses, using a configurable format string. This should enable the
FTP client to operate across many different locales and date formats. |
scohen |
Release 1.3.0 – December 15, 2004
Type |
Changes |
By |
|
Applied patch for PR 31793. Thanks to mario@ops.co.at |
rwinston |
|
Added message threading functionality to the NNTP client. |
rwinston |
|
Added return code 521 to FTPReply.java - this should obviate the need for the Ant FTP task to manually declare it. |
rwinston |
|
Add explicit notify() in TelnetInputStream::read(), so available() returns an accurate value. Thanks to
tpalkot@gmail.com. |
rwinston |
|
Added SNTP/NTP components into the Commons-Net codebase, courtesy of
Jason Matthews. |
rwinston |
|
Added POP3 test suite, courtesy of Mike George mike.george@comcast.net. |
rwinston |
|
Applied fix for FTPClient returning null for certain timestamp formats (BUG #30737) |
scohen |
|
Build.xml fixes - dont include example classes in redistributable
.jar, remove test dependency from javadoc target, and exclude private members from generated javadoc. |
rwinston |
|
Fixed bug in TFTPClient::setMaxTimeout(), spotted by steve@widge.net |
rwinston |
|
Some changes to facilitate compilation under JDK 5.0 |
dfs |
|
Return correct NNTP article count when high and low watermarks are 0.
Spotted by jmordax@terra.es |
rwinston |
|
Remove trailing null byte in TFTP packets. Thanks to gerard.dens@alcatel.be |
rwinston |
|
Many javadoc fixes. |
dfs |
|
Allow FTPClient to set transfer buffer size. |
rwinston |
|
Ensure consistent handling of encoding throughout FTPClient
operations. Patch submitted by leif@tanukisoftware.com. |
rwinston |
|
Fix TelnetClient zombie thread issue |
dfs |
Release 1.3.0-dev – July 28, 2004
Type |
Changes |
By |
|
Fixed regression from migration to new parsers. Most of the
new parsers parsed the file size as an integer instead of a
long. Changed all of them to set the size to long. This
problem was detected by the reporter of:
https://issues.apache.org/bugzilla/show_bug.cgi?id=30345 |
dfs |
Release 1.2.2 – June 25, 2004
Type |
Changes |
By |
|
fixed bug in the way FTPClient.listFiles worked when a directory was not
specified. Current directory was not being 'remembered'. This was most
problematic in the dependent ftp task of Ant. |
scohen |
|
fixed handling of certain unusual "special" file types in the Unix parser. |
scohen |
Release 1.2.1 – May 6, 2004
Type |
Changes |
By |
|
changed code that rendered package uncompilable under JDK 1.2 |
scohen |
Release 1.2.0 – April 30, 2004
Type |
Changes |
By |
|
Mario Ivankovits mario@ops.co.at added
functionality supporting correct handling of the "dirstyle"
attribute of NT and OS400 servers that allows them to mimic Unix ftp servers.
and a bug fix affecting handling of sticky and suid bits on Unix FTP servers. |
scohen |
|
Mario Ivankovits mario@ops.co.at added parser for OS400. |
scohen |
|
Added a functional junit test testing list parsing against real servers
and fix several bugs found through this test. |
jbrekke,scohen |
|
Ted Wise ctwise@bellsouth.net provided a
patch to add the XHDR extended NNTP command. |
dfs |
|
Deprecated FTPFileListParser interface, DefaultFTPFileListParser
class, and the FTPClient.listFiles methods that accepted an
FTPFileListParser parameter. These deprecated classes and methods
will be removed in version 2.0. |
scohen,dfs |
|
Added org.apache.commons.net.parser.FTPFileEntryParserFactory
interface and a default implementation:
DefaultFTPFileEntryParserFactory. This addition facilitates the
autodetection of which FTPFileEntryParser to use to generate
listings. FTPClient.listFiles methods were added that implement
autodetection. |
scohen |
Release 1.1.0 – October 23, 2003
Type |
Changes |
By |
|
Rory Winston Rory.Winston@telewest.co.uk provided
patches to add the following extended NNTP commands to
NNTPClient: XOVER, AUTHINFO USER, AUTHINFO PASS, and
LIST ACTIVE. |
dfs |
|
Changed connection hooks for FTP, SMTP, POP3, and NNTP classes
to force use of an 8-bit US-ASCII superset (ISO-8859-1) for
protocol communication. This was necessary because
InputStreamReader and OutputStreamWriter use the default
client-side character set encoding. fasselin@ca.ibm.com
reported failure of SMTP on OS/390 which has EBCDIC as the
native character set. |
dfs |
|
Applied variation of fix suggested by Matthieu Recouly
matthieu.recouly@laposte.net so that
UnixFTPEntryParser may handle listings of the form:
"drwxr-xr-x 1 usernameftp 512 Jan 29 23:32 prog"
where the space between user name and group is omitted. |
dfs |
|
Applied patch from Stephane Este-Gracias
sestegra@free.fr that fixes the parsing of
VMS listings by VMSFTPEntryParser.. |
dfs |
|
If the buffer queue run full, the run() method sometimes hangs forever.
Changed wait() to wait(100) as with other changes in TelnetInputStream.
Fix submitted From: J. Matysiak ( j.matysiak@cenit.de ). |
brekke |
|
FTP.smnt(String dir) was not passing on the dir to the SMNT command as an argument. |
brekke |
|
Added a link to the FAQ currently hosted on the Apache Wiki. |
brekke |
|
Changed package private NNTP._reader and NNTP._writer member
variables to protected NNTP._reader_ and NNTP._writer_
variables as suggested by issue report 16995 to facilitate
extending NNTPClient functionality in subclasses. |
dfs |
|
Changed name of FTPClient.__openDataConnection() to
FTPClient._openDataConnection_() to remain consistent
with the convention in the code that protected members
are of the form _foo_. At some point __openDataConnection()
had been changed from private to protected. |
dfs |
|
Added terminal option support to the telnet client with tests.
From Bruno D'Avanzo ( b.davanzo@inwind.it ). |
brekke |
|
New parsers merged with mainline with support for old list parsers. |
scohen |
Release 1.0.0 – February 23, 2003
Type |
Changes |
By |
|
Added a migration document for moving from NetComponents to Commons/Net. |
brekke |
|
Moved the ftp2 tree with tests to a proposal directory and setup
a build for that code. This can grow in this area so users don't
think it is production ready. |
brekke |
|
Cleaned up license header on some source. |
dfs |
|
Moved .io and .util to .net.io and .net.util in preparation for
1.0 release. |
dfs |
|
Fixed typo in NNTP.removeProtocolCommandListener() method name. It
was missing an L. From: joev@atg.com. |
dfs |
|
Various site updates including this changes doc and publish
date information. |
brekke |
|
Patch for restarting FTP file transfers. The offset was not
being sent immediately before the data transfer command on
account. The bug was apparently introduced in NetComponents
when it was decided to always send a PORT command before each data
transfer to avoid socket reuse problems on Windows.
From: Tapan Karecha ( tapan@india.hp.com ). |
dfs |
|
Applied a fix for potential deadlock in TelnetInputStream by
changing a wait() to a wait(100).
From: Tapan Karecha ( tapan@india.hp.com ). |
dfs |
|
FTP examples now use passive ftp connections. |
dfs |
|