]> git.cworth.org Git - notmuch-wiki/commitdiff
A release-0.18.mdwn
authorTomi Ollila <tomi.ollila@iki.fi>
Tue, 6 May 2014 08:33:25 +0000 (11:33 +0300)
committerTomi Ollila <tomi.ollila@iki.fi>
Tue, 6 May 2014 08:33:25 +0000 (11:33 +0300)
news/release-0.18.mdwn [new file with mode: 0644]

diff --git a/news/release-0.18.mdwn b/news/release-0.18.mdwn
new file mode 100644 (file)
index 0000000..5bf7321
--- /dev/null
@@ -0,0 +1,236 @@
+[[!meta date="2014-05-06"]]
+
+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
+-------
+
+### 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. 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.
+
+The new `path:` search prefix complements the `folder:` prefix. The
+`path:` prefix searches for email messages that are in particular
+directories within the mail store, optionally recursively using a
+special syntax. See the `notmuch-search-terms` manual page for
+details.
+
+### Notmuch database upgrade due to `folder:` and `path:` changes
+
+The above mentioned changes to the `folder:` prefix and the addition
+of `path:` prefix require a Notmuch database upgrade. 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.
+
+Library changes
+---------------
+
+### Notmuch database upgrade
+
+The libnotmuch consumers are reminded to handle database upgrades
+properly, either by relying on running `notmuch new`, or checking
+`notmuch_database_needs_upgrade()` and calling
+`notmuch_database_upgrade()` as necessary. This has always been the
+case, but in practise there have been no database upgrades in any
+released version of Notmuch before now.
+
+### Support for indexing mbox files has been dropped
+
+There has never been proper support for mbox files containing
+multiple messages, and the support for single-message mbox files has
+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
+----------------------
+
+### `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.
+
+### `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
+---------------
+
+### Init file
+
+If the file pointed by new variable `notmuch-init-file` (typically
+`~/.emacs.d/notmuch-config.el`) exists, it is loaded at the end of
+`notmuch.el`. Users can put their personal notmuch emacs lisp based
+configuration/customization items there instead of filling
+`~/.emacs` with these.
+
+### Changed format for saved searches
+
+The format for `notmuch-saved-searches` has changed, but old style
+saved searches are still supported. The new style means that a saved
+search can store the desired sort order for the search, and it can
+store a separate query to use for generating the count notmuch
+shows.
+
+The variable is fully customizable and any configuration done
+through customize should *just work*, with the additional options
+mentioned above. For manual customization see the documentation for
+`notmuch-saved-searches`.
+
+IMPORTANT: a new style notmuch-saved-searches variable will break
+previous versions of notmuch-emacs (even search will not work); to
+fix remove the customization for notmuch-saved-searches.
+
+If you have a custom saved search sort function (not unsorted or
+alphabetical) then the sort function will need to be
+modified. Replacing (car saved-search) by (notmuch-saved-search-get
+saved-search :name) and (cdr saved-search) by
+(notmuch-saved-search-get saved-search :query) should be sufficient.
+
+### The keys of `notmuch-tag-formats` are now regexps
+
+Previously, the keys were literal strings.  Customized settings of
+`notmuch-tag-formats` will continue to work as before unless tags
+contain regexp special characters like `.` or `*`.
+
+### Changed tags are now shown in the buffer
+
+Previously tag changes made in a buffer were shown immediately. In
+some cases (particularly automatic tag changes like marking read)
+this made it hard to see what had happened (e.g., whether the
+message had been unread).
+
+The changes are now shown explicitly in the buffer: by default
+deleted tags are displayed with red strike-through and added tags
+are displayed underlined in green (inverse video is used for deleted
+tags if the terminal does not support strike-through).
+
+The variables `notmuch-tag-deleted-formats` and
+`notmuch-tag-added-formats`, which have the same syntax as
+`notmuch-tag-formats`, allow this to be customized.
+
+Setting `notmuch-tag-deleted-formats` to `'((".*" nil))` and
+`notmuch-tag-added-formats` to `'((".*" tag))` will give the old
+behavior of hiding deleted tags and showing added tags identically
+to tags already present.
+
+### Version variable
+
+The new, build-time generated variable `notmuch-emacs-version` is used
+to distinguish between notmuch cli and notmuch emacs versions.
+The function `notmuch-hello-versions` (bound to 'v' in notmuch-hello
+window) prints both notmuch cli and notmuch emacs versions in case
+these differ from each other.
+This is especially useful when using notmuch remotely.
+
+### Ido-completing-read initialization in Emacs 23
+
+`ido-completing-read` in Emacs 23 versions 1 through 3 freezes unless
+it is initialized. Defadvice-based *Ido* initialization is defined
+for these Emacs versions.
+
+### Bug fix for saved searches with newlines in them
+
+Split lines confuse `notmuch count --batch`, so we remove embedded
+newlines before calling notmuch count.
+
+### Bug fixes for sender identities
+
+Previously, Emacs would rewrite some sender identities in unexpected
+and undesirable ways.  Now it will use identities exactly as
+configured in `notmuch-identities`.
+
+### Replies to encrypted messages will be encrypted by default
+
+In the interest of maintaining confidentiality of communications,
+the Notmuch Emacs interface now automatically adds the mml tag to
+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
+-----
+
+nmbug adds a `clone` command for setting up the initial repository and
+uses `@{upstream}` instead of `FETCH_HEAD` to track upstream changes.
+
+The `@{upstream}` change reduces ambiguity when fetching multiple
+branches, but requires existing users update their `NMBGIT`
+repository (usually `~/.nmbug`) to distinguish between local and
+remote-tracking branches.  The easiest way to do this is:
+
+  1. If you have any purely local commits (i.e. they aren't in the
+     nmbug repository on nmbug.tethera.net), push them to a remote
+     repository.  We'll restore them from the backup in step 4.
+  2. Remove your `NMBGIT` repository (e.g. `mv .nmbug .nmbug.bak`).
+  3. Use the new `clone` command to create a fresh clone:
+
+        nmbug clone http://nmbug.tethera.net/git/nmbug-tags.git
+
+  4. If you had local commits in step 1, add a remote for that
+     repository and fetch them into the new repository.