changeset 8158:ad3ac0cb4573 HEAD

Updated TODO and NEWS.
author Timo Sirainen <tss@iki.fi>
date Fri, 05 Sep 2008 19:42:58 +0300
parents 5ca8140fcc95
children f6f2af2db365
files NEWS TODO
diffstat 2 files changed, 187 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Fri Sep 05 19:33:41 2008 +0300
+++ b/NEWS	Fri Sep 05 19:42:58 2008 +0300
@@ -1,3 +1,163 @@
+v1.2.UNSTABLE  Timo Sirainen <tss@iki.fi>
+
+	+ IMAP: Added support for extensions: CONDSTORE, QRESYNC, ESEARCH,
+	  SEARCHRES, WITHIN, ID and CONTEXT=SEARCH.
+	+ SEARCH supports INTHREAD search key, but the rest of the INTHREAD
+	  draft isn't implemented yet and isn't advertised.
+	+ THREAD X-REFERENCES2 algorithm where threads are sorted by their
+	  latest message instead of the thread root message.
+	+ Thread indexes for optimizing IMAP THREAD command and INTHREAD
+	  search key.
+	+ Virtual mailboxes
+
+v1.1.3 2008-09-02  Timo Sirainen <tss@iki.fi>
+
+	* mail_max_userip_connections limit no longer applies to master user
+	  logins.
+
+	+ login_log_format_elements: Added %k to show SSL protocol/cipher
+	  information. Not included by default.
+	+ imap/pop3-proxy: If auth_verbose=yes, log proxy login failures.
+	+ deliver: Added -s parameter to autosubscribe to autocreated mailboxes.
+	- message parser fixes - hopefully fixes an infinite looping problem
+	- SORT: One more assert-crashfix when renumbering index sort IDs.
+	- mbox: Saving may have truncated the mail being saved
+	- mbox: Several other bugfixes
+	- mail_full_filesystem_access=yes was broken when listing mailboxes
+	  (it still is with maildir++ layout).
+	- maildirlock utility was somewhat broken
+	- zlib plugin: bzip2 support was somewhat broken
+	- NFS: Make sure writing to files via output streams don't
+	  assert-crash when write() returns only partial success.
+
+v1.1.2 2008-07-24  Timo Sirainen <tss@iki.fi>
+
+	+ Added full text search indexing support for Apache Lucene Solr
+	  server: http://wiki.dovecot.org/Plugins/FTS/Solr
+	+ IMAP SORT: Added X-SCORE sort key for use with Solr searches.
+	+ zlib plugin supports now bzip2 also.
+	+ quota: All backends now take noenforcing parameter.
+	+ Maildir: Add ,S=<size> to maildir filename whenever quota plugin
+	  is loaded, even when not using Maildir++ quota.
+	+ deliver: Allow lda section to override plugin settings.
+	+ deliver: Giving a -m <namespace prefix> parameter now silently saves
+	  the mail to INBOX. This is useful for e.g. -m INBOX/${extension}
+	+ Added a new maildirlock utility for write-locking Dovecot Maildir.
+	+ dict-sql: Support non-MySQL databases by assuming they implement the
+	  "INSERT .. ON DUPLICATE KEY" using an INSERT trigger.
+	- SORT: Fixed several crashes/errors with sort indexing.
+	- IMAP: BODYSTRUCTURE is finally RFC 3501 compliant. Earlier versions
+	  didn't include Content-Location support.
+	- IMAP: Fixed bugs with listing INBOX.
+	- Maildir: maildirfolder file wasn't created when dovecot-shared
+	  file existed on the root directory
+	- deliver didn't expand %variables in namespace location settings.
+	- zlib: Copying non-compressed messages resulted in empty mails
+	  (except when hardlink-copying between maildirs).
+	- mbox-snarf plugin was somewhat broken
+	- deliver + Maildir: If uidlist couldn't be locked while saving,
+	  we might have assert-crashed
+	- mbox: Fixed an assert-crash with \Recent flag handling
+
+v1.1.1 2008-06-22  Timo Sirainen <tss@iki.fi>
+
+	- Maildir: When migrating from v1.0 with old format dovecot-uidlist
+	  files, Dovecot may have appended lines to it using the new format and
+	  later broken with "UID larger than next_uid" error.
+
+v1.1.0 2008-06-21  Timo Sirainen <tss@iki.fi>
+
+No changes since v1.1.rc13. Below are the largest changes since v1.0:
+
+	* After Dovecot v1.1 has modified index or dovecot-uidlist files,
+	  they can't be opened anymore with Dovecot versions earlier than
+	  v1.0.2.
+	* See doc/wiki/Upgrading.1.1.txt (or for latest changes,
+	  http://wiki.dovecot.org/Upgrading/1.1) for list of changes since
+	  v1.0 that you should be aware of when upgrading.
+
+	+ IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions.
+	+ IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
+	+ When saving messages, update cache file immediately with the data
+	  that we expect client to fetch later.
+	+ NFS caches are are flushed whenever needed. See mail_nfs_storage and
+	  mail_nfs_index settings.
+	+ Out of order command execution (SEARCH, FETCH, LIST), nonstandard
+	  command cancellation (X-CANCEL <tag>)
+	+ IMAP: STATUS-IN-LIST draft implementation
+	+ 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.
+	+ Namespaces have new list and subscriptions settings.
+	+ 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.
+	+ LDAP: Support templates in pass_attrs and user_attrs
+	+ Support for listening in multiple IPs/ports.
+	+ Quota plugin rewrite: Support for multiple quota roots, warnings,
+	  allow giving storage size in bytes or kilo/mega/giga/terabytes,
+	  per-mailbox quota rules.
+	+ Filesystem quota backend supports inode limits, group quota and
+	  RPC quota for NFS.
+	+ SEARCH and SORT finally compare non-ASCII characters
+	  case-insensitively. We use i;unicode-casemap algorithm.
+	+ Config files support splitting values to multiple lines with \
+
+v1.1.rc13 2008-06-20  Timo Sirainen <tss@iki.fi>
+
+	- mbox: Fixed a crash when adding a new X-IMAPbase: header with
+	  keywords.
+	- Message parser: Fixed assert-crash if cached MIME structure was
+	  broken.
+	- Squat: Potential crashfix with mmap_disable=yes.
+
+v1.1.rc12 2008-06-19  Timo Sirainen <tss@iki.fi>
+
+	- mbox: Don't give "Can't find next message offset" warnings when
+	  plugin (e.g. quota) accesses the message being saved.
+	- deliver: Settings inside protocol imap {} weren't ignored.
+
+v1.1.rc11 2008-06-19  Timo Sirainen <tss@iki.fi>
+
+	- dovecot-uidlist is now recreated if it results in file shrinking
+	  over 25%.
+	- Some other minor fixes
+
+v1.1.rc10 2008-06-13  Timo Sirainen <tss@iki.fi>
+
+	* LIST X-STATUS renamed to LIST STATUS and fixed its behavior with
+	  LIST-EXTENDED options. It's now compatible with STATUS-IN-LIST
+	  draft 00.
+
+	- Message parsing could have sometimes produced incorrect results,
+	  corrupting BODY/BODYSTRUCTURE replies and perhaps others.
+	- SORT: Fixed several bugs
+	- FreeBSD 7.0: Environment clearing wasn't working correctly.
+	  This caused "environment corrupted" problems at least with deliver
+	  trying to call sendmail and running Dovecot from inetd.
+	- HP-UX: Several fixes to get it to work (by Christian Corti)
+	- Fixes to using expire plugin with SQL dictionary.
+	- dbox fixes
+
+v1.1.rc9 2008-06-09  Timo Sirainen <tss@iki.fi>
+
+	+ Maildir: When hardlink-copying a file, copy the W=<vsize> in the
+	  filename if it exists in the original filename.
+	- mbox: With rc8 empty lines were inserted in the middle of saved
+	  mails' headers.
+	- maildir: Fixed problems with opening newly saved messages which we
+	  saw in index file but couldn't see in dovecot-uidlist. Happened only
+	  when messages weren't saved via Dovecot (deliver or IMAP).
+	- Several bugfixes to handling sort indexes
+	- deliver: Boolean settings that were supposed to default to "yes" were
+	  set to "no" unless explicitly defined in dovecot.conf:
+	  dotlock_use_excl, maildir_copy_with_hardlinks, mbox_dirty_syncs,
+	  mbox_lazy_writes.
+
 v1.1.rc8 2008-06-03  Timo Sirainen <tss@iki.fi>
 
 	+ deliver: Added -p parameter to provide path to delivered mail.
@@ -118,44 +278,7 @@
 
 v1.1.rc1 2008-02-21  Timo Sirainen <tss@iki.fi>
 
-	* After Dovecot v1.1 has modified index or dovecot-uidlist files,
-	  they can't be opened anymore with Dovecot versions earlier than
-	  v1.0.2.
-	* See doc/wiki/Upgrading.1.1.txt (or for latest changes,
-	  http://wiki.dovecot.org/Upgrading/1.1) for list of changes since
-	  v1.0 that you should be aware of when upgrading.
-
-	+ IMAP: Added support for UIDPLUS and LIST-EXTENDED extensions.
-	+ IMAP SORT: Sort keys are indexed, which makes SORT commands faster.
-	+ When saving messages, update cache file immediately with the data
-	  that we expect client to fetch later.
-	+ NFS caches are are flushed whenever needed. See mail_nfs_storage and
-	  mail_nfs_index settings.
-	+ Out of order command execution (SEARCH, FETCH, LIST), nonstandard
-	  command cancellation (X-CANCEL <tag>)
-	+ IMAP: Non-standard LIST+STATUS combination:
-	  LIST .. RETURN (X-STATUS (status options))
-	+ 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.
-	+ Namespaces have new list and subscriptions settings.
-	+ 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.
-	+ LDAP: Support templates in pass_attrs and user_attrs
-	+ Support for listening in multiple IPs/ports.
-	+ Quota plugin rewrite: Support for multiple quota roots, warnings,
-	  allow giving storage size in bytes or kilo/mega/giga/terabytes,
-	  per-mailbox quota rules.
-	+ Filesystem quota backend supports inode limits, group quota and
-	  RPC quota for NFS.
-	+ SEARCH and SORT finally compare non-ASCII characters
-	  case-insensitively. We use i;unicode-casemap algorithm.
-	+ Config files support splitting values to multiple lines with \
+	* See v1.1.0 notes
 
 v1.0.10 2007-12-29  Timo Sirainen <tss@iki.fi>
 
--- a/TODO	Fri Sep 05 19:33:41 2008 +0300
+++ b/TODO	Fri Sep 05 19:42:58 2008 +0300
@@ -1,3 +1,29 @@
+ - new primes code: are hash tables now being resized too often?
+ - auth_log_prefix setting similar to mail_log_prefix
+ - LDAP attrs: uid=foo,uid=bar doesn't work
+
+ - thread indexes: if we expunge a duplicate message-id: and we have a sibling
+   with identical message-id:, we can probably just move the children?
+   (unless there are non-sibling duplicates)
+ - SEARCH INTHREAD requires no thread sorting by date - don't do it
+ - virtual: keep MD5 of search parameters. if it changes, rebuild all.
+ - CONDSTORE: use per-flag/per-keyword conflict checking
+ - should modseq header be updated even when modseqs aren't used? otherwise
+   log reads always at beginning of file? are there other performance
+   issues?
+ - QRESYNC: Should we send HIGHESTMODSEQ in tagged reply for EXPUNGE
+   even when it was already returned in FETCH MODSEQs?
+ - QRESYNC: Drop expunges from the middle of given seq sets if possible
+ - use universal hash functions?
+
+ - UIDVALIDITY changed while saving -> sync errors
+   - mbox: copy to Trash, manually delete copied msg, change uidvalidity,
+     set nextuid=1, copy again -> error
+   - recent_uids assert at least with mbox
+ - quota fs: Should values returned by quota be divided by the actual
+   filesystem block size instead of hardcoded DEV_BSIZE? not with AIX..
+ - mailbox list fs: Listing subscriptions with children return options doesn't
+   work unless iter_is_mailbox() returns the children flags
  - sieve-cmu.c crash: i_assert(buf->used - 1 == part->body_size.physical_size);
  - convert plugin: Create a r/w lock for a file. It's read-locked if
    conversion isn't wanted and released when process dies. If conversion is
@@ -220,9 +246,6 @@
       Hello world!" 2 "Hello, I'm ...". This would be especially useful with
       the above attachment scanning.
 
- - deliver
-    - recipient_delimiter setting so user+mailbox@domain works directly
-
  - general
     - stop using atol(), atoi(), strtoul() etc. in places where we actually
       care about what they return, and rather create our own function which
@@ -234,8 +257,6 @@
     - things break if next_uid gets to 2^32
 
 capabilities:
- - preferrably all should be implemented as plugins
- - possibility to disable them from config file
  - THREAD=ORDEREDSUBJECT - although pretty useless I'd think.
  - acl (rfc4314)
  - mailbox-referrals (rfc2193)