]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.23.mdwn
complete sentence
[notmuch-wiki] / news / release-0.23.mdwn
1 [[!meta date="2016-10-03"]]
2
3 Notmuch 0.23 (2016-10-03)
4 =========================
5
6 General (Xapian 1.4+)
7 ---------------------
8
9 Compiling against Xapian 1.4 enables several new features.
10
11 ### Support for single argument date: queries
12
13 `date:<expr>` is equivalent to `date:<expr>..<expr>`.
14
15 ### Support for blocking opens
16
17 When opening a database notmuch by default will wait for another
18 process to release a write lock, rather than returning an error.
19
20 ### Support for named queries
21
22 Named queries (also known as 'saved searches') can be defined with a
23 `query:name` format. The expansion of these queries is stored in the
24 database and they can be used from any notmuch client.
25
26 Library
27 -------
28
29 ### Message property API
30
31 libnotmuch now supports the attachment of arbitrary key-value pairs
32 to messages. These can be used by various tools to manage their
33 private data without polluting the user tag space. They also support
34 iteration of values with the same key or same key prefix.
35
36 ### Bug fix for `notmuch_directory_set_mtime`
37
38 Update cached mtime to match on-disk mtime.
39
40 CLI
41 ---
42
43 ### Support for compile time options
44
45 A group of `built_with` keys is now supported for notmuch
46 config. Initial keys in this group are `compact`, `field_processor`,
47 and `retry_lock`.
48
49 ### Dump/Restore support for configuration information and properties
50
51 Any configuration information stored in the database (initially just
52 named queries) is dumped and restored. Similarly any properties
53 attached to messages are also dumped and restored. Any new
54 information in the dump format is prefixed by '#' to allow existing
55 scripts to ignore it.
56
57 Emacs
58 -----
59
60 ### Make notmuch-message-mode use insert for fcc
61
62 Notmuch-message-mode now defaults to using notmuch insert for
63 fcc. The old file based fcc behaviour can be restored by setting the
64 defcustom `notmuch-maildir-use-notmuch-insert` to nil.
65
66 When using notmuch insert, `notmuch-fcc-dirs` must be a subdirectory
67 of the mailstore (absolute paths are not permitted) followed by any
68 tag changes to be applied to the inserted message. The tag changes
69 are applied after the default tagging for new messages. For example
70 setting the header to "sentmail -inbox +sent" would insert the
71 message in the subdirectory sentmail of the mailstore, add the tag
72 "sent", and not add the (normally added) "inbox" tag.
73
74 Finally, if the insert fails (e.g. if the database is locked) the
75 user is presented with the option to retry, ignore, or edit the
76 header.
77
78 ### Make internal address completion customizable
79
80 There is a new defcustom `notmuch-address-internal-completion` which
81 controls how the internal completion works: it allows the user to
82 choose whether to match on messages the user sent, or the user
83 received, and to filter the messages used for the match, for example
84 by date.
85
86 ### Allow internal address completion on an individual basis
87
88 There is a new function `notmuch-address-toggle-internal-completion`
89 (by default it has no keybinding) which allows users who normally
90 use an external completion command to use the builtin internal
91 completion for the current buffer.
92
93 Alternatively, if the user has company-mode enabled, then the user
94 can use company mode commands such as `company-complete` to
95 activate the builtin completion for an individual completion.
96
97 ### Resend messages
98
99 The function `notmuch-show-resend-message` (bound to `b` in show
100 and tree modes) will (attempt to) send current message to new
101 recipients. The headers of the message won't be altered (e.g. `To:`
102 may point to yourself). New `Resent-To:`, `Resent-From:` and so on
103 will be added instead.
104
105 ### Face customization is easier
106
107 New faces `notmuch-tag-unread`, `notmuch-tag-flagged`,
108 `notmuch-tag-deleted`, `notmuch-tag-added`,
109 `notmuch-search-flagged-face` and `notmuch-search-unread-face` are
110 now used by default. Customize `notmuch-faces` to modify them.
111
112 ### Omit User-Agent header by default when sending mail
113
114 Ruby Bindings
115 -------------
116
117 ### Add support for `notmuch_database_get_all_tags`
118
119 Go Bindings
120 -----------
121
122 ### Go bindings moved to contrib
123
124 ### Add support for `notmuch_threads_t` and `notmuch_thread_t`
125
126 ### Fixed constant values so they are not all zero anymore
127
128 Previously, it was impossible to open writable database handles,
129 because `DATABASE_MODE_READ_ONLY` and `DATABASE_MODE_READ_WRITE` were
130 both set to zero.
131 The same issue occurred with sort modes.