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