Cyrus IMAP 3.0.0 Release Notes
******************************

Download from GitHub:

   * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-
     imapd-3.0.0/cyrus-imapd-3.0.0.tar.gz

   * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-
     imapd-3.0.0/cyrus-imapd-3.0.0.tar.gz.sig


Major changes since the 2.5.x series
====================================

* The source repository has moved to GitHub, Bugzilla and Phabricator
  have been deprecated.  Their issue lists are being imported into
  GitHub.

* Support added for FastMail-style conversations (threaded messages).
  (See the "conversations" options in imapd.conf)

* Optional Xapian integration for faster and shinier search. Note that
  this requires custom patches to Xapian, in this release. (See the
  "search_engine" option in imapd.conf, and "doc/README.xapian" in the
  source distribution.) Compiling Xapian support requires gcc 4.9 or
  later.

* Archive support has arrived! Requires addition of an archive
  partition. (See "archive_*" options in imapd.conf)

* Basic JMAP support. (See "httpmodules" in imapd.conf)

* ClamAV integration for AntiVirus support is now working again.

* Dropped support for Berkeley DB.

* The handling of configure options has changed, dropping support for
  "--with-cyrus-prefix" and "--with-service-path" in favour of the
  more conventional "--prefix", "--bindir", "--sbindir", and "--
  libexecdir".

* Binaries executed by the master(8) service process are now installed
  to "--libexecdir".  Other binaries are installed to "--bindir"
  and/or "--sbindir".

  The "make installbinsymlinks" target can be used to set up symlinks
  to everything in "--bindir", if you need that in your environment.

* Added support for replicating mailboxes/users to a particular
  partition.  "sync_client" now accepts a "-p" option.

* The "defaultdomain" setting in imapd.conf now defaults to "internal"
  (was: NULL)

* Added experimental backup service.  See Cyrus Backups

* Support for Apple's Push service (XAPPLEPUSH).  See Cyrus
  Eventsource

* Sieve now supports special use folders.  See Cyrus Sieve

* Sieve now supports the following extensions:

  * **RFC 5490** Checking Mailbox Status and Accessing Mailbox
    Metadata

  * **RFC 5229** Variables

* Sieve bytecode is now automatically recompiled when it is detected
  to be missing or out of date

* New numeric header available for sorting: X-Spam-Score

* Added IMIP notification support to notifyd(8). See "imipnotifier" in
  imapd.conf

* Optimised CRC32 implementation

* Added support for reverse ACLs, enabling faster LIST response.  See
  "reverseacls" in imapd.conf

* Added cross-domain sharing support.  See "crossdomains" and
  "crossdomains_onlyother" in imapd.conf

* Added experimental object storage for mail data, with preliminary
  support for OpenIO and Caringo backends.  See configure.ac "--
  enable-objectstore", and the "object_storage_*", "openio_*" and
  "caringo_*" options in imapd.conf.

* Configurable POP3 UIDL format for compatibility with other mail
  servers.  Supports Courier Mail Server and Dovecot formats, in
  addition to Cyrus formats.  See "uidl_format" in imapd.conf

* Under "delete_mode: delayed", only the 20 most recently deleted
  mailboxes are kept for any given name.

* Documentation cleanup: we are moving toward having a single
  restructured text source for man pages and html/text documentation,
  which are pre-generated for inclusion in release tarballs. If you
  wish to rebuild these, or are building from a git clone in which
  they are not pregenerated, you will need to install "sphinx-build",
  and the perl module "Pod::POM::View::Restructured".  The top level
  Makefile now has "man" and "doc" targets for building these.

* Added support for OpenSSL 1.1.0.

* Replication now supports incremental partial updates, so massive
  updates (such as mail imports) won't stall replication for other
  users.  See "sync_batchsize" in imapd.conf

* The mailbox cache minor version has been incremented to store a GUID
  for each body part.


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

* "unixhierarchysep" ("/") is now "on" by default (instead of netnews
  style ".")

* "altnamespace" is now "on" by default (was "off")

* "virtdomains" is actually **still** "off" by default. (Previously we
  stated it was now defaulting to "userid": this was an error. )


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

* Lots of fixes to caldav and carddav.

  Includes the addition of a new daemon (calalarmd) which periodically
  processes a global database containing the "next" alarm for each
  item, and sends the relevant mboxevents. (See configure.ac "--with-
  calalarmd")

* Replication reliability fixes.

* Improved "LIST-EXTENDED": more imap tests now succeed.

* Extensive cleanup of mailbox name handling

* "master" now requests a sane maximum number of open file
  descriptors, and only complains if this isn't allowed.

* Fixes to compiling on Solaris (thanks Jens Erat, Marty Lee)

* Improved handling of mailbox renames during replication