New, general features
---------------------
-#### Maildir-flag synchronization
+### Maildir-flag synchronization
Notmuch now knows how to synchronize flags in maildir filenames with
tags in the notmuch database. The following flag/tag mappings are
supported:
- Flag <-> Tag
- ---- -----
- 'D' draft
- 'F' flagged
- 'P' passed
- 'R' replied
- 'S' unread (added when 'S' flag is not present)
+ Flag <-> Tag
+ ---- -----
+ 'D' draft
+ 'F' flagged
+ 'P' passed
+ 'R' replied
+ 'S' unread (added when 'S' flag is not present)
The synchronization occurs in both directions, (for example, adding
the 'S' flag to a file will cause the "unread" tag to be added, and
new `maildir.synchronize_flags` option in the configuration file. For
example:
- notmuch config set maildir.synchronize_flags false
+ notmuch config set maildir.synchronize_flags false
Users upgrading may also want to run "notmuch setup" once (just
accept the existing configuration) to get a new, nicely-commented
For users of the notmuch library, the new synchronization
functionality is available with the following two new functions:
- notmuch_message_maildir_flags_to_tags
- notmuch_message_tags_to_maildir_flags
+ notmuch_message_maildir_flags_to_tags
+ notmuch_message_tags_to_maildir_flags
It is anticipated that future improvements to this support will
allow for safe synchronization of the 'T' flag with the "deleted"
New library features
--------------------
-#### Support for querying multiple filenames for a single message
+### Support for querying multiple filenames for a single message
It is common for the mailstore to contain multiple files with the
same message ID. Previously, notmuch would always hide these
With this release, library users can access all filenames for a
message with the new function:
- notmuch_message_get_filenames
+ notmuch_message_get_filenames
Together with `notmuch_filenames_valid`, `notmuch_filenames_get`,
and `notmuch_filenames_move_to_next` it is now possible to iterate
New command-line features
-------------------------
-#### New "notmuch show --format=raw" for getting at original email contents
+### New "notmuch show --format=raw" for getting at original email contents
This new feature allows for a fully-functional email client to be
built on top of the notmuch command-line without needing any direct
do this, simply set the notmuch-command variable in emacs to the
name of a script containing:
- ssh user@host notmuch "$@"
+ ssh user@host notmuch "$@"
If the ssh client has enabled connection sharing (ControlMaster
option in OpenSSH), the emacs interface can be quite responsive this
General bug fixes
-----------------
-#### Fix "notmuch search" to print nothing when nothing matches
+### Fix "notmuch search" to print nothing when nothing matches
The 0.4 release had a bug in which:
- notmuch search <expression-with-no-matches>
+ notmuch search <expression-with-no-matches>
would produce a single blank line of output, (where previous
versions would produce no output. This fix also causes a change in
Emacs interface improvements
----------------------------
-#### Fix to allow pipe ('|') command to work when using notmuch over ssh
+### Fix to allow pipe ('|') command to work when using notmuch over ssh
-#### Fix count of lines in hidden signatures
+### Fix count of lines in hidden signatures
-#### Omit repeated subject lines in (collapsed) thread display
+### Omit repeated subject lines in (collapsed) thread display
-#### Display current thread subject in a header line
+### Display current thread subject in a header line
-#### Provide a "c i" binding to copy a thread ID from the search view
+### Provide a "c i" binding to copy a thread ID from the search view
-#### Allow for notmuch-fcc-dirs to have a value of nil
+### Allow for notmuch-fcc-dirs to have a value of nil
Also, the more complex form of notmuch-fcc-dirs now has a slightly
different format. It no longer has a special first-element, fallback
Vim interface improvements
--------------------------
-Felipe Contreras provided a number of updates for the vim interface
+### Felipe Contreras provided a number of updates for the vim interface
These include optimizations, support for newer versions of vim, fixed
support for sending mail on modern systems, new commands, and
New bindings
------------
-Added initial ruby bindings in bindings/ruby
+### Added initial ruby bindings in bindings/ruby