Cyrus IMAP 3.3.1 Tag Notes
**************************

Unavailable for download as this is a development branch only.

Access is via git.

Warning:

  This should be considered for **testing purposes** and **bleeding-
  edge features** only. We will try to tag these snapshots at coherent
  development points, but there will generally be **large breaking
  changes** occurring between releases in this series.


Major changes since the 3.2 series
==================================

* DAV improvements

* Improved performance for users with large folders

* LITERAL- maximum size is now honoured (**RFC 7888**)

* Support for the ESORT (but not CONTEXT) extension from **RFC 5267**

* Experimental JMAP for Sieve Scripts support (requires
  *jmap_nonstandard_extensions: yes* in imapd.conf(5)).

* Experimental Handling Message Disposition Notification with JMAP
  support (requires *jmap_nonstandard_extensions: yes* in
  imapd.conf(5)).

* Experimental JMAP Backup extension (requires
  *jmap_nonstandard_extensions: yes* in imapd.conf(5)).

* Experimental JMAP Notes extension (requires
  *jmap_nonstandard_extensions: yes* in imapd.conf(5)).

* Experimental JMAP Blob extension (requires
  *jmap_nonstandard_extensions: yes* in imapd.conf(5)).

* Experimental JMAP Mail extension (requires
  *jmap_nonstandard_extensions: yes* in imapd.conf(5)).

* New cyrus.index format v17 adds changes_epoch field, needed by JMAP
  Backups extension

* New *reverseuniqueids* imapd.conf(5) option (default on), which
  improves performance for users with large mailboxes

* Further improvements to the *reverseacls* imapd.conf(5) performance
  option

* Improvements to replication reliability and performance

* Experimental vnd.cyrus.log and vnd.cyrus.jmapquery Sieve extensions

* Experimental Sieve Snooze extension based on draft-ietf-extra-sieve-
  snooze

* Experimental Sieve mailboxid extension based on draft-ietf-extra-
  sieve-mailboxid

* Improvements to conversations

* New *mailbox_maxmessages_addressbook*,
  *mailbox_maxmessages_calendar*, and *mailbox_maxmessages_email*
  imapd.conf(5) options for providing server-wide limits on the amount
  of objects in any one mailbox, independently of quotas.  These
  default to *0* (unlimited) for backward compatibility, but are
  highly recommended for protecting your server from misbehaving
  clients.

* New IMAP create/delete behaviour based on draft-ietf-extra-
  imap4rev2: mailboxes containing child mailboxes can no longer be
  deleted; and when creating mailboxes, ancestors will be created as
  needed.

* CRC32 optimisations

* quota(8) and cyr_expire(8) arguments are now in the admin namespace
  like other tools

* Support for per-language indexing and searching

* SNMP support has been removed, as it was broken and unmaintained

* New *sync_rightnow_channel* imapd.conf(5) option to enable real-time
  replication to the specified channel as writes occur.

* Caching of mailbox state for quicker replication turnaround.
  Configure *sync_cache_db* and *sync_cache_db_path* in imapd.conf(5)
  to enable.

* New *search-fuzzy-always* annotation allows per-user override of the
  *search_fuzzy_always* imapd.conf(5) option

* New *lmtp_preparse* imapd.conf(5) option for parsing incoming
  messages before locking the mailbox.

* New *search_index_skip_users* and *search_index_skip_domains*
  imapd.conf(5) options for skipping indexing of particular
  users/domains.

* The HTTP Admin module's Currently Running Services feature now works
  on the major BSDs (thanks Felix J. Ogris)


Updates to default configuration
================================

The cyr_info(8) *conf*, *conf-all* and *conf-default* subcommands
accept an *-s <version>* argument to highlight imapd.conf(5) options
that are new or whose behaviour has changed since the specified
version.  We recommend using this when evaluating a new Cyrus version
to check which configuration options you will need to examine and
maybe set or change during the process.

* The *annotation_definitions* file is now loaded case-insensitively


Security fixes
==============

* None so far


Significant bugfixes
====================

* Fixed: Sieve Editheader Extension (**RFC 5293**) now works correctly
  with respect to section 7, Interaction with Other Sieve Extensions.
