]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.21.mdwn
hand-waving...
[notmuch-wiki] / news / release-0.21.mdwn
1 [[!meta date="2015-10-29"]]
2
3 Notmuch 0.21 (2015-10-29)
4 =========================
5
6 General
7 -------
8
9 ### Notmuch now requires gmime >= 2.6.7. The gmime 2.4 series is no longer supported
10
11 ### Database revision tracking: `lastmod:` queries
12
13 Each message now has a metadata revision number that increases with
14 every tagging operation. See the discussion of `lastmod:` in
15 `notmuch-search-terms(7)` for more information.
16
17 ### Date queries now support `date:<expr>..!` shorthand for `date:<expr>..<expr>`
18
19 You can use, for example, `date:yesterday..!` to match from the
20 beginning of yesterday to the end of yesterday. For further details,
21 please refer to the `notmuch-search-terms` manual page.
22
23 ### Notmuch database upgrade to support `lastmod:` queries
24
25 The above mentioned `lastmod:` prefix. This will be done
26 automatically, without prompting on the next time `notmuch new` is
27 run after the upgrade. The upgrade is not reversible, and the
28 upgraded database will not be readable by older versions of
29 Notmuch. As a safeguard, a database dump will be created in the
30 `.notmuch` directory before upgrading.
31
32 Build System
33 ------------
34
35 The ruby bindings are now built as part of the main notmuch build
36 process. This can be disabled with the `--without-ruby` option to
37 configure.
38
39 Building the documentation can be disabled with the `--without-docs`
40 option to configure.
41
42 Skipped individual tests are no longer considered as failures.
43
44 Command Line Interface
45 ----------------------
46
47 ### Database revision tracking
48
49 Two new options were added to support revision tracking. A global
50 option "--uuid" (`notmuch(1)`) was added for to detect counter
51 rollover and reinitialization, and `notmuch-count(1)` gained a
52 `--lastmod` option to query database revision tracking data.
53
54 ### The `notmuch address` command supports new deduplication schemes
55
56 `notmuch address` has gained a new `--deduplicate` option to specify
57 how the results should be deduplicated, if at all. The alternatives
58 are `no` (do not deduplicate, useful for processing the results with
59 external tools), `mailbox` (deduplicate based on the full, case
60 sensitive name and email address), and `address` (deduplicate based
61 on the case insensitive address part). See the `notmuch-address`
62 manual page for further information.
63
64 Emacs Interface
65 ---------------
66
67 ### `notmuch-emacs-version` is used in `User-Agent` header
68
69 The value of recently introduced variable `notmuch-emacs-version` is
70 now used as a part of `User-Agent` header when sending emails.
71
72 ### Removed `notmuch-version` function by renaming it to `notmuch-cli-version`
73
74 With existing variable `notmuch-emacs-version` the accompanied
75 function which retrieves the version of `notmuch-command` is
76 better named as `notmuch-cli-version`.
77
78 ### Query input now supports completion for "is:<tag>"
79
80 ### New message composition mode: `notmuch-compose-mode`
81
82 This is mainly to fix fcc handling, but may be useful for user
83 customization as well.
84
85 ### Allow filtering of search results in `notmuch-show`
86
87 ### Add function to rerun current tree-view search in search mode
88
89 ### Bug fix for replying to encrypted messages in `notmuch-tree` mode
90
91 ### Allow saved searched to specify tree view rather than search view
92
93 Applies to saved searches run from `notmuch-hello`, or by a keyboard
94 shortcut (`notmuch-jump`).  Can be set in the customize interface, or
95 by adding :search-type tree to the appropriate saved search plist in
96 `notmuch-saved-searches`.
97
98 ### Increase maximum size of rendered text parts
99
100 The variable `notmuch-show-max-text-part-size` controls the maximum
101 size (in bytes) which is automatically rendered. This may make
102 rendering large threads slower. To get the previous behaviour set
103 this variable to 10000.
104
105 Library
106 -------
107
108 ### The use of absolute paths is now enforced when calling `notmuch_database_{open, create}`
109
110 ### New function `notmuch_directory_delete` to delete directory documents
111
112 Previously there was no way to delete directory documents from the
113 database, leading to confusing results when the "ghost" directory
114 document of a renamed or deleted filesystem directory was
115 encountered every time the parent directory was being scanned by
116 `notmuch new`. The mtime of the old directory document was also used
117 if a directory by the same name was added again in the filesystem,
118 potentially bypassing the scan for the directory. The issues are
119 fixed by providing a library call to delete directory documents, and
120 deleting the old documents in `notmuch new` on filesystem directory
121 removal or rename.
122
123 ### Database revision tracking
124
125 Revision tracking is supported via a new prefix "lastmod:" in the
126 query parser and the new function
127 `notmuch_database_get_revision`. For the latter, see `notmuch(3)`.
128
129 ### New status code returning API for n_query_count_{messages,threads}
130
131 ### Deprecated functions
132
133 `notmuch_query_search_threads`, `notmuch_query_search_messages`,
134 `notmuch_query_count_messages`, and `notmuch_query_count_threads`
135 are all deprecated as of this release.  Clients are encouraged to
136 transition to the `_st` variants supporting better error reporting.
137
138 nmbug-status
139 ------------
140
141 `nmbug-status` now supports specifying the sort order for each view.