X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=NEWS;h=06ad4b1c08e1c80abfcaee2ca9db78976a3e8113;hp=c0cb3a28750d10ddc293ec114225caf83fc5dc40;hb=6ee07a9c6db59e91852f2fe47a2701f5e08fee21;hpb=f1c6e22ee60c6e546315368aa3c3d90be36cd945 diff --git a/NEWS b/NEWS index c0cb3a28..06ad4b1c 100644 --- a/NEWS +++ b/NEWS @@ -1,24 +1,337 @@ -Notmuch 0.13 (2012-xx-xx) +Notmuch 0.16 (2013-MM-DD) ========================= Command-Line Interface ---------------------- -Reply to sender +Deprecated commands "part" and "search-tags" are removed. - "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). +Vim Front-End +------------- + +The vim based front end to notmuch is deprecated and moved to contrib. +We haven't been able to support this as well as we would like, and it +has accumulated bugs and gaps in functionality. We recommend that +people packaging notmuch no longer provide binary packages for +notmuch-vim, but of course that is their decision. + +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 +339,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 +367,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,29 +396,40 @@ 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 --------------- -The function notmuch_database_close has been split into -notmuch_database_close and notmuch_database_destroy +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` 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 and notmuch_database_create now return errors +`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 type signatures of notmuch_database_open and - notmuch_database_create have changed so that the functions now - return a notmuch_status_t and take an out-argument for returning the - new database object. + The go bindings and the `notmuch-addrlookup` utility are now + compatible with go 1. Notmuch 0.12 (2012-03-20) =========================