]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.13.mdwn
complete sentence
[notmuch-wiki] / news / release-0.13.mdwn
1 [[!meta date="2012-05-15"]]
2
3 Notmuch 0.13 (2012-05-15)
4 =========================
5
6 Command-Line Interface
7 ----------------------
8
9 ### JSON reply format
10
11 `notmuch reply` can now produce JSON output that contains the headers
12 for a reply message and full information about the original message
13 begin replied to. This allows MUAs to create replies intelligently.
14 For example, an MUA that can parse HTML might quote HTML parts.
15
16 Calling notmuch reply with `--format=json` imposes the restriction that
17 only a single message is returned by the search, as replying to
18 multiple messages does not have a well-defined behavior. The default
19 retains its current behavior for multiple message replies.
20
21 ### Tag exclusion
22
23 Tags can be automatically excluded from search results by adding them
24 to the new `search.exclude_tags` option in the Notmuch config file.
25
26 This behaviour can be overridden by explicitly including an excluded
27 tag in your query, for example:
28
29         notmuch search $your_query and tag:$excluded_tag
30
31 Existing users will probably want to run `notmuch setup` again to add
32 the new well-commented [search] section to the configuration file.
33
34 For new configurations, accepting the default setting will cause the
35 tags "deleted" and "spam" to be excluded, equivalent to running:
36
37         notmuch config set search.exclude_tags deleted spam
38
39 ### Raw show format changes
40
41 The output of show `--format=raw` has changed for multipart and
42 message parts.  Previously, the output was a mash of somewhat-parsed
43 headers and transfer-decoded bodies.  Now, such parts are reproduced
44 faithfully from the original source.  Message parts (which includes
45 part 0) output the full message, including the message headers (but
46 not the transfer headers).  Multipart parts output the part as
47 encoded in the original message, including the part's headers.  Leaf
48 parts, as before, output the part's transfer-decoded body.
49
50 ### Listing configuration items
51
52 The new `config list` command prints out all configuration items and
53 their values.
54
55 Emacs Interface
56 ---------------
57
58 ### Changes to tagging interface
59
60 The user-facing tagging functions in the Emacs interface have been
61 normalized across all notmuch modes.  The tagging functions are now
62 notmuch-search-tag in search-mode, and notmuch-show-tag in
63 show-mode.  They accept a string representing a single tag change,
64 or a list of tag changes.  See 'M-x describe-function notmuch-tag'
65 for more information.
66
67 NOTE: This breaks compatibility with old tagging functions, so user
68 may need to update in custom configurations.
69
70 ### Reply improvement using the JSON format
71
72 Emacs now uses the JSON reply format to create replies. It obeys
73 the customization variables message-citation-line-format and
74 message-citation-line-function when creating the first line of the
75 reply body, and it will quote HTML parts if no text/plain parts are
76 available.
77
78 New add-on tool: notmuch-mutt
79 -----------------------------
80
81 The new contrib/ tool `notmuch-mutt` provides Notmuch integration for
82 the Mutt mail user agent. Using it, Mutt users can perform mail
83 search, thread reconstruction, and mail tagging/untagging without
84 leaving Mutt.  notmuch-mutt, formerly distributed under the name
85 `mutt-notmuch` by Stefano Zacchiroli, will be maintained as a notmuch
86 contrib/ from now on.
87
88 Library changes
89 ---------------
90
91 The API changes detailed below break binary and source compatibility,
92 so libnotmuch has been bumped to version 3.0.0.
93
94 ### The function `notmuch_database_close` has been split into `notmuch_database_close` and `notmuch_database_destroy`
95
96 This makes it possible for long running programs to close the xapian
97 database and thus release the lock associated with it without
98 destroying the data structures obtained from it.
99
100 ### `notmuch_database_open`, `notmuch_database_create`, and `notmuch_database_get_directory` now return errors
101
102 The type signatures of these functions have changed so that the
103 functions now return a `notmuch_status_t` and take an out-argument for
104 returning the new database object or directory object.
105
106 Go bindings changes
107 -------------------
108
109 ### Go 1 compatibility
110
111 The go bindings and the `notmuch-addrlookup` utility are now
112 compatible with go 1.