comparison 3rdparty/vmime/ChangeLog @ 0:a4671277546c tip

created the repository for the thymian project
author ferencd
date Tue, 17 Aug 2021 11:19:54 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:a4671277546c
1
2 VERSION 0.9.2svn
3 ================
4
5 2012-11-03 Vincent Richard <vincent@vincent-richard.net>
6
7 * Migrated to CMake build system. Conditional compilation of source files.
8 Automatic selection of platform handler.
9
10 * Added support for OpenSSL (thanks to Mehmet Bozkurt).
11
12 2012-10-15 Vincent Richard <vincent@vincent-richard.net>
13
14 * Added support for timeout when receiving data from a socket.
15
16 2012-04-16 Vincent Richard <vincent@vincent-richard.net>
17
18 * MIME Parser can now operate directly on an input stream (eg. file).
19 This allows very big messages to be parsed without loading the whole
20 message data into memory.
21
22 2010-11-16 Vincent Richard <vincent@vincent-richard.net>
23
24 * Started version 0.9.2.
25
26
27 VERSION 0.9.1
28 =============
29
30 2010-05-18 Vincent Richard <vincent@vincent-richard.net>
31
32 * net/*: added helper function vmime::net::message::getParsedMessage()
33 to construct a RFC-822 parsed message from a net message.
34
35 2009-09-06 Vincent Richard <vincent@vincent-richard.net>
36
37 * Relicensed VMime under the GNU GPL license version 3. Dual licensing
38 is now available. More info here: http://www.vmime.org/pages/Licensing
39
40 2008-10-19 Vincent Richard <vincent@vincent-richard.net>
41
42 * Started version 0.9.1.
43
44
45 VERSION 0.9.0
46 =============
47
48 2008-01-28 Vincent Richard <vincent@vincent-richard.net>
49
50 * fileAttachment: fixed constructor ambiguity due to implicit conversions.
51 Removed default values and reordered parameters (API breaking change).
52 Many thanks to Philipp Frenkel. More information here:
53 http://sourceforge.net/forum/message.php?msg_id=4739926
54
55 2007-11-20 Vincent Richard <vincent@vincent-richard.net>
56
57 * text, word: fixed incorrect white-space between words.
58
59 2007-07-09 Vincent Richard <vincent@vincent-richard.net>
60
61 * IMAPUtils.cpp: fixed bug in modified UTF-7 encoding (IMAP).
62
63 2007-05-22 Vincent Richard <vincent@vincent-richard.net>
64
65 * Implemented thread-safe reference counting for smart pointers,
66 whenever possible (GCC built-in functions / pthread / Win32).
67
68 2007-03-28 Vincent Richard <vincent@vincent-richard.net>
69
70 * SMTPTransport.cpp: better parsing of ESMTP extensions.
71
72 2007-03-02 Vincent Richard <vincent@vincent-richard.net>
73
74 * Maildir: added support for "Courier" Maildir.
75
76 2006-12-20 Vincent Richard <vincent@vincent-richard.net>
77
78 * Started version 0.8.2.
79
80
81 VERSION 0.8.1
82 =============
83
84 2006-11-08 Vincent Richard <vincent@vincent-richard.net>
85
86 * Imbue classic "C" locale for the output of message parts and
87 protocol commands (thanks to Mörtsell Anders).
88
89 2006-10-11 Vincent Richard <vincent@vincent-richard.net>
90
91 * Renamed 'vmime::platformDependant' to 'vmime::platform'. The old
92 name has been kept for compatibility with previous versions.
93
94 2006-10-02 Vincent Richard <vincent@vincent-richard.net>
95
96 * SMTPTransport.cpp: reissue EHLO command after a successful STARTTLS
97 negociation.
98
99 * word, wordEncoder: fixed bug #1096610 which caused encoding of a
100 non-integral number of characters (and then, generation of
101 incorrectly-formed words) with multi-bytes charsets.
102
103 2006-07-13 Vincent Richard <vincent@vincent-richard.net>
104
105 * Fixed bugs in MHTML code: 'CID' prefix should not be case-sensitive;
106 fixed detection of parts identified by a 'Content-Location'.
107
108 2006-04-23 Vincent Richard <vincent@vincent-richard.net>
109
110 * Added vmime::net::folder::destroy() to delete folders on IMAP and
111 maildir stores.
112
113 2006-04-18 Vincent Richard <vincent@vincent-richard.net>
114
115 * Renamed 'byte' to 'byte_t' to fix compilation problems on Fedora
116 core 5 (thanks to Rafael Fernandez).
117
118 2006-02-20 Vincent Richard <vincent@vincent-richard.net>
119
120 * net/imap/IMAPParser.hpp: added a "relaxed" mode to allow 8-bit
121 characters where not allowed by the standard (thanks to Tim Teulings
122 for having found the bug).
123
124 2006-01-29 Vincent Richard <vincent@vincent-richard.net>
125
126 * Added service::isSecuredConnection() and service::getConnectionInfos()
127 to retrieve information about the connection.
128
129 2006-01-16 Vincent Richard <vincent@vincent-richard.net>
130
131 * Added support for attachments of type "message/rfc822".
132
133 2006-01-15 Vincent Richard <vincent@vincent-richard.net>
134
135 * IMAP: implemented multi-fetching. Now using "FETCH x:y" instead of
136 sending (y-x+1) "FETCH" requests.
137
138 2005-12-26 Vincent Richard <vincent@vincent-richard.net>
139
140 * posixSocket.cpp: use getaddrinfo() if available. This should bring
141 thread-safe DNS resolution and IPv6 support.
142
143 2005-12-18 Vincent Richard <vincent@vincent-richard.net>
144
145 * IMAPParser.hpp: compatibility bugs + enhanced debugging trace.
146
147 2005-12-04 Vincent Richard <vincent@vincent-richard.net>
148
149 * exception.{hpp|cpp}: fixed segfault in destructor when destroying
150 an exception chain with more than 2 elements (thanks to Bertrand
151 Benoit).
152
153 * posixChildProcess.cpp: fixed a bug in argument vector; last argument
154 was not NULL (thanks to Bertrand Benoit).
155
156 2005-11-27 Vincent Richard <vincent@vincent-richard.net>
157
158 * maildirUtils.cpp: fixed problem with ':' in filename on Windows
159 platform (thanks to Benjamin Biron).
160
161 * random.cpp: fixed buffer overrun in random::getString (thanks
162 to Benjamin Biron).
163
164 2005-11-07 Vincent Richard <vincent@vincent-richard.net>
165
166 * SMTPTransport.cpp: fixed bug in disconnect() when authentication is
167 not needed (thanks to Benjamin Biron).
168
169 * dateTime.cpp: gmtime() and localtime() are reentrant when using
170 MS C runtime library (MinGW/MSVC).
171
172 2005-11-06 Vincent Richard <vincent@vincent-richard.net>
173
174 * Started version 0.8.1.
175
176
177 VERSION 0.8.0
178 =============
179
180 2005-11-06 Vincent Richard <vincent@vincent-richard.net>
181
182 * First version of the VMime Book.
183
184 2005-11-05 Vincent Richard <vincent@vincent-richard.net>
185
186 * Refactored header field values and parameters.
187
188 2005-10-19 Vincent Richard <vincent@vincent-richard.net>
189
190 * charsetConverter.{hpp|cpp}: new object 'charsetConverter' for converting
191 between charsets (code moved from static functions in 'charset' class).
192
193 * Added 'charsetFilteredOutputStream': provide charset conversion while
194 writing to an output stream.
195
196 2005-10-16 Vincent Richard <vincent@vincent-richard.net>
197
198 * SConstruct: fixed compilation problems on FreeBSD (thanks to Xin LI).
199
200 2005-10-13 Vincent Richard <vincent@vincent-richard.net>
201
202 * attachmentHelper.{hpp|cpp}: the attachmentHelper allows listing all
203 attachments in a message, as well as adding new attachments.
204
205 2005-10-06 Vincent Richard <vincent@vincent-richard.net>
206
207 * utility/progressionListener.{hpp|cpp}: renamed 'progressionListener'
208 to 'progressListener'.
209
210 2005-10-04 Vincent Richard <vincent@vincent-richard.net>
211
212 * net/service: removed "server.socket-factory" property; added the
213 service::setSocketFactory() function instead. Removed "name" parameter
214 from platformDependant::getSocketFactory() function.
215
216 * net/service: removed "timeout.factory" property; added the function
217 service::setTimeoutHandlerFactory() instead. Removed the function
218 platformDependant::getTimeoutHandlerFactory().
219
220 2005-10-03 Vincent Richard <vincent@vincent-richard.net>
221
222 * Added TLS/SSL support, using GNU TLS library.
223
224 2005-09-17 Vincent Richard <vincent@vincent-richard.net>
225
226 * Added SASL support, based on GNU SASL library. Slightly modified
227 auhenticator object; see 'example6' which has been updated.
228
229 2005-09-06 Vincent Richard <vincent@vincent-richard.net>
230
231 * Created 'vmime::security' and 'vmime::security::digest' namespaces.
232 MD5 has been moved here. Added SHA-1 hash algorithm.
233
234 2005-09-03 Vincent Richard <vincent@vincent-richard.net>
235
236 * encoder*, *contentHandler: added progression notifications.
237
238 2005-08-25 Vincent Richard <vincent@vincent-richard.net>
239
240 * Tests: moved to CppUnit for unit tests framework.
241
242 2005-08-23 Vincent Richard <vincent@vincent-richard.net>
243
244 * All sources: renamed 'vmime::messaging' to 'vmime::net'. An alias has been
245 kept for compatibility with previous versions (its use should be considered
246 as deprecated).
247
248 2005-08-19 Vincent Richard <vincent@vincent-richard.net>
249
250 * exception.hpp: vmime::exception now inherits from std::exception.
251
252 2005-07-25 Vincent Richard <vincent@vincent-richard.net>
253
254 * Messaging folder: added a FETCH_IMPORTANCE flag to fetch the fields used
255 with 'misc::importanceHelper'.
256
257 2005-07-23 Vincent Richard <vincent@vincent-richard.net>
258
259 * POP3, IMAP, maildir: fixed getMessages() when default arguments are given:
260 no message were returned, instead of the real message count.
261
262 2005-07-15 Vincent Richard <vincent@vincent-richard.net>
263
264 * *attachment, messageParser: added a getName() parameter to retrieve
265 the attachment filename either from the "filename" parameter of the
266 "Content-Disposition" field, or from the "name" parameter of the
267 "Content-Type" field (if available).
268
269 2005-07-13 Vincent Richard <vincent@vincent-richard.net>
270
271 * All files: added reference counting and smart pointers to simplify the
272 use of VMime objects. Please see README.refcounting for more information.
273
274 2005-07-06 Vincent Richard <vincent@vincent-richard.net>
275
276 * *contentHandler.{hpp|cpp}: added extractRaw() method to allow extracting
277 data without performing any decoding.
278
279 2005-06-22 Vincent Richard <vincent@vincent-richard.net>
280
281 * Started version 0.7.2.
282
283
284 VERSION 0.7.1
285 =============
286
287 2005-06-21 Vincent Richard <vincent@vincent-richard.net>
288
289 * Fixed compilation errors with g++ 4.0.
290
291 * defaultParameter.cpp: fixed a bug in RFC-2231 implementation.
292
293 2005-06-13 Vincent Richard <vincent@vincent-richard.net>
294
295 * word.cpp: fixed a bug in parsing, when the first character of word data
296 was encoded in QP (thanks to Wolf Jiang).
297
298 2005-06-03 Vincent Richard <vincent@vincent-richard.net>
299
300 * parameterizedHeaderField.{hpp|cpp}: fixed a memory leak in the
301 destructor (thanks to Rafael Fernandez).
302
303 2005-05-27 Vincent Richard <vincent@vincent-richard.net>
304
305 * messaging/*/*Message.{hpp|cpp}: added a 'peek' parameter to extract
306 message contents without marking the message as seen.
307
308 2005-05-19 Vincent Richard <vincent@vincent-richard.net>
309
310 * messaging/imap/IMAPFolder.cpp: fixed bug in subfolders enumeration.
311
312 * examples/example6.cpp: enhanced 'example6' into an interactive program to
313 show some of the features of the messaging module.
314
315 2005-05-15 Vincent Richard <vincent@vincent-richard.net>
316
317 * messaging/serviceInfos.{hpp|cpp}: changed getAvailableProperties() to
318 return 'serviceInfos::property' objects instead of strings. This permits
319 setting service properties in a more generic manner.
320
321 2005-05-03 Vincent Richard <vincent@vincent-richard.net>
322
323 * messaging/imap/IMAPFolder.cpp: fixed missing space in "STATUS" command +
324 parsing error in 'status_info'.
325
326 2005-04-30 Vincent Richard <vincent@vincent-richard.net>
327
328 * utility/childProcess.{hpp|cpp}: added a 'childProcess' class to help
329 with spawning child processes (used in 'sendmail' implementation).
330
331 2005-04-28 Stefan Uhrig <stefanuhrig@gmx.net>
332
333 * README.msvc: added guide describing how to compile VMime using
334 Visual Studio .NET 2003
335
336 2005-04-27 Vincent Richard <vincent@vincent-richard.net>
337
338 * progressionListener.{hpp|cpp}: moved to 'vmime::utility' package since
339 this can be of general use.
340
341 * stream.{hpp|cpp}: added a bufferedStreamCopy() function which can
342 take a 'progressionListener' parameter.
343
344 * filteredStream.{hpp|cpp}: new feature added: filtered input and
345 output streams.
346
347 * Added 'sendmail' transport service for local delivery.
348
349 2005-04-19 Vincent Richard <vincent@vincent-richard.net>
350
351 * defaultParameter.cpp: fixed a bug in implementation of RFC-2231 (values
352 were cut if longer than maxLineLength, and no line wrapping occured).
353
354 2005-04-15 Vincent Richard <vincent@vincent-richard.net>
355
356 * url.{hpp|cpp}, urlUtils.{hpp|cpp}: fixed a lot of bugs in URLs parsing
357 and encoding/decoding + added unit tests.
358
359 2005-04-14 Vincent Richard <vincent@vincent-richard.net>
360
361 * url.{hpp|cpp}, urlUtils.{hpp|cpp}: moved 'url' and 'urlUtils' from
362 'vmime::messaging' namespace to 'vmime::utility' namespace.
363
364 2005-04-12 Vincent Richard <vincent@vincent-richard.net>
365
366 * Started version 0.7.1.
367
368
369 VERSION 0.7.0
370 =============
371
372 2005-04-12 Vincent Richard <vincent@vincent-richard.net>
373
374 * parameter.{cpp|hpp}, contentDispositionField.{cpp|hpp}: added support
375 for RFC-2231 (encoded word extensions). Changed 'filename' parameter
376 type from 'vmime::string' to 'vmime::word'. Default parameter type is
377 now vmime::word, and not vmime::string.
378
379 2005-04-09 Vincent Richard <vincent@vincent-richard.net>
380
381 * encoderB64.cpp: fixed a bug in Base64 decoding. Bytes to be decoded
382 were not correctly initialized.
383
384 2005-04-03 Vincent Richard <vincent@vincent-richard.net>
385
386 * messaging/*: moved IMAP, POP3, maildir and SMTP files to separate
387 namespaces.
388
389 2005-03-31 Vincent Richard <vincent@vincent-richard.net>
390
391 * misc/importanceHelper.{cpp|hpp}: added support for message importance:
392 "X-Priority:" and "Importance:" fields.
393
394 2005-03-28 Vincent Richard <vincent@vincent-richard.net>
395
396 * messaging/POP3Store.cpp: fixed POP3Store::sendPacket() to send "\r\n"
397 in the same packet as the request. This caused problems with some
398 servers (thanks to Donald Dade).
399
400 * SConstruct: modified 'msvc' target to generate automatically the
401 config file 'config.hpp.msvc'.
402
403 2005-03-27 Stefan Uhrig <stefanuhrig@gmx.net>
404
405 * Added Windows platform handlers.
406
407 2005-03-27 Vincent Richard <vincent@vincent-richard.net>
408
409 * messageIdSequence.{cpp|hpp}: added a new basic type "messageIdSequence" for
410 a list of message-ids separated by CFWS (used in "References:" field, for
411 example).
412
413 * SConstruct: added 'msvc' target to generate MSVC project files.
414
415 2005-03-25 Vincent Richard <vincent@vincent-richard.net>
416
417 * mdn/*.{cpp|hpp}: added support for Message Disposition Notifications (MDN),
418 as defined by RFC-3798 and RFC-1892. This is a very first implementation,
419 API is subject to changes...
420
421 * Some fixes for Visual C++/Windows.
422
423 2005-03-24 Vincent Richard <vincent@vincent-richard.net>
424
425 * Added 'HACKING' file.
426
427 2005-03-23 Vincent Richard <vincent@vincent-richard.net>
428
429 * messaging/POP3*: fixed incorrect message size. Fixed a bug in
430 deleteMessages() when 'to == -1' and last message not being
431 deleted (thanks to Stefan Uhrig).
432
433 * SConstruct: fixed compilation/linking problem with g++ and X86-64 on
434 static library: added -fPIC/-fpic in compiler flags.
435
436 * messaging/POP3*: added notifications.
437
438 * constants.{cpp|hpp}, contentTypeField.{cpp|hpp}: added support for
439 content types and parameters defined in RFC-1892.
440
441 2005-03-17 Vincent Richard <vincent@vincent-richard.net>
442
443 * base.{cpp|hpp}: renamed 'MIME_VERSION' to 'SUPPORTED_MIME_VERSION'.
444
445 * Added "Viewer" example in /examples/viewer: demonstrate the parsing
446 capabilities of VMime and it can help when debugging...
447
448 2005-03-16 Vincent Richard <vincent@vincent-richard.net>
449
450 * Fixed compilation problems on Solaris 9.
451
452 2005-03-15 Vincent Richard <vincent@vincent-richard.net>
453
454 * tests/parser/textTest.cpp: added more unit tests for 'text' class.
455
456 * text.{cpp|hpp}, word.{cpp|hpp}: moved word parsing from 'text' class
457 to 'word' class, which now inherits from 'component'.
458
459 2005-03-14 Vincent Richard <vincent@vincent-richard.net>
460
461 * removed singleton<> and singletonManager classes: useless and quite
462 confusing in Doxygen-generated documentation.
463
464 2005-02-06 Vincent Richard <vincent@vincent-richard.net>
465
466 * mailboxList.{cpp|hpp}: dropped protected inheritance which was not
467 appropriate for this type of composition.
468
469 2005-02-05 Vincent Richard <vincent@vincent-richard.net>
470
471 * parserHelpers.hpp: moved 'static' functions into 'parserHelpers' class.
472
473 2005-02-05 Vincent Richard <vincent@vincent-richard.net>
474
475 * platforms/posix/posixHandler.cpp: removed extra '::' before
476 numeric constants.
477
478 2005-02-05 Vincent Richard <vincent@vincent-richard.net>
479
480 * utility/md5.cpp: fixed forward use of swapUint32Array() with
481 gcc 3.3 (Apple).
482
483 2005-02-01 Vincent Richard <vincent@vincent-richard.net>
484
485 * text.cpp: fixed possible segfault when encoding is Base64 (typo).
486
487 2005-01-28 Vincent Richard <vincent@vincent-richard.net>
488
489 * Started version 0.6.4.
490
491
492 VERSION 0.6.3
493 =============
494
495 2005-01-28 Vincent Richard <vincent@vincent-richard.net>
496
497 * Splitted 'contentHandler' into three classes: 'emptyContentHandler',
498 'stringContentHandler' and 'streamContentHandler'.
499
500 * Fixed bugs with signed/unsigned char in 'parserHelpers'.
501
502 2005-01-15 Vincent Richard <vincent@vincent-richard.net>
503
504 * Fixed missing 'vmime/config.hpp' include when installing VMime
505 using 'make install'.
506
507 2005-01-13 Vincent Richard <vincent@vincent-richard.net>
508
509 * messaging/events.*: prefixed function names with 'get' + written
510 some documentation for functions.
511
512 2005-01-05 Vincent Richard <vincent@vincent-richard.net>
513
514 * Started version 0.6.3.
515
516
517 VERSION 0.6.2
518 =============
519
520 2005-01-04 Vincent Richard <vincent@vincent-richard.net>
521
522 * Added diagnostic error string for 'exceptions::connection_error'.
523
524 * Fixed a bug in 'posixSocket::connect()' that prevented connecting to
525 servers by specifying an IP address instead of a server name.
526
527 2005-01-03 Vincent Richard <vincent@vincent-richard.net>
528
529 * Fixed linking error on 'typeAdapter <string>::parse()' with g++ versions
530 older than 3.3.
531
532 2005-01-02 Vincent Richard <vincent@vincent-richard.net>
533
534 * Added unit tests for utility::path and bodyPart.
535
536 * Added 'utility::datetimeUtils' to provide some time-related functions.
537
538 * Fixed 'stringUtils' not in namespace 'utility'.
539
540 * Moved 'datetime::getDayOfWeek()' to 'datetimeUtils'.
541
542 2005-01-01 Vincent Richard <vincent@vincent-richard.net>
543
544 * Converted all C-style casts to C++-style casts.
545
546 * Added unit tests for utility::md5, utility::stringProxy and
547 utility::stringUtils.
548
549 2004-12-31 Vincent Richard <vincent@vincent-richard.net>
550
551 * Started version 0.6.2.
552
553
554 VERSION 0.6.1
555 =============
556
557 2004-12-27 Vincent Richard <vincent@vincent-richard.net>
558
559 * Added support for 'libtool'. All files needed for autoconf/automake
560 can be generated with SConstruct script, using the 'autotools'
561 target ("scons autotools"). These are also built and included
562 automatically in the distribution tarball ("scons dist").
563
564 2004-12-26 Vincent Richard <vincent@vincent-richard.net>
565
566 * Removed relative paths from #include's and moved all header files
567 to 'vmime/' directory.
568
569 * Renamed main VMime include from 'vmime' to 'vmime.hpp'. So, in your
570 program, you have to #include <vmime/vmime.hpp>.
571
572 * Added support for 'pkg-config'.
573
574 * Allow creating a service from an URL (session::getStore("url") and
575 session::getTransport("url"))
576
577 2004-12-24 Vincent Richard <vincent@vincent-richard.net>
578
579 * Renamed class 'disposition' to 'contentDisposition' and the enum
580 namespace 'dispositionTypes' to 'contentDispositionTypes'.
581
582 2004-12-23 Vincent Richard <vincent@vincent-richard.net>
583
584 * maildir: when connecting to the store, create root directory on the
585 file system if it does not exist.
586
587 2004-12-22 Vincent Richard <vincent@vincent-richard.net>
588
589 * Fixed missing files in distribution (src/platform/*).
590
591 * Fixed empty 'COPYING' file.
592
593 * Started version 0.6.1.
594
595
596 VERSION 0.6.0
597 =============
598
599 2004-12-22 Vincent Richard <vincent@vincent-richard.net>
600
601 * Finished 'maildir' implementation. This is EXPERIMENTAL!
602
603 * Added a getCapabilities() function on 'vmime::messaging::store' to
604 quickly check which features are available.
605
606 * New functions in 'component': getParsedOffset(), getParsedLength()
607 and getChildComponents().
608
609 2004-12-19 Vincent Richard <vincent@vincent-richard.net>
610
611 * Added chaining in exception handling. vmime::exception::other() returns
612 the exception which is encapsulated in the current exception (if any).
613 This allows to retrieve the exception "stack" (for example, this is
614 used for 'maildir' implementation, where some functions return a
615 'filesystem_exception' encapsulated in a 'messaging_exception').
616
617 * Fixed bugs and memory leaks in POP3/IMAP/maildir implementations.
618
619 2004-12-17 Vincent Richard <vincent@vincent-richard.net>
620
621 * Made default platform handlers (currently, only "posix"). Source files
622 are in src/platforms/[platform-name].
623
624 To use a default platform handler, do the following:
625 - #include <vmime/platforms/[platform-name]/handler.hpp>
626 - call vmime::platformDependant::setHandler() with the appropriate class
627 - link your program with both 'libvmime' and 'libvmime-[platform-name]'
628
629 For example, to use the default platform handler for POSIX (GNU/Linux):
630
631 #include <vmime/platforms/posix/posixHandler.hpp>
632
633 int main()
634 {
635 vmime::platformDependant::setHandler
636 <vmime::platforms::posix::posixHandler>();
637
638 // ...
639 }
640
641 and link your program with "-lvmime" and "-lvmime-posix".
642
643 2004-10-21 Vincent Richard <vincent@vincent-richard.net>
644
645 * A _LOT_ of cleaning/refactoring in VMime code:
646
647 - got rid of field types (only using field names now).
648
649 - removed iterators on 'header', 'text', 'addressList', 'mailboxGroup',
650 'propertySet' and 'bodyPart': use access functions instead (iterators
651 made the code difficult to understand). You can always use standard
652 iterators on the container returned by getFieldList(), and so on.
653
654 - migrated to get/set convention for accessors (most of time, just add
655 'get' or 'set' before method name, depending on what it does).
656
657 - dropped 'comp_t' typedef on 'datetime' (useless).
658
659 - moved a lot of code from header (.hpp) to implementation files (.cpp).
660
661 - made all objects cloneable and copiable at the 'component' level:
662 methods component::clone() and component::copyFrom().
663
664 - made a 'typeAdapter' to allow using fondamental/no-vmime types in
665 header field and parameter values.
666
667 - implicit 'operator=' on header fields to set value is not allowed
668 anymore: use setValue() instead or you will get a std::bad_cast
669 exception.
670
671 - 'textParameter' renamed to 'defaultParameter'.
672
673 - vmime::makeWordsFromText() is now vmime::text::newFromString().
674
675 - changed a lot of return type value from reference to pointer, to
676 to avoid confusion.
677
678 2004-10-05 Vincent Richard <vincent@vincent-richard.net>
679
680 * added clone() method on 'component' object.
681
682 2004-09-09 Vincent Richard <vincent@vincent-richard.net>
683
684 * IMAPFolder.cpp: fixed rename(): folder name is now updated.
685
686 2004-08-21 Vincent Richard <vincent@vincent-richard.net>
687
688 * charset.cpp: workaround (hack?) for different 'iconv' prototypes (they
689 may differ in the second parameter being 'const' or not).
690
691 2004-08-20 Vincent Richard <vincent@vincent-richard.net>
692
693 * renamed "messaging/folderPath" to "utility/path" for common use in
694 "messaging/folder" and "utility/file".
695
696 * moved "stream" and "stringProxy" into "utility" namespace.
697
698 * started to write some "JavaDoc-like" comments, for use with Doxygen.
699
700 2004-08-18 Vincent Richard <vincent@vincent-richard.net>
701
702 * stringProxy.hpp: fixed stringProxy::it_end() which returned wrong
703 value (typo...).
704
705 2004-07-26 Vincent Richard <vincent@vincent-richard.net>
706
707 * fileAttachment: fixed the encoding param (not set to default anymore)
708 and provided a new constructor to specify your own encoding.
709
710 2004-07-22 Vincent Richard <vincent@vincent-richard.net>
711
712 * wide-char support is disabled by default. To enable, set the flag
713 "with_wide_char_support=yes" on the SCons command line.
714
715 2004-07-08 Vincent Richard <vincent@vincent-richard.net>
716
717 * renamed messaging/POP3*, messaging/IMAP* and messaging/SMTP* classes
718 to follow the same convention as other class names.
719
720 2004-07-03 Vincent Richard <vincent@vincent-richard.net>
721
722 * moved some files to "utility" subdirectory ("vmime::utility" namespace).
723
724
725 VERSION 0.5.1
726 =============
727
728 2004-06-15 Vincent Richard <vincent@vincent-richard.net>
729
730 * contentHandler, htmlTextPart: Fixed some compilation issues with
731 g++ version < 3.4:
732 [error: declaration of `const vmime::encoding& encoding() const'
733 changes meaning of `encoding' from `class vmime::encoding'].
734
735 * Fixed errors in SConstruct with Windows NT (2k, XP...).
736
737
738 VERSION 0.5.0
739 =============
740
741 2004-05-26 Vincent Richard <vincent@vincent-richard.net>
742
743 * added methods receiveRaw() and sendRaw() on vmime::socket object. Do not
744 forget to implement it, or you will get a compile error.
745
746 2004-05-21 Vincent Richard <vincent@vincent-richard.net>
747
748 * added some unit tests in the "tests" directory. To run all the tests, 'cd'
749 to the "tests" directory, compile test programs by running "make" and then
750 execute the "run-tests.sh" script.
751
752 * charset: added a convert() function to perform stream conversion.
753
754 2004-05-18 Vincent Richard <vincent@vincent-richard.net>
755
756 * encoder*: updated all encoders so they use input streams and output
757 streams instead of a in-memory string. You can use the stream adapters
758 (inputStreamStringAdapter and outputStreamStringAdapter) for your code
759 to continue working the old-fashioned way...
760
761 2004-05-17 Vincent Richard <vincent@vincent-richard.net>
762
763 * messaging/transport.hpp: added a "size" parameter to send() function.
764
765 2004-05-16 Vincent Richard <vincent@vincent-richard.net>
766
767 * body: body contents and data in text parts are now handled via a
768 proxy object: contentHandler. This allow more flexibility, including
769 providing data from an input stream instead of storing whole data in
770 memory into a string object. This also provide a big performance and
771 memory usage improvement. For more information, please see the comments
772 in the file "contentHandler.hpp".
773
774 2004-05-15 Vincent Richard <vincent@vincent-richard.net>
775
776 * all files: modified the parsing in depth (not using iterators anymore),
777 the code is clearer and faster.
778
779 * IMAPutils.cpp: corrected a bug (typo) in IMAPutils::dateTime().
780
781 2004-05-13 Vincent Richard <vincent@vincent-richard.net>
782
783 * all files: added a generate() method on vmime::component to generate
784 objects into an output stream (outputStream). This offers a large
785 performance and memory usage improvement when generating big messages.
786
787 * stream.cpp/.hpp: new objects "inputStream" and "outputStream" to
788 provide more flexibility than with standard C++ streams. There are
789 also adapters for standard i/o streams, provided for compatibility.
790
791
792 VERSION 0.4.2
793 =============
794
795 2004-05-08 Vincent Richard <vincent@vincent-richard.net>
796
797 * messaging: added a system of event notification (message change,
798 folder renamed, etc...). For more information about this, please
799 consult "src/messaging/events.hpp".
800
801 2004-05-03 Vincent Richard <vincent@vincent-richard.net>
802
803 * messaging: added a lot of useful features to message stores
804 (set/get message flags, message deletion, copy, rename folder,
805 adding messages, unique identifiers, MIME part/header fetch,
806 partial fetch...).
807
808 2004-04-30 Vincent Richard <vincent@vincent-richard.net>
809
810 * messaging/message.hpp: added a fetchPartHeader() method to
811 extract the header of a specific MIME part.
812
813 2004-04-25 Vincent Richard <vincent@vincent-richard.net>
814
815 * all files: removed (illegal) extra ';' after namespace
816 declarations.
817
818 * all files: fixed some compilation errors with g++-3.4 (the
819 parser is more strict and more standard-compliant).
820
821 2004-04-24 Vincent Richard <vincent@vincent-richard.net>
822
823 * messaging/*: splitted "progressListener" into two objects:
824 "progressionListener" and "timeoutHandler". The last one is
825 used internally in VMime. The "progressionListener" parameter
826 is no more passed as argument to the constructor of a "service"
827 object. Instead, it can be given in argument to the functions
828 that use it:
829 - message::extract[Part]()
830 - folder::fetchMessages()
831 - transport::send()
832
833 2004-04-04 Vincent Richard <vincent@vincent-richard.net>
834
835 * messaging/folder.hpp: added a (optional) parameter "recursive"
836 to getFolders() to allow enumeration of all sub-folders
837 (that is, direct and indirect).
838
839 2004-04-03 Vincent Richard <vincent@vincent-richard.net>
840
841 * messaging/authenti[fi]cationInfos: renamed class
842 'authentificationInfos' to 'authenticationInfos'.
843
844 * exception.hpp: renamed class 'authentification_error' to
845 'authentication_error'.
846
847 * messaging/SMTPtransport: renamed 'options.need-authentification'
848 to 'options.need-authentication'.
849
850 2004-04-02 Vincent Richard <vincent@vincent-richard.net>
851
852 * added basic IMAP support. This is EXPERIMENTAL.
853
854 2004-03-25 Vincent Richard <vincent@vincent-richard.net>
855
856 * messaging::folder::path: changed type of 'component' from 'string'
857 to 'word' to allow multiple charsets to be used in a path.
858
859 * implemented a noop() command on vmime::messaging::service class.
860
861 * messageParser.cpp: it is now possible to get more information on an
862 attachment using the "Content-Disposition" (use the attachmentInfo()
863 fonction to retrieve the "Content-Disposition" field related to
864 the attachment).
865
866
867 VERSION 0.4.1
868 =============
869
870 2004-03-24 Vincent Richard <vincent@vincent-richard.net>
871
872 * SMTPtransport.cpp: fixed a bug in send().
873
874
875 VERSION 0.4.0
876 =============
877
878 2004-02-19 Vincent Richard <vincent@vincent-richard.net>
879
880 * mailboxGroup.cpp: fixed a segfault when generating() an empty group
881 (eg. "undisclosed-recipient").
882
883 2004-02-17 Vincent Richard <vincent@vincent-richard.net>
884
885 * === MAJOR CHANGE === Removed old "network features". Now, this is called
886 "messaging system" and a new (incompatible) interface is provided.
887
888 2003-12-30 Vincent Richard <vincent@vincent-richard.net>
889
890 * encoderFactory.cpp/.hpp: added stuff to allow iterating through
891 registered encoders.
892
893 * encoder*.cpp/.hpp: changed the way options/results are set in encoders:
894 now, a vmime::propertySet is used. This provides more flexibility.
895
896 2003-12-25 Vincent Richard <vincent@vincent-richard.net>
897
898 * constants.cpp/.hpp: media types constants: removed "sub" namespace and
899 translated "sub::[TYPE]::[SUBTYPE]" to "[TYPE]_[SUBTYPE]".
900
901 2003-12-08 Vincent Richard <vincent@vincent-richard.net>
902
903 * constants.cpp/.hpp, dateTime.cpp/.hpp: translated all constants/enums
904 from lower-case to upper-case letters.
905
906 2003-12-04 Vincent Richard <vincent@vincent-richard.net>
907
908 * Created a new class for singleton. Derived all concerned class from
909 this new class. This concerns: "encoderFactory", "headerFieldFactory",
910 "parameterFactory", "options" and "textPartFactory".
911
912 2003-12-02 Vincent Richard <vincent@vincent-richard.net>
913
914 * Moved to SCons building system (http://www.scons.org/) and dropped old
915 autoconf/automake system. Type 'scons' to build the library and use
916 'scons install' to install it on your system.
917
918 2003-12-01 Vincent Richard <vincent@vincent-richard.net>
919
920 * mailboxGroup.cpp: fixed a bug in typeid() comparison: changed
921 "typeid(parsedAddress)" to "typeid(*parsedAddress)" to test the
922 object dynamic type (the previous test was always false).
923
924
925 VERSION 0.3.5
926 =============
927
928 2003-10-24 Vincent Richard <vincent@vincent-richard.net>
929
930 * included some sample programs in the "examples/" directory. For a more
931 complete documentation, please visit: http://www.kisli.com/vmime/doc/ .
932
933 * all files: it is not possible to create header fields directly anymore
934 (ie. you cannot call the constructor directly); instead, you should use
935 the "headerFieldFactory" object.
936
937
938 VERSION 0.3.4
939 =============
940
941 2003-10-05 Vincent Richard <vincent@vincent-richard.net>
942
943 * all files: changed all calls 'std::isspace(???)' to '[vmime::]isspace(???)'
944 since no locale was passed (anyway, no locale is needed: text is ASCII).
945
946 2003-10-04 Kai Stammerjohann <orp@uni.de>
947
948 * included a Visual C++ 7 solution/project for vmime: see "vmime.sln" and
949 "vmime.vcproj" in the root directory.
950
951
952 VERSION 0.3.3
953 =============
954
955 2003-09-22 Vincent Richard <vincent@vincent-richard.net>
956
957 * moved all constants (media types, charsets...) from base.cpp/.hpp to new
958 files constants.cpp/.hpp.
959
960 2003-09-21 Vincent Richard <vincent@vincent-richard.net>
961
962 * messageBuilder.cpp (construct): fixed algorithm for generating text parts.
963 Single and multiple text parts, with or without attachments are now handled
964 correctly (as recommended by the RFCs).
965
966 * bodyPart.cpp/.hpp, body.cpp/.hpp, header.cpp/.hpp: added clone() and
967 operator=() functions to be able to duplicate body parts.
968
969 * messageParser.cpp (findTextParts): handled the case in which the message
970 is not "multipart/*": we use the main part if its type is "text/*".
971
972 * messageParser.cpp (destructor): added code for deleting the text parts
973 created by the findTextParts() function.
974
975
976 VERSION 0.3.2
977 =============
978
979 2003-09-19 Bevan Collins <bcollins@ihug.co.nz>
980
981 * encoderQP.cpp: fixed a bug in quoted-printable encoding: "=20\r\n" is
982 appended to the line ending with a space.
983
984 2003-09-13 Vincent Richard <vincent@vincent-richard.net>
985
986 * charset.cpp/.hpp: dropped internal conversion from charset name (string) to
987 charset type (enum). We keep only the name of the charset.
988
989 * base.cpp/.hpp: added string constants for some charsets.
990
991 2003-09-12 Vincent Richard <vincent@vincent-richard.net>
992
993 * messageParser.cpp (findAttachments): fixed the search for attachment
994 parts. The right test is "cdf.value().name() != dispositionTypes::_inline"
995 and not "cdf.value().name() != dispositionTypes::attachment"...
996
997 2003-09-11 Vincent Richard <vincent@vincent-richard.net>
998
999 * plainTextPart.cpp/htmlTextPart.cpp: fixed a bug in parse(): when getting
1000 the "charset" parameter, "no_such_parameter" exception was not caught if
1001 the parameter was not present.
1002
1003 2003-09-06 Vincent Richard <vincent@vincent-richard.net>
1004
1005 * base.cpp: added a special case when encoding to Quoted-Printable: lines
1006 are no more limited to 76 characters (the maximum length recommended by
1007 the RFC) if maxLineLength == lineLengthLimits::infinite. However, this
1008 SHOULD NOT be used when generating mails (not RFC compliant).
1009
1010
1011 VERSION 0.3.1
1012 =============
1013
1014 2003-08-24 Vincent Richard <vincent@vincent-richard.net>
1015
1016 * mailbox.hpp: added "const" functions for name() and email().
1017
1018 2003-07-26 Vincent Richard <vincent@vincent-richard.net>
1019
1020 * charset.cpp: fixed a bug in "charset::iconvert()". Also, the
1021 conversion is now done using a buffer, and not in one block.
1022
1023 2003-07-24 Vincent Richard <vincent@vincent-richard.net>
1024
1025 * receiveProtocol[POP3].hpp/.cpp: a socket factory can now be passed in
1026 argument to the constructor so that it is possible to override the
1027 use of the default factory (set in vmime::platformDependantHandler).
1028
1029
1030 VERSION 0.3.0
1031 =============
1032
1033 2003-07-21 Vincent Richard <vincent@vincent-richard.net>
1034
1035 * configure.in: changed 'libdir' to install lib files in {PREFIX}/lib
1036 instead of {PREFIX}/lib/vmime. However, include files remain in the
1037 {PREFIX}/include/vmime directory.
1038
1039 2003-06-28 Vincent Richard <vincent@vincent-richard.net>
1040
1041 * base.hpp/.cpp: changed the return type of "libname()" and "libversion()"
1042 from "string::value_type*" to "string".
1043
1044 2003-06-16 Vincent Richard <vincent@vincent-richard.net>
1045
1046 * platformDependant.hpp: added "getSocketFactory()" function to be used
1047 with the new network features.
1048
1049 * configure.in: modified the file to permit passing arguments to
1050 the "configure" script:
1051 . --disable-net: disable network support (new in 0.3.0)
1052 . --enable-debug: enable debug mode (not used for now)
1053
1054 * started version 0.3.0: added network features: connection to mail
1055 servers via POP3, IMAP... Related classes: "receiveProtocol*",
1056 "serverInfos" and "socket", an abstract socket class.
1057
1058
1059 VERSION 0.2.1
1060 =============
1061
1062 2003-05-28 Vincent Richard <vincent@vincent-richard.net>
1063
1064 * messageId.cpp: added "vmime." at the beginning of random-generated
1065 message-ids (to make them more unique).
1066
1067 2003-05-26 Vincent Richard <vincent@vincent-richard.net>
1068
1069 * all source files: replaced "_VMIME_xxxxx_HPP_INCLUDED_" macros with
1070 "VMIME_xxxxx_HPP_INCLUDED". Names beginning with "_" (underscore) and
1071 followed by an uppercase letter are reserved to the implementation
1072 (see the C++ standard: 17.4.3.1.2 Global names).
1073
1074
1075 VERSION 0.2.0
1076 =============
1077
1078 2003-05-18 Vincent Richard <vincent@vincent-richard.net>
1079
1080 * messageParser.cpp: added a message parser (to be used parallely with
1081 messageBuilder). Extraction of attachment, plain text parts and HTML
1082 text parts (with embedded objects) is supported.
1083
1084 2003-05-09 Vincent Richard <vincent@vincent-richard.net>
1085
1086 * body.cpp (generate): the default prolog & epilog text (as defined
1087 in vmime::options) are not written anymore in sub-parts (only for
1088 the "root" part). Added a "isRoot" member to vmime::header.
1089
1090 2003-05-08 Vincent Richard <vincent@vincent-richard.net>
1091
1092 * encoding.cpp (decide): added some code to choose "quoted-printable"
1093 when there are lines with more than "lineLengthLimits::convenient"
1094 characters (or with a '.' just after a '\n').
1095
1096 * base.cpp (makeWordsFromText): enhanced algorithm.
1097
1098 2003-05-04 Vincent Richard <vincent@vincent-richard.net>
1099
1100 * address.cpp, mailbox.cpp, mailboxGroup.cpp: added empty() function.
1101
1102 * messageBuilder.cpp (construct): some validity checks: we now check
1103 there is one expeditor and at least one recipient.
1104
1105
1106 VERSION 0.1.0
1107 =============
1108
1109 2003-05-03 Vincent Richard <vincent@vincent-richard.net>
1110
1111 * First (beta) version released.