]> code.delx.au - gnu-emacs/blob - etc/GNUS-NEWS
(compile_pattern_1): Treat non-nil and non-string of
[gnu-emacs] / etc / GNUS-NEWS
1 GNUS NEWS -- history of user-visible changes.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007, 2008 Free Software Foundation, Inc.
5 See the end of the file for license conditions.
6
7 Please send Gnus bug reports to bugs@gnus.org.
8 For older news, see Gnus info node "New Features".
9
10 \f
11 * Installation changes
12
13 ** Upgrading from previous (stable) version if you have used Oort.
14
15 If you have tried Oort (the unstable Gnus branch leading to this
16 release) but went back to a stable version, be careful when upgrading to
17 this version. In particular, you will probably want to remove all
18 `.marks' (nnml) and `.mrk' (nnfolder) files, so that flags are read from
19 your `.newsrc.eld' instead of from the `.marks'/`.mrk' file where this
20 release store flags. See a later entry for more information about
21 marks. Note that downgrading isn't save in general.
22
23 ** Lisp files are now installed in `.../site-lisp/gnus/' by default. It
24 defaulted to `.../site-lisp/' formerly. In addition to this, the new
25 installer issues a warning if other Gnus installations which will shadow
26 the latest one are detected. You can then remove those shadows manually
27 or remove them using `make remove-installed-shadows'.
28
29 ** New `make.bat' for compiling and installing Gnus under MS Windows
30
31 Use `make.bat' if you want to install Gnus under MS Windows, the first
32 argument to the batch-program should be the directory where `xemacs.exe'
33 respectively `emacs.exe' is located, if you want to install Gnus after
34 compiling it, give `make.bat' `/copy' as the second parameter.
35
36 `make.bat' has been rewritten from scratch, it now features automatic
37 recognition of XEmacs and GNU Emacs, generates `gnus-load.el', checks if
38 errors occur while compilation and generation of info files and reports
39 them at the end of the build process. It now uses `makeinfo' if it is
40 available and falls back to `infohack.el' otherwise. `make.bat' should
41 now install all files which are necessary to run Gnus and be generally a
42 complete replacement for the `configure; make; make install' cycle used
43 under Unix systems.
44
45 The new `make.bat' makes `make-x.bat' and `xemacs.mak' superfluous, so
46 they have been removed.
47
48 ** `~/News/overview/' not used.
49
50 As a result of the following change, the `~/News/overview/' directory is
51 not used any more. You can safely delete the entire hierarchy.
52
53 ** `(require 'gnus-load)'
54
55 If you use a stand-alone Gnus distribution, you'd better add `(require
56 'gnus-load)' into your `~/.emacs' after adding the Gnus lisp directory
57 into load-path.
58
59 File `gnus-load.el' contains autoload commands, functions and variables,
60 some of which may not be included in distributions of Emacsen.
61
62
63 \f
64 * New packages and libraries within Gnus
65
66 ** The revised Gnus FAQ is included in the manual, *Note Frequently Asked
67 Questions::.
68
69 ** TLS wrapper shipped with Gnus
70
71 TLS/SSL is now supported in IMAP and NNTP via `tls.el' and GNUTLS. The
72 old TLS/SSL support via (external third party) `ssl.el' and OpenSSL
73 still works.
74
75 ** Improved anti-spam features.
76
77 Gnus is now able to take out spam from your mail and news streams using
78 a wide variety of programs and filter rules. Among the supported
79 methods are RBL blocklists, bogofilter and white/blacklists. Hooks for
80 easy use of external packages such as SpamAssassin and Hashcash are also
81 new. *Note Thwarting Email Spam::.
82
83 ** Gnus supports server-side mail filtering using Sieve.
84
85 Sieve rules can be added as Group Parameters for groups, and the
86 complete Sieve script is generated using `D g' from the Group buffer,
87 and then uploaded to the server using `C-c C-l' in the generated Sieve
88 buffer. *Note Sieve Commands::, and the new Sieve manual *Note Top:
89 (sieve)Top.
90
91
92 \f
93 * Changes in group mode
94
95 ** `gnus-group-read-ephemeral-group' can be called interactively, using `G
96 M'.
97
98 ** Retrieval of charters and control messages
99
100 There are new commands for fetching newsgroup charters (`H c') and
101 control messages (`H C').
102
103 ** The new variable `gnus-parameters' can be used to set group parameters.
104
105 Earlier this was done only via `G p' (or `G c'), which stored the
106 parameters in `~/.newsrc.eld', but via this variable you can enjoy the
107 powers of customize, and simplified backups since you set the variable
108 in `~/.gnus.el' instead of `~/.newsrc.eld'. The variable maps regular
109 expressions matching group names to group parameters, a'la:
110 (setq gnus-parameters
111 '(("mail\\..*"
112 (gnus-show-threads nil)
113 (gnus-use-scoring nil))
114 ("^nnimap:\\(foo.bar\\)$"
115 (to-group . "\\1"))))
116
117 ** Unread count correct in nnimap groups.
118
119 The estimated number of unread articles in the group buffer should now
120 be correct for nnimap groups. This is achieved by calling
121 `nnimap-fixup-unread-after-getting-new-news' from the
122 `gnus-setup-news-hook' (called on startup) and
123 `gnus-after-getting-new-news-hook'. (called after getting new mail). If
124 you have modified those variables from the default, you may want to add
125 `nnimap-fixup-unread-after-getting-new-news' again. If you were happy
126 with the estimate and want to save some (minimal) time when getting new
127 mail, remove the function.
128
129 ** Group names are treated as UTF-8 by default.
130
131 This is supposedly what USEFOR wanted to migrate to. See
132 `gnus-group-name-charset-group-alist' and
133 `gnus-group-name-charset-method-alist' for customization.
134
135 ** `gnus-group-charset-alist' and `gnus-group-ignored-charsets-alist'.
136
137 The regexps in these variables are compared with full group names
138 instead of real group names in 5.8. Users who customize these variables
139 should change those regexps accordingly. For example:
140 ("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)
141
142 ** Old intermediate incoming mail files (`Incoming*') are deleted after a
143 couple of days, not immediately. *Note Mail Source Customization::.
144 (New in Gnus 5.10.10 / Emacs 22.2)
145
146 \f
147 * Changes in summary and article mode
148
149 ** `F' (`gnus-article-followup-with-original') and `R'
150 (`gnus-article-reply-with-original') only yank the text in the region if
151 the region is active.
152
153 ** In draft groups, `e' is now bound to `gnus-draft-edit-message'. Use `B
154 w' for `gnus-summary-edit-article' instead.
155
156 ** Article Buttons
157
158 More buttons for URLs, mail addresses, Message-IDs, Info links, man
159 pages and Emacs or Gnus related references. *Note Article Buttons::.
160 The variables `gnus-button-*-level' can be used to control the
161 appearance of all article buttons. *Note Article Button Levels::.
162
163 ** Single-part yenc encoded attachments can be decoded.
164
165 ** Picons
166
167 The picons code has been reimplemented to work in GNU Emacs--some of the
168 previous options have been removed or renamed.
169
170 Picons are small "personal icons" representing users, domain and
171 newsgroups, which can be displayed in the Article buffer. *Note
172 Picons::.
173
174 ** If the new option `gnus-treat-body-boundary' is non-`nil', a boundary
175 line is drawn at the end of the headers.
176
177 ** Signed article headers (X-PGP-Sig) can be verified with `W p'.
178
179 ** The Summary Buffer uses an arrow in the fringe to indicate the current
180 article. Use `(setq gnus-summary-display-arrow nil)' to disable it.
181
182 ** Warn about email replies to news
183
184 Do you often find yourself replying to news by email by mistake? Then
185 the new option `gnus-confirm-mail-reply-to-news' is just the thing for
186 you.
187
188 ** If the new option `gnus-summary-display-while-building' is non-`nil',
189 the summary buffer is shown and updated as it's being built.
190
191 ** The new `recent' mark `.' indicates newly arrived messages (as opposed
192 to old but unread messages).
193
194 ** Gnus supports RFC 2369 mailing list headers, and adds a number of
195 related commands in mailing list groups. *Note Mailing List::.
196
197 ** The Date header can be displayed in a format that can be read aloud in
198 English. *Note Article Date::.
199
200 ** diffs are automatically highlighted in groups matching
201 `mm-uu-diff-groups-regexp'
202
203 ** Better handling of Microsoft citation styles
204
205 Gnus now tries to recognize the mangled header block that some Microsoft
206 mailers use to indicate that the rest of the message is a citation, even
207 though it is not quoted in any way. The variable
208 `gnus-cite-unsightly-citation-regexp' matches the start of these
209 citations.
210
211 The new command `W Y f' (`gnus-article-outlook-deuglify-article') allows
212 deuglifying broken Outlook (Express) articles.
213
214 ** `gnus-article-skip-boring'
215
216 If you set `gnus-article-skip-boring' to `t', then Gnus will not scroll
217 down to show you a page that contains only boring text, which by default
218 means cited text and signature. You can customize what is skippable
219 using `gnus-article-boring-faces'.
220
221 This feature is especially useful if you read many articles that consist
222 of a little new content at the top with a long, untrimmed message cited
223 below.
224
225 ** Smileys (`:-)', `;-)' etc) are now displayed graphically in Emacs too.
226
227 Put `(setq gnus-treat-display-smileys nil)' in `~/.gnus.el' to disable
228 it.
229
230 ** Face headers handling. *Note Face::.
231
232 ** In the summary buffer, the new command `/ N' inserts new messages and `/
233 o' inserts old messages.
234
235 ** Gnus decodes morse encoded messages if you press `W m'.
236
237 ** `gnus-summary-line-format'
238
239 The default value changed to `%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n'.
240 Moreover `gnus-extra-headers', `nnmail-extra-headers' and
241 `gnus-ignored-from-addresses' changed their default so that the users
242 name will be replaced by the recipient's name or the group name posting
243 to for NNTP groups.
244
245 ** Deleting of attachments.
246
247 The command `gnus-mime-save-part-and-strip' (bound to `C-o' on MIME
248 buttons) saves a part and replaces the part with an external one.
249 `gnus-mime-delete-part' (bound to `d' on MIME buttons) removes a part.
250 It works only on back ends that support editing.
251
252 ** `gnus-default-charset'
253
254 The default value is determined from the `current-language-environment'
255 variable, instead of `iso-8859-1'. Also the `.*' item in
256 `gnus-group-charset-alist' is removed.
257
258 ** Printing capabilities are enhanced.
259
260 Gnus supports Muttprint natively with `O P' from the Summary and Article
261 buffers. Also, each individual MIME part can be printed using `p' on
262 the MIME button.
263
264 ** Extended format specs.
265
266 Format spec `%&user-date;' is added into
267 `gnus-summary-line-format-alist'. Also, user defined extended format
268 specs are supported. The extended format specs look like `%u&foo;',
269 which invokes function `gnus-user-format-function-FOO'. Because `&' is
270 used as the escape character, old user defined format `%u&' is no longer
271 supported.
272
273 ** `/ *' (`gnus-summary-limit-include-cached') is rewritten.
274
275 It was aliased to `Y c' (`gnus-summary-insert-cached-articles'). The
276 new function filters out other articles.
277
278 ** Some limiting commands accept a `C-u' prefix to negate the match.
279
280 If `C-u' is used on subject, author or extra headers, i.e., `/ s', `/
281 a', and `/ x' (`gnus-summary-limit-to-{subject,author,extra}')
282 respectively, the result will be to display all articles that do not
283 match the expression.
284
285 ** Gnus inlines external parts (message/external).
286
287
288 \f
289 * Changes in Message mode and related Gnus features
290
291 ** Delayed articles
292
293 You can delay the sending of a message with `C-c C-j' in the Message
294 buffer. The messages are delivered at specified time. This is useful
295 for sending yourself reminders. *Note Delayed Articles::.
296
297 ** If the new option `nnml-use-compressed-files' is non-`nil', the nnml
298 back end allows compressed message files.
299
300 ** The new option `gnus-gcc-mark-as-read' automatically marks Gcc articles
301 as read.
302
303 ** Externalizing of attachments
304
305 If `gnus-gcc-externalize-attachments' or
306 `message-fcc-externalize-attachments' is non-`nil', attach local files
307 as external parts.
308
309 ** The envelope sender address can be customized when using Sendmail.
310 *Note Mail Variables: (message)Mail Variables.
311
312 ** Gnus no longer generate the Sender: header automatically.
313
314 Earlier it was generated when the user configurable email address was
315 different from the Gnus guessed default user address. As the guessing
316 algorithm is rarely correct these days, and (more controversially) the
317 only use of the Sender: header was to check if you are entitled to
318 cancel/supersede news (which is now solved by Cancel Locks instead, see
319 another entry), generation of the header has been disabled by default.
320 See the variables `message-required-headers',
321 `message-required-news-headers', and `message-required-mail-headers'.
322
323 ** Features from third party `message-utils.el' added to `message.el'.
324
325 Message now asks if you wish to remove `(was: <old subject>)' from
326 subject lines (see `message-subject-trailing-was-query'). `C-c M-m' and
327 `C-c M-f' inserts markers indicating included text. `C-c C-f a' adds a
328 X-No-Archive: header. `C-c C-f x' inserts appropriate headers and a
329 note in the body for cross-postings and followups (see the variables
330 `message-cross-post-*').
331
332 ** References and X-Draft-From headers are no longer generated when you
333 start composing messages and `message-generate-headers-first' is `nil'.
334
335 ** Easy inclusion of X-Faces headers. *Note X-Face::.
336
337 ** Group Carbon Copy (GCC) quoting
338
339 To support groups that contains SPC and other weird characters, groups
340 are quoted before they are placed in the Gcc: header. This means
341 variables such as `gnus-message-archive-group' should no longer contain
342 quote characters to make groups containing SPC work. Also, if you are
343 using the string `nnml:foo, nnml:bar' (indicating Gcc into two groups)
344 you must change it to return the list `("nnml:foo" "nnml:bar")',
345 otherwise the Gcc: line will be quoted incorrectly. Note that returning
346 the string `nnml:foo, nnml:bar' was incorrect earlier, it just didn't
347 generate any problems since it was inserted directly.
348
349 ** `message-insinuate-rmail'
350
351 Adding `(message-insinuate-rmail)' and `(setq mail-user-agent
352 'gnus-user-agent)' in `.emacs' convinces Rmail to compose, reply and
353 forward messages in message-mode, where you can enjoy the power of MML.
354
355 ** `message-minibuffer-local-map'
356
357 The line below enables BBDB in resending a message:
358 (define-key message-minibuffer-local-map [(tab)]
359 'bbdb-complete-name)
360
361 ** `gnus-posting-styles'
362
363 Add a new format of match like
364 ((header "to" "larsi.*org")
365 (Organization "Somewhere, Inc."))
366 The old format like the lines below is obsolete, but still accepted.
367 (header "to" "larsi.*org"
368 (Organization "Somewhere, Inc."))
369
370 ** `message-ignored-news-headers' and `message-ignored-mail-headers'
371
372 `X-Draft-From' and `X-Gnus-Agent-Meta-Information' have been added into
373 these two variables. If you customized those, perhaps you need add
374 those two headers too.
375
376 ** Gnus supports the "format=flowed" (RFC 2646) parameter. On composing
377 messages, it is enabled by `use-hard-newlines'. Decoding format=flowed
378 was present but not documented in earlier versions.
379
380 ** The option `mm-fill-flowed' can be used to disable treatment of
381 "format=flowed" messages. Also, flowed text is disabled when sending
382 inline PGP signed messages. (New in Gnus 5.10.7)
383
384 ** Gnus supports the generation of RFC 2298 Disposition Notification
385 requests.
386
387 This is invoked with the `C-c M-n' key binding from message mode.
388
389 ** Message supports the Importance: (RFC 2156) header.
390
391 In the message buffer, `C-c C-f C-i' or `C-c C-u' cycles through the
392 valid values.
393
394 ** Gnus supports Cancel Locks in News.
395
396 This means a header `Cancel-Lock' is inserted in news posting. It is
397 used to determine if you wrote an article or not (for canceling and
398 superseding). Gnus generates a random password string the first time
399 you post a message, and saves it in your `~/.emacs' using the Custom
400 system. While the variable is called `canlock-password', it is not
401 security sensitive data. Publishing your canlock string on the web will
402 not allow anyone to be able to anything she could not already do. The
403 behavior can be changed by customizing `message-insert-canlock'.
404
405 ** Gnus supports PGP (RFC 1991/2440), PGP/MIME (RFC 2015/3156) and S/MIME
406 (RFC 2630-2633).
407
408 It needs an external S/MIME and OpenPGP implementation, but no
409 additional Lisp libraries. This add several menu items to the
410 Attachments menu, and `C-c RET' key bindings, when composing messages.
411 This also obsoletes `gnus-article-hide-pgp-hook'.
412
413 ** MML (Mime compose) prefix changed from `M-m' to `C-c C-m'.
414
415 This change was made to avoid conflict with the standard binding of
416 `back-to-indentation', which is also useful in message mode.
417
418 ** The default for `message-forward-show-mml' changed to the symbol `best'.
419
420 The behavior for the `best' value is to show MML (i.e., convert to MIME)
421 when appropriate. MML will not be used when forwarding signed or
422 encrypted messages, as the conversion invalidate the digital signature.
423
424 ** If `auto-compression-mode' is enabled, attachments are automatically
425 decompressed when activated.
426
427 ** Support for non-ASCII domain names
428
429 Message supports non-ASCII domain names in From:, To: and Cc: and will
430 query you whether to perform encoding when you try to send a message.
431 The variable `message-use-idna' controls this. Gnus will also decode
432 non-ASCII domain names in From:, To: and Cc: when you view a message.
433 The variable `gnus-use-idna' controls this.
434
435 ** You can now drag and drop attachments to the Message buffer. See
436 `mml-dnd-protocol-alist' and `mml-dnd-attach-options'. *Note MIME:
437 (message)MIME.
438
439
440 \f
441 * Changes in back ends
442
443 ** Gnus can display RSS newsfeeds as a newsgroup. *Note RSS::.
444
445 ** The nndoc back end now supports mailman digests and exim bounces.
446
447 ** Gnus supports Maildir groups.
448
449 Gnus includes a new back end `nnmaildir.el'. *Note Maildir::.
450
451 ** The nnml and nnfolder back ends store marks for each groups.
452
453 This makes it possible to take backup of nnml/nnfolder servers/groups
454 separately of `~/.newsrc.eld', while preserving marks. It also makes it
455 possible to share articles and marks between users (without sharing the
456 `~/.newsrc.eld' file) within e.g. a department. It works by storing the
457 marks stored in `~/.newsrc.eld' in a per-group file `.marks' (for nnml)
458 and `GROUPNAME.mrk' (for nnfolder, named GROUPNAME). If the
459 nnml/nnfolder is moved to another machine, Gnus will automatically use
460 the `.marks' or `.mrk' file instead of the information in
461 `~/.newsrc.eld'. The new server variables `nnml-marks-is-evil' and
462 `nnfolder-marks-is-evil' can be used to disable this feature.
463
464
465 \f
466 * Appearance
467
468 ** The menu bar item (in Group and Summary buffer) named "Misc" has been
469 renamed to "Gnus".
470
471 ** The menu bar item (in Message mode) named "MML" has been renamed to
472 "Attachments". Note that this menu also contains security related
473 stuff, like signing and encryption (*note Security: (message)Security.).
474
475 ** The tool bars have been updated to use GNOME icons in Group, Summary and
476 Message mode. You can also customize the tool bars. This is a new
477 feature in Gnus 5.10.9. (Only for Emacs, not in XEmacs.)
478
479 ** The tool bar icons are now (de)activated correctly in the group buffer,
480 see the variable `gnus-group-update-tool-bar'. Its default value
481 depends on your Emacs version. This is a new feature in Gnus 5.10.9.
482
483 \f
484 * Miscellaneous changes
485
486 ** `gnus-agent'
487
488 The Gnus Agent has seen a major updated and is now enabled by default,
489 and all nntp and nnimap servers from `gnus-select-method' and
490 `gnus-secondary-select-method' are agentized by default. Earlier only
491 the server in `gnus-select-method' was agentized by the default, and the
492 agent was disabled by default. When the agent is enabled, headers are
493 now also retrieved from the Agent cache instead of the back ends when
494 possible. Earlier this only happened in the unplugged state. You can
495 enroll or remove servers with `J a' and `J r' in the server buffer.
496 Gnus will not download articles into the Agent cache, unless you
497 instruct it to do so, though, by using `J u' or `J s' from the Group
498 buffer. You revert to the old behavior of having the Agent disabled
499 with `(setq gnus-agent nil)'. Note that putting `(gnus-agentize)' in
500 `~/.gnus.el' is not needed any more.
501
502 ** Gnus reads the NOV and articles in the Agent if plugged.
503
504 If one reads an article while plugged, and the article already exists in
505 the Agent, it won't get downloaded once more. `(setq gnus-agent-cache
506 nil)' reverts to the old behavior.
507
508 ** Dired integration
509
510 `gnus-dired-minor-mode' (see *Note Other modes::) installs key bindings
511 in dired buffers to send a file as an attachment, open a file using the
512 appropriate mailcap entry, and print a file using the mailcap entry.
513
514 ** The format spec `%C' for positioning point has changed to `%*'.
515
516 ** `gnus-slave-unplugged'
517
518 A new command which starts Gnus offline in slave mode.
519
520
521 \f
522 * For older news, see Gnus info node "New Features".
523
524 ----------------------------------------------------------------------
525 \f
526 This file is part of GNU Emacs.
527
528 GNU Emacs is free software; you can redistribute it and/or modify
529 it under the terms of the GNU General Public License as published by
530 the Free Software Foundation; either version 3, or (at your option)
531 any later version.
532
533 GNU Emacs is distributed in the hope that it will be useful,
534 but WITHOUT ANY WARRANTY; without even the implied warranty of
535 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
536 GNU General Public License for more details.
537
538 You should have received a copy of the GNU General Public License
539 along with GNU Emacs; see the file COPYING. If not, write to the
540 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
541 Boston, MA 02110-1301, USA.
542
543 \f
544 Local variables:
545 mode: outline
546 paragraph-separate: "[ \f]*$"
547 end: