Notmuch 0.21 (2015-10-29)
General
Notmuch now requires gmime >= 2.6.7. The gmime 2.4 series is no longer supported.
Database revision tracking: lastmod:
queries
Each message now has a metadata revision number that increases with
every tagging operation. See the discussion of lastmod:
in
notmuch-search-terms(7)
for more information.
Date queries now support date:<expr>..!
shorthand for date:<expr>..<expr>
You can use, for example, date:yesterday..!
to match from the
beginning of yesterday to the end of yesterday. For further details,
please refer to the notmuch-search-terms
manual page.
Notmuch database upgrade to support lastmod:
queries
The above mentioned lastmod:
prefix. This will be done
automatically, without prompting on the next time notmuch new
is
run after the upgrade. The upgrade is not reversible, and the
upgraded database will not be readable by older versions of
Notmuch. As a safeguard, a database dump will be created in the
.notmuch
directory before upgrading.
Build System
The ruby bindings are now built as part of the main notmuch build
process. This can be disabled with the --without-ruby
option to
configure.
Building the documentation can be disabled with the --without-docs
option to configure.
Skipped individual tests are no longer considered as failures.
Command Line Interface
Database revision tracking
Two new options were added to support revision tracking. A global
option "--uuid" (notmuch(1)
) was added for to detect counter
rollover and reinitialization, and notmuch-count(1)
gained a
--lastmod
option to query database revision tracking data.
The notmuch address
command supports new deduplication schemes
notmuch address
has gained a new --deduplicate
option to specify
how the results should be deduplicated, if at all. The alternatives
are no
(do not deduplicate, useful for processing the results with
external tools), mailbox
(deduplicate based on the full, case
sensitive name and email address), and address
(deduplicate based
on the case insensitive address part). See the notmuch-address
manual page for further information.
Emacs Interface
notmuch-emacs-version
is used in User-Agent
header
The value of recently introduced variable notmuch-emacs-version
is
now used as a part of User-Agent
header when sending emails.
Removed notmuch-version
function by renaming it to notmuch-cli-version
With existing variable notmuch-emacs-version
the accompanied
function which retrieves the version of notmuch-command
is
better named as notmuch-cli-version
.
Query input now supports completion for "is:"
New message composition mode: notmuch-compose-mode
This is mainly to fix fcc handling, but may be useful for user customization as well.
Allow filtering of search results in notmuch-show
Add function to rerun current tree-view search in search mode
Bug fix for replying to encrypted messages in notmuch-tree
mode
Allow saved searched to specify tree view rather than search view
Applies to saved searches run from notmuch-hello
, or by a keyboard
shortcut (notmuch-jump
). Can be set in the customize interface, or
by adding :search-type tree to the appropriate saved search plist in
notmuch-saved-searches
.
Increase maximum size of rendered text parts
The variable notmuch-show-max-text-part-size
controls the maximum
size (in bytes) which is automatically rendered. This may make
rendering large threads slower. To get the previous behaviour set
this variable to 10000.
Library
The use of absolute paths is now enforced when calling notmuch_database_{open, create}
New function notmuch_directory_delete
to delete directory documents
Previously there was no way to delete directory documents from the
database, leading to confusing results when the "ghost" directory
document of a renamed or deleted filesystem directory was
encountered every time the parent directory was being scanned by
notmuch new
. The mtime of the old directory document was also used
if a directory by the same name was added again in the filesystem,
potentially bypassing the scan for the directory. The issues are
fixed by providing a library call to delete directory documents, and
deleting the old documents in notmuch new
on filesystem directory
removal or rename.
Database revision tracking
Revision tracking is supported via a new prefix "lastmod:" in the
query parser and the new function
notmuch_database_get_revision
. For the latter, see notmuch(3)
.
New status code returning API for n_query_count_{messages,threads}
Deprecated functions
notmuch_query_search_threads
, notmuch_query_search_messages
,
notmuch_query_count_messages
, and notmuch_query_count_threads
are all deprecated as of this release. Clients are encouraged to
transition to the _st
variants supporting better error reporting.
nmbug-status
nmbug-status
now supports specifying the sort order for each view.