Notmuch 0.23 (2016-10-03)
General (Xapian 1.4+)
Compiling against Xapian 1.4 enables several new features.
Support for single argument date: queries
date:<expr> is equivalent to
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.
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
Update cached mtime to match on-disk mtime.
Support for compile time options
A group of
built_with keys is now supported for notmuch
config. Initial keys in this group are
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.
Make notmuch-message-mode use insert for fcc
Notmuch-message-mode now defaults to using notmuch insert for
fcc. The old file based fcc behaviour can be restored by setting the
notmuch-maildir-use-notmuch-insert to nil.
When using notmuch insert,
notmuch-fcc-dirs must be a subdirectory
of the mailstore (absolute paths are not permitted) followed by any
tag changes to be applied to the inserted message. The tag changes
are applied after the default tagging for new messages. For example
setting the header to "sentmail -inbox +sent" would insert the
message in the subdirectory sentmail of the mailstore, add the tag
"sent", and not add the (normally added) "inbox" tag.
Finally, if the insert fails (e.g. if the database is locked) the user is presented with the option to retry, ignore, or edit the header.
Make internal address completion customizable
There is a new defcustom
controls how the internal completion works: it allows the user to
choose whether to match on messages the user sent, or the user
received, and to filter the messages used for the match, for example
Allow internal address completion on an individual basis
There is a new function
(by default it has no keybinding) which allows users who normally
use an external completion command to use the builtin internal
completion for the current buffer.
Alternatively, if the user has company-mode enabled, then the user
can use company mode commands such as
activate the builtin completion for an individual completion.
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.
may point to yourself). New
Resent-From: and so on
will be added instead.
Face customization is easier
now used by default. Customize
notmuch-faces to modify them.
Omit User-Agent header by default when sending mail
Add support for
Go bindings moved to contrib
Add support for
Fixed constant values so they are not all zero anymore
Previously, it was impossible to open writable database handles,
both set to zero.
The same issue occured with sort modes.