I think I won't do any actual releases until it's mostly feature complete. Then maybe v1.1.alpha1 or v1.1.beta1. So if you want to test it before then, use CVS or the nightly snapshots.
I'm planning on keeping v1.1 almost completely compatible with v1.0. There could be some minor configuration file changes, but for most people v1.0's dovecot.conf should work with v1.1.
I want to update index file handling to use less locks and update dovecot.index file less often. The file formats would still stay backwards compatible with v1.0. After this I'm hoping to get index files working well with NFS even with attribute cache enabled.
Dovecot v2.0 then brings incompatible index files and more or less rewritten configuration file handling. It could still support old config file format and settings, but the default will be somewhat different.
I'm hoping to release the first alphas/betas in 2-3 months, with v1.1.0 maybe even as early as next summer. The good thing here is that index file code hasn't changed much since v1.0, so it should be stable. The bad thing is that I've added a couple of completely new indexes. I'm also quite busy for the next month, but I'm not sure how much it affects my coding. :)
The largest already implemented new features are:
+ Added support for IMAP UIDPLUS extension
+ IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
+ IMAP THREAD: Threads are indexed into a dovecot.index.thread file.
It can usually be updated incrementally, so this makes THREAD fast.
+ Added Dovecot-specific X-REFERENCES2 threading algorithm.
It's similar to REFERENCES, but it doesn't do base subject merging
and it sorts the threads by their newest message.
+ When saving messages, update cache file immediately with the data
that we expect client to fetch later. Maildir-only currently.
+ Mailbox list indexes. Mailbox metadata is stored there, so STATUS
commands can return synchronized mailboxes' metadata simply by
reading a single mailbox list index file.
- FIXME: Currently works only with Maildir++ layout.
+ Expire plugin can be used to keep track of oldest messages in
specific mailboxes. A nightly run can then quickly expunge old
messages from the mailboxes that have them. The tracking is done
using lib-dict, so you can use either Berkeley DB or SQL database.
+ Namespaces are supported everywhere now.
- FIXME: except by convert plugin
+ Full text search indexing support with Lucene and Squat backends.
+ OTP and S/KEY authentication mechanisms (by Andrey Panin).
+ mbox and Maildir works with both Maildir++ and FS layouts. You can
change these by appending :LAYOUT=maildir++ or :LAYOUT=fs to
mail_location.
Features that I'm planning on implementing:
- Fully supported shared mailboxes and IMAP ACL extension
- Replace Squat FTS indexes with my new design
- Case-insensitive searches with non-ASCII text as well
- Maybe add support for all kinds of IMAP extensions that can be easily supported. LEMONADE extensions especially: CONDSTORE, CATENATE and maybe even URLAUTH if I can figure out how it should work.
If a feature can be implemented completely as a plugin, it could still come in v1.1.beta stage, because it won't destabilize the rest of the Dovecot anyway.