Notmuch 0.23 (UNRELEASED)
=========================
+General (Xapian 1.4+)
+---------------------
+
+Compiling against Xapian 1.4 enables several new features.
+
+Support for single argument date: queries
+
+ `date:<expr>` is equivalent to `date:<expr>..<expr>`.
+
+Support for blocking opens
+
+ When opening a database notmuch by default will wait for another
+ process to release a write lock, rather than returning an error.
+
+Support for named queries
+
+ Named queries (also known as 'saved searches') can be defined with a
+ `query:name` format. The expansion of these queries is stored in the
+ database and they can be used from any notmuch client.
+
+Library
+-------
+
+Message property API
+
+ libnotmuch now supports the attachment of arbitrary key-value pairs
+ to messages. These can be used by various tools to manage their
+ private data without polluting the user tag space. They also support
+ iteration of values with the same key or same key prefix.
+
+Bug fix for `notmuch_directory_set_mtime`
+
+ Update cached mtime to match on-disk mtime.
+
+CLI
+---
+
+Support for compile time options
+
+ A group of `built_with` keys is now supported for notmuch
+ config. Initial keys in this group are `compact`, `field_processor`,
+ and `retry_lock`.
+
+Dump/Restore support for configuration information and properties
+
+ Any configuration information stored in the database (initially just
+ named queries) is dumped and restored. Similarly any properties
+ attached to messages are also dumped and restored. Any new
+ information in the dump format is prefixed by '#' to allow existing
+ scripts to ignore it.
+
Emacs
-----
+Resend messages
+
+ The function `notmuch-show-resend-message` (bound to `b` in show
+ and tree modes) will (attempt to) send current message to new
+ recipients. The headers of the message won't be altered (e.g. `To:`
+ may point to yourself). New `Resent-To:`, `Resent-From:` and so on
+ will be added instead.
+
Face customization is easier
New faces `notmuch-tag-unread`, `notmuch-tag-flagged`,
`notmuch-search-flagged-face` and `notmuch-search-unread-face` are
now used by default. Customize `notmuch-faces` to modify them.
+Omit User-Agent header by default when sending mail
+
Ruby Bindings
-------------
Add support for `notmuch_threads_t` and `notmuch_thread_t`
-Fixed constant values so they are not all zero anymore.
+Fixed constant values so they are not all zero anymore
Previously, it was impossible to open writable database handles,
- because DATABASE_MODE_READ_ONLY and DATABASE_MODE_READ_WRITE were
+ because `DATABASE_MODE_READ_ONLY` and `DATABASE_MODE_READ_WRITE` were
both set to zero.
The same issue occured with sort modes.
process already has the write lock the dump will not start, so
script callers should still check the return value.
-`notmuch insert` requires succesful message indexing for success status
+`notmuch insert` requires successful message indexing for success status
Previously the `notmuch insert` subcommand indicated success even if
the message indexing failed, as long as the message was delivered to
file system. This could have lead to delivered messages missing
tags, etc. `notmuch insert` is now more strict, also requiring
- succesful indexing for success status. Use the new `--keep` option
+ successful indexing for success status. Use the new `--keep` option
to revert to the old behaviour (keeping the delivered message file
and returning success even if indexing fails).