Keywords are finally stored in maildir filenames and listed in "dovecot-keywords" file. It should be possible to just rename 0.99.x's .customflags file to dovecot-keywords (but it can't be renamed back after modification).
Also fixed another uid/sequence mixup bug with setting keywords in general (in mbox too).
Fixed SHA1 checksum generation with big-endian machines (used only in passwords).
I think I'll forget about the master/config rewrite for a while and leave it for Dovecot v2.0. That would mean the next release will be called 1.0-alpha1. After that there should be only bugfixes and some smaller features and optimizations left.
I looked through my TODO and found the following missing features / optimizations that pretty much have to be done before v1.0. Anything important missing?
keywords:
- add some limits to how many there can be
- send FLAGS/PERMANENTFLAGS untagged replies when they change (required by IMAP RFC)
- remove unused keywords from keyword list? (only when adding new ones)
mail cache file
- cache _all_ headers that are marked to be cached when headers are being parsed, not just the ones client is requesting at that time.
- compression should drop fields with last_used < (latest_mail_index_date - month)
- when parsing mbox or saving message, parse the mail through index-mail so things gets saved into cache immediately
mbox the
- when we're updating flags with lazy writing, we're still parsing
mbox, just not writing to it!
- always add empty line after mail. - make the parser require it too? syncing should make sure there always exists two LFs at end of file. raw-mbox-stream should make sure the last message ends with LF even if it doesn't exist in the file
- COPY doesn't work to same mailbox (lock assert crash)
- keep mbox lock for two extra seconds after sync to make sure we notice changes made by other mbox writer software
maildir
- hardlink copying doesn't update indexes (does it even work?)
deliver needs quota integration somehow so it returns out-of-quota failure as fatal instead of temporary
Probably after v1.0:
- Full NFS support
- Try to handle out-of-quota/disk space situations well