Notmuch 0.9 (2011-10-01)

New, general features

Correct handling of interruptions during notmuch new

notmuch new now operates as a series of small, self-consistent transactions, so it can correctly resume after an interruption or crash. Previously, interruption could lose existing tags, fail to detect messages on resume, or leave the database in a state temporarily or permanently inconsistent with the mail store.

Library changes

New functions

notmuch_database_begin_atomic and notmuch_database_end_atomic allow multiple database operations to be performed atomically.

notmuch_database_find_message_by_filename does exactly what it says.

API changes

notmuch_database_find_message (and n_d_f_m_by_filename) now return a status indicator and uses an output parameter for the message. This change required changing the SONAME of libnotmuch to libnotmuch.so.2

Python bindings changes

Ruby bindings changes

Emacs improvements

Reply formatting cleanup

notmuch reply no longer includes notification that non-leafnode MIME parts are being suppressed.