ASF

Changes

Release History

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.

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.

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.

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.

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

[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.

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.

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.

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:
http://issues.apache.org/bugzilla/show_bug.cgi?id=30345

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.

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.

Release 1.1.0 - October 23, 2003

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.

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.

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.

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 ).

Apache Commons, Apache Commons Net, Apache, the Apache feather logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their respective owners.