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