Cyrus IMAP 2.3.0 Release Notes
******************************

Changes to the Cyrus IMAP Server since 2.2.x

* Added support for “unified” and “replicated” Murders. A Murder no
  longer has to have discrete frontend and backend servers; any one
  “unified” server can both proxy and serve local mailboxes (proxy
  functionality in proxyd and lmtpproxyd has been merged with imapd
  and lmtpd respectively), or all “replicated” servers can serve the
  same mailboxes from a shared filesystem. The new mupdate_config
  option in imapd.conf is used to determine whether a Murder is using
  a “traditional”, “unified” or “replicated” configuration.

* Ported/rewrote/integrated David Carter’s mailspool replication
  code. Development sponsored by Columbia University.

* Added support for “delayed” expunge, in which messages are removed
  from the mailbox index at the time of the EXPUNGE (hiding them from
  the client), but the message files and cache entries are left
  behind, to be purged at a later time by cyr_expire. This reduces the
  amount of I/O that takes place at the time of EXPUNGE and should
  result in greater responsiveness for the client, especially when
  expunging a large number of messages. The new expunge_mode option in
  imapd.conf controls whether expunges are “immediate” or “delayed”.
  Development sponsored by FastMail.

* Added support to place some/all mailbox metadata files (cyrus.*
  files) on a separate (probably high-speed) partition. See the new
  metapartition and metapartition_files options for details.
  Development sponsored by FastMail.

* Added support for accessing subfolders of INBOX via POP3. See the
  new popsubfolders option for details. Development sponsored by
  FastMail.

* Added support to lmtpd to do “fuzzy” mailbox matching on
  user+detail addresses. See the new lmtp_fuzzy_mailbox_match option
  for details. Development sponsored by FastMail.

* Added new sieve_extensions option to allow individual Sieve
  extensions to be enabled/disabled.

* The Sieve “include” extension is now supported. This also allows
  for global sieve scripts. See the new sieve_extensions options to
  enable it.

* The Sieve “body” extension is now supported. See the new
  sieve_extensions option to enable it. Development sponsored by
  FastMail.

* The $text$ variable for Sieve notify messages is now supported.
  Development sponsored by FastMail.

* The MIME structure of a new message destined for multiple
  recipients is now only parsed once rather than once per delivery,
  resulting in better performance. Development sponsored by FastMail.

* Support 64-bit quota usage (both per mailbox and for the entire
  quotaroot), based on a patch from Jeremy Rumpf. Development
  sponsored by FastMail.

* Added new flushseenstate option which causes imapd to immediately
  flush changes in Seen state to disk rather than caching them until
  the mailbox is closed. Enabling this option may fix Seen state
  weirdness with MS Outlook, at the expense of
  performance/scalability. Based on a patch by John A. Tamplin
  (jtampli@sph.emory.edu).

* The Sieve “copy” extension is now supported.

* The IMAP “CATENATE” and “URLAUTH” extensions are now supported.

* Updated Sieve “vacation” extension to draft-ietf-sieve-
  vacation-04.

* Added support for Sieve scripts on shared mailboxes via the
  /vendor/cmu/cyrus-imapd/sieve annotation.

Cyrus IMAP 2.3 Releases
