Roadmap
v1.2 will be the next release after v1.1. v2.0 will provide a rewritten master process and config handling framework, which makes it a lot easier to implement several other features. Many people also want to use configuration that currently isn't possible, but will be easy to support using v2.0 (e.g. different auth lookups or SSL certs based on local/remote IP or protocol).
Below is a list of some of the largest features, their dependencies, priorities and current status.
The priority levels mean:
- Low: I'm not really interested in implementing it right now. Maybe its priority could be raised by paying me to develop it. Alternatively you could find someone else to write the code. I'd be happy to help with the design and Dovecot internals.
- Medium: I'll probably implement it soon.
- High: I really want to work on it soon, or I'm already working on it.
If you have comments or questions about these features, the Dovecot mailing list would be the correct place to post.
Description |
Depends |
Priority |
Status |
Finish v1.1 release. |
- |
high |
Getting near |
Mailbox list indexes. Improves performance mainly when doing STATUS for many mailboxes. Also improves LIST performance for non-Maildir++ directory layout. |
- |
high |
Bug fixing needed. Missing support for non-Maildir++ layout. |
THREAD REFERENCES indexes which are updated incrementally. |
- |
high |
Bug fixing needed |
THREAD X-REFERENCES2 algorithm where threads are sorted by their latest message instead of the thread root message |
THREAD REFERENCES indexes |
high |
Almost done |
Mailbox list indexes |
medium |
Somewhat working, needs optimizations |
|
Test suite that can be run before making any releases to make sure everything works as it should. This could be implemented in many different ways, and probably it also requires different implementations for different tests. For example race conditions are almost impossible to detect without long and heavy stress testing. Testing for syscall error and blocking input handling also requires something special. imaptest tool can probably be used for many tests. |
- |
medium |
imaptest supports many tests already, but more needed |
Unit tests for all functions where they can reasonably be implemented. At least everything in liblib. |
- |
low |
Started, help needed |
- |
low |
Designed |
|
Replace Cyrus Sieve code with a rewritten Sieve implementation. This is being implemented by Stephan Bosch. |
- |
? |
Done around Feb 2008? |
Finish v2.0 master/config rewrite. |
- |
low |
Started |
Managesieve support. Convert the current managesieve patch to instead work as an external package using v2.0 framework. |
v2.0 |
low |
- |
dbox: Finish support for storing multiple messages in a file |
- |
low |
Started |
dbox: Support for single instance attachment storage. |
- |
low |
Needs design |
dbox: Global dbox storage so copying messages from mailbox to another involves only small metadata updates. This requires adding support for global message UIDs and also some kind of interaction with mailbox list indexes. |
Mailbox list indexes |
low |
Needs design |
Index file optimizations that break backwards compatibility. Should probably be implemented for v2.0. |
- |
low |
Half-designed |
v2.0 |
low |
Half-designed |
|
- |
low |
Needs design |
|
Replication: async and sync, master-slave and multi-master. |
v2.0, proxying (and LMTP server) |
low |
Half-designed |
METADATA (and ANNOTATE) extension using lib-dict as backend. Add a simple filesystem based lib-dict backend. |
- |
low |
Needs design |
LEMONADE: NOTIFY extension |
Mailbox list indexes |
low |
Needs design |
LEMONADE: CATENATE, COMPRESS, WITHIN, CONVERT extensions. |
- |
low |
Needs design |
LEMONADE: URLAUTH extension. |
METADATA |
low |
Needs design |
LEMONADE: CONDSTORE extension. Requires adding a new non-backwards compatible transaction record type to log files. |
v2.0? |
low |
Almost done: STORE UNCHANGEDSINCE isn't atomic |
LEMONADE: QRESYNC extension. |
CONDSTORE |
low |
Pretty much done |
BINARY extension. |
- |
low |
Needs design |
