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 <>

  • 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 <>)

  • 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