Upgrading Dovecot v2.3 to v2.3.x¶
Upgrading Dovecot v2.3.x to v2.3.7¶
fts-solr: The obsolete break-imap-search parameter is no longer recognized
Upgrading Dovecot v2.3.x to v2.3.12¶
Event filter syntax has changed, see Event Filtering.
Upgrading Dovecot v2.3.x to v2.3.14¶
Removed cydir storage format. It was never intended for production use.
Removed snarf plugin. It was for UW-IMAP’s mbox compatibility, which is unlikely to be needed anymore.
Removed mail_filter plugin. It was mainly intended as an example plugin.
Removed autocreate plugin. Use mailbox { auto } Mailbox Settings instead.
Removed expire plugin. Use mailbox { autoexpunge } Mailbox Settings instead.
Removed xz write support from zlib plugin. (Reading xz compressed mails is still supported.) Use another compression algorithm.
obox (fs-dictmap): Update configuration to support Cassandra max bucket ID safe shrinking behavior
Max Bucket ID Safe Shrinking¶
Note
Only needed for obox + fs-dictmap installations.
To support Cassandra max bucket ID safe shrinking behavior,
dovecot-dict-cql.conf.ext
must get updated. The map for
shared/dictmap/$user/mailboxes/$mailbox_guid/max_bucket
must include the
writetime of the last max_bucket
update. See:
fs-dictmap/Cassandra mappings for Object ID based storages.
This mapping update is downwards compatible and can be done independently of upgrading OX Dovecot Pro. It is not a schema update but rather fetching additional, already available, information from Cassandra using the built-in writetime functionality.
The issue solved by this change is that in a fs-dictmap installation (e.g.,
Cassandra+Scality), the max_bucket
ID never shrinks. Buckets are used to
prevent partitions in Cassandra becoming too big (each bucket is sized to
keep 10,000 mails).
If a user receives a huge amount of mails and fills multiple buckets, the
max_bucket id is incremented. If most of these mails are deleted again, this
now larger max_bucket
ID stays.
A big max_bucket
id means one Cassandra SELECT per bucket < max_bucket.
This happens whenever a folder is accessed for the first time in the metacache
(after cleanup or backend change) and all the mails of this folder are
listed.
Thus, this change means there could be less Cassandra SELECTs overall. This fix is automatically applied per user after a user’s folder has been accessed for the first time.
In order to prevent race conditions, the writetime of the last max_bucket
ID is taken into account. This is why the change to the Dovecot Cassandra
mapping configuration is necessary. The change of the mapping is downwards
compatible so rollbacks to earlier versions are not complicated by this change.
Before 2.3.14, the max_bucket
ID never shrunk, which means that there
could be inefficient mailboxes with a higher max_bucket
ID than actual
filled buckets.
To be informed about shrinking, the fs_dictmap_max_bucket_changed event can be monitored.
Upgrading Dovecot v2.3.x to v2.3.15¶
ssl_min_protocol
default changed to TLSv1.2, as older TLS versions are deprecated (see RFC 8996). Change it to TLSv1 or TLSv1.1 if you need to support older, deprecated protocols.The ‘SNIPPET’ and ‘PREVIEW (w/explicit algorithm selection)’ IMAP commands have been deprecated. The new RFC 8970 compliant PREVIEW command should be exclusively used in the future.
fs-compress plugin now accept per-algorithm value.
zlib plugin now accepts per-algorithm value.
imap-zlib plugin now uses per-algorithm compression level settings. The old setting is ignored.
Upgrading Dovecot v2.3.x to v2.3.16¶
auth-worker service service_count setting has been changed.
Upgrading Dovecot v2.3.x to v2.3.20¶
fts_stopwords_workaround
has been introduced. The default for the setting,auto
, activates some mitigations for the problem of some searches failing to retrieve the expected result when stopwords and multiple languages are used together. To revert to the pre 2.3.20 behavior, setfts_stopwords_workaround = no
. See thesetting description
for more details.