Notmuch 0.28 (2018-10-12)


Improve threading

The threading algorithm has been updated to consider all references, not just the heuristically chosen parent (e.g. when that parent is not in the database). The heuristic for choosing a parent message has also been updated to again consider the In-Reply-To header, if it looks sensible. Re-indexing might be needed to take advantage of the latter change.

Handle mislabelled Windows-1252 parts

Messages that contain Windows-1252 are apparently frequently mislabelled as ISO 8859-1. Use GMime functionality to apply the correct encoding for such messages.

Command Line Interface

Support relative database paths

Database paths (i.e. parameters to notmuch config set database.path) without a leading / are now interpreted relative to $HOME of the invoking user.


Improve stderr handling

Add a real sentinel process to clean up stderr buffer. This is needed on e.g. macOS.

Call notmuch-mua-send-hook hooks when sending a message

This hook was documented, but not functional for a very long time.


The zsh completion has been updated to cover most of the notmuch CLI. Internally it uses regexp searching, so needs at least Notmuch 0.24.

Build System

The build system now installs notmuch-mutt and notmuch-emacs-mua with absolute shebangs, following the conventions of most Linux distributions.

Test Suite

Fix certain tests that were failing with GMime 2.6. Users are reminded that support for versions of GMime before 3.0.3 has been deprecated since Notmuch 0.25.