X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=NEWS;h=eeaf0d4b8c6eb5c3f24393829acba8281d058b8e;hp=e4bd2e2f8542b099018b862cbfcacde34beb9cf0;hb=00ee9ca7378039d124383da403c019fbcf5af766;hpb=1156aa9bd9a7322c9014b01272923838236a533b diff --git a/NEWS b/NEWS index e4bd2e2f..eeaf0d4b 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,368 @@ -Notmuch 0.18~rc0 (2014-04-22) -============================= +Notmuch 0.20 (UNRELEASED) +========================= + +Command-Line Interface +---------------------- + +There is a new `mimetype:` search prefix + + The new `mimetype:` search prefix allows searching for the + content-type of attachments, which is now indexed. See the + `notmuch-search-terms` manual page for details. + +Path to gpg is now configurable + + On systems with multiple versions of gpg, you can tell + notmuch which one to use by setting `crypto.gpg_path` + +New command, `notmuch-emacs-mua` + + This new wrapper script is intended to be a drop in replacement for + mutt to compose and send mail using `notmuch-emacs` + +Emacs +----- + +Avoid rendering large text attachements. + +Improved rendering of CID references in HTML. + +Vim +--- + +Vim client now respects excluded tags. + +Notmuch-Mutt +------------ + +Support messages without Message-IDs. + +Library +------- + +Undeprecate single message mboxes + + It seems more trouble to remove this feature than expected, so + `notmuch new` will no longer nag about mboxes with a single message. + +New error logging facility + + Clients should call `notmuch_database_status_string` to retrieve + output formerly printed to stderr. + +Several bug fixes related to stale iterators + +New status code returning API for n_query_search_{messages,thread} + +Fix for library `install_name` on Mac OS X + +Fix for rounding of seconds + +Documentation +------------- + +Sphinx is now mandatory to build docs + + Support for using rst2man in place of sphinx to build the + docmumentation has been removed. + +Improved notmuch-search-terms.7 + + The man page `notmuch-search-terms(7)` has been extended, merging + some material from the relicensed wiki. + +Contrib +------- + +`notmuch-deliver` is removed. As far as we know, all functionality +previously provided by `notmuch-deliver` should now be provided by +`notmuch insert`, provided by the main notmuch binary. + +nmbug-status +------------ + +`nmbug-status` now only matches local branches when reading +`status-config.json` from the `config` branch of the `NMBGIT` +repository. To help new users running `nmbug-status`, `nmbug clone` +now creates a local `config` branch tracking `origin/config`. Folks +who use `nmbug-status` with an in-Git config (i.e. you don't use the +`--config` option) who already have `NMBGIT` set up are encouraged to +run: + + git checkout config origin/config + +in their `NMBGIT` repository (usually `~/.nmbug`). + +Notmuch 0.19 (2014-11-14) +========================= + +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 now `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": "\n\n...", + "footer": "", + ... + }, + ... + }, + +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. + +Notmuch 0.18.2 (2014-10-25) +=========================== + +Test Suite +---------- + +Translate T380-atomicity to use gdb/python + + The new version is compatible with gdb 7.8 + +Emacs 24.4 related bug fixes + + The Messages buffer became read-only, and the generated mime + structure for signatures changed slightly. + +Simplify T360-symbol-hiding + + Replace the use of `objdump` on the object files with `nm` on the + resulting lib. + +Notmuch 0.18.1 (2014-06-25) +=========================== + +This is a bug fix and portability release. + +Build System +------------ + +Add a workaround for systems without zlib.pc + +Make emacs install robust against the non-existence of emacs + +Put notmuch lib directory first in RPATH + +Fix handling of `html_static_path` in sphinx + + Both the python bindings and the main docs had spurious settings of + this variable. + +Test Suite +---------- + +Use --quick when starting emacs + + This avoids a hang in the T160-json tests. + +Allow pending break points in atomicity script + + This allows the atomicity tests to run on several more architectures/OSes. + +Command-Line Interface +---------------------- + +To improve portability use fsync instead of fdatasync in +`notmuch-dump`. There should be no functional difference. + +Library changes +--------------- + +Resurrect support for single-message mbox files + + The removal introduced a bug with previously indexed single-message + mboxes. This support remains deprecated. + +Fix for phrase indexing + + There were several bugs where words intermingled from different + headers and MIME parts could match a single phrase query. This fix + will affect only newly indexed messages. + +Emacs Interface +--------------- + +Make sure tagging on an empty query is harmless + + Previously tagging an empty query could lead to tags being + unintentionally removed. + +Notmuch 0.18 (2014-05-06) +========================= + +Overview +-------- + +This new release includes some enhancements to searching for messages +by filesystem location (`folder:` and `path:` prefixes under *General* +below). Saved searches in *Emacs* have also been enhanced to allow +distinct search orders for each one. Another enhancement to the +*Emacs* interface is that replies to encrypted messages are now +encrypted, reducing the risk of unintentional information disclosure. +The default dump output format has changed to the more robust +`batch-tag` format. The previously deprecated parsing of single +message mboxes has been removed. For detailed release notes, see +below. General ------- @@ -7,14 +370,15 @@ General The `folder:` search prefix now requires an exact match The `folder:` prefix has been changed to search for email messages - by the exact, case sensitive maildir or MH folder name. The new - behaviour allows for more accurate mail folder based searches, and - should lead to less surprising results than the old behaviour. Users - are advised to see the `notmuch-search-terms` manual page for - details, and review how the change affects their existing `folder:` - searches. + by the exact, case sensitive maildir or MH folder name. Wildcard + matching (`folder:foo*`) is no longer supported. The new behaviour + allows for more accurate mail folder based searches, makes it + possible to search for messages in the top-level folder, and should + lead to less surprising results than the old behaviour. Users are + advised to see the `notmuch-search-terms` manual page for details, + and review how the change affects their existing `folder:` searches. -There is a new `path:` search prefix. +There is a new `path:` search prefix The new `path:` search prefix complements the `folder:` prefix. The `path:` prefix searches for email messages that are in particular @@ -51,6 +415,15 @@ Support for indexing mbox files has been dropped been deprecated since Notmuch 0.15. The support has now been dropped, and all mbox files will be rejected during indexing. +Message header parsing changes + + Notmuch previously had an internal parser for message headers. The + parser has now been dropped in favour of letting GMime parse both + the headers and the message MIME structure at the same pass. This is + mostly an internal change, but the GMime parser is stricter in its + interpretation of the headers. This may result in messages with + slightly malformed message headers being now rejected. + Command-Line Interface ---------------------- @@ -62,6 +435,25 @@ Command-Line Interface This option suppresses the progress and summary reports. +`notmuch insert` respects maildir.synchronize_flags config option + + Do not synchronize tags to maildir flags in `notmuch insert` if the + user does not want it. + +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 + the status codes for format version mismatches for commands that + support formatted output. + +Bug fix for checking configured new.tags for invalid tags + + `notmuch new` and `notmuch insert` now check the user configured + new.tags for invalid tags, and refuse to apply them, similar to + `notmuch tag`. Invalid tags are currently the empty string and tags + starting with `-`. + Emacs Interface --------------- @@ -156,6 +548,18 @@ Replies to encrypted messages will be encrypted by default encrypt replies to encrypted messages. This should make it less likely to accidentally reply to encrypted messages in plain text. +Reply pushes mark before signature + + We push mark and set point on reply so that the user can easily cut + the quoted text. The mark is now pushed before the signature, if + any, instead of end of buffer so the signature is preserved. + +Message piping uses the originating buffer's working directory + + `notmuch-show-pipe-message` now uses the originating buffer's + current default directory instead of that of the `*notmuch-pipe*` + buffer's. + nmbug -----