Cyrus IMAP 2.4.0 Release Notes
******************************

Changes to the Cyrus IMAP Server since 2.3.x

* All databases are now default skiplist, and ctl_cyrusdb will
  automatically convert database type on startup.

* make_sha1 and make_md5 are removed (replaced by GUID and
  reconstruct changes)

* Charset subsystem rewritten - Unicode 5.2 rather than Unicode 2,
  and UTF-8 support in sieve.

* Core mailbox handling code largely rewritten with new APIs, CRC
  checksums, new locking mechanisms, merging of cyrus.index and
  cyrus.expunge, inclusion of user Seen flag, and much more.

* Replication code largely rewritten to provide better performance,
  consistency checking, and recovery from “split-brain” scenarios.

* Added support for LIST-EXTENDED IMAP extension. Removed support
  for deprecated (compile-time) LISTEXT IMAP extension. Based on work
  by Martin Konold <martin.konold@erfrakon.de>

* Added support for ESEARCH IMAP extension.

* Added support for WITHIN extension to IMAP SEARCH.

* Added support for ENABLE IMAP extension.

* Added support for QRESYNC IMAP extension.

* Added support for URLAUTH=BINARY IMAP extension.

* Removed legacy IMAP[2|3|4] cruft. We now only support IMAPrev1 +
  extensions.

* Added support for marking QoS on traffic. (courtesy of Philip
  Prindeville <philipp@redfish-solutions.com>)

* Modified user_deny.db code to open database once at service
  startup time.

* … and hundreds of tiny things too numerous to mention in a short
  change log …

Cyrus IMAP 2.4 Releases
