Notmuch 0.29 (2019-06-07)


Add "body:" field to allow searching for terms that occur only in the message body. Users will need to reindex their mail to take advantage of this feature.

Add support for indexing user specified headers (e.g. List-Id). See notmuch-config(1) for details. This requires reindexing after changing the set of headers to be indexed.

Fix bug for searching in some headers for Xapian keywords in quoted strings.

Add support for gzip compressed mail messages (/not/ multi-message mboxes); e.g. gzip -9 $MAIL/archive/giant-message && notmuch new should work. Note that maildir flag syncing for gzipped messages is currently untested.

Notmuch is now capable of indexing, searching and rendering cryptographically-protected Subject: headers of the form produced by Enigmail and K-9 mail in encrypted messages.

Command Line Interface

notmuch show now supports --body=false and --include-html with --format=text.

Fix several performance problems with notmuch reindex.

notmuch show and notmuch reply now emit per-message cryptographic status in their json and sexp output formats. See devel/schemata for more details about what is included there. This status includes information about cryptographic protections for the Subject header.


Optionally check for missing attachements in outgoing messages (see function notmuch-mua-attachment-check).

Bind B to browse URLs in current message.

Bind g to refresh the current notmuch buffer.

Editing a message as new now includes an FCC header.

Forwarded messages are now tagged as +forwarded (customizable).

Add references header to link forwarded message to thread of original message.

The minimum supported major version of Emacs is now 24.

Support for GNU Emacs older than 25.1 is deprecated with this release, and may be removed in a future release.

Notmuch-emacs documentation is somewhat expanded. More contributions are very welcome.

Build System

Notmuch release tarballs are now compressed with xz.

We now provide conventional detached signatures of the release tarballs in addition to the signed sha256sum files.


Support for GMime 2.6 is removed. The minimum supported version of GMime is now 3.0.3. GMime also needs to have been compiled with cryptography support.

Test Suite

If either GNU parallel or moreutils parallel is installed, the tests in the test suite will now be run in parallel (one per available core). This can be disabled with NOTMUCH_TEST_SERIALIZE=1.