A few announcements first:
I'm now going to start being more strict about not answering Dovecot questions sent to me privately (especially support requests, but also bug reports, feature requests, etc). Often those questions could be answered by other people in the mailing list as well, so they just waste my time. Even if you're sure that I'm the only person who can possibly answer it, it may be something that others are interested of as well and replying privately denies them the possibility of reading about it. If you really do not want to send something publicly, you still have an option for private communication: just buy one of the Dovecot support packages.
This is also the first Dovecot release that has run through automated release testing. I've been planning on doing that for last 5 years at least, and finally it's done. The testing includes running a lot of tests to verify that the IMAP server gives proper responses, stress testing doesn't break it, memory isn't leaked and several other things. The tests are run for many different kinds of configurations.
Some bugs show up only for some specific combination of settings, but unfortunately because there's such a large number of them it's impossible to test every combination. So here's another advantage that Dovecot support customers have: they can have their specific configuration included in the automated tests. This release already fixes one bug I found only after testing a customer's config.
Oh, and looks like I got accepted as a speaker to LinuxTag 2012. The plan is to talk about some new things in Dovecot and dsync replication (looks like I have to hurry up with the dsync rewrite).
And finally, the most important changes since v2.1.4:
* IMAP: When neither the session nor the mailbox has modseq tracking
enabled, return the mailbox as having NOMODSEQ in SELECT/EXAMINE
reply. Old versions in this situation always simply returned
HIGHESTMODSEQ as 1, which could have broken some clients.
+ dict file: Added optional fcntl/flock locking (default is dotlock)
+ fts-solr: doveadm fts rescan now resets indexes, which allows
reindexing mails. (This isn't a full rescan implementation like
+ doveadm expunge: Added -d parameter to delete mailbox if it's
empty after expunging.
- IMAP: Several fixes related to mailbox listing in some configs
- director: A lot of fixes and performance improvements
- v2.1.4 didn't work without a mail home directory set
- mbox: Deleting a mailbox didn't delete its index files.
- pop3c: TOP command was sent incorrectly
- trash plugin didn't work properly
- LMTP: Don't add a duplicate Return-Path: header when proxying.
- listescape: Don't unescape namespace prefixes.
+ Added mail_temp_scan_interval setting and changed its default value
from 8 hours to 1 week.
+ Added pop3-migration plugin for easily doing a transparent IMAP+POP3
migration to Dovecot: http://wiki2.dovecot.org/Migration/Dsync
+ doveadm user: Added -m parameter to show some of the mail settings.
- Proxying SSL connections crashed in v2.1.
- fts-solr: Indexing mail bodies was broken.
- director: Several changes to significantly improve error handling
- doveadm import didn't import messages' flags
- mail_full_filesystem_access=yes was broken
- Make sure IMAP clients can't create directories when accessing
nonexistent users' mailboxes via shared namespace.
- Dovecot auth clients authenticating via TCP socket could have failed
with bogus "PID already in use" errors.