notmuch release 0.19 now available

David Bremner david at tethera.net
Fri Nov 14 11:48:55 PST 2014


Where to obtain notmuch 0.19
===========================
  http://notmuchmail.org/releases/notmuch-0.19.tar.gz

Which can be verified with:

  http://notmuchmail.org/releases/notmuch-0.19.tar.gz.sha1
  df023988f67e329357a5e8d00c4f6fc71249b89f  notmuch-0.19.tar.gz

  http://notmuchmail.org/releases/notmuch-0.19.tar.gz.sha1.asc
  (signed by David Bremner)

What's new in notmuch 0.19
=========================

Overview
--------

This release improves the reliability of `notmuch dump` and the error
handling for `notmuch insert`. The new `notmuch address` command is
intended to make searching for email addresses more convenient. At the
library level the revised handling of missing messages fixes at least
one bug in threading. The release also includes several interface
improvements to the emacs interface, most notably the ability to bind
keyboard shortcuts to saved searches.

Command-Line Interface
----------------------

Stopped `notmuch dump` failing if someone writes to the database

  The dump command now takes the write lock when running. This
  prevents other processes from writing to the database during the
  dump which would cause the dump to fail. Note, if another notmuch
  process already has the write lock the dump will not start, so
  script callers should still check the return value.

`notmuch insert` requires succesful message indexing for success status

  Previously the `notmuch insert` subcommand indicated success even if
  the message indexing failed, as long as the message was delivered to
  file system. This could have lead to delivered messages missing
  tags, etc. `notmuch insert` is now more strict, also requiring
  succesful indexing for success status. Use the new `--keep` option
  to revert to the old behaviour (keeping the delivered message file
  and returning success even if indexing fails).

`notmuch insert` has gained support for `post-insert` hook

  The new `post-insert` hook is run after message delivery, similar to
  `post-new`. There's also a new option `notmuch insert --no-hooks` to
  skip the hook. See the notmuch-hooks(1) man page for details.

`notmuch deliver` is deprecated

  With this release we believe that `notmuch insert` has reached
  parity with `notmuch deliver`. We recommend that all users of
  `notmuch deliver` switch to `notmuch insert` as the former is
  currently unmaintained.

`notmuch search` now supports `--duplicate=N` option with `--output=messages`

  Complementing the `notmuch search --duplicate=N --output=files`
  options, the new `--duplicate=N --output=messages` combination
  limits output of message IDs to messages matching search terms that
  have at least `N` files associated with them.

Added `notmuch address` subcommand

  This new subcommand searches for messages matching the given search
  terms, and prints the addresses from them. Duplicate addresses are
  filtered out. The `--output` option controls which of the following
  information is printed: sender addresses, recipient addresses and
  count of duplicate addresses.

Emacs Interface
---------------

Use the `j` key to access saved searches from anywhere in notmuch

  `j` is now globally bound to `notmuch-jump`, which provides fast,
  interactive keyboard shortcuts to saved searches.  For example,
  with the default saved searches `j i` from anywhere in notmuch will
  bring up the inbox.

Improved handling of the unread tag

  Notmuch now marks an open message read (i.e., removes the unread
  tag) if point enters the message at any time in a show buffer
  regardless of how point got there (mouse click, cursor command, page
  up/down, notmuch commands such as n,N etc). This fixes various
  anomalies or bugs in the previous handling. Additionally it is
  possible to customize the mark read handling by setting
  `notmuch-show-mark-read-function` to a custom function.

Expanded default saved search settings

  The default saved searches now include several more common searches,
  as well as shortcut keys for `notmuch-jump`.

Improved `q` binding in notmuch buffers

  `q` will now bury rather than kill a notmuch search, show or tree
  buffer if there are multiple windows showing the buffer. If only a
  single window is showing the buffer, it is killed.

`notmuch-show-stash-mlarchive-link-alist` now supports functions

  Some list archives may use a more complicated scheme for referring
  to messages than just concatenated URL and message ID. For example,
  patchwork requires a query to translate message ID to a patchwork
  patch ID. `notmuch-show-stash-mlarchive-link-alist` now supports
  functions to better cover such cases. See the help documentation for
  the variable for details.

Library changes
---------------

Introduced database version 3 with support for "database features."

  Features are independent aspects of the database schema.
  Representing these independently of the database version number will
  let us evolve the database format faster and more incrementally,
  while maintaining better forwards and backwards compatibility.

Library users are no longer required to call `notmuch_database_upgrade`

  Previously, library users were required to call
  `notmuch_database_needs_upgrade` and `notmuch_database_upgrade`
  before using a writable database.  Even the CLI didn't get this
  right, and it is no longer required.  Now, individual APIs may
  return `NOTMUCH_STATUS_UPGRADE_REQUIRED` if the database format is
  too out of date for that API.

Library users can now abort an atomic section by closing the database

  Previously there was no supported way to abort an atomic section.
  Callers can now simply close the database, and any outstanding
  atomic section will be aborted.

Add return status to notmuch_database_close and
notmuch_database_destroy

Bug fixes and performance improvements for thread linking

  The database now represents missing-but-referenced messages ("ghost
  messages") similarly to how it represents regular messages.  This
  enables an improved thread linking algorithm that performs better
  and fixes a bug that sometimes prevented notmuch from linking
  messages into the same thread.

nmbug
-----

The Perl script has been translated to Python; you'll need Python 2.7
or anything from the 3.x line.  Most of the user-facing interface is
the same, but `nmbug help` is not `nmbug --help`, and the following nmbug
commands have slightly different interfaces: `archive`, `commit`,
`fetch`, `log`, `pull`, `push`, and `status`.  For details on the
new interface for a given command, run `nmbug COMMAND --help`.

nmbug-status
------------

`nmbug-status` can now optionally load header and footer templates
From the config file.  Use something like:

    {
      "meta": {
        "header": "<!DOCTYPE html>\n<html lang="en">\n...",
        "footer": "</body></html>",
         ...
      },
      ...
    },

Python Bindings
---------------

Add support for `notmuch_query_add_tag_exclude`

Build System
------------

The notmuch binaries and libraries are now build with debugging symbols
by default.  Users concerned with disk space should change the
defaults when configuring or use the strip(1) command.

What is notmuch
===============
Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

For more about notmuch, see http://notmuchmail.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 647 bytes
Desc: not available
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20141114/989a9b38/attachment.pgp>


More information about the notmuch mailing list