1 [[!meta date="2018-01-09"]]
3 Notmuch 0.26 (2018-01-09)
4 =========================
9 ### Support for re-indexing existing messages
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.
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.
19 ### Improved error reporting in notmuch new
21 Give more details when reporting certain Xapian exceptions.
23 ### Support maildir synced tags in `new.tags`
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`.
30 ### Support /regex/ in new.ignore
32 Files and directories may be ignored based on regular expressions.
34 ### Allow `notmuch insert --folder=""`
36 This inserts into the top level folder.
38 ### Strip trailing '/' from folder path for notmuch insert
40 This prevents a potential problem with duplicated database records.
42 ### New option --output=address for notmuch address
44 ### Make `notmuch show` more robust against deleting duplicate files
46 ### The option --decrypt now takes an explicit argument
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`.
52 ### Boolean and keyword arguments now take a `--no-` prefix
57 ### Indexing cleartext of encrypted e-mails
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".
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.
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.
83 ### Guard against concurrent searches in notmuch-tree
85 ### Use make-process when available
87 This allows newer Emacs to separate stdout and stderr from the
88 notmuch command without using temporary files.
93 ### Indexing files with duplicate message-id
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.
100 ### New functions to count files
102 Two new functions in the libnotmuch API:
103 `notmuch_message_count_files`, and `notmuch_thread_get_total_files`.
105 ### New function to remove properties
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`
111 ### Change of return value of `notmuch_thread_get_authors`
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.
117 ### Transition `notmuch_database_add_message` to `notmuch_database_index_file`
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.
128 ### Out-of-tree builds
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
138 ### Python bindings specific Debian packaging is removed
140 The bindings have been build by the top level Debian packaging for a
141 long time, and `bindings/python/debian` has bit-rotted.
143 ### Open mail files in binary mode when using Python 3
145 This avoids certain encoding related crashes under Python 3.
147 ### Add python bindings for `notmuch_database_{get,set}_config*`
149 ### Optional `decrypt_policy` flag is available for notmuch.database().index_file()
154 nmbug's internal version increases to 0.3 in this notmuch release.
155 User-facing changes with this notmuch release:
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.
167 ### New man page: notmuch-properties(7)
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.