Current:

* Test new enotify extension extensively.
* Test new multiscript support extensively. 

Next (in order of descending priority/precedence):

* Improve error handling. Now it is not very consistent, especially for the sieve
  command line tools and multiscript. 
* Implement dropping errors in the user's mailbox as a mail message.
* Fix remaining RFC deviations:
	- Fix issues listed in doc/rfc/RFC-questions.txt based on answers
	- Allow for the existance of dynamic comparators (i.e. specified by 
	  variables). 
	- Allow for dynamic includes (i.e. specified by variables).
	- Allow for :regex matching with variable key.
	- Detect assignment of too large constant values to variables at compile
	  time.
	- Verify outgoing mail addresses at runtime when necessary
	  (e.g. after variables substitution)
	- Vacation: the ":subject" parameter specifies a subject line to attach to 
	  any vacation response that is generated. UTF-8 characters can be used in
	  the string argument; implementations MUST convert the string to [RFC2047]
 	  encoded words if and only if non-ASCII characters are present.
	- Body: contains various issues that need to be resolved for standards
	  compliance. Body test support currently matches but barely exceeds the
	  original CMU Sieve implentation in terms of standards compliance.
	- Improve handling of invalid addresses in headers (requires Dovecot changes)
* Implement environment extension
* Add normalize() method to comparators to normalize the string before matching
  (for efficiency).
* Properly implement Sieve internationalization support (utf-8 handling), currently
  it is not complete:
	- Make this implementation conform section 2.7.2 of RFC5228 (Comparisons 
	  Across Character Sets). 
	- Verify validity of utf8 where necessary.
	- Implement comparator-i;unicode-casemap.
* Make testsuite much more exhaustive:
	- add support for testing delivered and outgoing smtp messages by looping 
	  these back as the active mail message
	- add support for testing the content of result actions
	- test as many error/warning/info conditions as possible. 
	- review the specification documents and check whether the given conditions
	  are tested at least once. 

* 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 A SECOND RELEASE (0.2.x) ##

* 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)
* 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)
* Use lib/str-find.h for :contains and :matches match types 
* Warn during compile if using non-existent folders.

* Implement editheader extension
* Implement mimeloop extension
* Variables extension: implement compile time evaluation of constant values
* Enotify extension: detect use of variable values extracted from the message 
  that are used in the method argument. RFC reports this as a security issue.
* Import ManageSieve into this package and provide support for alternate types
  of script storage like LDAP or SQL database.
* Make the engine and its extensions much more configurable. Possibly this can 
  be merged with Dovecot's new master config implementation.
* Add development documentation, i.e. comment on library functions and document
  the binary and byte-code format. 
* 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)