Next (in order of descending priority/precedence):
* Review sieve-address parsing implementation for past-end checks
* Improve handling of old/corrupt binaries.
* Move to 1.2 and start using mailbox_keyword_is_valid() and new const str. 
* Resolve problems in variables extension: scope uses hash the wrong way and
  extension ids are emitted directly.

* Full standards compliance review for the engine and all fully implemented 
  sieve extensions. Issues discovered so far:
    - Address test MUST restrict itself to headers that contain addresses.
	- Implementations SHOULD consider unknown envelope parts an error.
	- The null reverse-path is matched against as the empty string, regardless 
      of the ADDRESS-PART argument specified.
	- Header test does not strip trailing whitespace
* Code cleanup 
* Make sure cmusieve can be replaced seamlessly with the new plugin.
* Full security review. Enforce limits on number of created objects, script 
  size, execution time, etc...
* Make simple test suite for the base functionality

* ## MAKE A FIRST RELEASE ##

* Add normalize() method to comparators to normalize the string before matching
  (for efficiency).
* Verify outgoing mail addresses at runtime when necessary (e.g. after variables 
  substitution)
* Warn about the use of syntactically invalid header names. 
* Implement dropping errors in the user's mailbox as a mail message.
* Provide a solution for mail_get_headers_utf8 reparsing the whole message each
  time it is called (header and address test; Timo might provide solution from
  within Dovecot)
* Build a sieve tool to filter an entire existing mailbox through a sieve script.
* Build a server with test mail accounts that processes lots and lots of mail 
  (e.g. spam, mailing lists etc.)
* Make this implementation conform section 2.7.2 of RFC3028 (Comparisons Across
  Character Sets). 
* Implement comparator-i;unicode-casemap
* Implement environment extension
* Implement notify extension with sole support for mailto mechanism. 
* Implement date and index extensions
* Optimize code containing true/false tests to omit explicit JMP opcodes
  (i.e. optimize the test away and any code that negatively depends on it)
* Automate script tests; i.e. build a test suite.

* Use lib/str-find.h for :contains and :matches match types  
* Resolve code duplication introduced for handling address-parts and match-types
  in different command implementations.
* Add development documentation, i.e. comment on library functions and document
  the binary and byte-code format. 
* Make the engine and its extensions much more configurable. Possibly this can 
  be merged with Dovecot's new master config implementation.
* Implement editheader extension
* Implement mimeloop extension
* Give the byte code format some more thought, it is currently quite rough and
  to the point. 
* Try to implement proposed notify mechanisms other than mailto. Currently: xmpp
  and sip
* Implement namespace support for variables extension 
  (possibly needed by test suite; in that case priority is much higher)