-Notmuch 0.26 (UNRELEASED)
+Notmuch 0.29 (UNRELEASED)
=========================
+General
+-------
+
+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.
+
+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.
+
+Emacs
+-----
+
+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.
+
+Dependencies
+------------
+
+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
----------
-Out-of-tree builds
+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.
- The test suite now works properly with out-of-tree builds, i.e. with
- separate source and build directories. The --root option to tests
- has been dropped. The same can now be achieved more reliably using
- out-of-tree builds.
+Notmuch 0.28.4 (2019-05-05)
+===========================
+
+Command line interface
+----------------------
+
+Fix a spurious error when using `notmuch show --raw` on messages whose
+size is a multiple of the internal buffer size.
+
+Notmuch 0.28.3 (2019-03-05)
+===========================
+
+Library
+-------
+
+Fix a bug with the internal data structure _notmuch_string_map_t used
+by message properties.
+
+Build System
+------------
+
+Serialize calls to sphinx-build to avoid race condition.
+`
+Notmuch 0.28.2 (2019-02-17)
+===========================
+
+Emacs
+-----
+
+Invoke gpg with --batch and --no-tty.
+
+Python Bindings
+---------------
+
+Fix documentation build with Python 3.7. Note that Python >= 3.3 is
+now needed to build this documentation.
+
+Notmuch 0.28.1 (2019-02-01)
+===========================
+
+Build System
+------------
+
+`configure` no longer uses the special variable BASH, as this causes
+problems on systems where /bin/sh is bash.
+
+Notmuch 0.28 (2018-10-12)
+=========================
+
+General
+-------
+
+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.
+
+Emacs
+-----
+
+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.
+
+Completion
+----------
+
+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.
+
+Notmuch 0.27 (2018-06-13)
+=========================
+
+General
+-------
+
+Add support for thread:{} queries
+
+ Queries of the form `thread:{foo} and thread:{bar}` match threads
+ containing (possibly distinct) messages matching foo and bar. See
+ `notmuch-search-terms(7)` for details.
+
+Command Line Interface
+----------------------
+
+Add the --full-scan option to `notmuch new`
+
+ This option disables mtime based optimization of scanning for new mail.
+
+Add new --decrypt=stash option for `notmuch show`
+
+ This facilitates a workflow for encrypted messages where message
+ cleartext are indexed on first read, but the user's decryption key
+ does not have to be available during message receipt.
+
+Documentation
+-------------
+
+An initial manual for `notmuch-emacs` is now installed by default (in
+`info` format).
+
+Dependencies
+------------
+
+As of this release, support for versions of Xapian before 1.4.0 is
+deprecated, and may disappear in a future release of notmuch.
+
+Notmuch 0.26.2 (2018-04-28)
+===========================
+
+Library Changes
+---------------
+
+Work around Xapian bug with `get_mset(0,0, x)`
+
+ This causes aborts in `_notmuch_query_count_documents` on
+ e.g. Fedora 28. The underlying bug is fixed in Xapian commit
+ f92e2a936c1592, and will be fixed in Xapian 1.4.6.
+
+Make thread indexing more robust against reference loops
+
+ Choose a thread root by date in case of reference loops. Fix a
+ related abort in `notmuch show`.
+
+Notmuch 0.26.1 (2018-04-02)
+===========================
+
+Library Changes
+---------------
+
+Bump the library minor version. This should have happened in 0.26, but
+better late than never.
+
+
+Notmuch 0.26 (2018-01-09)
+=========================
Command Line Interface
----------------------
maildir syncing, and will be added for files in `new/` regardless of
the setting of `new.tags`.
+Support /regex/ in new.ignore
+
+ Files and directories may be ignored based on regular expressions.
+
+Allow `notmuch insert --folder=""`
+
+ This inserts into the top level folder.
+
+Strip trailing '/' from folder path for notmuch insert
+
+ This prevents a potential problem with duplicated database records.
+
+New option --output=address for notmuch address
+
+Make `notmuch show` more robust against deleting duplicate files
+
+The option --decrypt now takes an explicit argument
+
+ The --decrypt option to `notmuch show` and `notmuch reply` now takes
+ an explicit argument. If you were used to invoking `notmuch show
+ --decrypt`, you should switch to `notmuch show --decrypt=true`.
+
+Boolean and keyword arguments now take a `--no-` prefix
+
Encrypted Mail
--------------
index are roughly equivalent to the cleartext as well. DO NOT USE
this feature without considering the security of your index.
+Emacs
+-----
+
+Guard against concurrent searches in notmuch-tree
+
+Use make-process when available
+
+ This allows newer Emacs to separate stdout and stderr from the
+ notmuch command without using temporary files.
+
Library Changes
---------------
Two new functions in the libnotmuch API:
`notmuch_message_count_files`, and `notmuch_thread_get_total_files`.
+New function to remove properties
+
+ A new function was added to the libnotmuch API to make it easier to
+ drop all properties with a common pattern:
+ `notmuch_message_remove_all_properties_with_prefix`
+
Change of return value of `notmuch_thread_get_authors`
In certain corner cases, `notmuch_thread_get_authors` previously
returned NULL. This has been replaced by an empty string, since the
possibility of NULL was not documented.
+Transition `notmuch_database_add_message` to `notmuch_database_index_file`
+
+ When indexing an e-mail message, the new
+ `notmuch_database_index_file` function is the preferred form, and
+ the old `notmuch_database_add_message` is deprecated. The new form
+ allows passing a set of options to the indexing engine, which the
+ operator may decide to change from message to message.
+
+Test Suite
+----------
+
+Out-of-tree builds
+
+ The test suite now works properly with out-of-tree builds, i.e. with
+ separate source and build directories. The --root option to tests
+ has been dropped. The same can now be achieved more reliably using
+ out-of-tree builds.
+
Python Bindings
---------------
This avoids certain encoding related crashes under Python 3.
-Add python bindings for notmuch_database_{get,set}_config*
+Add python bindings for `notmuch_database_{get,set}_config*`
+
+Optional `decrypt_policy` flag is available for notmuch.database().index_file()
nmbug
-----
* Only error for invalid diff lines in `tags/`, which allows for
`README`s and similar in nmbug repositories.
+Documentation
+-------------
+
+New man page: notmuch-properties(7)
+
+ This new page to the manual describes common conventions for how
+ properties are used by libnotmuch, the CLI, and associated programs.
+ External projects that use properties are encouraged to claim their
+ properties and conventions here to avoid collisions.
+
Notmuch 0.25.3 (2017-12-08)
===========================
Previously, it was impossible to open writable database handles,
because `DATABASE_MODE_READ_ONLY` and `DATABASE_MODE_READ_WRITE` were
both set to zero.
- The same issue occured with sort modes.
+ The same issue occurred with sort modes.
Notmuch 0.22.2 (2016-09-08)
===========================
Emacs
-----
-Avoid rendering large text attachements.
+Avoid rendering large text attachments.
Improved rendering of CID references in HTML.
Sphinx is now mandatory to build docs
Support for using rst2man in place of sphinx to build the
- docmumentation has been removed.
+ documentation has been removed.
Improved notmuch-search-terms.7
The commands set consistent exit status codes on failures
The cli commands now consistently set exit status of 1 on failures,
- except where explicitly otherwise noted. The notable expections are
+ except where explicitly otherwise noted. The notable exceptions are
the status codes for format version mismatches for commands that
support formatted output.
2. Remove your `NMBGIT` repository (e.g. `mv .nmbug .nmbug.bak`).
3. Use the new `clone` command to create a fresh clone:
- nmbug clone http://nmbug.tethera.net/git/nmbug-tags.git
+ nmbug clone https://nmbug.notmuchmail.org/git/nmbug-tags.git
4. If you had local commits in step 1, add a remote for that
repository and fetch them into the new repository.
Add keybinding ('c I') for stashing Message-ID's without an id: prefix
- Reduces manual labour when stashing them for use outside notmuch.
+ Reduces manual labor when stashing them for use outside notmuch.
Do not query on `notmuch-search` exit
nmbug - share tags with a given prefix
nmbug helps maintain a git repo containing all tags with a given
- prefix (by default "notmuch::"). Tags can be shared by commiting
+ prefix (by default "notmuch::"). Tags can be shared by committing
them to git in one location and restoring in another.
Notmuch 0.9 (2011-10-01)