v2.2.32 release candidate released

Timo Sirainen tss at iki.fi
Tue Aug 15 23:49:29 EEST 2017


https://dovecot.org/releases/2.2/rc/dovecot-2.2.32.rc1.tar.gz
https://dovecot.org/releases/2.2/rc/dovecot-2.2.32.rc1.tar.gz.sig

There are various changes in this release that can be used to significantly reduce disk IO with:
1) NFS storage especially, but I guess also other remote filesystems and even some with local disks
2) When mail storage and INDEX storage are separated

 * imapc: Info-level line is logged every time when successfully
   connected to the remote server. This includes local/remote IP/port,
   which can be useful for matching against external logs.
 * config: Log a warning if plugin { key=no } is used explicitly.
   v2.3 will support "no" properly in plugin settings, but for now
   any value at all for a boolean plugin setting is treated as "yes",
   even if it's written as explicit "no". This change will now warn
   that it most likely won't work as intended.

 + Various optimizations to avoid accessing files/directories when it's
   not necessary. Especially avoid accessing mail root directories when
   INDEX directories point to a different filesystem.
 + mail_location can now include ITERINDEX parameter. This tells Dovecot
   to perform mailbox listing from the INDEX path instead of from the
   mail root path. It's mainly useful when the INDEX storage is on a
   faster storage.
 + mail_location can now include VOLATILEDIR=<path> parameter. This
   is used for creating lock files and in future potentially other
   files that don't need to exist permanently. The path could point to
   tmpfs for example. This is especially useful to avoid creating lock
   files to NFS or other remote filesystems. For example:
   mail_location=sdbox:~/sdbox:VOLATILEDIR=/tmp/volatile/%2.256Nu/%u
 + mail_location's LISTINDEX=<path> can now contain a full path.
   This allows storing mailbox list index to a different storage
   than the rest of the indexes, for example to tmpfs.
 + mail_location can now include NO-NOSELECT parameter. This
   automatically deletes any \NoSelect mailboxes that have no children.
   These mailboxes are sometimes confusing to users.
 + mail_location can now include BROKENCHAR=<char> parameter. This can
   be useful with imapc to access mailbox names that aren't valid mUTF-7
   charset from remote servers.
 + If mailbox_list_index_very_dirty_syncs=yes, the list index is no
   longer refreshed against filesystem when listing mailboxes. This
   allows the mailbox listing to be done entirely by only reading the
   mailbox list index.
 + Added mailbox_list_index_include_inbox setting to control whether
   INBOX's STATUS information should be cached in the mailbox list
   index. The default is "no", but it may be useful to change it to
   "yes", especially if LISTINDEX points to tmpfs.
 + userdb can return chdir=<path>, which override mail_home for the
   chdir location. This can be useful to avoid accessing home directory
   on login.
 + userdb can return postlogin=<socket> to specify per-user imap/pop3
   postlogin socket path.
 + cassandra: Add support for result paging by adding page_size=<n>
   parameter to the connect setting.
 + dsync/imapc, pop3-migration plugin: Strip also trailing tabs from
   headers when matching mails. This helps with migrations from Zimbra.
 + imap_logout_format supports now %{appended} and %{autoexpunged}
 + virtual plugin: Optimize IDLE to use mailbox list index for finding
   out when something has changed.
 - virtual plugin: A lot of fixes. In many cases it was also working
   very inefficiently or even incorrectly.
 - imap: NOTIFY parameter parsing was incorrectly "fixed" in v2.2.31.
   It was actually (mostly) working in previous versions, but broken
   in v2.2.31.
 - Modseq tracking didn't always work correctly. This could have caused
   imap unhibernation to fail or IMAP QRESYNC/CONDSTORE extensions to
   not work perfectly.
 - mdbox: "Inconsistency in map index" wasn't fixed automatically
 - dict-ldap: %variable values used in the LDAP filter weren't escaped.
 - quota=count: quota_warning = -storage=.. was never executed (try #2).
   v2.2.31 fixed it for -messages, but not for -storage.
 - imapc: >= 32 kB mail bodies were supposed to be cached for subsequent
   FETCHes, but weren't.
 - quota-status service didn't support recipient_delimiter
 - acl: Don't access dovecot-acl-list files with acl_globals_only=yes
 - mail_location: If INDEX dir is set, mailbox deletion deletes its
   childrens' indexes. For example if "box" is deleted, "box/child"
   index directory was deleted as well (but mails were preserved).



More information about the dovecot mailing list