]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.32.mdwn
News for release 0.38.3
[notmuch-wiki] / news / release-0.32.mdwn
1 [[!meta date="2021-05-02"]]
2
3 Notmuch 0.32 (2021-05-02)
4 =========================
5
6 General
7 -------
8
9 This release includes a significant overhaul of the configuration
10 management facilities for notmuch.  The previous distinction between
11 configuration items that can be modified via plain text configuration
12 files and those that must be set in the database via the "notmuch
13 config" subcommand is gone, and all configuration items can be set in
14 both ways.  The external configuration file overrides configuration
15 items in the database. The location of database, hooks, and
16 configuration files is now more flexible, with several new
17 configuration variables. In particular XDG locations are now supported
18 as fallbacks for database, configuration and hooks. For more
19 information see `notmuch-config(1)`.
20
21 Library
22 -------
23
24 To support the new configuration facilities, several functions and
25 constants have been added to the notmuch API. Most notably:
26
27 - `notmuch_database_create_with_config`
28 - `notmuch_database_open_with_config`
29 - `notmuch_database_load_config`
30 - `notmuch_config_get`
31
32 A previously requested API change is that `notmuch_database_reopen` is
33 now exposed (and generalized).
34
35 The previously severe slowdowns from large numbers calls to
36 notmuch_database_remove_message or notmuch_message_delete in one
37 session has been fixed.
38
39 As always, the canonical source of API documentation is `lib/notmuch.h`,
40 or the doxygen formatted documentation in `notmuch(3)`.
41
42 CLI
43 ---
44
45 The `notmuch config set` subcommand gained a `--database` argument to
46 specify that the database should be updated, rather than a config file.
47
48 The speed of `notmuch new` and `notmuch reindex` in dealing with large
49 numbers of mail file deletions is significantly improved.
50
51 Emacs
52 -----
53
54 Completion related updates include: de-duplicating tags offered for
55 completion, use the actual initial input in address completion, allow
56 users to opt out of notmuch address completion, and do not force Ido
57 when prompting for senders.
58
59 Some keymaps used to contain bindings for unnamed commands.  These
60 lambda expressions have been replaced by named commands (symbols), to
61 ease customization.
62
63 Lexical binding is now used in all notmuch-emacs libraries.
64
65 Fix bug in calling `notmuch-mua-mail` with a non-nil RETURN-ACTION.
66
67 Removed, inlined or renamed functions and variables:
68
69     notmuch-address-locate-command,
70     notmuch-documentation-first-line, notmuch-folder,
71     notmuch-hello-trim, notmuch-hello-versions => notmuch-version,
72     notmuch-remove-if-not, notmuch-search-disjunctive-regexp,
73     notmuch-sexp-eof, notmuch-split-content-type, and
74     notmuch-tree-button-activate.
75
76 Keymaps are no longer fset, which means they need to be referred to in
77 define-key directly (without quotes).  If your Emacs configuration has a
78 keybinding like:
79
80     (define-key 'notmuch-show-mode-map "7" 'foo)
81
82 you should change it to:
83
84     (define-key notmuch-show-mode-map "7" 'foo)