|
| 1 | +:tocdepth: 3 |
| 2 | + |
| 3 | +==================================== |
| 4 | +Cyrus IMAP 3.4.0-beta3 Release Notes |
| 5 | +==================================== |
| 6 | + |
| 7 | +Download from GitHub: |
| 8 | + |
| 9 | + * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-3.4.0-beta3/cyrus-imapd-3.4.0-beta3.tar.gz |
| 10 | + * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-3.4.0-beta3/cyrus-imapd-3.4.0-beta3.tar.gz.sig |
| 11 | + |
| 12 | +.. _relnotes-3.4.0-beta3-changes: |
| 13 | + |
| 14 | +Major changes since the 3.2 series |
| 15 | +================================== |
| 16 | + |
| 17 | +* DAV improvements |
| 18 | +* Improved performance for users with large folders |
| 19 | +* LITERAL- maximum size is now honoured (:rfc:`7888`) |
| 20 | +* Support for the ESORT (but not CONTEXT) extension from :rfc:`5267` |
| 21 | +* Experimental :draft:`JMAP for Sieve Scripts <draft-murchison-jmap-sieve>` |
| 22 | + support |
| 23 | + (requires `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 24 | +* Experimental :draft:`Handling Message Disposition Notification with JMAP |
| 25 | + <draft-ietf-jmap-mdn>` support |
| 26 | + (requires `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 27 | +* Experimental JMAP Backup extension (requires |
| 28 | + `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 29 | +* Experimental JMAP Notes extension (requires |
| 30 | + `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 31 | +* Experimental JMAP Blob extension (requires |
| 32 | + `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 33 | +* Experimental JMAP Mail extension (requires |
| 34 | + `jmap_nonstandard_extensions: yes` in :cyrusman:`imapd.conf(5)`). |
| 35 | +* New cyrus.index format v17 adds changes_epoch field, needed by JMAP Backups |
| 36 | + extension |
| 37 | +* New `reverseuniqueids` :cyrusman:`imapd.conf(5)` option (default on), which |
| 38 | + improves performance for users with large mailboxes |
| 39 | +* Further improvements to the `reverseacls` :cyrusman:`imapd.conf(5)` |
| 40 | + performance option |
| 41 | +* Improvements to replication reliability and performance |
| 42 | +* Experimental vnd.cyrus.log and vnd.cyrus.jmapquery Sieve extensions |
| 43 | +* Experimental Sieve Snooze extension based on |
| 44 | + :draft:`draft-ietf-extra-sieve-snooze` |
| 45 | +* Experimental Sieve mailboxid extension based on |
| 46 | + :draft:`draft-ietf-extra-sieve-mailboxid` |
| 47 | +* Improvements to conversations |
| 48 | +* New `mailbox_maxmessages_addressbook`, `mailbox_maxmessages_calendar`, and |
| 49 | + `mailbox_maxmessages_email` :cyrusman:`imapd.conf(5)` options for providing |
| 50 | + server-wide limits on the amount of objects in any one mailbox, independently |
| 51 | + of quotas. These default to `0` (unlimited) for backward compatibility, but |
| 52 | + are highly recommended for protecting your server from misbehaving clients. |
| 53 | +* New IMAP create/delete behaviour based on |
| 54 | + :draft:`draft-ietf-extra-imap4rev2`: mailboxes containing child mailboxes |
| 55 | + can no longer be deleted; and when creating mailboxes, ancestors will be |
| 56 | + created as needed. |
| 57 | +* CRC32 optimisations |
| 58 | +* :cyrusman:`quota(8)` and :cyrusman:`cyr_expire(8)` arguments are now in |
| 59 | + the admin namespace like other tools |
| 60 | +* Support for per-language indexing and searching |
| 61 | +* SNMP support has been removed, as it was broken and unmaintained |
| 62 | +* New `sync_rightnow_channel` :cyrusman:`imapd.conf(5)` option to enable |
| 63 | + real-time replication to the specified channel as writes occur. |
| 64 | +* Caching of mailbox state for quicker replication turnaround. Configure |
| 65 | + `sync_cache_db` and `sync_cache_db_path` in :cyrusman:`imapd.conf(5)` to |
| 66 | + enable. |
| 67 | +* New `search-fuzzy-always` annotation allows per-user override of the |
| 68 | + `search_fuzzy_always` :cyrusman:`imapd.conf(5)` option |
| 69 | +* New `lmtp_preparse` :cyrusman:`imapd.conf(5)` option for parsing incoming |
| 70 | + messages before locking the mailbox. |
| 71 | +* New `search_index_skip_users` and `search_index_skip_domains` |
| 72 | + :cyrusman:`imapd.conf(5)` options for skipping indexing of particular |
| 73 | + users/domains. |
| 74 | +* The HTTP Admin module's Currently Running Services feature now works |
| 75 | + on the major BSDs (thanks Felix J. Ogris) |
| 76 | +* :cyrusman:`squatter(8)` once again supports the ``-s`` option to skip |
| 77 | + reindexing mailboxes which were not modified since the last index |
| 78 | + (Squat backend only) |
| 79 | +* :cyrusman:`squatter(8)` now supports long options |
| 80 | +* Improvements to search query normalisation performance |
| 81 | + |
| 82 | + |
| 83 | +Updates to default configuration |
| 84 | +================================ |
| 85 | + |
| 86 | +The :cyrusman:`cyr_info(8)` `conf`, `conf-all` and `conf-default` subcommands |
| 87 | +accept an `-s <version>` argument to highlight :cyrusman:`imapd.conf(5)` |
| 88 | +options that are new or whose behaviour has changed since the specified |
| 89 | +version. We recommend using this when evaluating a new Cyrus version to |
| 90 | +check which configuration options you will need to examine and maybe set or |
| 91 | +change during the process. |
| 92 | + |
| 93 | +* The `annotation_definitions` file is now loaded case-insensitively |
| 94 | +* Implementations may want to revisit their `search_normalisation_max` |
| 95 | + settings, but its default value 1000 is a good conservative choice. Current |
| 96 | + server-grade hardware may use 20000 or more. |
| 97 | + |
| 98 | +Security fixes |
| 99 | +============== |
| 100 | + |
| 101 | +* None so far |
| 102 | + |
| 103 | +Significant bugfixes |
| 104 | +==================== |
| 105 | + |
| 106 | +* Fixed: Sieve Editheader Extension (:rfc:`5293`) now works correctly with |
| 107 | + respect to section 7, Interaction with Other Sieve Extensions. |
| 108 | +* Fixed :issue:`2598`: indexed search now works correctly with Squat engine |
| 109 | + again |
0 commit comments