X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=NEWS;h=3b25925ff3e23e3e7cb26a9a04d578346415bf06;hp=e474e53ed7d5b99eae1a62d0442b6bbb4b9c7d36;hb=7e565a3db387f45e548cc464a88fb0870c387b9a;hpb=8cca886b10c5ec44f3214701c0c1e3c896d53d5c diff --git a/NEWS b/NEWS index e474e53e..3b25925f 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,554 @@ -Notmuch 0.21 (UNRELEASED) +Notmuch 0.23.6 (2017-02-27) +=========================== + +Command Line Interface +---------------------- + +Fix read-after-free bug in `notmuch new`. + +Test Suite +---------- + +Use gpgconf --create-socketdir if available. + + GnuPG has a facility to use sockets in /run or /var/run to avoid + problems with long socket paths, but this is not enabled by default + for GNUPGHOME other than $HOME/.gnupg. Enable it, if possible. + +Notmuch 0.23.5 (2017-01-09) +=========================== + +Build system +------------ + +Fix quoting bug in configure. This had introduced a RUNPATH into the +notmuch binary in cases where it was not not needed. + +Notmuch 0.23.4 (2016-12-24) +=========================== + +Command Line Interface +---------------------- + +Improve error handling in notmuch insert + + Database lock errors no longer prevent message file delivery to the + filesystem. Certain errors during `notmuch insert` most likely to + be temporary return EX_TEMPFAIL. + +Emacs +----- + +Restore autoload cookie for notmuch-search. + +Notmuch 0.23.3 (2016-11-27) +=========================== + +Command Line Interface +---------------------- + +Treat disappearing files during notmuch new as non-fatal. + +Test Suite +---------- + +Fix incompatibility (related to signature size) with gnupg 2.1.16. + +Notmuch 0.23.2 (2016-11-20) +=========================== + +Emacs +----- + +Fix notmuch-interesting-buffer and notmuch-cycle-notmuch-buffers. + + notmuch-tree-mode and notmuch-message-mode buffers are now + considered interesting by `notmuch-interesting-buffer` and + `notmuch-cycle-notmuch-buffers`. + +Restore compatibility with Emacs 23. + + Notmuch support for Emacs 23 is now deprecated. + +Notmuch 0.23.1 (2016-10-23) +=========================== + +General +------- + +Require Xapian >= 1.2.6 + + The ifdef branch for older Xapian (pre-compact API) had bit-rotted. + +Emacs +----- + +Fix default colours for unread and flagged messages + + In 0.23 the default colours for unread and flagged messages in + search view were accidentally swapped. This release returns them to + the original colours. + + A related change in 0.23 broke the customize widget for + notmuch-search-line-faces. This is now fixed. + +Fix test failure with Emacs 25.1 + + A previously undiscovered jit-lock related bug was exposed by Emacs + 25, causing a notmuch-show mode test to fail. This release fixes the + bug, and hence the test. + +Notmuch 0.23 (2016-10-03) +========================= + +General (Xapian 1.4+) +--------------------- + +Compiling against Xapian 1.4 enables several new features. + +Support for single argument date: queries + + `date:` is equivalent to `date:..`. + +Support for blocking opens + + When opening a database notmuch by default will wait for another + process to release a write lock, rather than returning an error. + +Support for named queries + + Named queries (also known as 'saved searches') can be defined with a + `query:name` format. The expansion of these queries is stored in the + database and they can be used from any notmuch client. + +Library +------- + +Message property API + + libnotmuch now supports the attachment of arbitrary key-value pairs + to messages. These can be used by various tools to manage their + private data without polluting the user tag space. They also support + iteration of values with the same key or same key prefix. + +Bug fix for `notmuch_directory_set_mtime` + + Update cached mtime to match on-disk mtime. + +CLI +--- + +Support for compile time options + + A group of `built_with` keys is now supported for notmuch + config. Initial keys in this group are `compact`, `field_processor`, + and `retry_lock`. + +Dump/Restore support for configuration information and properties + + Any configuration information stored in the database (initially just + named queries) is dumped and restored. Similarly any properties + attached to messages are also dumped and restored. Any new + information in the dump format is prefixed by '#' to allow existing + scripts to ignore it. + +Emacs +----- + +Make notmuch-message-mode use insert for fcc + + Notmuch-message-mode now defaults to using notmuch insert for + fcc. The old file based fcc behaviour can be restored by setting the + defcustom `notmuch-maildir-use-notmuch-insert` to nil. + + When using notmuch insert, `notmuch-fcc-dirs` must be a subdirectory + of the mailstore (absolute paths are not permitted) followed by any + tag changes to be applied to the inserted message. The tag changes + are applied after the default tagging for new messages. For example + setting the header to "sentmail -inbox +sent" would insert the + message in the subdirectory sentmail of the mailstore, add the tag + "sent", and not add the (normally added) "inbox" tag. + + Finally, if the insert fails (e.g. if the database is locked) the + user is presented with the option to retry, ignore, or edit the + header. + +Make internal address completion customizable + + There is a new defcustom `notmuch-address-internal-completion` which + controls how the internal completion works: it allows the user to + choose whether to match on messages the user sent, or the user + received, and to filter the messages used for the match, for example + by date. + +Allow internal address completion on an individual basis + + There is a new function `notmuch-address-toggle-internal-completion` + (by default it has no keybinding) which allows users who normally + use an external completion command to use the builtin internal + completion for the current buffer. + + Alternatively, if the user has company-mode enabled, then the user + can use company mode commands such as `company-complete` to + activate the builtin completion for an individual completion. + +Resend messages + + The function `notmuch-show-resend-message` (bound to `b` in show + and tree modes) will (attempt to) send current message to new + recipients. The headers of the message won't be altered (e.g. `To:` + may point to yourself). New `Resent-To:`, `Resent-From:` and so on + will be added instead. + +Face customization is easier + + New faces `notmuch-tag-unread`, `notmuch-tag-flagged`, + `notmuch-tag-deleted`, `notmuch-tag-added`, + `notmuch-search-flagged-face` and `notmuch-search-unread-face` are + now used by default. Customize `notmuch-faces` to modify them. + +Omit User-Agent header by default when sending mail + +Ruby Bindings +------------- + +Add support for `notmuch_database_get_all_tags` + +Go Bindings +----------- + +Go bindings moved to contrib + +Add support for `notmuch_threads_t` and `notmuch_thread_t` + +Fixed constant values so they are not all zero anymore + + 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. + +Notmuch 0.22.2 (2016-09-08) +=========================== + +Test Suite +---------- + +Silence gdb more + + Have gdb write to a log file instead of stdout, hiding some more + (harmless) stderr chatter which causes test failures. + +Hardcode fingerprint in PGP/MIME tests + + Make the tests more robust against changing GnuPG output formats. + +Notmuch 0.22.1 (2016-07-19) +=========================== + +Library +------- + +Correct the definition of `LIBNOTMUCH_CHECK_VERSION`. + +Document the (lack of) operations permitted on a closed database. + +Test Suite +---------- + +Fix race condition in dump / restore tests. + +Notmuch-Mutt +------------ + +Use `env` to locate perl. + +Emacs +----- + +Tell `message-mode` mode that outgoing messages are mail + + This makes message-mode configuration behave more predictably. + +Respect charset of MIME parts when reading them + + Fix previous assumption that everyone uses UTF-8. + +Notmuch 0.22 (2016-04-26) ========================= +General +------- + +Xapian 1.3 support + + Notmuch should now build (and the test suite should pass) on recent + releases of Xapian 1.3.x. It has been tested with Xapian 1.3.5. + +Limited support for S/MIME messages + + Signature verification is supported, but not decryption. S/MIME + signature creation and S/MIME encryption are supported via built-in + support in Emacs. S/MIME support is not extensively tested at this + time. + +Bug Fixes + + Fix for threading bug involving deleting and re-adding + messages. Fix for case-sensitive content disposition headers. Fix + handling of 1 character directory names at top level. + +Command Line Interface +---------------------- + +`notmuch show` now supports verifying S/MIME signatures + + This support relies on an appropriately configured `gpgsm`. + +Build System +------------ + +Drop dependency on "pkg-config emacs". + +Emacs Interface +--------------- + +Notmuch replies now include all parts shown in the show view + + There are two main user visible changes. The first is that rfc822 + parts are now included in replies. + + The second change is that part headers are now included in the reply + buffer to provide visible separation of the parts. The choice of + which part headers to show is customizable via the variable + `notmuch-mua-reply-insert-header-p-function`. + +Filtering or Limiting messages is now bound to `l` in the search view + + This binding now matches the analogous binding in show view. + +`F` forwards all open messages in a thread + + When viewing a thread of messages, the new binding `F` can be used + to generate a new outgoing message which forwards all of the open + messages in the thread. This is analogous to the `f` binding, which + forwards only the current message. + +Preferred content type can be determined from the message content + + More flexibility in choosing which sub-part of a + multipart/alternative part is initially shown is available by + setting `notmuch-multipart/alternative-discouraged` to a function + that returns a list of discouraged types. The function so specified + is passed the message as an argument and can examine the message + content to determine which content types should be discouraged. This + is in addition to the current capabilities (i.e. setting + `notmuch-multipart/alternative-discouraged` to a list of discouraged + types). + +When viewing a thread ("show" mode), queries that match no messages no +longer generate empty buffers + + Should an attempt be made to view the thread corresponding to a + query that matches no messages, a warning message is now displayed + and the terminal bell rung rather than displaying an empty buffer + (or, in some cases, displaying an empty buffer and throwing an + error). This also affects re-display of the current thread. + +Handle S/MIME signatures in emacs + + The emacs interface is now capable making and verifying S/MIME + signatures. + +`notmuch-message-address-insinuate` is now a no-op + + This reduces the amount of interference with non-notmuch uses of + message-mode. + +Address completion improvements + + An external script is no longer needed for address completion; if + you previously configured one, customize the variable + `notmuch-address-command` to try the internal completion. If + `company-mode` is available, notmuch uses it by default for + interactive address completion. + +Test and experiment with the emacs MUA available in source tree + + `./devel/try-emacs-mua` runs emacs and fills the window with + information how to try the MUA safely. Emacs is configured to use + the notmuch (lisp) files located in `./emacs` directory. + +Documentation +------------- + +New `notmuch-report(1)` and `notmuch-report.json(5)` man pages +describe `notmuch-report` and its JSON configuration file. You can +build these files by running `make` in the `devel/nmbug/doc` +directory. + +notmuch-report +-------------- + +Renamed from `nmbug-status`. This script generates reports based on +notmuch queries, and doesn't really have anything to do with nmbug, +except for sharing the `NMBGIT` environment variable. The new name +focuses on the script's action, instead of its historical association +with the nmbug workflow. This should make it more discoverable for +users looking for generic notmuch reporting tools. + +The default configuration file name (extracted from the `config` +branch of `NBMGIT` has changed from `status-config.json` to +`notmuch-report.json` so it is more obviously associated with the +report-generating script. The configuration file also has a new +`meta.message-url` setting, which is documented in +`notmuch-report.json(5)`. + +`notmuch-report` now wraps query phrases in parentheses when and-ing +them together, to avoid confusion about clause grouping. + +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:..!` shorthand for +`date:..` + + 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} +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. Notmuch 0.20.2 (2015-06-27) =========================== @@ -20,7 +564,7 @@ Notmuch 0.20.1 (2015-06-01) Test Suite ---------- -Work around apparent gdb bug on arm64 +Work around apparent gdb bug on arm64. Notmuch 0.20 (2015-05-31) ========================= @@ -137,13 +681,13 @@ Stopped `notmuch dump` failing if someone writes to the database 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 +`notmuch insert` requires successful 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 + successful 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). @@ -274,7 +818,7 @@ from the config file. Use something like: ... }, ... - }, + } Python Bindings --------------- @@ -2085,7 +2629,7 @@ Ruby bindings are now much more complete Python bindings have been updated and extended - (docs online at http://packages.python.org/notmuch/) + (docs online at https://notmuch.readthedocs.io/) New bindings: