Notmuch 0.12 (2012-03-20)

Command-Line Interface

Reply to sender

notmuch reply has gained the ability to create a reply template for replying just to the sender of the message, in addition to reply to all. The feature is available through the new command line option --reply-to=(all|sender).

Mail store folder/file ignore

A new configuration option, new.ignore, lets users specify a ;-separated list of file and directory names that will not be searched for messages by notmuch new.

NOTE: Every file/directory that goes by one of those names will be ignored, independent of its depth/location in the mail store.

Unified help and manual pages

The notmuch help command now runs man for the appropriate page. If you install notmuch somewhere "unusual", you may need to update MANPATH.

Manual page for notmuch configuration options

The notmuch CLI configuration file options are now documented in the notmuch-config(1) manual page in addition to the configuration file itself.

Emacs Interface

Reply to sender

The Emacs interface has, with the new CLI support, gained the ability to reply to sender in addition to reply to all. In both show and search modes, 'r' has been bound to reply to sender, replacing reply to all, which now has key binding 'R'.

More flexible and consistent tagging operations

All tagging operations ('+', '-', '*') now accept multiple tags with '+' or '-' prefix, like '*' operation in notmuch-search view before.

'*' operation (notmuch-show-tag-all) is now available in notmuch-show view.

notmuch-show-{add,remove}-tag functions no longer accept tag argument, notmuch-show-tag-message should be used instead. Custom bindings using these functions should be updated, e.g.:

    (notmuch-show-remove-tag "unread")

should be changed to:

    (notmuch-show-tag-message "-unread")

Refreshing the show view ('=' by default) no longer opens or closes messages

To get the old behavior of putting messages back in their initial opened/closed state, use a prefix argument, e.g., 'C-u ='.

Attachment buttons can be used to view or save attachments.

When the cursor is on an attachment button the key 's' can be used to save the attachment, the key 'v' to view the attachment in the default mailcap application, and the key 'o' prompts the user for an application to use to open the attachment. By default Enter or mouse button 1 saves the attachment but this is customisable (option Notmuch Show Part Button Default Action).

New functions

notmuch-show-stash-mlarchive-link{,-and-go} allow stashing and optionally visiting a URI to the current message at one of a number of Mailing List Archives.

Fix MML tag quoting in replies

The MML tag quoting fix of 0.11.1 unintentionally quoted tags inserted in message-setup-hook. Quoting is now limited to the cited message.

Show view archiving key binding changes

The show view archiving key bindings 'a' and 'x' now remove the "inbox" tag from the current message only (instead of thread), and move to the next message. At the last message, 'a' proceeds to the next thread in search results, and 'x' returns to search results. The thread archiving functions are now available in 'A' and 'X'.

Support text/calendar MIME type

The text/calendar MIME type is now supported in addition to text/x-vcalendar.

Generate inline patch fake attachment file names from message subject

Use the message subject to generate file names for the inline patch fake attachments. The names are now similar to the ones generated by 'git format-patch' instead of just "inline patch". See "Notmuch Show Insert Text/Plain Hook" in the notmuch customize interface.

Enable notmuch-search-line-faces by default

Make the notmuch-search-line-faces functionality more discoverable for new users by showing "unread" messages bold and "flagged" messages blue by default in the search view.

Printing Support

notmuch-show mode now has simple printing support, bound to '#' by default. You can customize the variable notmuch-print-mechanism.

Library changes

New functions

notmuch_query_add_tag_exclude supports the new tag exclusion feature.

Python bindings changes

Python 3.2 compatibility

The python bindings are now compatible with both python 2.5+ and 3.2.

Added missing unicode conversions

Python strings have to be encoded to and decoded from utf-8 when calling libnotmuch functions. Porting the bindings to python 3.2 revealed a few function calls that were missing these conversions.

Build fixes

Compatibility with GMime 2.6

It is now possible to build notmuch against both GMime 2.4 and 2.6. However, a bug in GMime 2.6 before 2.6.5 causes notmuch not to report signatures where the signer key is unavailable (GNOME bug 668085). For compatibility with GMime 2.4's tolerance of "From " headers we require GMime 2.6 >= 2.6.7.