]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.15.mdwn
News for release 0.38.3
[notmuch-wiki] / news / release-0.15.mdwn
1 [[!meta date="2013-01-18"]]
2
3 Notmuch 0.15 (2013-01-18)
4 =========================
5
6 General
7 -------
8
9 ### Date range search support
10
11 The `date:` prefix can now be used in queries to restrict the results
12 to only messages within a particular time range (based on the Date:
13 header) with a range syntax of `date:<since>..<until>`. Notmuch
14 supports a wide variety of expressions in `<since>` and
15 `<until>`. Please refer to the `notmuch-search-terms(7)` manual page
16 for details.
17
18 ### Empty tag names and tags beginning with "-" are deprecated
19
20 Such tags have been a frequent source of confusion and cause
21 (sometimes unresolvable) conflicts with other syntax.  notmuch tag
22 no longer allows such tags to be added to messages.  Removing such
23 tags continues to be supported to allow cleanup of existing tags,
24 but may be removed in a future release.
25
26 Command-Line Interface
27 ----------------------
28
29 ### `notmuch new` no longer chokes on mboxes
30
31 `notmuch new` now rejects mbox files containing more than one
32 message, rather than treating the file as one giant message.
33
34 ### Support for single message mboxes is deprecated
35
36 For historical reasons, `notmuch new` will index mbox files
37 containing a single message; however, this behavior is now
38 officially deprecated.
39
40 ### Fixed `notmuch new` to skip ignored broken symlinks
41
42 `notmuch new` now correctly skips symlinks if they are in the
43 ignored files list.  Previously, it would abort when encountering
44 broken symlink, even if it was ignored.
45
46 ### New dump/restore format and tagging interface
47
48 There is a new `batch-tag` format for dump and restore that is more
49 robust, particularly with respect to tags and message-ids containing
50 whitespace.
51
52 `notmuch tag` now supports the ability to read tag operations and
53 queries from an input stream, in a format compatible with the new
54 dump/restore format.
55
56 ### Bcc and Reply-To headers are now available in notmuch show json output
57
58 The `notmuch show --format=json` now includes "Bcc" and "Reply-To" headers.
59 For example notmuch Emacs client can now have these headers visible
60 when the headers are added to the `notmuch-message-headers` variable.
61
62 ### CLI callers can now request a specific output format version
63
64 `notmuch` subcommands that support structured output now support a
65 `--format-version` argument for requesting a specific version of the
66 structured output, enabling better compatibility and error handling.
67
68 ### `notmuch search` has gained a null character separated text output format
69
70 The new --format=text0 output format for `notmuch search` prints
71 output separated by null characters rather than newline
72 characters. This is similar to the find(1) -print0 option, and works
73 together with the xargs(1) -0 option.
74
75 Emacs Interface
76 ---------------
77
78 ### Removal of the deprecated `notmuch-folders` variable
79
80 `notmuch-folders` has been deprecated since the introduction of saved
81 searches and the notmuch hello view in notmuch 0.3. `notmuch-folders`
82 has now been removed. Any remaining users should migrate to
83 `notmuch-saved-searches`.
84
85 ### Visibility of MIME parts can be toggled
86
87 Each part of a multi-part MIME email can now be shown or hidden
88 using the button at the top of each part (by pressing RET on it or
89 by clicking).  For emails with multiple alternative formats (e.g.,
90 plain text and HTML), only the preferred format is shown initially,
91 but other formats can be shown using their part buttons.  To control
92 the behavior of this, see
93 `notmuch-multipart/alternative-discouraged` and
94 `notmuch-show-all-multipart/alternative-parts`.
95
96 Note notmuch-show-print-message (bound to '#' by default) will print
97 all parts of multipart/alternative message regardless of whether
98 they are currently hidden or shown in the buffer.
99
100 ### Emacs now buttonizes mid: links
101
102 mid: links are a standardized way to link to messages by message ID
103 (see RFC 2392).  Emacs now hyperlinks mid: links to the appropriate
104 notmuch search.
105
106 ### Handle errors from bodypart insertions
107
108 If displaying the text of a message in show mode causes an error (in
109 the `notmuch-show-insert-part-*` functions), notmuch no longer cuts
110 off thread display at the offending message.  The error is now
111 simply displayed in place of the message.
112
113 ### Emacs now detects version mismatches with the notmuch CLI
114
115 Emacs now detects and reports when the Emacs interface version and
116 the notmuch CLI version are incompatible.
117
118 ### Improved text/calendar content handling
119
120 Carriage returns in embedded text/calendar content caused insertion
121 of the calendar content fail. Now CRs are removed before calling icalendar
122 to extract icalendar data. In case icalendar extraction fails an error
123 is thrown for the bodypart insertion function to deal with.
124
125 ### Disabled coding conversions when reading in `with-current-notmuch-show-message`
126
127 Depending on the user's locale, saving attachments containing 8-bit
128 data may have performed an unintentional encoding conversion,
129 corrupting the saved attachment.  This has been fixed by making
130 `with-current-notmuch-show-message` disable coding conversion.
131
132 ### Fixed errors with HTML email containing images in Emacs 24
133
134 Emacs 24 ships with a new HTML renderer that produces better output,
135 but is slightly buggy.  We work around a bug that caused it to fail
136 for HTML email containing images.
137
138 ### Fixed handling of tags with unusual characters in them
139
140 Emacs now handles tags containing spaces, quotes, and parenthesis.
141
142 ### Fixed buttonization of id: links without quote characters
143
144 Emacs now correctly buttonizes id: links where the message ID is not
145 quoted.
146
147 ### `notmuch-hello` refresh point placement improvements
148
149 Refreshing the `notmuch-hello` buffer does a better job of keeping
150 the point where it was.
151
152 ### Automatic tag changes are now unified and customizable
153
154 All the automatic tag changes that the Emacs interface makes when
155 reading, archiving, or replying to messages, can now be
156 customized. Any number of tag additions and removals is supported
157 through the `notmuch-show-mark-read`, `notmuch-archive-tags`, and
158 `notmuch-message-replied-tags` customization variables.
159
160 ### Support for stashing the thread id in show view
161
162 Invoking `notmuch-show-stash-message-id` with a prefix argument
163 stashes the (local and database specific) thread id of the current
164 thread instead of the message id.
165
166 New add-on tool: notmuch-pick
167 -----------------------------
168
169 The new contrib/ tool `notmuch-pick` is an experimental threaded message
170 view for the emacs interface. Each message is one line in the results
171 and the thread structure is shown using UTF-8 box drawing characters
172 (similar to Mutt's threaded view). It comes between search and show in
173 terms of amount of output and can be useful for viewing both single
174 threads and multiple threads. See the notmuch-pick README file for
175 further details and installation.
176
177 Portability
178 -----------
179
180 notmuch now builds on OpenBSD.
181
182 Internal test framework changes
183 -------------------------------
184
185 ### The emacsclient binary is now user-configurable
186
187 The test framework now accepts `TEST_EMACSCLIENT` in addition to
188 `TEST_EMACS` for configuring the emacsclient to use.  This is
189 necessary to avoid using an old emacsclient with a new emacs, which
190 can result in buggy behavior.