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