It’s finally time for v2.3 release branch! There are several new and exciting features in it. I’m especially happy about the new logging and statistics code, which will allow us to generate statistics for just about everything. We didn’t have time to implement everything we wanted for them yet, and there especially aren’t all that many logging events yet that can be used for statistics. We’ll implement those to v2.3.1, which might also mean that some of the APIs might still change in v2.3.1 if that’s required.
We also have new lib-smtp server code, which was used to implement SMTP submission server and do a partial rewrite for LMTP server. Please test these before v2.3.0 to make sure we don’t have any bad bugs left!
BTW. The v2.3.0 will most likely be signed with a new PGP key ED409DA1.
Some of the larger changes:
- Various setting changes, see https://wiki2.dovecot.org/Upgrading/2.3
- Logging rewrite started: Logging is now based on hierarchical events.
This makes it possible to do various things, like: 1) giving
consistent log prefixes, 2) enabling debug logging with finer
granularity, 3) provide logs in more machine-readable formats
(e.g. json). Everything isn’t finished yet, especially a lot of the old logging code still needs to be translated to the new way.
- Statistics rewrite started: Stats are now based on (log) events.
It’s possible to gather statistics about any event that is logged.
See http://wiki2.dovecot.org/Statistics for details
- ssl_dh setting replaces the old generated ssl-parameters.dat
- IMAP: When BINARY FETCH finds a broken mail, send [PARSE] error
instead of [UNKNOWNCTE]
- Linux: core dumping via PR_SET_DUMPABLE is no longer enabled by
default due to potential security reasons (found by cPanel Security
- Added support for SMTP submission proxy server, which includes
support for BURL and CHUNKING extension.
- LMTP rewrite. Supports now CHUNKING extension and mixing of
- auth: Support libsodium to add support for ARGON2I and ARGON2ID
- auth: Support BLF-CRYPT password scheme in all platforms
- auth: Added LUA scripting support for passdb/userdb.
- Input streams are more reliable now when there are errors or when
the maximum buffer size is reached. Previously in some situations
this could have caused Dovecot to try to read already freed memory.
- Output streams weren’t previously handling failures when writing a
trailer at the end of the stream. This mainly affected encrypt and
zlib compress ostreams, which could have silently written truncated
files if the last write happened to fail (which shouldn’t normally
have ever happened).
- virtual plugin: Fixed panic when fetching mails from virtual
mailboxes with IMAP BINARY extension.
- Many other smaller fixes