]> git.cworth.org Git - notmuch-wiki/blob - news/release-0.3.mdwn
fix date meta entries on news items
[notmuch-wiki] / news / release-0.3.mdwn
1 [[!meta date="2010-04-27"]]
2
3 Notmuch 0.3 (2010-04-27)
4 ========================
5 New command-line features
6 -------------------------
7 User-configurable tags for new messages
8
9   A new "new.tags" option is available in the configuration file to
10   determine which tags are applied to new messages. Run "notmuch
11   setup" to generate new documentation within ~/.notmuch-config on how
12   to specify this value.
13
14 Threads search results named based on subjects that match search
15
16   This means that when new mails arrived to a thread you've previously
17   read, and the new mails have a new subject, you will see that
18   subject in the search results rather than the old subject.
19
20 Faster operation of "notmuch tag" (avoid unneeded sorting)
21
22   Since the user just wants to tag all matching messages, we can make
23   things perform a bit faster by avoiding the sort.
24
25 Even Better guessing of From: header for "notmuch reply"
26
27   Notmuch now looks at a number of headers when trying to figure out
28   the best From: header to use in a reply. This is helpful if you have
29   several configured email addresses, and you also subscribe to various
30   mailing lists with different addresses, (so that mails you are
31   replying to won't always include your subscribed address in the To:
32   header).
33
34 Indication of author names that match a search
35
36   When notmuch displays threads as the result of a search, it now
37   lists the authors that match the search before listing the other
38   authors in the thread. It inserts a pipe '|' symbol between the last
39   matching and first non-matching author. This is especially useful in
40   a search that includes tag:unread. Now the authors of the unread
41   messages in the thread are listed first.
42
43 New: Python bindings
44 --------------------
45 Sebastian Spaeth has contributed his python bindings for the notmuch
46 library to the central repository. These bindings were previously
47 known as "cnotmuch" within python but have now been renamed to be
48 accessible with a simple, and more official-looking "import notmuch".
49
50 The bindings have already proven very useful as people proficient in
51 python have been able to easily develop programs to do notmuch-based
52 searches for email-address completion, maildir-flag synchronization,
53 and other tasks.
54
55 These bindings are available within the bindings/python directory, but
56 are not yet integrated into the top-level Makefiles, nor the top-level
57 package-building scripts. Improvements are welcome.
58
59 Emacs interface improvements
60 ----------------------------
61 An entirely new initial view for notmuch, (friendly yet powerful)
62
63   Some of us call the new view "notmuch hello" but you can get at it
64   by simply calling "emacs -f notmuch". The new view provides a search
65   bar where new searches can be performed. It also displays a list of
66   recent searches, along with a button to save any of these, giving it
67   a new name as a "saved search". Many people find these "saved
68   searches" one of the most convenient ways of organizing their mail,
69   (providing all of the features of "folders" in other mail clients,
70   but without any of the disadvantages).
71
72   Finally, this view can also optionally display all of the tags that
73   exist in the database, along with a count for each tag, and a custom
74   search of messages with that tag that's simply a click (or keypress)
75   away.
76
77   Note: For users that liked the original mode of "emacs -f notmuch"
78         immediately displaying a particular search result, we
79         recommend instead running something like:
80
81                 emacs --eval '(notmuch search "tag:inbox" t)'
82
83         The "t" means to sort the messages in an "oldest first" order,
84         (as notmuch would do previously by default). You can also
85         leave that off to have your search results in "newest first"
86         order.
87
88 Full-featured "customize" support for configuring notmuch
89
90   Notmuch now plugs in well to the emacs "customize" mode to make it
91   much simpler to find things about the notmuch interface that can be
92   tweaked by the user.
93
94   You can get to this mode by starting at the main "Customize" menu in
95   emacs, then browsing through "Applications", "Mail", and
96   "Notmuch". Or you can go straight to "M-x customize-group"
97   "notmuch".
98
99   Once you're at the customize screen, you'll see a list of documented
100   options that can be manipulated along with checkboxes, drop-down
101   selectors, and text-entry boxes for configuring the various
102   settings.
103
104 Support for doing tab-completion of email addresses
105
106   This support currently relies on an external program,
107   (notmuch-addresses), that is not yet shipped with notmuch
108   itself. But multiple, suitable implementations of this program have
109   already been written that generate address completions by doing
110   notmuch searches of your email collection. For example, providing
111   first those addresses that you have composed messages to in the
112   past, etc.
113
114   One such program (implemented in python with the python bindings to
115   notmuch) is available via:
116
117         git clone  http://jkr.acm.jhu.edu/git/notmuch_addresses.git
118
119   Install that program as notmuch-addresses on your PATH, and then
120   hitting TAB on a partial email address or name within the To: or Cc:
121   line of an email message will provide matching completions.
122
123 Support for file-based (Fcc) delivery of sent messages to mail store
124
125   This isn't yet enabled by default. To enable this, one will have to
126   set the "Notmuch Fcc Dirs" setting within the notmuch customize
127   screen, (see its documentation there for details). We anticipate
128   making this automatic in a future release.
129
130 New 'G' key binding to trigger mail refresh (G == "Get new mail")
131
132   The 'G' key works wherever '=' works. Before refreshing the screen
133   it calls an external program that can be used to poll email servers,
134   run notmuch new and setup specific tags for the new emails. The
135   script to be called should be configured with the "Notmuch Poll
136   Script" setting in the customize interface. This script will
137   typically invoke "notmuch new" and then perhaps several "notmuch
138   tag" commands.
139
140 Implement emacs message display with the JSON output from notmuch.
141
142   This is much more robust than the previous implementation, (where
143   some HTML mails and mail quoting the notmuch code with the delimiter
144   characters in it would cause the parser to fall over).
145
146 Better handling of HTML messages and MIME attachments (inline images!)
147
148   Allow for any MIME parts that emacs can display to be displayed
149   inline. This includes inline viewing of image attachments, (provided
150   the window is large enough to fit the image at its natural size).
151
152   Much more robust handling of HTML messages. Currently both text/plain
153   and text/html alternates will be rendered next to each other. In a
154   future release, users will be able to decide to see only one or the
155   other representation.
156
157   Each attachment now has its own button so that attachments can be
158   saved individually (the 'w' key is still available to save all
159   attachments).
160
161 Customizable support for tidying of text/plain message content
162
163   Many new functions are available for tidying up message
164   content. These include options such as wrapping long lines,
165   compressing duplicate blank lines, etc.
166
167   Most of these are disabled by default, but can easily be enabled by
168   clicking the available check boxes under the "Notmuch Show Insert
169   Text/Plain Hook" within the notmuch customize screen.
170
171 New support for searchable citations (even when hidden)
172
173   When portions of overly-long citations are hidden, the contents of
174   these citations will still be available for emacs' standard
175   "incremental search" functions. When the search matches any portion
176   of a hidden citation, the citation will become visible temporarily
177   to display the search result.
178
179 More flexible handling of header visibility
180
181   As an answer to complaints from many users, the To, Cc, and Date
182   headers of messages are no longer hidden by default. For those users
183   that liked that these were hidden, a new "Notmuch Messages Headers
184   Visible" option in the customize interface can be set to nil. The
185   visibility of headers can still be toggled on a per-message basis
186   with the 'h' keybinding.
187
188   For users that don't want to see some subset of those headers, the
189   new "Notmuch Message Headers" variable can be customized to list
190   only those headers that should be present in the display of a message.
191
192 The Return key now toggles message visibility anywhere
193
194   Previously this worked only on the first summary-line of a message.
195
196 Customizable formatting of search results
197
198   The user can easily customize the order, width, and formatting of
199   the various fields in a "notmuch search" buffer. See the "Notmuch
200   Search Result Format" section of the customize interface.
201
202 Generate nicer names for search buffers when using a saved search.
203
204 Add a notmuch User-Agent header when sending mail from notmuch/emacs.
205
206 New keybinding (M-Ret) to open all collapsed messages in a thread.
207
208 New library feature
209 -------------------
210 Provide a new NOTMUCH_SORT_UNSORTED value for queries
211
212   This can be somewhat faster when sorting simply isn't desired. For
213   example when collecting a set of messages that will all be
214   manipulated identically, (adding a tag, removing a tag, deleting the
215   messages), then there's no advantage to sorting the messages by
216   date.
217
218 Build fixes
219 -----------
220 Fix to compile against GMime 2.6
221
222   Previously notmuch insisted on being able to find GMime 2.4, (even
223   though GMime 2.6 would have worked all along).
224
225 Fix configure script to accept (and ignore) various standard options.
226
227   For example, those that the Gentoo build scripts expect configure to
228   accept are now all accepted.
229
230 Test suite
231 ----------
232 A large number of new tests for the many new features.
233
234 Better display of output from failed tests.
235
236   Now shows failures with diff rather than forcing the user to gaze at
237   complete actual and expected output looking for deviation.