+v1.2.UNSTABLE Timo Sirainen <tss@iki.fi>
+
+ + IMAP: Added support for extensions: CONDSTORE, QRESYNC, ESEARCH,
+ SEARCHRES, WITHIN, ID and CONTEXT=SEARCH.
+ + SEARCH supports INTHREAD search key, but the rest of the INTHREAD
+ draft isn't implemented yet and isn't advertised.
+ + THREAD X-REFERENCES2 algorithm where threads are sorted by their
+ latest message instead of the thread root message.
+ + Thread indexes for optimizing IMAP THREAD command and INTHREAD
+ search key.
+ + Virtual mailboxes
+
+v1.1.3 2008-09-02 Timo Sirainen <tss@iki.fi>
+
+ * mail_max_userip_connections limit no longer applies to master user
+ logins.
+
+ + login_log_format_elements: Added %k to show SSL protocol/cipher
+ information. Not included by default.
+ + imap/pop3-proxy: If auth_verbose=yes, log proxy login failures.
+ + deliver: Added -s parameter to autosubscribe to autocreated mailboxes.
+ - message parser fixes - hopefully fixes an infinite looping problem
+ - SORT: One more assert-crashfix when renumbering index sort IDs.
+ - mbox: Saving may have truncated the mail being saved
+ - mbox: Several other bugfixes
+ - mail_full_filesystem_access=yes was broken when listing mailboxes
+ (it still is with maildir++ layout).
+ - maildirlock utility was somewhat broken
+ - zlib plugin: bzip2 support was somewhat broken
+ - NFS: Make sure writing to files via output streams don't
+ assert-crash when write() returns only partial success.
+
+v1.1.2 2008-07-24 Timo Sirainen <tss@iki.fi>
+
+ + Added full text search indexing support for Apache Lucene Solr
+ server: http://wiki.dovecot.org/Plugins/FTS/Solr
+ + IMAP SORT: Added X-SCORE sort key for use with Solr searches.
+ + zlib plugin supports now bzip2 also.
+ + quota: All backends now take noenforcing parameter.
+ + Maildir: Add ,S=<size> to maildir filename whenever quota plugin
+ is loaded, even when not using Maildir++ quota.
+ + deliver: Allow lda section to override plugin settings.
+ + deliver: Giving a -m <namespace prefix> parameter now silently saves
+ the mail to INBOX. This is useful for e.g. -m INBOX/${extension}
+ + Added a new maildirlock utility for write-locking Dovecot Maildir.
+ + dict-sql: Support non-MySQL databases by assuming they implement the
+ "INSERT .. ON DUPLICATE KEY" using an INSERT trigger.
+ - SORT: Fixed several crashes/errors with sort indexing.
+ - IMAP: BODYSTRUCTURE is finally RFC 3501 compliant. Earlier versions
+ didn't include Content-Location support.
+ - IMAP: Fixed bugs with listing INBOX.
+ - Maildir: maildirfolder file wasn't created when dovecot-shared
+ file existed on the root directory
+ - deliver didn't expand %variables in namespace location settings.
+ - zlib: Copying non-compressed messages resulted in empty mails
+ (except when hardlink-copying between maildirs).
+ - mbox-snarf plugin was somewhat broken
+ - deliver + Maildir: If uidlist couldn't be locked while saving,
+ we might have assert-crashed
+ - mbox: Fixed an assert-crash with \Recent flag handling
+
+v1.1.1 2008-06-22 Timo Sirainen <tss@iki.fi>
+
+ - Maildir: When migrating from v1.0 with old format dovecot-uidlist
+ files, Dovecot may have appended lines to it using the new format and
+ later broken with "UID larger than next_uid" error.
+
+v1.1.0 2008-06-21 Timo Sirainen <tss@iki.fi>
+
+No changes since v1.1.rc13. Below are the largest changes since v1.0:
+
+ * After Dovecot v1.1 has modified index or dovecot-uidlist files,
+ they can't be opened anymore with Dovecot versions earlier than
+ v1.0.2.
+ * See doc/wiki/Upgrading.1.1.txt (or for latest changes,
+ http://wiki.dovecot.org/Upgrading/1.1) for list of changes since
+ v1.0 that you should be aware of when upgrading.
+
+ + IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions.
+ + IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
+ + When saving messages, update cache file immediately with the data
+ that we expect client to fetch later.
+ + NFS caches are are flushed whenever needed. See mail_nfs_storage and
+ mail_nfs_index settings.
+ + Out of order command execution (SEARCH, FETCH, LIST), nonstandard
+ command cancellation (X-CANCEL <tag>)
+ + IMAP: STATUS-IN-LIST draft implementation
+ + Expire plugin can be used to keep track of oldest messages in
+ specific mailboxes. A nightly run can then quickly expunge old
+ messages from the mailboxes that have them. The tracking is done
+ using lib-dict, so you can use either Berkeley DB or SQL database.
+ + Namespaces are supported everywhere now.
+ + Namespaces have new list and subscriptions settings.
+ + Full text search indexing support with Lucene and Squat backends.
+ + OTP and S/KEY authentication mechanisms (by Andrey Panin).
+ + mbox and Maildir works with both Maildir++ and FS layouts. You can
+ change these by appending :LAYOUT=maildir++ or :LAYOUT=fs to
+ mail_location.
+ + LDAP: Support templates in pass_attrs and user_attrs
+ + Support for listening in multiple IPs/ports.
+ + Quota plugin rewrite: Support for multiple quota roots, warnings,
+ allow giving storage size in bytes or kilo/mega/giga/terabytes,
+ per-mailbox quota rules.
+ + Filesystem quota backend supports inode limits, group quota and
+ RPC quota for NFS.
+ + SEARCH and SORT finally compare non-ASCII characters
+ case-insensitively. We use i;unicode-casemap algorithm.
+ + Config files support splitting values to multiple lines with \
+
+v1.1.rc13 2008-06-20 Timo Sirainen <tss@iki.fi>
+
+ - mbox: Fixed a crash when adding a new X-IMAPbase: header with
+ keywords.
+ - Message parser: Fixed assert-crash if cached MIME structure was
+ broken.
+ - Squat: Potential crashfix with mmap_disable=yes.
+
+v1.1.rc12 2008-06-19 Timo Sirainen <tss@iki.fi>
+
+ - mbox: Don't give "Can't find next message offset" warnings when
+ plugin (e.g. quota) accesses the message being saved.
+ - deliver: Settings inside protocol imap {} weren't ignored.
+
+v1.1.rc11 2008-06-19 Timo Sirainen <tss@iki.fi>
+
+ - dovecot-uidlist is now recreated if it results in file shrinking
+ over 25%.
+ - Some other minor fixes
+
+v1.1.rc10 2008-06-13 Timo Sirainen <tss@iki.fi>
+
+ * LIST X-STATUS renamed to LIST STATUS and fixed its behavior with
+ LIST-EXTENDED options. It's now compatible with STATUS-IN-LIST
+ draft 00.
+
+ - Message parsing could have sometimes produced incorrect results,
+ corrupting BODY/BODYSTRUCTURE replies and perhaps others.
+ - SORT: Fixed several bugs
+ - FreeBSD 7.0: Environment clearing wasn't working correctly.
+ This caused "environment corrupted" problems at least with deliver
+ trying to call sendmail and running Dovecot from inetd.
+ - HP-UX: Several fixes to get it to work (by Christian Corti)
+ - Fixes to using expire plugin with SQL dictionary.
+ - dbox fixes
+
+v1.1.rc9 2008-06-09 Timo Sirainen <tss@iki.fi>
+
+ + Maildir: When hardlink-copying a file, copy the W=<vsize> in the
+ filename if it exists in the original filename.
+ - mbox: With rc8 empty lines were inserted in the middle of saved
+ mails' headers.
+ - maildir: Fixed problems with opening newly saved messages which we
+ saw in index file but couldn't see in dovecot-uidlist. Happened only
+ when messages weren't saved via Dovecot (deliver or IMAP).
+ - Several bugfixes to handling sort indexes
+ - deliver: Boolean settings that were supposed to default to "yes" were
+ set to "no" unless explicitly defined in dovecot.conf:
+ dotlock_use_excl, maildir_copy_with_hardlinks, mbox_dirty_syncs,
+ mbox_lazy_writes.
+
v1.1.rc8 2008-06-03 Timo Sirainen <tss@iki.fi>
+ deliver: Added -p parameter to provide path to delivered mail.
v1.1.rc1 2008-02-21 Timo Sirainen <tss@iki.fi>
- * After Dovecot v1.1 has modified index or dovecot-uidlist files,
- they can't be opened anymore with Dovecot versions earlier than
- v1.0.2.
- * See doc/wiki/Upgrading.1.1.txt (or for latest changes,
- http://wiki.dovecot.org/Upgrading/1.1) for list of changes since
- v1.0 that you should be aware of when upgrading.
-
- + IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions.
- + IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
- + When saving messages, update cache file immediately with the data
- that we expect client to fetch later.
- + NFS caches are are flushed whenever needed. See mail_nfs_storage and
- mail_nfs_index settings.
- + Out of order command execution (SEARCH, FETCH, LIST), nonstandard
- command cancellation (X-CANCEL <tag>)
- + IMAP: Non-standard LIST+STATUS combination:
- LIST .. RETURN (X-STATUS (status options))
- + Expire plugin can be used to keep track of oldest messages in
- specific mailboxes. A nightly run can then quickly expunge old
- messages from the mailboxes that have them. The tracking is done
- using lib-dict, so you can use either Berkeley DB or SQL database.
- + Namespaces are supported everywhere now.
- + Namespaces have new list and subscriptions settings.
- + Full text search indexing support with Lucene and Squat backends.
- + OTP and S/KEY authentication mechanisms (by Andrey Panin).
- + mbox and Maildir works with both Maildir++ and FS layouts. You can
- change these by appending :LAYOUT=maildir++ or :LAYOUT=fs to
- mail_location.
- + LDAP: Support templates in pass_attrs and user_attrs
- + Support for listening in multiple IPs/ports.
- + Quota plugin rewrite: Support for multiple quota roots, warnings,
- allow giving storage size in bytes or kilo/mega/giga/terabytes,
- per-mailbox quota rules.
- + Filesystem quota backend supports inode limits, group quota and
- RPC quota for NFS.
- + SEARCH and SORT finally compare non-ASCII characters
- case-insensitively. We use i;unicode-casemap algorithm.
- + Config files support splitting values to multiple lines with \
+ * See v1.1.0 notes
v1.0.10 2007-12-29 Timo Sirainen <tss@iki.fi>
+ - new primes code: are hash tables now being resized too often?
+ - auth_log_prefix setting similar to mail_log_prefix
+ - LDAP attrs: uid=foo,uid=bar doesn't work
+
+ - thread indexes: if we expunge a duplicate message-id: and we have a sibling
+ with identical message-id:, we can probably just move the children?
+ (unless there are non-sibling duplicates)
+ - SEARCH INTHREAD requires no thread sorting by date - don't do it
+ - virtual: keep MD5 of search parameters. if it changes, rebuild all.
+ - CONDSTORE: use per-flag/per-keyword conflict checking
+ - should modseq header be updated even when modseqs aren't used? otherwise
+ log reads always at beginning of file? are there other performance
+ issues?
+ - QRESYNC: Should we send HIGHESTMODSEQ in tagged reply for EXPUNGE
+ even when it was already returned in FETCH MODSEQs?
+ - QRESYNC: Drop expunges from the middle of given seq sets if possible
+ - use universal hash functions?
+
+ - UIDVALIDITY changed while saving -> sync errors
+ - mbox: copy to Trash, manually delete copied msg, change uidvalidity,
+ set nextuid=1, copy again -> error
+ - recent_uids assert at least with mbox
+ - quota fs: Should values returned by quota be divided by the actual
+ filesystem block size instead of hardcoded DEV_BSIZE? not with AIX..
+ - mailbox list fs: Listing subscriptions with children return options doesn't
+ work unless iter_is_mailbox() returns the children flags
- sieve-cmu.c crash: i_assert(buf->used - 1 == part->body_size.physical_size);
- convert plugin: Create a r/w lock for a file. It's read-locked if
conversion isn't wanted and released when process dies. If conversion is
Hello world!" 2 "Hello, I'm ...". This would be especially useful with
the above attachment scanning.
- - deliver
- - recipient_delimiter setting so user+mailbox@domain works directly
-
- general
- stop using atol(), atoi(), strtoul() etc. in places where we actually
care about what they return, and rather create our own function which
- things break if next_uid gets to 2^32
capabilities:
- - preferrably all should be implemented as plugins
- - possibility to disable them from config file
- THREAD=ORDEREDSUBJECT - although pretty useless I'd think.
- acl (rfc4314)
- mailbox-referrals (rfc2193)