X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=NEWS;h=d4f4ea4e898887799d82eaf2fb412636b869bf00;hp=d29ec5b2433ab67bd83ddcca1a91675a9c0423a7;hb=3fed6736a7ef8b8b1f05d0fabb136bdd3b5917ee;hpb=a7bc1c7bc5a47e8abd5087431d65f746ef20ee81 diff --git a/NEWS b/NEWS index d29ec5b2..d4f4ea4e 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,523 @@ -Notmuch 0.14 (xxxx-xx-xx) +Notmuch 0.18 (UNRELEASED) +========================= + +Command-Line Interface +---------------------- + +`notmuch dump` now defaults to `batch-tag` format. + + The old format is still available with `--format=sup`. + +`notmuch new` has a --quiet option + + This option suppresses the progress and summary reports. + +Emacs Interface +--------------- + +Bug fix for saved searches with newlines in them. + + Split lines confuse `notmuch count --batch`, so we remove embedded + newlines before calling notmuch count. + +Notmuch 0.17 (2013-12-30) +========================= + +Incompatible change in SHA1 computation +--------------------------------------- + +Previously on big endian architectures like sparc and powerpc the +computation of SHA1 hashes was incorrect. This meant that messages +with overlong or missing message-ids were given different computed +message-ids than on more common little endian architectures like i386 +and amd64. If you use notmuch on a big endian architecture, you are +strongly advised to make a backup of your tags using `notmuch dump` +before this upgrade. You can locate the affected files using something +like: + + notmuch dump | \ + awk '/^notmuch-sha1-[0-9a-f]{40} / \ + {system("notmuch search --exclude=false --output=files id:" $1)}' + +Command-Line Interface +---------------------- + +New options to better support handling duplicate messages + + If more than one message file is associated with a message-id, + `notmuch search --output=files` will print all of them. A new + `--duplicate=N` option can be used to specify which duplicate to + print for each message. + + `notmuch count` now supports `--output=files` option to output the + number of files associated with matching messages. This may be + bigger than the number of matching messages due to duplicates + (i.e. multiple files having the same message-id). + +Improved `notmuch new` performance for unchanged folders + + `notmuch new` now skips over unchanged folders more efficiently, + which can substantially improve the performance of checking for new + mail in some situations (like NFS-mounted Maildirs). + +`notmuch reply --format=text` RFC 2047-encodes headers + + Previously, this used a mix of standard MIME encoding for the reply + body and UTF-8 for the headers. Now, the text format reply template + RFC 2047-encodes the headers, making the output a valid RFC 2822 + message. The JSON/sexp format is unchanged. + +`notmuch compact` command + + The new `compact` command exposes Xapian's compaction + functionality through a more convenient interface than + `xapian-compact`. `notmuch compact` will compact the database to a + temporary location, optionally backup the original database, and + move the compacted database into place. + +Emacs Interface +--------------- + +`notmuch-tree` (formerly `notmuch-pick`) has been added to mainline + + `notmuch-tree` is a 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. + + Using `notmuch-tree` + + The main key entries to notmuch tree are + + 'z' enter a query to view using notmuch tree (works in hello, + search, show and tree mode itself) + + 'Z' view the current query in tree notmuch tree (works from search + and show) + + Once in tree mode, keybindings are mostly in line with the rest of + notmuch and are all viewable with '?' as usual. + + Customising `notmuch-tree` + + `notmuch-tree` has several customisation variables. The most + significant is the first notmuch-tree-show-out which determines the + behaviour when selecting a message (with RET) in tree view. By + default tree view uses a split window showing the single message in + the bottom pane. However, if this option is set then it views the + whole thread in the complete window jumping to the selected message + in the thread. In either case command-prefix selects the other option. + +Tagging threads in search is now race-free + + Previously, adding or removing a tag from a thread in a search + buffer would affect messages that had arrived after the search was + performed, resulting in, for example, archiving messages that were + never seen. Tagging now affects only the messages that were in the + thread when the search was performed. + +`notmuch-hello` refreshes when switching to the buffer + + The hello buffer now refreshes whenever you switch to the buffer, + regardless of how you get there. You can disable automatic + refreshing by customizing `notmuch-hello-auto-refresh`. + +Specific mini-buffer prompts for tagging operations + + When entering tags to add or remove, the mini-buffer prompt now + indicates what operation will be performed (e.g., "Tag thread", "Tag + message", etc). + +Built-in help improvements + + Documentation for many commands has been improved, as displayed by + `notmuch-help` (usually bound to "?"). The bindings listed by + `notmuch-help` also now include descriptions of prefixed commands. + +Quote replies as they are displayed in show view + + We now render the parts for reply quoting the same way they are + rendered for show. At this time, the notable change is that replies + to text/calendar are now pretty instead of raw vcalendar. + +Fixed inconsistent use of configured search order + + All ways of interactively invoking search now honor the value of + `notmuch-search-oldest-first`. + +Common keymap for notmuch-wide bindings + + Several key bindings have been moved from mode-specific keymaps to + the single `notmuch-common-keymap`, which is inherited by each + notmuch mode. If you've customized your key bindings, you may want + to move some of them to the common keymap. + +The `notmuch-tag` function now requires a list of tag changes + + For users who have scripted the Emacs interface: the `notmuch-tag` + API has changed. Previously, it accepted either a list of tag + changes or a space-separated string of tag changes. The latter is + no longer supported and the function now returns nothing. + +Fixed `notmuch-reply` putting reply in primary selection + + On emacs 24 notmuch-reply used to put the cited text into the + primary selection (which could lead to inadvertently pasting this + cited text elsewhere). Now the primary-selection is not changed. + +Fixed `notmuch-show` invisible part handling + + In some obscure cases part buttons and invisibility had strange + interactions: in particular, the default action for some parts gave + the wrong action. This has been fixed. + +Fixed `notmuch-show` attachment viewers and stderr + + In emacs 24.3+ viewing an attachment could cause spurious text to + appear in the show buffer (any stderr or stdout the viewer + produced). By default this output is now discarded. For debugging, + setting `notmuch-show-attachment-debug` causes notmuch to keep the + viewer's stderr and stdout in a separate buffer. + +Fixed `notmuch-mua-reply` point placement when signature involved + + By restricting cursor movement to body section for cursor placement + after signature is inserted, the cursor cannot "leak" to header + section anymore. Now inserted citation content will definitely go to + the body part of the message. + +Vim Interface +------------- + + It is now possible to compose new messages in the Vim interface, as + opposed reply to existing messages. There is also support for + going straight to a search (bypassing the folders view). + +Notmuch 0.16 (2013-08-03) +========================= + +Command-Line Interface +---------------------- + +Support for delivering messages to Maildir + + There is a new command `insert` that adds a message to a Maildir + folder and notmuch index. + +`notmuch count --batch` option + + `notmuch count` now supports batch operations similar to `notmuch + tag`. This is mostly an optimization for remote notmuch usage. + +`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. + +Decrypting commands explicitly expect a gpg-agent + + 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. + +Configuration file saves follow symbolic links + + The notmuch commands that save the configuration file now follow + symbolic links instead of overwrite them. + +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. + +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. + +Deprecated commands "part" and "search-tags" are removed. + +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`. + +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. + +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 and show + + Communication between Emacs 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 and + threads should show 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. + +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. + +Python Bindings +--------------- + +Fix loading of libnotmuch shared library on OS X (Darwin) systems. + +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 @@ -14,13 +533,65 @@ Maildir tag synchronization 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 +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) @@ -46,7 +617,7 @@ databases and simply return a `NULL` object if the directory does not exist, as documented. -Fix compilation of ruby bindings. +Fix compilation of ruby bindings Revert to dynamic linking, since the statically linked bindings did not work well.