1 Return-Path: <bremner@unb.ca>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id 4599F41ED96
\r
6 for <notmuch@notmuchmail.org>; Fri, 1 Jul 2011 13:33:20 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5
\r
12 tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id mpP0acBhOC8Z for <notmuch@notmuchmail.org>;
\r
16 Fri, 1 Jul 2011 13:33:18 -0700 (PDT)
\r
17 Received: from tempo.its.unb.ca (tempo.its.unb.ca [131.202.1.21])
\r
18 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
\r
19 (No client certificate requested)
\r
20 by olra.theworths.org (Postfix) with ESMTPS id 7F9C641ED93
\r
21 for <notmuch@notmuchmail.org>; Fri, 1 Jul 2011 13:33:18 -0700 (PDT)
\r
22 Received: from zancas.localnet
\r
23 (fctnnbsc30w-142167176081.pppoe-dynamic.High-Speed.nb.bellaliant.net
\r
24 [142.167.176.81]) (authenticated bits=0)
\r
25 by tempo.its.unb.ca (8.13.8/8.13.8) with ESMTP id p61KXGRf009082
\r
26 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO);
\r
27 Fri, 1 Jul 2011 17:33:17 -0300
\r
28 Received: from bremner by zancas.localnet with local (Exim 4.76)
\r
29 (envelope-from <bremner@unb.ca>)
\r
30 id 1QckOp-0005Ti-TT; Fri, 01 Jul 2011 17:33:15 -0300
\r
31 From: David Bremner <david@tethera.net>
\r
32 To: notmuch@notmuchmail.org
\r
33 Subject: notmuch release 0.6 now available
\r
34 User-Agent: Notmuch/0.6 (http://notmuchmail.org) Emacs/23.3.1
\r
35 (x86_64-pc-linux-gnu)
\r
36 Date: Fri, 01 Jul 2011 17:33:14 -0300
\r
37 Message-ID: <874o35oi5x.fsf@zancas.localnet>
\r
39 Content-Type: multipart/signed; boundary="=-=-=";
\r
40 micalg=pgp-sha1; protocol="application/pgp-signature"
\r
41 X-BeenThere: notmuch@notmuchmail.org
\r
42 X-Mailman-Version: 2.1.13
\r
44 List-Id: "Use and development of the notmuch mail system."
\r
45 <notmuch.notmuchmail.org>
\r
46 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
47 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
48 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
49 List-Post: <mailto:notmuch@notmuchmail.org>
\r
50 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
51 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
52 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
53 X-List-Received-Date: Fri, 01 Jul 2011 20:33:20 -0000
\r
56 Content-Type: text/plain; charset=utf-8
\r
57 Content-Transfer-Encoding: quoted-printable
\r
60 Where to obtain notmuch 0.6
\r
61 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
\r
63 http://notmuchmail.org/releases/notmuch-0.6.tar.gz
\r
65 Which can be verified with:
\r
67 http://notmuchmail.org/releases/notmuch-0.6.tar.gz.sha1
\r
68 640cde96ea616d6bb9b6ab2a486dfb4f149199a3 notmuch-0.6.tar.gz
\r
70 http://notmuchmail.org/releases/notmuch-0.6.tar.gz.sha1.asc
\r
71 (signed by David Bremner)
\r
73 What's new in notmuch 0.6
\r
74 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
\r
75 New, general features
\r
76 =2D--------------------
\r
77 Folder-based searching
\r
79 Notmuch queries can now include a search term to match the
\r
80 directories in which mail files are stored (within the mail
\r
81 storage). The syntax is as follows:
\r
85 For example, one might use things such as:
\r
91 to match any path containing a directory "spam", "work/todo", or
\r
92 containing a directory starting with "2011-", respectively.
\r
94 This feature is particularly useful for users of delivery-agent
\r
95 software (such as procmail or maildrop) that is filtering mail and
\r
96 delivering it to particular folders, or users of systems such as
\r
97 Gmail that use filesystem directories to indicate message tags.
\r
99 NOTE: Only messages that are newly indexed with this version of
\r
100 notmuch will be searchable with folder: terms. In order to enable
\r
101 this feature for all mail, the entire notmuch index will need to be
\r
102 rebuilt as follows:
\r
104 notmuch dump > notmuch.dump
\r
105 # Backup, then remove notmuch database ($MAIL/.notmuch)
\r
107 notmuch restore notmuch.dump
\r
109 Support for PGP/MIME
\r
111 Both the command line interface and the emacs-interface have new
\r
112 support for PGP/MIME, detailed below. Thanks to Daniel Kahn Gillmor
\r
113 and Jameson Graef Rollins for making this happen.
\r
115 New, automatic tags: "signed" and "encrypted"
\r
117 These tags will automatically be applied to messages containing
\r
118 multipart/signed and multipart/encrypted parts.
\r
120 NOTE: Only messages that are newly indexed with this version of
\r
121 notmuch will receive these tags.
\r
123 New command-line features
\r
124 =2D------------------------
\r
125 Add new "notmuch show --verify" option for signature verification
\r
127 This option instruct notmuch to verify the signature of
\r
128 PGP/MIME-signed parts.
\r
130 Add new "notmuch show --decrypt" and "notmuch reply --decrypt" options
\r
132 This option instructs notmuch to decrypt PGP/MIME-encrypted parts.
\r
133 Note that this feature currently requires gpg-agent and a passphrase entry
\r
134 tool (e.g. pinentry-gtk or pinentry-curses).
\r
136 Proper nesting of multipart parts in "notmuch show" output
\r
138 MIME parts are now display with proper nesting to reflect original
\r
139 MIME hierarchy of a message. This allows clients to correctly
\r
140 analyze the MIME structure, (such as, for example, determining to
\r
141 which parts a signature part applies).
\r
143 Add new "notmuch show --part" option
\r
145 This is a replacement for the older "notmuch part" command, (which
\r
146 is now deprecated=E2=80=94it should still work as always, but is no longer
\r
147 documented). Putting part output under "notmuch show" allows for all
\r
148 of the "notmuch show" options to be applied when extracting a single
\r
149 part, (such as --format=3Djson for extracting a message part with JSON
\r
152 Deprecate "notmuch search-tags", (in favor of "notmuch search --output=3Dta=
\r
155 The "notmuch search-tags" sub-command has been redundant since the
\r
156 addition of the --output=3Dtags option to "notmuch search". We now
\r
157 make that more clear by deprecating "notmuch search-tags", (dropping
\r
158 it from the documentation). We do continue to support the old syntax
\r
159 by translating it internally to the new call.
\r
161 Performance improvements
\r
162 =2D-----------------------
\r
163 Faster searches (by doing fewer searches to construct threads)
\r
165 Whenever a user asks for search results as threads, notmuch first
\r
166 performs a search for messages matching the query, then performs
\r
167 additional searches to find other messages in the resulting threads.
\r
169 Removing inefficiencies and redundancies in these secondary searches
\r
170 results in a measured speedups of 1.5x for a typical search.
\r
172 Faster searches (by doing fewer passes to gather message data)
\r
174 Optimizing Xapian data access patterns (using a single pass to get
\r
175 all message-document data rather than a pass for each data type)
\r
176 results in a measured speedup of 1.7x for a typical search.
\r
178 The benefits of this optimization combine with the preceding
\r
179 optimization. With both in place, Austin Clements measured a speedup
\r
180 of 2.5x for a search of all messages in his inbox (was 4.5s, now
\r
181 1.8s). Thanks, Austin!
\r
183 Faster initial indexing
\r
185 More efficient indexing of new messages results in a measured
\r
186 speedup of 1.4x for the initial indexing of 3 GB of mail (1h 14m
\r
187 rather than 1h 46m). Thanks to Austin Clements and Michal Sojka.
\r
189 Make "notmuch new" faster for unchanged directories
\r
191 Optimizing to not do any further examinations of sub-directories
\r
192 when the filesystem indicates that a directory is unchanged from the
\r
193 last "notmuch new" results in measured speedups of 8.5 for the "No
\r
194 new mail" case, (was 0.77s, now 0.09s). Thanks to Karel Zak.
\r
196 New emacs-interface features
\r
197 =2D---------------------------
\r
199 Support for PGP/MIME (GnuPG)
\r
201 Automatically indicate validity of signatures for multipart/signed
\r
202 messages. Automatically display decrypted content for
\r
203 multipart/encrypted messages. See the emacs variable
\r
204 notmuch-crypto-process-mime for more information. Note that this
\r
205 needs gpg-agent and a pinentry tool just as the command line tools.
\r
206 Also note there is no support SMIME yet.
\r
208 Output of pipe command is now displayed if pipe command fails
\r
210 This is extremely useful in the common use case of piping a patch to
\r
211 "git am". If git fails to cleanly merge the patch the error messages
\r
212 from the failed merge are now clearly displayed to the user, (where
\r
213 previously they were silently hidden from the user).
\r
215 User-selectable From address
\r
217 A user can choose which configured email addresses should be used as
\r
218 the From address whenever composing a new message. To do so, simply
\r
219 press C-u before the command which will open a new message. Emacs
\r
220 will prompt for the from address to use.
\r
222 The user can customize the "Notmuch Identities" setting in the
\r
223 notmuch customize group in order to use addresses other than those in
\r
224 the notmuch configuration file if desired.
\r
226 The user can also choose to always be prompted for the from address
\r
227 when composing a new message (without having to use C-u) by setting
\r
228 the "Notmuch Always Prompt For Sender" option in the notmuch
\r
231 Hiding of repeated subjects in collapsed thread view
\r
233 In notmuch-show mode, if a collapsed message has the same subject as
\r
234 its parent, the subject is not shown.
\r
236 Automatic detection and hiding of original message in top-posted message
\r
238 When a message contains a line looking something like:
\r
240 ----- Original Message -----
\r
242 emacs hides this and all subsequent lines as an "original message",
\r
243 (allowing the user to click or press enter on the "original message"
\r
244 button to display it again). This makes the handling of top-posted
\r
245 citations work much like conventional citations.
\r
247 New hooks for running code when tags are modified
\r
249 Some users want to perform additional actions whenever a particular
\r
250 tag is added/removed from a message. This could be used to, for
\r
251 example, interface with some external spam-recognition training
\r
252 tool. To facilitate this, two new hooks are added which can be
\r
253 modified in the following settings of the notmuch customize group:
\r
255 Notmuch Before Tag Hook
\r
256 Notmuch After Tag Hook
\r
258 New optional support for hiding some multipart/alternative parts
\r
260 Many emails are sent with redundant content within a
\r
261 multipart/alternative group (such as a text/plain part as well as a
\r
262 text/html part). Users can configure the setting:
\r
264 Notmuch Show All Multipart/Alternative Parts
\r
266 to "off" in the notmuch customize group to have the interface
\r
267 automatically hide some part alternatives (such as text/html
\r
268 parts). This new part hiding is not configured by default yet
\r
269 because there's not yet a simple way to re-display such a hidden
\r
270 part if it is not actually redundant with a displayed part.
\r
272 Better rendering of text/x-vcalendar parts
\r
274 These parts are now displayed in a format suitable for use with the
\r
277 Avoid getting confused by Subject and Author fields with newline characters
\r
279 Replacing all characters with ASCII code less than 32 with a question mar=
\r
282 Cleaner display of From line in email messages (remove double quotes,
\r
283 and drop "name" if it's actually just a repeat of the email address).
\r
285 Vim interface improvements
\r
286 =2D-------------------------
\r
287 Felipe Contreras provided a number of updates for the vim interface:
\r
289 * Using sendmail directly rather than mailx,
\r
290 * Implementing archive in show view
\r
291 * Add support to mark as read in show and search views
\r
292 * Add delete commands
\r
293 * Various cleanups.
\r
295 Bindings improvements
\r
296 =2D--------------------
\r
297 Ruby bindings are now much more complete
\r
299 Including QUERY.sort, QUERY.to_s, MESSAGE.maildir_flags_to_tags,
\r
300 MESSAGE.tags_to_maildir_flags, and MESSAGE.get_filenames
\r
302 * Python bindings have been upodated and extended
\r
303 (docs online at http://packages.python.org/notmuch/)
\r
306 - Message().get_filenames(),
\r
307 - Message().tags_to_maildir_flags(),Message().maildir_flags_to_tags()
\r
308 - list(Threads()) and list(Messages) works now
\r
310 - Message().__cmp__() and __hash__()
\r
311 These allow, for example:
\r
312 if msg1 =3D=3D msg2: ...
\r
314 As well as set arithmetic on Messages():
\r
316 s1, s2=3D set(msgs1), set(msgs2)
\r
321 - len(Messages()) as it exausted the iterator.
\r
322 Use len(list(Messages())) or
\r
323 Query.count_messages() to get the length.
\r
325 Added initial Go bindings in bindings/go
\r
327 New build-system features
\r
328 =2D------------------------
\r
329 Added support for building in a directory other than the source directory
\r
331 This can be used with the widely-supported idiom of simply running
\r
332 the configure script from some other directory:
\r
339 Fix to save configure options for future, implicit runs of configure
\r
341 When a user updates the source (such as with "git pull") calling
\r
342 "make" may cause an automatic re-run of the configure script. When
\r
343 this happens, the configure script will automatically be called with
\r
344 the same options the user originally passed in the most-recent
\r
345 manual invocation of configure.
\r
347 New test-suite feature
\r
348 =2D---------------------
\r
349 Binary for bash for running test suite now located via PATH.
\r
351 The notmuch test suite requires a fairly recent version of bash (>=3D
\r
352 bash 4). As some systems supply an older version of bash at
\r
353 /bin/bash, the test suite is now updated to search $PATH to locate
\r
354 the bash binary. This allows users of systems with old /bin/bash to
\r
355 simply install bash >=3D 4 somewhere on $PATH before /bin and then use
\r
358 Support for testing output with a trailing newline.
\r
360 Previously, some tests would fail to notice a difference in the
\r
361 presence/absence of a trailing newline in a program output, (which
\r
362 has led to bugs in the past). Now, carefully-written tests (using
\r
363 test_expect_equal_file rather than test_expect_equal) will detect
\r
364 any change in the presence/absence of a trailing newline. Many tests
\r
365 are updated to take advantage of this.
\r
367 Avoiding accessing user's $HOME while running test suite
\r
369 The test suite now carefully creates its own HOME directory. This
\r
370 allows the test suite to be run with no existing HOME directory, (as
\r
371 some build systems apparently do), and avoids test-suite differences
\r
372 due to configuration files in the users HOME directory.
\r
376 =2D----------------
\r
377 Output *all* files for "notmuch search --output=3Dfiles"
\r
379 For the cases where multiple files have the same Message ID,
\r
380 previous versions of notmuch would output only one such file. This
\r
381 command is now fixed to correctly output all files.
\r
383 Fixed spurious search results from "overlapped" indexing of addresses
\r
385 This fixed a bug where a search for:
\r
387 to:user@elsewhere.com
\r
389 would incorrectly match a message sent:
\r
391 To: user@example,com, someone@elsewhere.com
\r
393 Fix --output=3Djson when search has no results
\r
395 A bug present since notmuch 0.4 had caused searches with no results
\r
396 to produce an invalid json object. This is now fixed to cleanly
\r
397 return a valid json object representing an empty array "[]" as
\r
400 fix the automatic detection of the From address for "notmuch reply"
\r
401 From=20the Received headers in some cases.
\r
403 Fix core dump on DragonFlyBSD due to -1 return value from
\r
404 sysconf(_SC_GETPW_R_SIZE_MAX).
\r
406 Cleaned up several memory leaks
\r
408 Eliminated a few, rare segmentation faults and a double-free.
\r
410 Fix libnotmuch library to only export notmuch API functions
\r
412 Previous release of the notmuch library also exported some Xapian
\r
413 C++ exception type symbols. These were never part of the library
\r
414 interface and were never intended to be exported.
\r
416 Emacs-interface bug fixes
\r
417 =2D------------------------
\r
418 Display any unexpected output or errors from "notmuch search" invocations
\r
420 Previously any misformatted output or trailing error messages were
\r
421 silently ignored. This output is now clearly displayed. This fix was
\r
422 very helpful in identifying and fixing the bug described below.
\r
424 Fix bug where some threads would be missing from large search results
\r
426 When a search returned a "large" number of results, the emacs
\r
427 interface was incorrectly dropping one thread every time the output
\r
428 of the "notmuch search" process spanned the emacs read-buffer. This
\r
431 Avoid re-compression of .gz files (and similar) when saving attachment
\r
433 Emacs was being too clever for its own good and trying to
\r
434 re-compress pre-compressed .gz files when saving such attachments
\r
435 (potentially corrupting the attachment). The emacs interface is
\r
436 fixed to avoid this bug.
\r
438 Fix hiding of a message when a previously-hidden citation is visible
\r
440 Previously the citation would remain visible in this case. This is
\r
441 fixed so that hiding a message hides all parts.
\r
444 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
\r
445 Notmuch is a system for indexing, searching, reading, and tagging
\r
446 large collections of email messages in maildir or mh format. It uses
\r
447 the Xapian library to provide fast, full-text search with a convenient
\r
450 For more about notmuch, see http://notmuchmail.org
\r
455 Content-Type: application/pgp-signature
\r
457 -----BEGIN PGP SIGNATURE-----
\r
458 Version: GnuPG v1.4.11 (GNU/Linux)
\r
460 iJwEAQECAAYFAk4OLwsACgkQTiiN/0Um85nvyAP/ZdMq6ufBXAToq7IB51NjJ1vz
\r
461 5lFd0cXzN8/yOmqpgRw7H3ni7DQaVipSQa726XeC7Ur5NQO519MY82rXvG5dZ0Wg
\r
462 pAhYndL9TxBjX4xqdj0yljo71CQi1xYW2RAP9/pHY2g9bRyXI0IRitk2diFqo3pu
\r
463 xsbNzhVGtYyPRIvR7MM=
\r
465 -----END PGP SIGNATURE-----
\r