]> git.notmuchmail.org Git - notmuch-wiki/blob - news/release-0.17.mdwn
News for release 0.38.3
[notmuch-wiki] / news / release-0.17.mdwn
1 [[!meta date="2013-12-30"]]
2
3 Notmuch 0.17 (2013-12-30)
4 =========================
5
6 Incompatible change in SHA1 computation
7 ---------------------------------------
8
9 Previously on big endian architectures like sparc and powerpc the
10 computation of SHA1 hashes was incorrect. This meant that messages
11 with overlong or missing message-ids were given different computed
12 message-ids than on more common little endian architectures like i386
13 and amd64.  If you use notmuch on a big endian architecture, you are
14 strongly advised to make a backup of your tags using `notmuch dump`
15 before this upgrade. You can locate the affected files using something
16 like:
17
18     notmuch dump | \
19       awk '/^notmuch-sha1-[0-9a-f]{40} / \
20         {system("notmuch search --exclude=false --output=files id:" $1)}'
21
22 Command-Line Interface
23 ----------------------
24
25 ### New options to better support handling duplicate messages
26
27 If more than one message file is associated with a message-id,
28 `notmuch search --output=files` will print all of them. A new
29 `--duplicate=N` option can be used to specify which duplicate to
30 print for each message.
31
32 `notmuch count` now supports `--output=files` option to output the
33 number of files associated with matching messages. This may be
34 bigger than the number of matching messages due to duplicates
35 (i.e. multiple files having the same message-id).
36
37 ### Improved `notmuch new` performance for unchanged folders
38
39 `notmuch new` now skips over unchanged folders more efficiently,
40 which can substantially improve the performance of checking for new
41 mail in some situations (like NFS-mounted Maildirs).
42
43 ### `notmuch reply --format=text` RFC 2047-encodes headers
44
45 Previously, this used a mix of standard MIME encoding for the reply
46 body and UTF-8 for the headers.  Now, the text format reply template
47 RFC 2047-encodes the headers, making the output a valid RFC 2822
48 message.  The JSON/sexp format is unchanged.
49
50 ### `notmuch compact` command
51
52 The new `compact` command exposes Xapian's compaction
53 functionality through a more convenient interface than
54 `xapian-compact`. `notmuch compact` will compact the database to a
55 temporary location, optionally backup the original database, and
56 move the compacted database into place.
57
58 Emacs Interface
59 ---------------
60
61 ### `notmuch-tree` (formerly `notmuch-pick`) has been added to mainline
62
63 `notmuch-tree` is a threaded message view for the emacs
64 interface. Each message is one line in the results and the thread
65 structure is shown using UTF-8 box drawing characters (similar to
66 Mutt's threaded view). It comes between search and show in terms of
67 amount of output and can be useful for viewing both single threads
68 and multiple threads.
69
70 #### Using `notmuch-tree`
71
72 The main key entries to notmuch tree are
73
74 - 'z' enter a query to view using notmuch tree (works in hello,
75   search, show and tree mode itself)
76
77 - 'Z' view the current query in tree notmuch tree (works from search
78   and show)
79
80 Once in tree mode, keybindings are mostly in line with the rest of
81 notmuch and are all viewable with '?' as usual.
82
83 #### Customising `notmuch-tree`
84
85 `notmuch-tree` has several customisation variables. The most
86 significant is the first notmuch-tree-show-out which determines the
87 behaviour when selecting a message (with RET) in tree view. By
88 default tree view uses a split window showing the single message in
89 the bottom pane. However, if this option is set then it views the
90 whole thread in the complete window jumping to the selected message
91 in the thread. In either case command-prefix selects the other option.
92
93 ### Tagging threads in search is now race-free
94
95 Previously, adding or removing a tag from a thread in a search
96 buffer would affect messages that had arrived after the search was
97 performed, resulting in, for example, archiving messages that were
98 never seen.  Tagging now affects only the messages that were in the
99 thread when the search was performed.
100
101 ### `notmuch-hello` refreshes when switching to the buffer
102
103 The hello buffer now refreshes whenever you switch to the buffer,
104 regardless of how you get there.  You can disable automatic
105 refreshing by customizing `notmuch-hello-auto-refresh`.
106
107 ### Specific mini-buffer prompts for tagging operations
108
109 When entering tags to add or remove, the mini-buffer prompt now
110 indicates what operation will be performed (e.g., "Tag thread", "Tag
111 message", etc).
112
113 ### Built-in help improvements
114
115 Documentation for many commands has been improved, as displayed by
116 `notmuch-help` (usually bound to "?").  The bindings listed by
117 `notmuch-help` also now include descriptions of prefixed commands.
118
119 ### Quote replies as they are displayed in show view
120
121 We now render the parts for reply quoting the same way they are
122 rendered for show. At this time, the notable change is that replies
123 to text/calendar are now pretty instead of raw vcalendar.
124
125 ### Fixed inconsistent use of configured search order
126
127 All ways of interactively invoking search now honor the value of
128 `notmuch-search-oldest-first`.
129
130 ### Common keymap for notmuch-wide bindings
131
132 Several key bindings have been moved from mode-specific keymaps to
133 the single `notmuch-common-keymap`, which is inherited by each
134 notmuch mode.  If you've customized your key bindings, you may want
135 to move some of them to the common keymap.
136
137 ### The `notmuch-tag` function now requires a list of tag changes
138
139 For users who have scripted the Emacs interface: the `notmuch-tag`
140 API has changed.  Previously, it accepted either a list of tag
141 changes or a space-separated string of tag changes.  The latter is
142 no longer supported and the function now returns nothing.
143
144 ### Fixed `notmuch-reply` putting reply in primary selection
145
146 On emacs 24 notmuch-reply used to put the cited text into the
147 primary selection (which could lead to inadvertently pasting this
148 cited text elsewhere). Now the primary-selection is not changed.
149
150 ### Fixed `notmuch-show` invisible part handling
151
152 In some obscure cases part buttons and invisibility had strange
153 interactions: in particular, the default action for some parts gave
154 the wrong action. This has been fixed.
155
156 ### Fixed `notmuch-show` attachment viewers and stderr
157
158 In emacs 24.3+ viewing an attachment could cause spurious text to
159 appear in the show buffer (any stderr or stdout the viewer
160 produced). By default this output is now discarded. For debugging,
161 setting `notmuch-show-attachment-debug` causes notmuch to keep the
162 viewer's stderr and stdout in a separate buffer.
163
164 ### Fixed `notmuch-mua-reply` point placement when signature involved
165
166 By restricting cursor movement to body section for cursor placement
167 after signature is inserted, the cursor cannot "leak" to header
168 section anymore. Now inserted citation content will definitely go to
169 the body part of the message.
170
171 Vim Interface
172 -------------
173
174 It is now possible to compose new messages in the Vim interface, as
175 opposed reply to existing messages.  There is also support for
176 going straight to a search (bypassing the folders view).