- dbox: Fixed error handling when saving failed or was aborted
- IMAP: Using COMPRESS extension may have caused assert-crashes
- IMAP: THREAD REFS sometimes returned invalid (0) nodes.
- dsync: Fixed handling non-ASCII characters in mailbox names.
- director: With >2 directors ring syncing might have stalled during
director connect/disconnect, causing logins to fail.
- LMTP client/proxy: Fixed potential hanging when sending (big) mails
- Compressed mails with external attachments (dbox + SIS + zlib) failed
sometimes with bogus "cached message size wrong" errors.
major changes since 2.0.x:
plugins now use UTF-8 mailbox names rather than mUTF-7
auth_username_format default changed to %Lu
solr full text search backend changed to use mailbox GUIDs instead of
mailbox names, requiring reindexing everything
v2.0.14: Index reading could have eaten a lot of memory in some
situations
mbox: Fixed crash during mail delivery when mailbox didn't yet have
GUID assigned to it.
zlib+mbox: Fetching last message from compressed mailboxes crashed.
userdb extra fields can now return name+=value to append to an
existing name
script-login attempted an unnecessary config lookup, which usually
failed with "Permission denied".
lmtp: Fixed parsing quoted strings with spaces as local-part for
MAIL FROM and RCPT TO.
imap: FETCH BODY[HEADER.FIELDS (..)] may have crashed or not
returned all data sometimes.
ldap: Fixed random assert-crashing with with sasl_bind=yes.
Fixes to handling mail chroots
Fixed renaming mailboxes under different parent with FS layout when
using separate ALT, INDEX or CONTROL paths.
zlib: Fixed reading concatenated .gz files.
mdbox purge: Fixed wrong warning about corrupted extrefs.
script-login binary wasn't actually dropping privileges to the
user/group/chroot specified by its service settings.
Fixed potential crashes and other problems when parsing header names
that contained NUL characters.
dsync: More fixes to avoid hanging with remote syncs
dsync: Many other syncing/correctness fixes
doveconf: v2.0.10 and v2.0.11 didn't output plugin {} section right
IMAP: Fixed a hang when trying to COPY to a nonexistent mailbox.
IMAP: Fixed hang/crash with SEARCHRES + pipelining $.
IMAP: Fixed assert-crash if IDLE+DONE is sent in same TCP packet.
- services' default vsz_limits weren't being enforced correctly
- added systemd support
- dbox: Fixes to handling external mail attachments
- imap, pop3: When service { client_count } was larger than 1, the
log messages didn't use the correct prefix
- MySQL: Only the first specified host was ever used
- IMAP: Fixed LIST-STATUS when listing subscriptions with subscriptions=no namespaces.
- IMAP: Fixed SELECT QRESYNC not to crash on mailbox close if a lot of changes were being sent.
- quota: Don't count virtual mailboxes in quota
- doveadm expunge didn't always actually do the physical expunging
- Fixed some index reading optimizations introduced by v2.0.5.
- LMTP proxying fixes
- Pre-login CAPABILITY includes IDLE again. Mainly to make Blackberry
servers happy.
- auth: auth_cache_negative_ttl default was 0 in earlier v2.0.x, but it
was supposed to be 1 hour as in v1.x. Changed it back to 1h.
- doveadm: Added import command for importing mails from other storages.
- Reduced NFS I/O operations for index file accesses
- dbox, Maildir: When copying messages, copy also already cached fields
from dovecot.index.cache
- Maildir: LDA/LMTP assert-crashed sometimes when saving a mail.
- Fixed leaking fds when writing to dovecot.mailbox.log.
- Fixed rare dovecot.index.cache corruption
- IMAP: SEARCH YOUNGER/OLDER wasn't working correctly
- acl: Fixed the logic of merging multiple ACL entries
- sdbox: Fixed memory leak when copying messages with hard links.
- zlib: Fixed several crashes, which mainly showed up with mbox.
- quota: Don't crash if user has quota disabled, but plugin loaded.
- acl: Fixed crashing when sometimes listing shared mailboxes via dict proxy.
- multi-dbox: If :INDEX=path is specified, keep storage/dovecot.map.index*
files also in the index path rather than in the main storage directory.
- dsync: POP3 UIDLs weren't copied with Maildir
- dict file: Fixed fd leak (showed up easily with LMTP + quota)
- dovecot-lda: Removed use of non-standard Envelope-To: header as
a default for -a
- dsync: Fixed handling \Noselect mailboxes
- Fixed an infinite loop introduced by v2.0.2's message parser changes.
- Fixed a crash introduced by v2.0.2's istream-crlf changes.
- vpopmail support is disabled for now, since it's broken. You can use
it via checkpassword support or its sql/ldap database directly.
- maildir: Fixed "duplicate uidlist entry" errors that happened at
least with LMTP when mail was delivered to multiple recipients
- Deleting ACLs didn't cause entries to be removed from acl_shared_dict
- mail_max_lock_timeout setting wasn't working with all locks
- Using more than 2 plugins could have caused broken behavior
- Listescape plugin fixes
- mbox: Fixed a couple of assert-crashes
- mdbox: Fixed potential assert-crash when saving multiple messages
in one transaction