I've wanted to do this release for months now, but I keep being too busy all the time. This release fixes several important bugs and a lot of smaller ones. Because there are such a large number of changes I thought I'd make this release candidate release first and the final v2.2.14 early next week.
I usually read through the Dovecot mailing list mails before making a new release to see if there are some (important) bugs reported, but I've been way too busy recently to read through everything. I still have over 250 unread mails and I don't think I'll have time to read them anytime soon.
On the positive side the Dovecot company is now hiring more people. Especially having more Dovecot coders would reduce my work load and maybe allow me to go back to reading the Dovecot mailing list daily.. See:
http://www.dovecot.fi/dovecot-is-hiring-software-engineer-helsinki/ (you can do this work anywhere - no need to live in Finland) http://www.dovecot.fi/dovecot-is-hiring-operations-and-support-engineer-hels... (this probably requires living in Finland) http://www.dovecot.fi/dovecot-is-hiring-technical-pre-sales-engineer-helsink... (probably no need to live in Finland)
Here are some of the larger changes since v2.2.13:
* lmtp: Delivered-To: header no longer contains <> around the email address. Other MDAs don't have it either. * "Out of disk space" errors are now treated as temporary errors (not the same as "Out of disk quota"). * replication plugin: Use replication only for users who have a non-empty mail_replica setting.
+ lmtp proxy: Log a line about each mail delivery. + Added login_source_ips setting. This can be used to set the source IP address round-robin from a pool of IPs (in case you run out of TCP ports). + Rawlog settings can use tcp:<host>:<port> as the path. + virtual plugin: Don't keep more than virtual_max_open_mailboxes (default 64) number of backend mailboxes open. + SSL/TLS compression can be disabled with ssl_options=no_compression + acl: Global ACL file now supports "quotes" around patterns. + Added last-login plugin to set user's last-login timestamp on login. + LDAP auth: Allow passdb credentials lookup also with auth_bind=yes - IMAP: MODSEQ was sent in FETCH reply even if CONDSTORE/QRESYNC wasn't enabled. This broke at least old Outlooks. - passdb static treated missing password field the same as an empty password field. - mdbox: Fixed potential infinite looping when scanning a broken mdbox file. - imap-login, pop3-login: Fixed potential crashes when client disconnected unexpectedly. - imap proxy: The connection was hanging in some usage patterns. This mainly affected older Outlooks. - lmtp proxy: The proxy sometimes delivered empty mails in error situations or potentially delivered truncated mails. - fts-lucene: If whitespace_chars was set, we may have ended up indexing some garbage words, growing the index size unnecessarily. - -c and -i parameters for dovecot/doveadm commands were ignored if the config socket was readable. - quota: Quota recalculation didn't include INBOX in some setups. - Mail headers were sometimes added to dovecot.index.cache in wrong order. The main problem this caused was with dsync+imapc incremental syncing when the second sync thought the local mailbox had changed. - doveadm backup didn't notice if emails were missing from the middle of the destination mailbox. Now it deletes and resyncs the mailbox.