Hunny Mail++ Change Log
Version 4.0.2 -- 1 September 2010
- Support for Mac OS X
Version 4.0.1 -- 31 December 2009
Updated for the latest Sun C++ compiler (Sun Studio 12).
Updated for GCC 4.3.2 for Solaris (with Sun code optimizer).
Updated for Solaris 10.
Version 4.0 -- 18 July 2008
- Support for IPv6.
Version 3.1.2 -- 23 November 2005
- Bug fix: Fixed memory leak that occurs when using TLS connections.
Version 3.1.1 -- 22 April 2005
Bug fix: Fixed memory leaks that occur when using the IMAP4 QUOTA command.
Added a wait parameter to the ConnectTls function in Imap4Client, NntpClient, Pop3Client, and SmtpClient.
Added a virtual destructor to the ProtocolListener class.
Version 3.1 -- 21 March 2005
Bug fix: Fixed memory leaks that occur during a TLS handshake.
Improved error reporting for failed TLS handshakes.
New behavior in TLS handshake: if the name in the certificate does not match the expected name, the library reports an error but does not close the connection.
The
Imap4Client,NntpClient,Pop3Client, andSmtpClientclasses have a new member functionConnectTlsOpenSSL. This member function acts likeConnectTls, but takes an OpenSSLSSLstruct.Improved trace facility. You can create a custom Trace Output object for complete control over trace output. The library provides the
TraceOutputinterface as an abstract base class and theStdTraceOutputclass which writes trace output to standard output.New member functions in
FlagsResponse:NumFlagsandFlagAt, which allow you to get all the flags in the FLAGS response.New member functions in
ListResponseandLsubResponse:NumAttributesandAttributeAt, which allow you to get all the attributes in the LIST and LSUB responses.The
Connectmember function inImap4Client,NntpClient,Pop3Client, andSmtpClienttakes an optionalwaitparameter. Whenwaitis true, the function waits for the server's initial greeting before returning. Whenwaitis false, the function returns immediately after the connection is established. The latter case is necessary when you wish to connect to a server listening on a TLS socket. The default value forwaitis true.Imap4Client::AuthenticatePlaintakes an optionalauthorizeIDparameter.The IMAP4 client implementation now supports the QUOTA, NAMESPACE, and PROXYAUTH IMAP4 options.
Many parameters that indicate a position in a list were changed from
inttounsigned.
Version 3.0.1 -- 7 February 2005
Bug fix:
Imap4Clientmust put quotes around zero-length mailbox names.Bug fix:
Imap4Clientmust encode mailbox reference name in LIST and LSUB commandsNew Imap4Client::CommandStatus convenience member function that reports OK, NO, or BAD status of the last IMAP4 command.
Version 3.0 -- 4 December 2004
Bug fix:
FetchResponsecopy constructor and assignment operator should copy theBodySectionDatadata member.Bug fix:
NntpClient::AuthinfoUserandNntpClient::AuthinfoPassfails to work correctly.Bug fix:
NntpClientfails to send a large buffer when usingCONVERT_EOLoption.The library now supports internationalized mailbox names in IMAP4. The API accepts and returns mailbox names as UTF-8 strings. The library converts mailbox names to and from modified UTF-7 in IMAP4 commands and responses. The change affects these classes:
Imap4Client,ListResponse,LsubResponse, andStatusResponse.The
SmtpClientsupports the SASL LOGIN mechanism.Added a new
VersionInfofunction that returns a string that contains the version information. Added a newBuildInfofunction that returns a string that contains build information (operating system, compiler, date, and time).Introduced new
Imap4Dateclass, which represents a date-time value in IMAP4. This new class affects the use of theFetchResponse::InternalDate()member function.Introduced new
MUTF7class, which converts text to and from the modified UTF-7 and UTF-16 encodings of Unicode. The library uses this class internally. Library users may use it if the wish.Introduced new
UTF8class, which converts text to and from the UTF-8 and UTF-16 encodings of Unicode. The library uses this class internally. Library users may use it if the wish.The
NntpClient::XoverandNntpClient::Overmember functions may now be called with default arguments.
Version 2.4.2 -- 5 July 2004
Bug fix: NTLM fails on Solaris (endian issue)
Bug fix: Sending large buffer with SmtpClient fails when using CONVERT_EOL option
Improved debug output
Improved error reporting
Version 2.4.1 -- 12 May 2004
Improved error reporting in the IMAP4 client -- reports "connection dropped" network error and response parsing error
Improved portability - compiling on HP/UX 11
Updated build scripts/project files/makefiles
Version 2.4 -- 22 Apr 2004
- Internal changes for memory allocation debugging
Version 2.2 -- 22 Oct 2003
Added NTLM authentication for IMAP4 and POP3
Imap4Client, NntpClient, Pop3Client, and SmtpClient have separate read and write timeouts
Bug fix: protocol error in PLAIN authentication in IMAP4 (server initiates)
Added a work-around for a bug in Microsoft Exchange Server 2000's IMAP implementation (continuation response should contain a space)
Version 2.1.3 -- 15 May 2003
- Bug fix: Bad memory access if broken SMTP server sends a "221-OK" immediately before closing the connection. (The correct reply should be "220 OK".)
Version 2.1.2 -- 30 January 2003
- Bug fix: IMAP4 parser not handling parser error as it should
Version 2.1.1 -- 13 November 2002
- Disabled the Nagle algorithm in the socket to improve throughput
Version 2.1 -- 29 March 2002
Added NntpClient class
Added StreamBuffer class and Imap4Client::Append() member function that takes a StreamBuffer argument
Added SMTP VRFY command
Added copy constructors and assignment operators for many classes
(internal) HeapBuffer class to simplify memory management
(internal) Debugging output self-contained in the Imap4Client/Parser, NntpClient, Pop3Client, and SmtpClient classes
(internal) Added various collection classes to simplify managing collections of objects
(internal) Added system.h and system-dependend implementation classes
(internal) Added Imap4Client::SendCommand() to simplify the Imap4Client implementation
Version 2.0 -- 19 March 2002
First release -- incorporates existing code from IMAP4 ToolBuzz and the protocol classes from MIME++
Many new features added to existing classes:
SMTP
- EHLO command
- parses server capabilities in EHLO response
- AUTH PLAIN command
- AUTH CRAM-MD5 command
- parses enhanced status codes
- allows parameters to be added to MAIL and RCPT commands
- allows mail data to be sent in multiple buffers
- allows non-standard commands to be sent and the responses processed
POP3
- APOP command
- AUTH CRAM-MD5 command
- CAPA command
IMAP4
- AUTH PLAIN command
- AUTH CRAM-MD5 command
Completely independent from MIME++ (DwString class is not used)
Better underlying socket implementation
More intuitive error handling
Rewritten documentation
"Dw" prefix dropped and "mailpp" namespace introduced