ferencd@0: ferencd@0: VERSION 0.9.2svn ferencd@0: ================ ferencd@0: ferencd@0: 2012-11-03 Vincent Richard ferencd@0: ferencd@0: * Migrated to CMake build system. Conditional compilation of source files. ferencd@0: Automatic selection of platform handler. ferencd@0: ferencd@0: * Added support for OpenSSL (thanks to Mehmet Bozkurt). ferencd@0: ferencd@0: 2012-10-15 Vincent Richard ferencd@0: ferencd@0: * Added support for timeout when receiving data from a socket. ferencd@0: ferencd@0: 2012-04-16 Vincent Richard ferencd@0: ferencd@0: * MIME Parser can now operate directly on an input stream (eg. file). ferencd@0: This allows very big messages to be parsed without loading the whole ferencd@0: message data into memory. ferencd@0: ferencd@0: 2010-11-16 Vincent Richard ferencd@0: ferencd@0: * Started version 0.9.2. ferencd@0: ferencd@0: ferencd@0: VERSION 0.9.1 ferencd@0: ============= ferencd@0: ferencd@0: 2010-05-18 Vincent Richard ferencd@0: ferencd@0: * net/*: added helper function vmime::net::message::getParsedMessage() ferencd@0: to construct a RFC-822 parsed message from a net message. ferencd@0: ferencd@0: 2009-09-06 Vincent Richard ferencd@0: ferencd@0: * Relicensed VMime under the GNU GPL license version 3. Dual licensing ferencd@0: is now available. More info here: http://www.vmime.org/pages/Licensing ferencd@0: ferencd@0: 2008-10-19 Vincent Richard ferencd@0: ferencd@0: * Started version 0.9.1. ferencd@0: ferencd@0: ferencd@0: VERSION 0.9.0 ferencd@0: ============= ferencd@0: ferencd@0: 2008-01-28 Vincent Richard ferencd@0: ferencd@0: * fileAttachment: fixed constructor ambiguity due to implicit conversions. ferencd@0: Removed default values and reordered parameters (API breaking change). ferencd@0: Many thanks to Philipp Frenkel. More information here: ferencd@0: http://sourceforge.net/forum/message.php?msg_id=4739926 ferencd@0: ferencd@0: 2007-11-20 Vincent Richard ferencd@0: ferencd@0: * text, word: fixed incorrect white-space between words. ferencd@0: ferencd@0: 2007-07-09 Vincent Richard ferencd@0: ferencd@0: * IMAPUtils.cpp: fixed bug in modified UTF-7 encoding (IMAP). ferencd@0: ferencd@0: 2007-05-22 Vincent Richard ferencd@0: ferencd@0: * Implemented thread-safe reference counting for smart pointers, ferencd@0: whenever possible (GCC built-in functions / pthread / Win32). ferencd@0: ferencd@0: 2007-03-28 Vincent Richard ferencd@0: ferencd@0: * SMTPTransport.cpp: better parsing of ESMTP extensions. ferencd@0: ferencd@0: 2007-03-02 Vincent Richard ferencd@0: ferencd@0: * Maildir: added support for "Courier" Maildir. ferencd@0: ferencd@0: 2006-12-20 Vincent Richard ferencd@0: ferencd@0: * Started version 0.8.2. ferencd@0: ferencd@0: ferencd@0: VERSION 0.8.1 ferencd@0: ============= ferencd@0: ferencd@0: 2006-11-08 Vincent Richard ferencd@0: ferencd@0: * Imbue classic "C" locale for the output of message parts and ferencd@0: protocol commands (thanks to Mörtsell Anders). ferencd@0: ferencd@0: 2006-10-11 Vincent Richard ferencd@0: ferencd@0: * Renamed 'vmime::platformDependant' to 'vmime::platform'. The old ferencd@0: name has been kept for compatibility with previous versions. ferencd@0: ferencd@0: 2006-10-02 Vincent Richard ferencd@0: ferencd@0: * SMTPTransport.cpp: reissue EHLO command after a successful STARTTLS ferencd@0: negociation. ferencd@0: ferencd@0: * word, wordEncoder: fixed bug #1096610 which caused encoding of a ferencd@0: non-integral number of characters (and then, generation of ferencd@0: incorrectly-formed words) with multi-bytes charsets. ferencd@0: ferencd@0: 2006-07-13 Vincent Richard ferencd@0: ferencd@0: * Fixed bugs in MHTML code: 'CID' prefix should not be case-sensitive; ferencd@0: fixed detection of parts identified by a 'Content-Location'. ferencd@0: ferencd@0: 2006-04-23 Vincent Richard ferencd@0: ferencd@0: * Added vmime::net::folder::destroy() to delete folders on IMAP and ferencd@0: maildir stores. ferencd@0: ferencd@0: 2006-04-18 Vincent Richard ferencd@0: ferencd@0: * Renamed 'byte' to 'byte_t' to fix compilation problems on Fedora ferencd@0: core 5 (thanks to Rafael Fernandez). ferencd@0: ferencd@0: 2006-02-20 Vincent Richard ferencd@0: ferencd@0: * net/imap/IMAPParser.hpp: added a "relaxed" mode to allow 8-bit ferencd@0: characters where not allowed by the standard (thanks to Tim Teulings ferencd@0: for having found the bug). ferencd@0: ferencd@0: 2006-01-29 Vincent Richard ferencd@0: ferencd@0: * Added service::isSecuredConnection() and service::getConnectionInfos() ferencd@0: to retrieve information about the connection. ferencd@0: ferencd@0: 2006-01-16 Vincent Richard ferencd@0: ferencd@0: * Added support for attachments of type "message/rfc822". ferencd@0: ferencd@0: 2006-01-15 Vincent Richard ferencd@0: ferencd@0: * IMAP: implemented multi-fetching. Now using "FETCH x:y" instead of ferencd@0: sending (y-x+1) "FETCH" requests. ferencd@0: ferencd@0: 2005-12-26 Vincent Richard ferencd@0: ferencd@0: * posixSocket.cpp: use getaddrinfo() if available. This should bring ferencd@0: thread-safe DNS resolution and IPv6 support. ferencd@0: ferencd@0: 2005-12-18 Vincent Richard ferencd@0: ferencd@0: * IMAPParser.hpp: compatibility bugs + enhanced debugging trace. ferencd@0: ferencd@0: 2005-12-04 Vincent Richard ferencd@0: ferencd@0: * exception.{hpp|cpp}: fixed segfault in destructor when destroying ferencd@0: an exception chain with more than 2 elements (thanks to Bertrand ferencd@0: Benoit). ferencd@0: ferencd@0: * posixChildProcess.cpp: fixed a bug in argument vector; last argument ferencd@0: was not NULL (thanks to Bertrand Benoit). ferencd@0: ferencd@0: 2005-11-27 Vincent Richard ferencd@0: ferencd@0: * maildirUtils.cpp: fixed problem with ':' in filename on Windows ferencd@0: platform (thanks to Benjamin Biron). ferencd@0: ferencd@0: * random.cpp: fixed buffer overrun in random::getString (thanks ferencd@0: to Benjamin Biron). ferencd@0: ferencd@0: 2005-11-07 Vincent Richard ferencd@0: ferencd@0: * SMTPTransport.cpp: fixed bug in disconnect() when authentication is ferencd@0: not needed (thanks to Benjamin Biron). ferencd@0: ferencd@0: * dateTime.cpp: gmtime() and localtime() are reentrant when using ferencd@0: MS C runtime library (MinGW/MSVC). ferencd@0: ferencd@0: 2005-11-06 Vincent Richard ferencd@0: ferencd@0: * Started version 0.8.1. ferencd@0: ferencd@0: ferencd@0: VERSION 0.8.0 ferencd@0: ============= ferencd@0: ferencd@0: 2005-11-06 Vincent Richard ferencd@0: ferencd@0: * First version of the VMime Book. ferencd@0: ferencd@0: 2005-11-05 Vincent Richard ferencd@0: ferencd@0: * Refactored header field values and parameters. ferencd@0: ferencd@0: 2005-10-19 Vincent Richard ferencd@0: ferencd@0: * charsetConverter.{hpp|cpp}: new object 'charsetConverter' for converting ferencd@0: between charsets (code moved from static functions in 'charset' class). ferencd@0: ferencd@0: * Added 'charsetFilteredOutputStream': provide charset conversion while ferencd@0: writing to an output stream. ferencd@0: ferencd@0: 2005-10-16 Vincent Richard ferencd@0: ferencd@0: * SConstruct: fixed compilation problems on FreeBSD (thanks to Xin LI). ferencd@0: ferencd@0: 2005-10-13 Vincent Richard ferencd@0: ferencd@0: * attachmentHelper.{hpp|cpp}: the attachmentHelper allows listing all ferencd@0: attachments in a message, as well as adding new attachments. ferencd@0: ferencd@0: 2005-10-06 Vincent Richard ferencd@0: ferencd@0: * utility/progressionListener.{hpp|cpp}: renamed 'progressionListener' ferencd@0: to 'progressListener'. ferencd@0: ferencd@0: 2005-10-04 Vincent Richard ferencd@0: ferencd@0: * net/service: removed "server.socket-factory" property; added the ferencd@0: service::setSocketFactory() function instead. Removed "name" parameter ferencd@0: from platformDependant::getSocketFactory() function. ferencd@0: ferencd@0: * net/service: removed "timeout.factory" property; added the function ferencd@0: service::setTimeoutHandlerFactory() instead. Removed the function ferencd@0: platformDependant::getTimeoutHandlerFactory(). ferencd@0: ferencd@0: 2005-10-03 Vincent Richard ferencd@0: ferencd@0: * Added TLS/SSL support, using GNU TLS library. ferencd@0: ferencd@0: 2005-09-17 Vincent Richard ferencd@0: ferencd@0: * Added SASL support, based on GNU SASL library. Slightly modified ferencd@0: auhenticator object; see 'example6' which has been updated. ferencd@0: ferencd@0: 2005-09-06 Vincent Richard ferencd@0: ferencd@0: * Created 'vmime::security' and 'vmime::security::digest' namespaces. ferencd@0: MD5 has been moved here. Added SHA-1 hash algorithm. ferencd@0: ferencd@0: 2005-09-03 Vincent Richard ferencd@0: ferencd@0: * encoder*, *contentHandler: added progression notifications. ferencd@0: ferencd@0: 2005-08-25 Vincent Richard ferencd@0: ferencd@0: * Tests: moved to CppUnit for unit tests framework. ferencd@0: ferencd@0: 2005-08-23 Vincent Richard ferencd@0: ferencd@0: * All sources: renamed 'vmime::messaging' to 'vmime::net'. An alias has been ferencd@0: kept for compatibility with previous versions (its use should be considered ferencd@0: as deprecated). ferencd@0: ferencd@0: 2005-08-19 Vincent Richard ferencd@0: ferencd@0: * exception.hpp: vmime::exception now inherits from std::exception. ferencd@0: ferencd@0: 2005-07-25 Vincent Richard ferencd@0: ferencd@0: * Messaging folder: added a FETCH_IMPORTANCE flag to fetch the fields used ferencd@0: with 'misc::importanceHelper'. ferencd@0: ferencd@0: 2005-07-23 Vincent Richard ferencd@0: ferencd@0: * POP3, IMAP, maildir: fixed getMessages() when default arguments are given: ferencd@0: no message were returned, instead of the real message count. ferencd@0: ferencd@0: 2005-07-15 Vincent Richard ferencd@0: ferencd@0: * *attachment, messageParser: added a getName() parameter to retrieve ferencd@0: the attachment filename either from the "filename" parameter of the ferencd@0: "Content-Disposition" field, or from the "name" parameter of the ferencd@0: "Content-Type" field (if available). ferencd@0: ferencd@0: 2005-07-13 Vincent Richard ferencd@0: ferencd@0: * All files: added reference counting and smart pointers to simplify the ferencd@0: use of VMime objects. Please see README.refcounting for more information. ferencd@0: ferencd@0: 2005-07-06 Vincent Richard ferencd@0: ferencd@0: * *contentHandler.{hpp|cpp}: added extractRaw() method to allow extracting ferencd@0: data without performing any decoding. ferencd@0: ferencd@0: 2005-06-22 Vincent Richard ferencd@0: ferencd@0: * Started version 0.7.2. ferencd@0: ferencd@0: ferencd@0: VERSION 0.7.1 ferencd@0: ============= ferencd@0: ferencd@0: 2005-06-21 Vincent Richard ferencd@0: ferencd@0: * Fixed compilation errors with g++ 4.0. ferencd@0: ferencd@0: * defaultParameter.cpp: fixed a bug in RFC-2231 implementation. ferencd@0: ferencd@0: 2005-06-13 Vincent Richard ferencd@0: ferencd@0: * word.cpp: fixed a bug in parsing, when the first character of word data ferencd@0: was encoded in QP (thanks to Wolf Jiang). ferencd@0: ferencd@0: 2005-06-03 Vincent Richard ferencd@0: ferencd@0: * parameterizedHeaderField.{hpp|cpp}: fixed a memory leak in the ferencd@0: destructor (thanks to Rafael Fernandez). ferencd@0: ferencd@0: 2005-05-27 Vincent Richard ferencd@0: ferencd@0: * messaging/*/*Message.{hpp|cpp}: added a 'peek' parameter to extract ferencd@0: message contents without marking the message as seen. ferencd@0: ferencd@0: 2005-05-19 Vincent Richard ferencd@0: ferencd@0: * messaging/imap/IMAPFolder.cpp: fixed bug in subfolders enumeration. ferencd@0: ferencd@0: * examples/example6.cpp: enhanced 'example6' into an interactive program to ferencd@0: show some of the features of the messaging module. ferencd@0: ferencd@0: 2005-05-15 Vincent Richard ferencd@0: ferencd@0: * messaging/serviceInfos.{hpp|cpp}: changed getAvailableProperties() to ferencd@0: return 'serviceInfos::property' objects instead of strings. This permits ferencd@0: setting service properties in a more generic manner. ferencd@0: ferencd@0: 2005-05-03 Vincent Richard ferencd@0: ferencd@0: * messaging/imap/IMAPFolder.cpp: fixed missing space in "STATUS" command + ferencd@0: parsing error in 'status_info'. ferencd@0: ferencd@0: 2005-04-30 Vincent Richard ferencd@0: ferencd@0: * utility/childProcess.{hpp|cpp}: added a 'childProcess' class to help ferencd@0: with spawning child processes (used in 'sendmail' implementation). ferencd@0: ferencd@0: 2005-04-28 Stefan Uhrig ferencd@0: ferencd@0: * README.msvc: added guide describing how to compile VMime using ferencd@0: Visual Studio .NET 2003 ferencd@0: ferencd@0: 2005-04-27 Vincent Richard ferencd@0: ferencd@0: * progressionListener.{hpp|cpp}: moved to 'vmime::utility' package since ferencd@0: this can be of general use. ferencd@0: ferencd@0: * stream.{hpp|cpp}: added a bufferedStreamCopy() function which can ferencd@0: take a 'progressionListener' parameter. ferencd@0: ferencd@0: * filteredStream.{hpp|cpp}: new feature added: filtered input and ferencd@0: output streams. ferencd@0: ferencd@0: * Added 'sendmail' transport service for local delivery. ferencd@0: ferencd@0: 2005-04-19 Vincent Richard ferencd@0: ferencd@0: * defaultParameter.cpp: fixed a bug in implementation of RFC-2231 (values ferencd@0: were cut if longer than maxLineLength, and no line wrapping occured). ferencd@0: ferencd@0: 2005-04-15 Vincent Richard ferencd@0: ferencd@0: * url.{hpp|cpp}, urlUtils.{hpp|cpp}: fixed a lot of bugs in URLs parsing ferencd@0: and encoding/decoding + added unit tests. ferencd@0: ferencd@0: 2005-04-14 Vincent Richard ferencd@0: ferencd@0: * url.{hpp|cpp}, urlUtils.{hpp|cpp}: moved 'url' and 'urlUtils' from ferencd@0: 'vmime::messaging' namespace to 'vmime::utility' namespace. ferencd@0: ferencd@0: 2005-04-12 Vincent Richard ferencd@0: ferencd@0: * Started version 0.7.1. ferencd@0: ferencd@0: ferencd@0: VERSION 0.7.0 ferencd@0: ============= ferencd@0: ferencd@0: 2005-04-12 Vincent Richard ferencd@0: ferencd@0: * parameter.{cpp|hpp}, contentDispositionField.{cpp|hpp}: added support ferencd@0: for RFC-2231 (encoded word extensions). Changed 'filename' parameter ferencd@0: type from 'vmime::string' to 'vmime::word'. Default parameter type is ferencd@0: now vmime::word, and not vmime::string. ferencd@0: ferencd@0: 2005-04-09 Vincent Richard ferencd@0: ferencd@0: * encoderB64.cpp: fixed a bug in Base64 decoding. Bytes to be decoded ferencd@0: were not correctly initialized. ferencd@0: ferencd@0: 2005-04-03 Vincent Richard ferencd@0: ferencd@0: * messaging/*: moved IMAP, POP3, maildir and SMTP files to separate ferencd@0: namespaces. ferencd@0: ferencd@0: 2005-03-31 Vincent Richard ferencd@0: ferencd@0: * misc/importanceHelper.{cpp|hpp}: added support for message importance: ferencd@0: "X-Priority:" and "Importance:" fields. ferencd@0: ferencd@0: 2005-03-28 Vincent Richard ferencd@0: ferencd@0: * messaging/POP3Store.cpp: fixed POP3Store::sendPacket() to send "\r\n" ferencd@0: in the same packet as the request. This caused problems with some ferencd@0: servers (thanks to Donald Dade). ferencd@0: ferencd@0: * SConstruct: modified 'msvc' target to generate automatically the ferencd@0: config file 'config.hpp.msvc'. ferencd@0: ferencd@0: 2005-03-27 Stefan Uhrig ferencd@0: ferencd@0: * Added Windows platform handlers. ferencd@0: ferencd@0: 2005-03-27 Vincent Richard ferencd@0: ferencd@0: * messageIdSequence.{cpp|hpp}: added a new basic type "messageIdSequence" for ferencd@0: a list of message-ids separated by CFWS (used in "References:" field, for ferencd@0: example). ferencd@0: ferencd@0: * SConstruct: added 'msvc' target to generate MSVC project files. ferencd@0: ferencd@0: 2005-03-25 Vincent Richard ferencd@0: ferencd@0: * mdn/*.{cpp|hpp}: added support for Message Disposition Notifications (MDN), ferencd@0: as defined by RFC-3798 and RFC-1892. This is a very first implementation, ferencd@0: API is subject to changes... ferencd@0: ferencd@0: * Some fixes for Visual C++/Windows. ferencd@0: ferencd@0: 2005-03-24 Vincent Richard ferencd@0: ferencd@0: * Added 'HACKING' file. ferencd@0: ferencd@0: 2005-03-23 Vincent Richard ferencd@0: ferencd@0: * messaging/POP3*: fixed incorrect message size. Fixed a bug in ferencd@0: deleteMessages() when 'to == -1' and last message not being ferencd@0: deleted (thanks to Stefan Uhrig). ferencd@0: ferencd@0: * SConstruct: fixed compilation/linking problem with g++ and X86-64 on ferencd@0: static library: added -fPIC/-fpic in compiler flags. ferencd@0: ferencd@0: * messaging/POP3*: added notifications. ferencd@0: ferencd@0: * constants.{cpp|hpp}, contentTypeField.{cpp|hpp}: added support for ferencd@0: content types and parameters defined in RFC-1892. ferencd@0: ferencd@0: 2005-03-17 Vincent Richard ferencd@0: ferencd@0: * base.{cpp|hpp}: renamed 'MIME_VERSION' to 'SUPPORTED_MIME_VERSION'. ferencd@0: ferencd@0: * Added "Viewer" example in /examples/viewer: demonstrate the parsing ferencd@0: capabilities of VMime and it can help when debugging... ferencd@0: ferencd@0: 2005-03-16 Vincent Richard ferencd@0: ferencd@0: * Fixed compilation problems on Solaris 9. ferencd@0: ferencd@0: 2005-03-15 Vincent Richard ferencd@0: ferencd@0: * tests/parser/textTest.cpp: added more unit tests for 'text' class. ferencd@0: ferencd@0: * text.{cpp|hpp}, word.{cpp|hpp}: moved word parsing from 'text' class ferencd@0: to 'word' class, which now inherits from 'component'. ferencd@0: ferencd@0: 2005-03-14 Vincent Richard ferencd@0: ferencd@0: * removed singleton<> and singletonManager classes: useless and quite ferencd@0: confusing in Doxygen-generated documentation. ferencd@0: ferencd@0: 2005-02-06 Vincent Richard ferencd@0: ferencd@0: * mailboxList.{cpp|hpp}: dropped protected inheritance which was not ferencd@0: appropriate for this type of composition. ferencd@0: ferencd@0: 2005-02-05 Vincent Richard ferencd@0: ferencd@0: * parserHelpers.hpp: moved 'static' functions into 'parserHelpers' class. ferencd@0: ferencd@0: 2005-02-05 Vincent Richard ferencd@0: ferencd@0: * platforms/posix/posixHandler.cpp: removed extra '::' before ferencd@0: numeric constants. ferencd@0: ferencd@0: 2005-02-05 Vincent Richard ferencd@0: ferencd@0: * utility/md5.cpp: fixed forward use of swapUint32Array() with ferencd@0: gcc 3.3 (Apple). ferencd@0: ferencd@0: 2005-02-01 Vincent Richard ferencd@0: ferencd@0: * text.cpp: fixed possible segfault when encoding is Base64 (typo). ferencd@0: ferencd@0: 2005-01-28 Vincent Richard ferencd@0: ferencd@0: * Started version 0.6.4. ferencd@0: ferencd@0: ferencd@0: VERSION 0.6.3 ferencd@0: ============= ferencd@0: ferencd@0: 2005-01-28 Vincent Richard ferencd@0: ferencd@0: * Splitted 'contentHandler' into three classes: 'emptyContentHandler', ferencd@0: 'stringContentHandler' and 'streamContentHandler'. ferencd@0: ferencd@0: * Fixed bugs with signed/unsigned char in 'parserHelpers'. ferencd@0: ferencd@0: 2005-01-15 Vincent Richard ferencd@0: ferencd@0: * Fixed missing 'vmime/config.hpp' include when installing VMime ferencd@0: using 'make install'. ferencd@0: ferencd@0: 2005-01-13 Vincent Richard ferencd@0: ferencd@0: * messaging/events.*: prefixed function names with 'get' + written ferencd@0: some documentation for functions. ferencd@0: ferencd@0: 2005-01-05 Vincent Richard ferencd@0: ferencd@0: * Started version 0.6.3. ferencd@0: ferencd@0: ferencd@0: VERSION 0.6.2 ferencd@0: ============= ferencd@0: ferencd@0: 2005-01-04 Vincent Richard ferencd@0: ferencd@0: * Added diagnostic error string for 'exceptions::connection_error'. ferencd@0: ferencd@0: * Fixed a bug in 'posixSocket::connect()' that prevented connecting to ferencd@0: servers by specifying an IP address instead of a server name. ferencd@0: ferencd@0: 2005-01-03 Vincent Richard ferencd@0: ferencd@0: * Fixed linking error on 'typeAdapter ::parse()' with g++ versions ferencd@0: older than 3.3. ferencd@0: ferencd@0: 2005-01-02 Vincent Richard ferencd@0: ferencd@0: * Added unit tests for utility::path and bodyPart. ferencd@0: ferencd@0: * Added 'utility::datetimeUtils' to provide some time-related functions. ferencd@0: ferencd@0: * Fixed 'stringUtils' not in namespace 'utility'. ferencd@0: ferencd@0: * Moved 'datetime::getDayOfWeek()' to 'datetimeUtils'. ferencd@0: ferencd@0: 2005-01-01 Vincent Richard ferencd@0: ferencd@0: * Converted all C-style casts to C++-style casts. ferencd@0: ferencd@0: * Added unit tests for utility::md5, utility::stringProxy and ferencd@0: utility::stringUtils. ferencd@0: ferencd@0: 2004-12-31 Vincent Richard ferencd@0: ferencd@0: * Started version 0.6.2. ferencd@0: ferencd@0: ferencd@0: VERSION 0.6.1 ferencd@0: ============= ferencd@0: ferencd@0: 2004-12-27 Vincent Richard ferencd@0: ferencd@0: * Added support for 'libtool'. All files needed for autoconf/automake ferencd@0: can be generated with SConstruct script, using the 'autotools' ferencd@0: target ("scons autotools"). These are also built and included ferencd@0: automatically in the distribution tarball ("scons dist"). ferencd@0: ferencd@0: 2004-12-26 Vincent Richard ferencd@0: ferencd@0: * Removed relative paths from #include's and moved all header files ferencd@0: to 'vmime/' directory. ferencd@0: ferencd@0: * Renamed main VMime include from 'vmime' to 'vmime.hpp'. So, in your ferencd@0: program, you have to #include . ferencd@0: ferencd@0: * Added support for 'pkg-config'. ferencd@0: ferencd@0: * Allow creating a service from an URL (session::getStore("url") and ferencd@0: session::getTransport("url")) ferencd@0: ferencd@0: 2004-12-24 Vincent Richard ferencd@0: ferencd@0: * Renamed class 'disposition' to 'contentDisposition' and the enum ferencd@0: namespace 'dispositionTypes' to 'contentDispositionTypes'. ferencd@0: ferencd@0: 2004-12-23 Vincent Richard ferencd@0: ferencd@0: * maildir: when connecting to the store, create root directory on the ferencd@0: file system if it does not exist. ferencd@0: ferencd@0: 2004-12-22 Vincent Richard ferencd@0: ferencd@0: * Fixed missing files in distribution (src/platform/*). ferencd@0: ferencd@0: * Fixed empty 'COPYING' file. ferencd@0: ferencd@0: * Started version 0.6.1. ferencd@0: ferencd@0: ferencd@0: VERSION 0.6.0 ferencd@0: ============= ferencd@0: ferencd@0: 2004-12-22 Vincent Richard ferencd@0: ferencd@0: * Finished 'maildir' implementation. This is EXPERIMENTAL! ferencd@0: ferencd@0: * Added a getCapabilities() function on 'vmime::messaging::store' to ferencd@0: quickly check which features are available. ferencd@0: ferencd@0: * New functions in 'component': getParsedOffset(), getParsedLength() ferencd@0: and getChildComponents(). ferencd@0: ferencd@0: 2004-12-19 Vincent Richard ferencd@0: ferencd@0: * Added chaining in exception handling. vmime::exception::other() returns ferencd@0: the exception which is encapsulated in the current exception (if any). ferencd@0: This allows to retrieve the exception "stack" (for example, this is ferencd@0: used for 'maildir' implementation, where some functions return a ferencd@0: 'filesystem_exception' encapsulated in a 'messaging_exception'). ferencd@0: ferencd@0: * Fixed bugs and memory leaks in POP3/IMAP/maildir implementations. ferencd@0: ferencd@0: 2004-12-17 Vincent Richard ferencd@0: ferencd@0: * Made default platform handlers (currently, only "posix"). Source files ferencd@0: are in src/platforms/[platform-name]. ferencd@0: ferencd@0: To use a default platform handler, do the following: ferencd@0: - #include ferencd@0: - call vmime::platformDependant::setHandler() with the appropriate class ferencd@0: - link your program with both 'libvmime' and 'libvmime-[platform-name]' ferencd@0: ferencd@0: For example, to use the default platform handler for POSIX (GNU/Linux): ferencd@0: ferencd@0: #include ferencd@0: ferencd@0: int main() ferencd@0: { ferencd@0: vmime::platformDependant::setHandler ferencd@0: (); ferencd@0: ferencd@0: // ... ferencd@0: } ferencd@0: ferencd@0: and link your program with "-lvmime" and "-lvmime-posix". ferencd@0: ferencd@0: 2004-10-21 Vincent Richard ferencd@0: ferencd@0: * A _LOT_ of cleaning/refactoring in VMime code: ferencd@0: ferencd@0: - got rid of field types (only using field names now). ferencd@0: ferencd@0: - removed iterators on 'header', 'text', 'addressList', 'mailboxGroup', ferencd@0: 'propertySet' and 'bodyPart': use access functions instead (iterators ferencd@0: made the code difficult to understand). You can always use standard ferencd@0: iterators on the container returned by getFieldList(), and so on. ferencd@0: ferencd@0: - migrated to get/set convention for accessors (most of time, just add ferencd@0: 'get' or 'set' before method name, depending on what it does). ferencd@0: ferencd@0: - dropped 'comp_t' typedef on 'datetime' (useless). ferencd@0: ferencd@0: - moved a lot of code from header (.hpp) to implementation files (.cpp). ferencd@0: ferencd@0: - made all objects cloneable and copiable at the 'component' level: ferencd@0: methods component::clone() and component::copyFrom(). ferencd@0: ferencd@0: - made a 'typeAdapter' to allow using fondamental/no-vmime types in ferencd@0: header field and parameter values. ferencd@0: ferencd@0: - implicit 'operator=' on header fields to set value is not allowed ferencd@0: anymore: use setValue() instead or you will get a std::bad_cast ferencd@0: exception. ferencd@0: ferencd@0: - 'textParameter' renamed to 'defaultParameter'. ferencd@0: ferencd@0: - vmime::makeWordsFromText() is now vmime::text::newFromString(). ferencd@0: ferencd@0: - changed a lot of return type value from reference to pointer, to ferencd@0: to avoid confusion. ferencd@0: ferencd@0: 2004-10-05 Vincent Richard ferencd@0: ferencd@0: * added clone() method on 'component' object. ferencd@0: ferencd@0: 2004-09-09 Vincent Richard ferencd@0: ferencd@0: * IMAPFolder.cpp: fixed rename(): folder name is now updated. ferencd@0: ferencd@0: 2004-08-21 Vincent Richard ferencd@0: ferencd@0: * charset.cpp: workaround (hack?) for different 'iconv' prototypes (they ferencd@0: may differ in the second parameter being 'const' or not). ferencd@0: ferencd@0: 2004-08-20 Vincent Richard ferencd@0: ferencd@0: * renamed "messaging/folderPath" to "utility/path" for common use in ferencd@0: "messaging/folder" and "utility/file". ferencd@0: ferencd@0: * moved "stream" and "stringProxy" into "utility" namespace. ferencd@0: ferencd@0: * started to write some "JavaDoc-like" comments, for use with Doxygen. ferencd@0: ferencd@0: 2004-08-18 Vincent Richard ferencd@0: ferencd@0: * stringProxy.hpp: fixed stringProxy::it_end() which returned wrong ferencd@0: value (typo...). ferencd@0: ferencd@0: 2004-07-26 Vincent Richard ferencd@0: ferencd@0: * fileAttachment: fixed the encoding param (not set to default anymore) ferencd@0: and provided a new constructor to specify your own encoding. ferencd@0: ferencd@0: 2004-07-22 Vincent Richard ferencd@0: ferencd@0: * wide-char support is disabled by default. To enable, set the flag ferencd@0: "with_wide_char_support=yes" on the SCons command line. ferencd@0: ferencd@0: 2004-07-08 Vincent Richard ferencd@0: ferencd@0: * renamed messaging/POP3*, messaging/IMAP* and messaging/SMTP* classes ferencd@0: to follow the same convention as other class names. ferencd@0: ferencd@0: 2004-07-03 Vincent Richard ferencd@0: ferencd@0: * moved some files to "utility" subdirectory ("vmime::utility" namespace). ferencd@0: ferencd@0: ferencd@0: VERSION 0.5.1 ferencd@0: ============= ferencd@0: ferencd@0: 2004-06-15 Vincent Richard ferencd@0: ferencd@0: * contentHandler, htmlTextPart: Fixed some compilation issues with ferencd@0: g++ version < 3.4: ferencd@0: [error: declaration of `const vmime::encoding& encoding() const' ferencd@0: changes meaning of `encoding' from `class vmime::encoding']. ferencd@0: ferencd@0: * Fixed errors in SConstruct with Windows NT (2k, XP...). ferencd@0: ferencd@0: ferencd@0: VERSION 0.5.0 ferencd@0: ============= ferencd@0: ferencd@0: 2004-05-26 Vincent Richard ferencd@0: ferencd@0: * added methods receiveRaw() and sendRaw() on vmime::socket object. Do not ferencd@0: forget to implement it, or you will get a compile error. ferencd@0: ferencd@0: 2004-05-21 Vincent Richard ferencd@0: ferencd@0: * added some unit tests in the "tests" directory. To run all the tests, 'cd' ferencd@0: to the "tests" directory, compile test programs by running "make" and then ferencd@0: execute the "run-tests.sh" script. ferencd@0: ferencd@0: * charset: added a convert() function to perform stream conversion. ferencd@0: ferencd@0: 2004-05-18 Vincent Richard ferencd@0: ferencd@0: * encoder*: updated all encoders so they use input streams and output ferencd@0: streams instead of a in-memory string. You can use the stream adapters ferencd@0: (inputStreamStringAdapter and outputStreamStringAdapter) for your code ferencd@0: to continue working the old-fashioned way... ferencd@0: ferencd@0: 2004-05-17 Vincent Richard ferencd@0: ferencd@0: * messaging/transport.hpp: added a "size" parameter to send() function. ferencd@0: ferencd@0: 2004-05-16 Vincent Richard ferencd@0: ferencd@0: * body: body contents and data in text parts are now handled via a ferencd@0: proxy object: contentHandler. This allow more flexibility, including ferencd@0: providing data from an input stream instead of storing whole data in ferencd@0: memory into a string object. This also provide a big performance and ferencd@0: memory usage improvement. For more information, please see the comments ferencd@0: in the file "contentHandler.hpp". ferencd@0: ferencd@0: 2004-05-15 Vincent Richard ferencd@0: ferencd@0: * all files: modified the parsing in depth (not using iterators anymore), ferencd@0: the code is clearer and faster. ferencd@0: ferencd@0: * IMAPutils.cpp: corrected a bug (typo) in IMAPutils::dateTime(). ferencd@0: ferencd@0: 2004-05-13 Vincent Richard ferencd@0: ferencd@0: * all files: added a generate() method on vmime::component to generate ferencd@0: objects into an output stream (outputStream). This offers a large ferencd@0: performance and memory usage improvement when generating big messages. ferencd@0: ferencd@0: * stream.cpp/.hpp: new objects "inputStream" and "outputStream" to ferencd@0: provide more flexibility than with standard C++ streams. There are ferencd@0: also adapters for standard i/o streams, provided for compatibility. ferencd@0: ferencd@0: ferencd@0: VERSION 0.4.2 ferencd@0: ============= ferencd@0: ferencd@0: 2004-05-08 Vincent Richard ferencd@0: ferencd@0: * messaging: added a system of event notification (message change, ferencd@0: folder renamed, etc...). For more information about this, please ferencd@0: consult "src/messaging/events.hpp". ferencd@0: ferencd@0: 2004-05-03 Vincent Richard ferencd@0: ferencd@0: * messaging: added a lot of useful features to message stores ferencd@0: (set/get message flags, message deletion, copy, rename folder, ferencd@0: adding messages, unique identifiers, MIME part/header fetch, ferencd@0: partial fetch...). ferencd@0: ferencd@0: 2004-04-30 Vincent Richard ferencd@0: ferencd@0: * messaging/message.hpp: added a fetchPartHeader() method to ferencd@0: extract the header of a specific MIME part. ferencd@0: ferencd@0: 2004-04-25 Vincent Richard ferencd@0: ferencd@0: * all files: removed (illegal) extra ';' after namespace ferencd@0: declarations. ferencd@0: ferencd@0: * all files: fixed some compilation errors with g++-3.4 (the ferencd@0: parser is more strict and more standard-compliant). ferencd@0: ferencd@0: 2004-04-24 Vincent Richard ferencd@0: ferencd@0: * messaging/*: splitted "progressListener" into two objects: ferencd@0: "progressionListener" and "timeoutHandler". The last one is ferencd@0: used internally in VMime. The "progressionListener" parameter ferencd@0: is no more passed as argument to the constructor of a "service" ferencd@0: object. Instead, it can be given in argument to the functions ferencd@0: that use it: ferencd@0: - message::extract[Part]() ferencd@0: - folder::fetchMessages() ferencd@0: - transport::send() ferencd@0: ferencd@0: 2004-04-04 Vincent Richard ferencd@0: ferencd@0: * messaging/folder.hpp: added a (optional) parameter "recursive" ferencd@0: to getFolders() to allow enumeration of all sub-folders ferencd@0: (that is, direct and indirect). ferencd@0: ferencd@0: 2004-04-03 Vincent Richard ferencd@0: ferencd@0: * messaging/authenti[fi]cationInfos: renamed class ferencd@0: 'authentificationInfos' to 'authenticationInfos'. ferencd@0: ferencd@0: * exception.hpp: renamed class 'authentification_error' to ferencd@0: 'authentication_error'. ferencd@0: ferencd@0: * messaging/SMTPtransport: renamed 'options.need-authentification' ferencd@0: to 'options.need-authentication'. ferencd@0: ferencd@0: 2004-04-02 Vincent Richard ferencd@0: ferencd@0: * added basic IMAP support. This is EXPERIMENTAL. ferencd@0: ferencd@0: 2004-03-25 Vincent Richard ferencd@0: ferencd@0: * messaging::folder::path: changed type of 'component' from 'string' ferencd@0: to 'word' to allow multiple charsets to be used in a path. ferencd@0: ferencd@0: * implemented a noop() command on vmime::messaging::service class. ferencd@0: ferencd@0: * messageParser.cpp: it is now possible to get more information on an ferencd@0: attachment using the "Content-Disposition" (use the attachmentInfo() ferencd@0: fonction to retrieve the "Content-Disposition" field related to ferencd@0: the attachment). ferencd@0: ferencd@0: ferencd@0: VERSION 0.4.1 ferencd@0: ============= ferencd@0: ferencd@0: 2004-03-24 Vincent Richard ferencd@0: ferencd@0: * SMTPtransport.cpp: fixed a bug in send(). ferencd@0: ferencd@0: ferencd@0: VERSION 0.4.0 ferencd@0: ============= ferencd@0: ferencd@0: 2004-02-19 Vincent Richard ferencd@0: ferencd@0: * mailboxGroup.cpp: fixed a segfault when generating() an empty group ferencd@0: (eg. "undisclosed-recipient"). ferencd@0: ferencd@0: 2004-02-17 Vincent Richard ferencd@0: ferencd@0: * === MAJOR CHANGE === Removed old "network features". Now, this is called ferencd@0: "messaging system" and a new (incompatible) interface is provided. ferencd@0: ferencd@0: 2003-12-30 Vincent Richard ferencd@0: ferencd@0: * encoderFactory.cpp/.hpp: added stuff to allow iterating through ferencd@0: registered encoders. ferencd@0: ferencd@0: * encoder*.cpp/.hpp: changed the way options/results are set in encoders: ferencd@0: now, a vmime::propertySet is used. This provides more flexibility. ferencd@0: ferencd@0: 2003-12-25 Vincent Richard ferencd@0: ferencd@0: * constants.cpp/.hpp: media types constants: removed "sub" namespace and ferencd@0: translated "sub::[TYPE]::[SUBTYPE]" to "[TYPE]_[SUBTYPE]". ferencd@0: ferencd@0: 2003-12-08 Vincent Richard ferencd@0: ferencd@0: * constants.cpp/.hpp, dateTime.cpp/.hpp: translated all constants/enums ferencd@0: from lower-case to upper-case letters. ferencd@0: ferencd@0: 2003-12-04 Vincent Richard ferencd@0: ferencd@0: * Created a new class for singleton. Derived all concerned class from ferencd@0: this new class. This concerns: "encoderFactory", "headerFieldFactory", ferencd@0: "parameterFactory", "options" and "textPartFactory". ferencd@0: ferencd@0: 2003-12-02 Vincent Richard ferencd@0: ferencd@0: * Moved to SCons building system (http://www.scons.org/) and dropped old ferencd@0: autoconf/automake system. Type 'scons' to build the library and use ferencd@0: 'scons install' to install it on your system. ferencd@0: ferencd@0: 2003-12-01 Vincent Richard ferencd@0: ferencd@0: * mailboxGroup.cpp: fixed a bug in typeid() comparison: changed ferencd@0: "typeid(parsedAddress)" to "typeid(*parsedAddress)" to test the ferencd@0: object dynamic type (the previous test was always false). ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.5 ferencd@0: ============= ferencd@0: ferencd@0: 2003-10-24 Vincent Richard ferencd@0: ferencd@0: * included some sample programs in the "examples/" directory. For a more ferencd@0: complete documentation, please visit: http://www.kisli.com/vmime/doc/ . ferencd@0: ferencd@0: * all files: it is not possible to create header fields directly anymore ferencd@0: (ie. you cannot call the constructor directly); instead, you should use ferencd@0: the "headerFieldFactory" object. ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.4 ferencd@0: ============= ferencd@0: ferencd@0: 2003-10-05 Vincent Richard ferencd@0: ferencd@0: * all files: changed all calls 'std::isspace(???)' to '[vmime::]isspace(???)' ferencd@0: since no locale was passed (anyway, no locale is needed: text is ASCII). ferencd@0: ferencd@0: 2003-10-04 Kai Stammerjohann ferencd@0: ferencd@0: * included a Visual C++ 7 solution/project for vmime: see "vmime.sln" and ferencd@0: "vmime.vcproj" in the root directory. ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.3 ferencd@0: ============= ferencd@0: ferencd@0: 2003-09-22 Vincent Richard ferencd@0: ferencd@0: * moved all constants (media types, charsets...) from base.cpp/.hpp to new ferencd@0: files constants.cpp/.hpp. ferencd@0: ferencd@0: 2003-09-21 Vincent Richard ferencd@0: ferencd@0: * messageBuilder.cpp (construct): fixed algorithm for generating text parts. ferencd@0: Single and multiple text parts, with or without attachments are now handled ferencd@0: correctly (as recommended by the RFCs). ferencd@0: ferencd@0: * bodyPart.cpp/.hpp, body.cpp/.hpp, header.cpp/.hpp: added clone() and ferencd@0: operator=() functions to be able to duplicate body parts. ferencd@0: ferencd@0: * messageParser.cpp (findTextParts): handled the case in which the message ferencd@0: is not "multipart/*": we use the main part if its type is "text/*". ferencd@0: ferencd@0: * messageParser.cpp (destructor): added code for deleting the text parts ferencd@0: created by the findTextParts() function. ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.2 ferencd@0: ============= ferencd@0: ferencd@0: 2003-09-19 Bevan Collins ferencd@0: ferencd@0: * encoderQP.cpp: fixed a bug in quoted-printable encoding: "=20\r\n" is ferencd@0: appended to the line ending with a space. ferencd@0: ferencd@0: 2003-09-13 Vincent Richard ferencd@0: ferencd@0: * charset.cpp/.hpp: dropped internal conversion from charset name (string) to ferencd@0: charset type (enum). We keep only the name of the charset. ferencd@0: ferencd@0: * base.cpp/.hpp: added string constants for some charsets. ferencd@0: ferencd@0: 2003-09-12 Vincent Richard ferencd@0: ferencd@0: * messageParser.cpp (findAttachments): fixed the search for attachment ferencd@0: parts. The right test is "cdf.value().name() != dispositionTypes::_inline" ferencd@0: and not "cdf.value().name() != dispositionTypes::attachment"... ferencd@0: ferencd@0: 2003-09-11 Vincent Richard ferencd@0: ferencd@0: * plainTextPart.cpp/htmlTextPart.cpp: fixed a bug in parse(): when getting ferencd@0: the "charset" parameter, "no_such_parameter" exception was not caught if ferencd@0: the parameter was not present. ferencd@0: ferencd@0: 2003-09-06 Vincent Richard ferencd@0: ferencd@0: * base.cpp: added a special case when encoding to Quoted-Printable: lines ferencd@0: are no more limited to 76 characters (the maximum length recommended by ferencd@0: the RFC) if maxLineLength == lineLengthLimits::infinite. However, this ferencd@0: SHOULD NOT be used when generating mails (not RFC compliant). ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.1 ferencd@0: ============= ferencd@0: ferencd@0: 2003-08-24 Vincent Richard ferencd@0: ferencd@0: * mailbox.hpp: added "const" functions for name() and email(). ferencd@0: ferencd@0: 2003-07-26 Vincent Richard ferencd@0: ferencd@0: * charset.cpp: fixed a bug in "charset::iconvert()". Also, the ferencd@0: conversion is now done using a buffer, and not in one block. ferencd@0: ferencd@0: 2003-07-24 Vincent Richard ferencd@0: ferencd@0: * receiveProtocol[POP3].hpp/.cpp: a socket factory can now be passed in ferencd@0: argument to the constructor so that it is possible to override the ferencd@0: use of the default factory (set in vmime::platformDependantHandler). ferencd@0: ferencd@0: ferencd@0: VERSION 0.3.0 ferencd@0: ============= ferencd@0: ferencd@0: 2003-07-21 Vincent Richard ferencd@0: ferencd@0: * configure.in: changed 'libdir' to install lib files in {PREFIX}/lib ferencd@0: instead of {PREFIX}/lib/vmime. However, include files remain in the ferencd@0: {PREFIX}/include/vmime directory. ferencd@0: ferencd@0: 2003-06-28 Vincent Richard ferencd@0: ferencd@0: * base.hpp/.cpp: changed the return type of "libname()" and "libversion()" ferencd@0: from "string::value_type*" to "string". ferencd@0: ferencd@0: 2003-06-16 Vincent Richard ferencd@0: ferencd@0: * platformDependant.hpp: added "getSocketFactory()" function to be used ferencd@0: with the new network features. ferencd@0: ferencd@0: * configure.in: modified the file to permit passing arguments to ferencd@0: the "configure" script: ferencd@0: . --disable-net: disable network support (new in 0.3.0) ferencd@0: . --enable-debug: enable debug mode (not used for now) ferencd@0: ferencd@0: * started version 0.3.0: added network features: connection to mail ferencd@0: servers via POP3, IMAP... Related classes: "receiveProtocol*", ferencd@0: "serverInfos" and "socket", an abstract socket class. ferencd@0: ferencd@0: ferencd@0: VERSION 0.2.1 ferencd@0: ============= ferencd@0: ferencd@0: 2003-05-28 Vincent Richard ferencd@0: ferencd@0: * messageId.cpp: added "vmime." at the beginning of random-generated ferencd@0: message-ids (to make them more unique). ferencd@0: ferencd@0: 2003-05-26 Vincent Richard ferencd@0: ferencd@0: * all source files: replaced "_VMIME_xxxxx_HPP_INCLUDED_" macros with ferencd@0: "VMIME_xxxxx_HPP_INCLUDED". Names beginning with "_" (underscore) and ferencd@0: followed by an uppercase letter are reserved to the implementation ferencd@0: (see the C++ standard: 17.4.3.1.2 Global names). ferencd@0: ferencd@0: ferencd@0: VERSION 0.2.0 ferencd@0: ============= ferencd@0: ferencd@0: 2003-05-18 Vincent Richard ferencd@0: ferencd@0: * messageParser.cpp: added a message parser (to be used parallely with ferencd@0: messageBuilder). Extraction of attachment, plain text parts and HTML ferencd@0: text parts (with embedded objects) is supported. ferencd@0: ferencd@0: 2003-05-09 Vincent Richard ferencd@0: ferencd@0: * body.cpp (generate): the default prolog & epilog text (as defined ferencd@0: in vmime::options) are not written anymore in sub-parts (only for ferencd@0: the "root" part). Added a "isRoot" member to vmime::header. ferencd@0: ferencd@0: 2003-05-08 Vincent Richard ferencd@0: ferencd@0: * encoding.cpp (decide): added some code to choose "quoted-printable" ferencd@0: when there are lines with more than "lineLengthLimits::convenient" ferencd@0: characters (or with a '.' just after a '\n'). ferencd@0: ferencd@0: * base.cpp (makeWordsFromText): enhanced algorithm. ferencd@0: ferencd@0: 2003-05-04 Vincent Richard ferencd@0: ferencd@0: * address.cpp, mailbox.cpp, mailboxGroup.cpp: added empty() function. ferencd@0: ferencd@0: * messageBuilder.cpp (construct): some validity checks: we now check ferencd@0: there is one expeditor and at least one recipient. ferencd@0: ferencd@0: ferencd@0: VERSION 0.1.0 ferencd@0: ============= ferencd@0: ferencd@0: 2003-05-03 Vincent Richard ferencd@0: ferencd@0: * First (beta) version released.