http://dovecot.org/releases/2.0/beta/dovecot-2.0.beta3.tar.gz http://dovecot.org/releases/2.0/beta/dovecot-2.0.beta3.tar.gz.sig
I had to break a few APIs in this release to get some other stuff implemented and fixed. And since I had to break some of them, I decided it could be a good time to do some other less necessary API cleanups. This made things again much simpler.
I'm hoping to get v2.0.rc1 out in not too distant future. Pretty much the only big missing feature that I wanted to do is being able to add per-protocol auth settings (e.g. protocol smtp { userdb { .. } }), but that doesn't seem to be all that easy to implement. There are of course some bugs still left to be fixed, mainly related to mdbox and dsync.
User visible changes:
- imap_zlib plugin implements COMPRESS=DEFLATE IMAP extension
- zlib plugin: Added support for compressing mails while saving
- zlib plugin: fixed reading bzip2 compressed mail files
- zlib plugin: Added support for dbox and mdbox formats
- mdbox: doveadm purge moves old mails to alt storage (if using alt storage)
- added support for tcpwrappers
- added support for SHA512 password scheme (by Mark Washenberger)
- mailbox deletion is now free of race conditions (e.g. quota calculations). if another session tries to access mailbox before it's fully deleted, it'll get "Mailbox is being deleted" error.
- "key = $set" in config file now sets key's value to "set" setting's value. this is probably rather limited outside the only place where I created it for: service { user = $default_internal_user }
- default_internal_user and default_login_user settings now specify what users should be used for them. currently the default is still dovecot and dovecot, but I'm hoping to change default_login_user to something else..
- Removed maildir_copy_preserve_filename setting. It's now always tried to be preserved (or rather: message's GUID is preserved)
- auth failure penalty tries to avoid increasing penalty for IP if auth is failing always with the same user+password combination.
- doveadm penalty command can be used to see the current penalties
- login processes: config lookups are now cached, so it no longer asks for configuration from config process every time (except if there are remote {} blocks in config. also the local {} caching could be smarter.)
- Tons of mdbox fixes
- Tons of dsync fixes, especially with mbox
So some of the changes visible to developers are:
- dovecot-config file changed. if your external plugin uses this file, you need to change it to use the new format.
- added dovecot.m4 file that can be used by external plugins' configure script to get Dovecot settings. This was mainly done by Dennis Schridde.
- mailbox_alloc() no longer has stream parameter, instead there's mailbox_open_stream()
- mailbox_close() renamed to mailbox_free(). added a different mailbox_close(), which only closes opened mailbox, but doesn't free it.
- mailbox_delete(), mailbox_rename() APIs changed
- notify plugin's delete/rename API changed as well
- mailbox GUID is now looked up using mailbox_get_guid(), not mailbox_status()
- dict_iterate*() API changed