X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=NEWS;h=de5bb832fb0334559aaf805f8e7811d7828cb706;hp=3a5c74476ea2ed1374d6c4596af38705dd561cd5;hb=3553b0a2886614382cd25b51ad31c31ec92bef4c;hpb=1579fb334e0bbc42d5ae7692b184127f43ed7027 diff --git a/NEWS b/NEWS index 3a5c7447..de5bb832 100644 --- a/NEWS +++ b/NEWS @@ -1,24 +1,438 @@ -Notmuch 0.13 (2012-xx-xx) +Notmuch 0.16 (2013-MM-DD) ========================= Command-Line Interface ---------------------- -Reply to sender +Decrypting commands explicitly expect a gpg-agent - "notmuch reply" has gained the ability to create a reply template - for replying just to the sender of the message, in addition to reply - to all. The feature is available through the new command line option - --reply-to=(all|sender). + Decryption in `notmuch show` and `notmuch reply` has only ever + worked with a functioning gpg-agent. This is now made explicit in + code and documentation. The functional change is that it's now + possible to have gpg-agent running, but gpg "use-agent" + configuration option disabled, not forcing the user to use the agent + everywhere. + +`notmuch count --batch` option + + `notmuch count` now supports batch operations similar to `notmuch + tag`. This is mostly an optimization for remote notmuch usage. + +Configuration file saves follow symbolic links + + The notmuch commands that save the configuration file now follow + symbolic links instead of overwrite them. + +`notmuch tag` option to remove all tags from matching messages + + `notmuch tag --remove-all` option has been added to remove all tags + from matching messages. This can be combined with adding new tags, + resulting in setting (rather than modifying) the tags of the + messages. + +Top level option to specify configuration file + + It's now possible to specify the configuration file to use on the + command line using the `notmuch --config=FILE` option. + +Deprecated commands "part" and "search-tags" are removed. + +Bash command-line completion + + The notmuch command-line completion support for the bash shell has + been rewritten. Supported completions include all the notmuch + commands, command-line arguments, values for keyword arguments, + search prefixes (such as "subject:" or "from:") in all commands that + use search terms, tags after + and - in `notmuch tag`, tags after + "tag:" prefix, user's email addresses after "from:" and "to:" + prefixes, and config options (and some config option values) in + `notmuch config`. The new completion support depends on the + bash-completion package. + +Support for delivering messages to Maildir + + There is a new command `insert` that adds a message to a Maildir + folder and notmuch index. + +Vim Front-End +------------- + +The vim based front-end has been replaced with a new one that uses the Ruby +bindings. The old font-end is available in the contrib subfolder. + +Emacs Interface +--------------- + +New keymap to view/save parts; removed s/v/o/| part button bindings + + The commands to view, save, and open MIME parts are now prefixed + with "." (". s" to save, ". v" to view, etc) and can be invoked with + point anywhere in a part, unlike the old commands, which were + restricted to part buttons. The old "s"/"v"/"o"/"|" commands on + part buttons have been removed since they clashed with other + bindings (notably "s" for search!) and could not be invoked when + there was no part button. The new, prefixed bindings appear in + show's help, so you no longer have to memorize them. + +Default part save directory is now `mm-default-directory` + + Previously, notmuch offered to save parts and attachments to a mix + of `mm-default-directory`, `mailcap-download-directory`, and `~/`. + This has been standardized on `mm-default-directory`. + +Better handling of errors in search buffers + + Instead of interleaving errors in search result buffers, search mode + now reports errors in the minibuffer. + +Faster search results + + Communication between search mode and the notmuch CLI is now more + efficient because it uses the CLI's S-expression support. As a + result, search mode should now fill search buffers faster. + +No Emacs 22 support + + The Emacs 22 support added late 2010 was sufficient only for a short + period of time. After being incomplete for roughly 2 years the code + in question was now removed from this release. + +Key bindings for next/previous thread + + Show view has new key bindings M-n and M-p to move to the next and + previous thread in the search results. + +Notmuch 0.15.2 (2013-02-17) +=========================== + +Build fixes +----------- + +Update dependencies to avoid problems when building in parallel. + +Internal test framework changes +------------------------------- + +Adjust Emacs test watchdog mechanism to cope with `process-attributes` +being unimplemented. + +Notmuch 0.15.1 (2013-01-24) +=========================== + +Internal test framework changes +------------------------------- + +Set a default value for TERM when running tests. This fixes certain +build failures in non-interactive environments. + +Notmuch 0.15 (2013-01-18) +========================= + +General +------- + +Date range search support + + The `date:` prefix can now be used in queries to restrict the results + to only messages within a particular time range (based on the Date: + header) with a range syntax of `date:..`. Notmuch + supports a wide variety of expressions in `` and + ``. Please refer to the `notmuch-search-terms(7)` manual page + for details. + +Empty tag names and tags beginning with "-" are deprecated + + Such tags have been a frequent source of confusion and cause + (sometimes unresolvable) conflicts with other syntax. notmuch tag + no longer allows such tags to be added to messages. Removing such + tags continues to be supported to allow cleanup of existing tags, + but may be removed in a future release. + +Command-Line Interface +---------------------- + +`notmuch new` no longer chokes on mboxes + + `notmuch new` now rejects mbox files containing more than one + message, rather than treating the file as one giant message. + +Support for single message mboxes is deprecated + + For historical reasons, `notmuch new` will index mbox files + containing a single message; however, this behavior is now + officially deprecated. + +Fixed `notmuch new` to skip ignored broken symlinks + + `notmuch new` now correctly skips symlinks if they are in the + ignored files list. Previously, it would abort when encountering + broken symlink, even if it was ignored. + +New dump/restore format and tagging interface + + There is a new `batch-tag` format for dump and restore that is more + robust, particularly with respect to tags and message-ids containing + whitespace. + + `notmuch tag` now supports the ability to read tag operations and + queries from an input stream, in a format compatible with the new + dump/restore format. + +Bcc and Reply-To headers are now available in notmuch show json output + + The `notmuch show --format=json` now includes "Bcc" and "Reply-To" headers. + For example notmuch Emacs client can now have these headers visible + when the headers are added to the `notmuch-message-headers` variable. + +CLI callers can now request a specific output format version + + `notmuch` subcommands that support structured output now support a + `--format-version` argument for requesting a specific version of the + structured output, enabling better compatibility and error handling. + +`notmuch search` has gained a null character separated text output format + + The new --format=text0 output format for `notmuch search` prints + output separated by null characters rather than newline + characters. This is similar to the find(1) -print0 option, and works + together with the xargs(1) -0 option. + +Emacs Interface +--------------- + +Removal of the deprecated `notmuch-folders` variable + + `notmuch-folders` has been deprecated since the introduction of saved + searches and the notmuch hello view in notmuch 0.3. `notmuch-folders` + has now been removed. Any remaining users should migrate to + `notmuch-saved-searches`. + +Visibility of MIME parts can be toggled + + Each part of a multi-part MIME email can now be shown or hidden + using the button at the top of each part (by pressing RET on it or + by clicking). For emails with multiple alternative formats (e.g., + plain text and HTML), only the preferred format is shown initially, + but other formats can be shown using their part buttons. To control + the behavior of this, see + `notmuch-multipart/alternative-discouraged` and + `notmuch-show-all-multipart/alternative-parts`. + + Note notmuch-show-print-message (bound to '#' by default) will print + all parts of multipart/alternative message regardless of whether + they are currently hidden or shown in the buffer. + +Emacs now buttonizes mid: links + + mid: links are a standardized way to link to messages by message ID + (see RFC 2392). Emacs now hyperlinks mid: links to the appropriate + notmuch search. + +Handle errors from bodypart insertions + + If displaying the text of a message in show mode causes an error (in + the `notmuch-show-insert-part-*` functions), notmuch no longer cuts + off thread display at the offending message. The error is now + simply displayed in place of the message. + +Emacs now detects version mismatches with the notmuch CLI + + Emacs now detects and reports when the Emacs interface version and + the notmuch CLI version are incompatible. + +Improved text/calendar content handling + + Carriage returns in embedded text/calendar content caused insertion + of the calendar content fail. Now CRs are removed before calling icalendar + to extract icalendar data. In case icalendar extraction fails an error + is thrown for the bodypart insertion function to deal with. + +Disabled coding conversions when reading in `with-current-notmuch-show-message` + + Depending on the user's locale, saving attachments containing 8-bit + data may have performed an unintentional encoding conversion, + corrupting the saved attachment. This has been fixed by making + `with-current-notmuch-show-message` disable coding conversion. + +Fixed errors with HTML email containing images in Emacs 24 + + Emacs 24 ships with a new HTML renderer that produces better output, + but is slightly buggy. We work around a bug that caused it to fail + for HTML email containing images. + +Fixed handling of tags with unusual characters in them + + Emacs now handles tags containing spaces, quotes, and parenthesis. + +Fixed buttonization of id: links without quote characters + + Emacs now correctly buttonizes id: links where the message ID is not + quoted. + +`notmuch-hello` refresh point placement improvements + + Refreshing the `notmuch-hello` buffer does a better job of keeping + the point where it was. + +Automatic tag changes are now unified and customizable + + All the automatic tag changes that the Emacs interface makes when + reading, archiving, or replying to messages, can now be + customized. Any number of tag additions and removals is supported + through the `notmuch-show-mark-read`, `notmuch-archive-tags`, and + `notmuch-message-replied-tags` customization variables. + +Support for stashing the thread id in show view + + Invoking `notmuch-show-stash-message-id` with a prefix argument + stashes the (local and database specific) thread id of the current + thread instead of the message id. + +New add-on tool: notmuch-pick +----------------------------- + +The new contrib/ tool `notmuch-pick` is an experimental threaded message +view for the emacs interface. Each message is one line in the results +and the thread structure is shown using UTF-8 box drawing characters +(similar to Mutt's threaded view). It comes between search and show in +terms of amount of output and can be useful for viewing both single +threads and multiple threads. See the notmuch-pick README file for +further details and installation. + +Portability +----------- + +notmuch now builds on OpenBSD. + +Internal test framework changes +------------------------------- + +The emacsclient binary is now user-configurable + + The test framework now accepts `TEST_EMACSCLIENT` in addition to + `TEST_EMACS` for configuring the emacsclient to use. This is + necessary to avoid using an old emacsclient with a new emacs, which + can result in buggy behavior. + +Notmuch 0.14 (2012-08-20) +========================= + +General bug fixes +----------------- + +Maildir tag synchronization + + Maildir flag-to-tag synchronization now applies only to messages in + maildir-like directory structures. Previously, it applied to any + message that had a maildir "info" part, which meant it could + incorrectly synchronize tags for non-maildir messages, while at the + same time failing to synchronize tags for newly received maildir + messages (typically causing new messages to not receive the "unread" + tag). + +Command-Line Interface +---------------------- + + The deprecated positional output file argument to `notmuch dump` has + been replaced with an `--output` option. The input file positional + argument to `notmuch restore` has been replaced with an `--input` + option for consistency with dump. These changes simplify the syntax + of dump/restore options and make them more consistent with other + notmuch commands. + +Emacs Interface +--------------- + +Search results now get re-colored when tags are updated + +The formatting of tags in search results can now be customized + + Previously, attempting to change the format of tags in + `notmuch-search-result-format` would usually break tagging from + search-mode. We no longer make assumptions about the format. + +Experimental support for multi-line search result formats + + It is now possible to embed newlines in + `notmuch-search-result-format` to make individual search results + span multiple lines. + +Next/previous in search and show now move by boundaries + + All "next" and "previous" commands in the search and show modes now + move to the next/previous result or message boundary. This doesn't + change the behavior of "next", but "previous" commands will first + move to the beginning of the current result or message if point is + inside the result or message. + +Search now uses the JSON format internally + + This should address problems with unusual characters in authors and + subject lines that could confuse the old text-based search parser. + +The date shown in search results is no longer padded before applying +user-specified formatting + + Previously, the date in the search results was padded to fixed width + before being formatted with `notmuch-search-result-format`. It is + no longer padded. The default format has been updated, but if + you've customized this variable, you may have to change your date + format from `"%s "` to `"%12s "`. + +The thread-id for the `target-thread` argument for `notmuch-search` should +now be supplied without the "thread:" prefix. + +Notmuch 0.13.2 (2012-06-02) +=========================== + +Bug-fix release +--------------- + +Update `contrib/notmuch-deliver` for API changes in 0.13. This fixes a +compilation error for this contrib package. + +Notmuch 0.13.1 (2012-05-29) +=========================== + +Bug-fix release +--------------- + +Fix inserting of UTF-8 characters from *text/plain* parts in reply + + While notmuch gained ability to insert content from other than *text/plain* + parts of email whenever *text/plain* parts are not available (notably + HTML-only emails), replying to mails that do have *text/plain* the + non-ASCII characters were incorrectly decoded. This is now fixed. + +`notmuch_database_get_directory` and +`notmuch_database_find_message_by_filename` now work on read-only +databases + + Previously, these functions attempted to create directory documents + that didn't exist and would return an error or abort when given a + read-only database. Now they no longer create directory documents + and simply return a `NULL` object if the directory does not exist, + as documented. + +Fix compilation of ruby bindings + + Revert to dynamic linking, since the statically linked bindings did + not work well. + +Notmuch 0.13 (2012-05-15) +========================= + +Command-Line Interface +---------------------- JSON reply format - "notmuch reply" can now produce JSON output that contains the headers + `notmuch reply` can now produce JSON output that contains the headers for a reply message and full information about the original message - begin replied to. This allows MUAs to create replies intelligtently. + begin replied to. This allows MUAs to create replies intelligently. For example, an MUA that can parse HTML might quote HTML parts. - Calling notmuch reply with --format=json imposes the restriction that + Calling notmuch reply with `--format=json` imposes the restriction that only a single message is returned by the search, as replying to multiple messages does not have a well-defined behavior. The default retains its current behavior for multiple message replies. @@ -26,24 +440,24 @@ JSON reply format Tag exclusion Tags can be automatically excluded from search results by adding them - to the new 'search.exclude_tags' option in the Notmuch config file. + to the new `search.exclude_tags` option in the Notmuch config file. This behaviour can be overridden by explicitly including an excluded tag in your query, for example: - notmuch search $your_query and tag:$excluded_tag + notmuch search $your_query and tag:$excluded_tag - Existing users will probably want to run "notmuch setup" again to add + Existing users will probably want to run `notmuch setup` again to add the new well-commented [search] section to the configuration file. For new configurations, accepting the default setting will cause the tags "deleted" and "spam" to be excluded, equivalent to running: - notmuch config set search.exclude_tags deleted spam + notmuch config set search.exclude_tags deleted spam Raw show format changes - The output of show --format=raw has changed for multipart and + The output of show `--format=raw` has changed for multipart and message parts. Previously, the output was a mash of somewhat-parsed headers and transfer-decoded bodies. Now, such parts are reproduced faithfully from the original source. Message parts (which includes @@ -54,12 +468,24 @@ Raw show format changes Listing configuration items - The new "config list" command prints out all configuration items and + The new `config list` command prints out all configuration items and their values. Emacs Interface --------------- +Changes to tagging interface + + The user-facing tagging functions in the Emacs interface have been + normalized across all notmuch modes. The tagging functions are now + notmuch-search-tag in search-mode, and notmuch-show-tag in + show-mode. They accept a string representing a single tag change, + or a list of tag changes. See 'M-x describe-function notmuch-tag' + for more information. + + NOTE: This breaks compatibility with old tagging functions, so user + may need to update in custom configurations. + Reply improvement using the JSON format Emacs now uses the JSON reply format to create replies. It obeys @@ -71,25 +497,41 @@ Reply improvement using the JSON format New add-on tool: notmuch-mutt ----------------------------- -The new contrib/ tool "notmuch-mutt" provides Notmuch integration for +The new contrib/ tool `notmuch-mutt` provides Notmuch integration for the Mutt mail user agent. Using it, Mutt users can perform mail search, thread reconstruction, and mail tagging/untagging without leaving Mutt. notmuch-mutt, formerly distributed under the name -"mutt-notmuch" by Stefano Zacchiroli, will be maintained as a notmuch +`mutt-notmuch` by Stefano Zacchiroli, will be maintained as a notmuch contrib/ from now on. Library changes --------------- -API changes +The API changes detailed below break binary and source compatibility, +so libnotmuch has been bumped to version 3.0.0. - The function notmuch_database_close has been split into - notmuch_database_close and notmuch_database_destroy. +The function `notmuch_database_close` has been split into +`notmuch_database_close` and `notmuch_database_destroy` This makes it possible for long running programs to close the xapian database and thus release the lock associated with it without destroying the data structures obtained from it. +`notmuch_database_open`, `notmuch_database_create`, and +`notmuch_database_get_directory` now return errors + + The type signatures of these functions have changed so that the + functions now return a `notmuch_status_t` and take an out-argument for + returning the new database object or directory object. + +Go bindings changes +------------------- + +Go 1 compatibility + + The go bindings and the `notmuch-addrlookup` utility are now + compatible with go 1. + Notmuch 0.12 (2012-03-20) =========================