]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.26.mdwn
News for release 0.38.3
[notmuch-wiki] / news / release-0.26.mdwn
1 [[!meta date="2018-01-09"]]
2
3 Notmuch 0.26 (2018-01-09)
4 =========================
5
6 Command Line Interface
7 ----------------------
8
9 ### Support for re-indexing existing messages
10
11 There is a new subcommand, `notmuch reindex`, which re-indexes all
12 messages matching supplied search terms.  This permits users to
13 change the way specific messages are indexed.
14
15 Note that for messages with multiple variants in the message
16 archive, the recorded Subject: of may change upon reindexing,
17 depending on the order in which the variants are indexed.
18
19 ### Improved error reporting in notmuch new
20
21 Give more details when reporting certain Xapian exceptions.
22
23 ### Support maildir synced tags in `new.tags`
24
25 Tags `draft`, `flagged`, `passed`, and `replied` are now supported
26 in `new.tags`. The tag `unread` is still special in the presence of
27 maildir syncing, and will be added for files in `new/` regardless of
28 the setting of `new.tags`.
29
30 ### Support /regex/ in new.ignore
31
32 Files and directories may be ignored based on regular expressions.
33
34 ### Allow `notmuch insert --folder=""`
35
36 This inserts into the top level folder.
37
38 ### Strip trailing '/' from folder path for notmuch insert
39
40 This prevents a potential problem with duplicated database records.
41
42 ### New option --output=address for notmuch address
43
44 ### Make `notmuch show` more robust against deleting duplicate files
45
46 ### The option --decrypt now takes an explicit argument
47
48 The --decrypt option to `notmuch show` and `notmuch reply` now takes
49 an explicit argument.  If you were used to invoking `notmuch show
50 --decrypt`, you should switch to `notmuch show --decrypt=true`.
51
52 ### Boolean and keyword arguments now take a `--no-` prefix
53
54 Encrypted Mail
55 --------------
56
57 ### Indexing cleartext of encrypted e-mails
58
59 It's now possible to include the cleartext of encrypted e-mails in
60 the notmuch index.  This makes it possible to search your encrypted
61 e-mails with the same ease as searching cleartext.  This can be done
62 on a per-message basis by passing --decrypt=true to indexing
63 commands (new, insert, reindex), or by default by running "notmuch
64 config set index.decrypt true".
65
66 Encrypted messages whose cleartext is indexed will typically also
67 have their session keys stashed as properties associated with the
68 message.  Stashed session keys permit rapid rendering of long
69 encrypted threads, and disposal of expired encryption-capable keys.
70 If for some reason you want cleartext indexing without stashed
71 session keys, use --decrypt=nostash for your indexing commands (or
72 run "notmuch config set index.decrypt nostash"). See `index.decrypt`
73 in notmuch-config(1) for more details.
74
75 Note that stashed session keys permit reconstruction of the
76 cleartext of the encrypted message itself, and the contents of the
77 index are roughly equivalent to the cleartext as well.  DO NOT USE
78 this feature without considering the security of your index.
79
80 Emacs
81 -----
82
83 ### Guard against concurrent searches in notmuch-tree
84
85 ### Use make-process when available
86
87 This allows newer Emacs to separate stdout and stderr from the
88 notmuch command without using temporary files.
89
90 Library Changes
91 ---------------
92
93 ### Indexing files with duplicate message-id
94
95 Files with duplicate message-id's are now indexed, and searchable
96 via terms and phrases. There are known issues related to
97 presentation of results and regular-expression search, but in
98 principle no mail file should be completely unsearchable now.
99
100 ### New functions to count files
101
102 Two new functions in the libnotmuch API:
103 `notmuch_message_count_files`, and `notmuch_thread_get_total_files`.
104
105 ### New function to remove properties
106
107 A new function was added to the libnotmuch API to make it easier to
108 drop all properties with a common pattern:
109 `notmuch_message_remove_all_properties_with_prefix`
110
111 ### Change of return value of `notmuch_thread_get_authors`
112
113 In certain corner cases, `notmuch_thread_get_authors` previously
114 returned NULL.  This has been replaced by an empty string, since the
115 possibility of NULL was not documented.
116
117 ### Transition `notmuch_database_add_message` to `notmuch_database_index_file`
118
119 When indexing an e-mail message, the new
120 `notmuch_database_index_file` function is the preferred form, and
121 the old `notmuch_database_add_message` is deprecated.  The new form
122 allows passing a set of options to the indexing engine, which the
123 operator may decide to change from message to message.
124
125 Test Suite
126 ----------
127
128 ### Out-of-tree builds
129
130 The test suite now works properly with out-of-tree builds, i.e. with
131 separate source and build directories. The --root option to tests
132 has been dropped. The same can now be achieved more reliably using
133 out-of-tree builds.
134
135 Python Bindings
136 ---------------
137
138 ### Python bindings specific Debian packaging is removed
139
140 The bindings have been build by the top level Debian packaging for a
141 long time, and `bindings/python/debian` has bit-rotted.
142
143 ### Open mail files in binary mode when using Python 3
144
145 This avoids certain encoding related crashes under Python 3.
146
147 ### Add python bindings for `notmuch_database_{get,set}_config*`
148
149 ### Optional `decrypt_policy` flag is available for notmuch.database().index_file()
150
151 nmbug
152 -----
153
154 nmbug's internal version increases to 0.3 in this notmuch release.
155 User-facing changes with this notmuch release:
156
157 * Accept failures to unset `core.worktree` in `clone`, which allows
158 nmbug to be used with Git 2.11.0 and later.
159 * Auto-checkout in `clone` if it wouldn't clobber existing content,
160 which makes the initial clone more convenient.
161 * Only error for invalid diff lines in `tags/`, which allows for
162 `README`s and similar in nmbug repositories.
163
164 Documentation
165 -------------
166
167 ### New man page: notmuch-properties(7)
168
169 This new page to the manual describes common conventions for how
170 properties are used by libnotmuch, the CLI, and associated programs.
171 External projects that use properties are encouraged to claim their
172 properties and conventions here to avoid collisions.