20 Feb
2017
20 Feb
'17
12:15 p.m.
http://dovecot.org/releases/2.2/rc/dovecot-2.2.28.rc1.tar.gz http://dovecot.org/releases/2.2/rc/dovecot-2.2.28.rc1.tar.gz.sig
Pretty large release. Please test before the final v2.2.28, which should be out in a few days.
BTW. Our plan is to start making new releases approximately every month from now on.
- director: "doveadm director move" to same host now refreshes user's timeout. This allows keeping user constantly in the same backend by just periodically moving the user there.
- When new mailbox is created, use initially INBOX's dovecot.index.cache caching decisions.
- Expunging mails writes GUID to dovecot.index.log now only if the GUID is quickly available from index/cache.
- imap: When BINARY FETCH sees invalid content, return NO [PARSE] reply instead of [UNKNOWNCTE] (which is now used only for actually unknown Content-Transfer-Encoding headers).
- pop3c: Increase timeout for PASS command to 5 minutes.
- Mail access errors are no longer ignored when searching or sorting. With IMAP the untagged SEARCH/SORT reply is still sent the same as before, but NO reply is returned instead of OK.
- Make dovecot.list.index's filename configurable. This is needed when there are multiple namespaces pointing to the same mail root (e.g. lazy_expunge namespace for mdbox).
- Add size.virtual to dovecot.index when folder vsizes are accessed (e.g. quota=count). This is mainly a workaround to avoid slow quota recalculation performance when message sizes get lost from dovecot.index.cache due to corruption or some other reason.
- auth: Support OAUTHBEARER and XOAUTH2 mechanisms. Also support them in lib-dsasl for client side.
- auth: Support filtering by SASL mechanism: passdb { mechanisms }
- Shrink the mail processes' memory usage by not storing settings duplicated unnecessarily many times.
- imap: Add imap_fetch_failure setting to control what happens when FETCH fails for some mails (see example-config).
- imap: Include info about last command in disconnection log line.
- imap: Created new SEARCH=X-MIMEPART extension. It's currently not advertised by default, since it's not fully implemented.
- fts-solr: Add support for basic authentication.
- Cassandra: Support automatically retrying failed queries if execution_retry_interval and execution_retry_times are set.
- doveadm: Added "mailbox path" command.
- mail_log plugin: If plugin { mail_log_cached_only=yes }, log the wanted fields only if it doesn't require opening the email.
- mail_vsize_bg_after_count setting added (see example-config).
- mail_sort_max_read_count setting added (see example-config).
- Index files: day_first_uid wasn't updated correctly since v2.2.26. This caused dovecot.index.cache to be non-optimal.
- imap: SEARCH/SORT may have assert-crashed in client_check_command_hangs
- imap: FETCH X-MAILBOX may have assert-crashed in virtual mailboxes.
- imap: Running time in tagged command reply was often wrongly 0.
- search: Using NOT n:* or NOT UID n:* wasn't handled correctly
- director: doveadm director kick was broken
- director: Fix crash when using director_flush_socket
- director: Fix some bugs when moving users between backends
- imapc: Various error handling fixes and improvements
- master: doveadm process status output had a lot of duplicates.
- autoexpunge: If mailbox's rename timestamp is newer than mail's save-timestamp, use it instead. This is useful when autoexpunging e.g. Trash/* and an entire mailbox is deleted by renaming it under Trash to prevent it from being autoexpunged too early.
- autoexpunge: Multiple processes may have been trying to expunge the same mails simultaneously. This was problematic especially with lazy_expunge plugin.
- auth: %{passdb:*} was empty in auth-worker processes
- auth-policy: hashed_password was always sent empty.
- dict-sql: Merge multiple UPDATEs to a single statement if possible.
- fts-solr: Escape {} chars when sending queries
- fts: fts_autoexpunge_exclude = \Special-use caused crashes
- doveadm-server: Fix leaks and other problems when process is reused for multiple requests (service_count != 1)
- sdbox: Fix assert-crash on mailbox create race
- lda/lmtp: deliver_log_format values weren't entirely correct if Sieve was used. especially %{storage_id} was broken.