Noteworthy changes:
* Added an experimental "sql" backend for cyrusdb. Currently MySQL,
PostgreSQL, and SQLite are supported.
* Added support for IMAP [CAPABILITY] response code to client-side
of Murder proxies.
* Added support for ManageSieve auto-capability response after
STARTTLS and after AUTH with a SASL security layer.
* Made MAXWORD and MAXQUOTED sizes configurable via imapd.conf
* Rewrote cyrusdb_quotalegacy.c to use readir()
rather than glob.c. This avoids a potential crash due to
conflicts between glibc and Heimdal implementations of glob().
* Added support for fulldirhash to 'ctl_mboxlist -v'
* Several skiplist transaction bugfixes.
* cyr_expire no longer has a default of 0 (zero) for -X and -D.
These options must be used explicitly in order to have the desired
effect.
* Added sieve_utf8fileinto option.
* Added sieve_sasl_send_unsolicited_capability and
sieve_sasl_expect_unsolicited_capability options.
* Several 32/64-bit compatibility fixes.
Changes to the Cyrus IMAP Server since 2.3.9
* Added support for "delayed" delete, in which mailboxes are renamed to a
special admin-only "deleted" hierarchy at the time of the DELETE (hiding
them from the client), rather than immediately removing them from the
filesystem. This allows messages/mailboxes to be recovered by the admin in
case of user error. The mailboxes and messages can be removed at a later
time by cyr_expire. The new delete_mode and deletedprefix options in
imapd.conf controls whether deletes are "immediate" or "delayed" and the
mailbox hierarchy for "delayed" deletes. -- courtesy of David Carter and
FastMail.fm.
* Fixed the special case of RENAMEing an Inbox, so that it doesn't keep the
same mailbox uniqueid, thus allowing it to replicate properly (seen state
is still preserved).
* Disabled Nagle's algorithm in sync_client and sync_server to increase the
throughput of the replication protocol. -- courtesy of Wes Craig.
* Added support for a shared \Seen flag on messages (must be enabled on a
per-mailbox basis with the /vendor/cmu/cyrus-imapd/sharedseen mailbox
annotation.
* Added -u and -U options to reconstruct -- courtesy of David Carter.
* Added SETUIDVALIDITY command to the replication protocol -- courtesy of
David Carter.
* Finally fixed (again?) alignment issues on 64-bit SPARC.
* Changed message GUIDs used by replication to be the SHA1 hash of the
messages -- based on work of David Carter and Fastmail.fm.
* Improve the performance of commands that operate on sequence-sets. The
sequence-set is now parsed only once, and the commands operate on a sorted
list of seq-ranges.
* Added new cyr_synclog utility for adding events to the replication log --
courtesy of Fastmail.fm.
* Added support for PCRE library -- courtesy of Fastmail.fm.
* Added support for disabling duplicate delivery suppression on a per-folder
basis with the /vendor/cmu/cyrus-imapd/duplicatedeliver mailbox annotation
-- courtesy of Fastmail.fm.
* Fixed miscellaneous bugs and build issues.
* Added support for BDB 4.5 and 4.6.
* Fixed bug in frontend handling of CREATE for both proxying and referring.
-- courtesy of Gary Mills
* Fixed local deletion during XFER from a unified server. -- courtesy of Gary
Mills
* Fixed XFER bug which prevented sieve scripts from being migrated. --
courtesy of Gary Mills
* Allow utilities to be run as root (acquiring 'cyrus' uid on-the-fly).
* Changed the default value of the allowplaintext option to disabled (0).
* Finally fixed 64-bit alignment problem with HIGHESTMODSEQ.
* Fixed initialization of UUID subsystem for replication. -- courtesy of
Fastmail.fm
* Added -a option to cyr_expire to ignore to skip annotation check. --
courtesy of Fastmail.fm
* Set the mtime of synchronized message files to INTERNALDATE (makes
reconstruction a little friendlier). -- courtesy of Fastmail.fm
* Fixed a bug in sync_client which caused it to bail when a message was
deleted out from under it.
* Allow sync_server to accept unauthenticated connections from sync_client on
a UNIX socket.
* Drastically reduced the amount of time it takes for a mupdate slave to
synchronize with a master.
* Added URI contained in the Content-Location header to the BODYSTRUCTURE
response (per RFC 3501). -- inspired by Fastmail.fm
* Fixed flushseenstate bug which was causing unsolicited EXPUNGE responses
during FETCH/STORE. -- courtesy of David Carter
* Added option to ctl_mboxlist to verify the consistency of the mailbox list
database and the spool partition(s). See ctl_mboxlist.8 for details.
* RENAME now copies cyrus.expunge index file as well as expunged message
files.
* Fixed replication of 64-bit quotas. -- courtesy of David Carter
* Fixed miscellaneous bugs, memory leaks, and build issues.