GNUS NEWS -- history of user-visible changes.

Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
   2006, 2007, 2008 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Gnus bug reports to bugs@gnus.org.
For older news, see Gnus info node "New Features".


* Installation changes

** Upgrading from previous (stable) version if you have used Oort.

If you have tried Oort (the unstable Gnus branch leading to this
release) but went back to a stable version, be careful when upgrading to
this version.  In particular, you will probably want to remove all
`.marks' (nnml) and `.mrk' (nnfolder) files, so that flags are read from
your `.newsrc.eld' instead of from the `.marks'/`.mrk' file where this
release store flags.  See a later entry for more information about
marks.  Note that downgrading isn't save in general.

** Lisp files are now installed in `.../site-lisp/gnus/' by default.  It
defaulted to `.../site-lisp/' formerly.  In addition to this, the new
installer issues a warning if other Gnus installations which will shadow
the latest one are detected.  You can then remove those shadows manually
or remove them using `make remove-installed-shadows'.

** The installation directory name is allowed to have spaces and/or tabs.

** New `make.bat' for compiling and installing Gnus under MS Windows

Use `make.bat' if you want to install Gnus under MS Windows, the first
argument to the batch-program should be the directory where `xemacs.exe'
respectively `emacs.exe' is located, if you want to install Gnus after
compiling it, give `make.bat' `/copy' as the second parameter.

`make.bat' has been rewritten from scratch, it now features automatic
recognition of XEmacs and GNU Emacs, generates `gnus-load.el', checks if
errors occur while compilation and generation of info files and reports
them at the end of the build process.  It now uses `makeinfo' if it is
available and falls back to `infohack.el' otherwise.  `make.bat' should
now install all files which are necessary to run Gnus and be generally a
complete replacement for the `configure; make; make install' cycle used
under Unix systems.

The new `make.bat' makes `make-x.bat' and `xemacs.mak' superfluous, so
they have been removed.

** `~/News/overview/' not used.

As a result of the following change, the `~/News/overview/' directory is
not used any more.  You can safely delete the entire hierarchy.

** `(require 'gnus-load)'

If you use a stand-alone Gnus distribution, you'd better add `(require
'gnus-load)' into your `~/.emacs' after adding the Gnus lisp directory
into load-path.

File `gnus-load.el' contains autoload commands, functions and variables,
some of which may not be included in distributions of Emacsen.



* New packages and libraries within Gnus

** The revised Gnus FAQ is included in the manual, *Note Frequently Asked
Questions::.

** TLS wrapper shipped with Gnus

TLS/SSL is now supported in IMAP and NNTP via `tls.el' and GNUTLS.  The
old TLS/SSL support via (external third party) `ssl.el' and OpenSSL
still works.

** Improved anti-spam features.

Gnus is now able to take out spam from your mail and news streams using
a wide variety of programs and filter rules.  Among the supported
methods are RBL blocklists, bogofilter and white/blacklists.  Hooks for
easy use of external packages such as SpamAssassin and Hashcash are also
new.  *Note Thwarting Email Spam::.

** Gnus supports server-side mail filtering using Sieve.

Sieve rules can be added as Group Parameters for groups, and the
complete Sieve script is generated using `D g' from the Group buffer,
and then uploaded to the server using `C-c C-l' in the generated Sieve
buffer.  *Note Sieve Commands::, and the new Sieve manual *Note Top:
(sieve)Top.



* Changes in group mode

** `gnus-group-read-ephemeral-group' can be called interactively, using `G
M'.

** Retrieval of charters and control messages

There are new commands for fetching newsgroup charters (`H c') and
control messages (`H C').

** The new variable `gnus-parameters' can be used to set group parameters.

Earlier this was done only via `G p' (or `G c'), which stored the
parameters in `~/.newsrc.eld', but via this variable you can enjoy the
powers of customize, and simplified backups since you set the variable
in `~/.gnus.el' instead of `~/.newsrc.eld'.  The variable maps regular
expressions matching group names to group parameters, a'la:
(setq gnus-parameters
 '(("mail\\..*"
    (gnus-show-threads nil)
    (gnus-use-scoring nil))
   ("^nnimap:\\(foo.bar\\)$"
    (to-group . "\\1"))))

** Unread count correct in nnimap groups.

The estimated number of unread articles in the group buffer should now
be correct for nnimap groups.  This is achieved by calling
`nnimap-fixup-unread-after-getting-new-news' from the
`gnus-setup-news-hook' (called on startup) and
`gnus-after-getting-new-news-hook'. (called after getting new mail).  If
you have modified those variables from the default, you may want to add
`nnimap-fixup-unread-after-getting-new-news' again.  If you were happy
with the estimate and want to save some (minimal) time when getting new
mail, remove the function.

** Group names are treated as UTF-8 by default.

This is supposedly what USEFOR wanted to migrate to.  See
`gnus-group-name-charset-group-alist' and
`gnus-group-name-charset-method-alist' for customization.

** `gnus-group-charset-alist' and `gnus-group-ignored-charsets-alist'.

The regexps in these variables are compared with full group names
instead of real group names in 5.8.  Users who customize these variables
should change those regexps accordingly.  For example:
("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)

** Old intermediate incoming mail files (`Incoming*') are deleted after a
couple of days, not immediately.  *Note Mail Source Customization::.
(New in Gnus 5.10.10 / Emacs 22.2)


* Changes in summary and article mode

** `F' (`gnus-article-followup-with-original') and `R'
(`gnus-article-reply-with-original') only yank the text in the region if
the region is active.

** In draft groups, `e' is now bound to `gnus-draft-edit-message'.  Use `B
w' for `gnus-summary-edit-article' instead.

** Article Buttons

More buttons for URLs, mail addresses, Message-IDs, Info links, man
pages and Emacs or Gnus related references.  *Note Article Buttons::.
The variables `gnus-button-*-level' can be used to control the
appearance of all article buttons.  *Note Article Button Levels::.

** Single-part yenc encoded attachments can be decoded.

** Picons

The picons code has been reimplemented to work in GNU Emacs--some of the
previous options have been removed or renamed.

Picons are small "personal icons" representing users, domain and
newsgroups, which can be displayed in the Article buffer.  *Note
Picons::.

** If the new option `gnus-treat-body-boundary' is non-`nil', a boundary
line is drawn at the end of the headers.

** Signed article headers (X-PGP-Sig) can be verified with `W p'.

** The Summary Buffer uses an arrow in the fringe to indicate the current
article.  Use `(setq gnus-summary-display-arrow nil)' to disable it.

** Warn about email replies to news

Do you often find yourself replying to news by email by mistake?  Then
the new option `gnus-confirm-mail-reply-to-news' is just the thing for
you.

** If the new option `gnus-summary-display-while-building' is non-`nil',
the summary buffer is shown and updated as it's being built.

** The new `recent' mark `.' indicates newly arrived messages (as opposed
to old but unread messages).

** Gnus supports RFC 2369 mailing list headers, and adds a number of
related commands in mailing list groups.  *Note Mailing List::.

** The Date header can be displayed in a format that can be read aloud in
English.  *Note Article Date::.

** diffs are automatically highlighted in groups matching
`mm-uu-diff-groups-regexp'

** Better handling of Microsoft citation styles

Gnus now tries to recognize the mangled header block that some Microsoft
mailers use to indicate that the rest of the message is a citation, even
though it is not quoted in any way.  The variable
`gnus-cite-unsightly-citation-regexp' matches the start of these
citations.

The new command `W Y f' (`gnus-article-outlook-deuglify-article') allows
deuglifying broken Outlook (Express) articles.

** `gnus-article-skip-boring'

If you set `gnus-article-skip-boring' to `t', then Gnus will not scroll
down to show you a page that contains only boring text, which by default
means cited text and signature.  You can customize what is skippable
using `gnus-article-boring-faces'.

This feature is especially useful if you read many articles that consist
of a little new content at the top with a long, untrimmed message cited
below.

** Smileys (`:-)', `;-)' etc) are now displayed graphically in Emacs too.

Put `(setq gnus-treat-display-smileys nil)' in `~/.gnus.el' to disable
it.

** Face headers handling.  *Note Face::.

** In the summary buffer, the new command `/ N' inserts new messages and `/
o' inserts old messages.

** Gnus decodes morse encoded messages if you press `W m'.

** `gnus-summary-line-format'

The default value changed to `%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n'.
Moreover `gnus-extra-headers', `nnmail-extra-headers' and
`gnus-ignored-from-addresses' changed their default so that the users
name will be replaced by the recipient's name or the group name posting
to for NNTP groups.

** Deleting of attachments.

The command `gnus-mime-save-part-and-strip' (bound to `C-o' on MIME
buttons) saves a part and replaces the part with an external one.
`gnus-mime-delete-part' (bound to `d' on MIME buttons) removes a part.
It works only on back ends that support editing.

** `gnus-default-charset'

The default value is determined from the `current-language-environment'
variable, instead of `iso-8859-1'.  Also the `.*' item in
`gnus-group-charset-alist' is removed.

** Printing capabilities are enhanced.

Gnus supports Muttprint natively with `O P' from the Summary and Article
buffers.  Also, each individual MIME part can be printed using `p' on
the MIME button.

** Extended format specs.

Format spec `%&user-date;' is added into
`gnus-summary-line-format-alist'.  Also, user defined extended format
specs are supported.  The extended format specs look like `%u&foo;',
which invokes function `gnus-user-format-function-FOO'.  Because `&' is
used as the escape character, old user defined format `%u&' is no longer
supported.

** `/ *' (`gnus-summary-limit-include-cached') is rewritten.

It was aliased to `Y c' (`gnus-summary-insert-cached-articles').  The
new function filters out other articles.

** Some limiting commands accept a `C-u' prefix to negate the match.

If `C-u' is used on subject, author or extra headers, i.e., `/ s', `/
a', and `/ x' (`gnus-summary-limit-to-{subject,author,extra}')
respectively, the result will be to display all articles that do not
match the expression.

** Gnus inlines external parts (message/external).



* Changes in Message mode and related Gnus features

** Delayed articles

You can delay the sending of a message with `C-c C-j' in the Message
buffer.  The messages are delivered at specified time.  This is useful
for sending yourself reminders.  *Note Delayed Articles::.

** If the new option `nnml-use-compressed-files' is non-`nil', the nnml
back end allows compressed message files.

** The new option `gnus-gcc-mark-as-read' automatically marks Gcc articles
as read.

** Externalizing of attachments

If `gnus-gcc-externalize-attachments' or
`message-fcc-externalize-attachments' is non-`nil', attach local files
as external parts.

** The envelope sender address can be customized when using Sendmail.
 *Note Mail Variables: (message)Mail Variables.

** Gnus no longer generate the Sender: header automatically.

Earlier it was generated when the user configurable email address was
different from the Gnus guessed default user address.  As the guessing
algorithm is rarely correct these days, and (more controversially) the
only use of the Sender: header was to check if you are entitled to
cancel/supersede news (which is now solved by Cancel Locks instead, see
another entry), generation of the header has been disabled by default.
See the variables `message-required-headers',
`message-required-news-headers', and `message-required-mail-headers'.

** Features from third party `message-utils.el' added to `message.el'.

Message now asks if you wish to remove `(was: <old subject>)' from
subject lines (see `message-subject-trailing-was-query').  `C-c M-m' and
`C-c M-f' inserts markers indicating included text.  `C-c C-f a' adds a
X-No-Archive: header.  `C-c C-f x' inserts appropriate headers and a
note in the body for cross-postings and followups (see the variables
`message-cross-post-*').

** References and X-Draft-From headers are no longer generated when you
start composing messages and `message-generate-headers-first' is `nil'.

** Easy inclusion of X-Faces headers.  *Note X-Face::.

** Group Carbon Copy (GCC) quoting

To support groups that contains SPC and other weird characters, groups
are quoted before they are placed in the Gcc: header.  This means
variables such as `gnus-message-archive-group' should no longer contain
quote characters to make groups containing SPC work.  Also, if you are
using the string `nnml:foo, nnml:bar' (indicating Gcc into two groups)
you must change it to return the list `("nnml:foo" "nnml:bar")',
otherwise the Gcc: line will be quoted incorrectly.  Note that returning
the string `nnml:foo, nnml:bar' was incorrect earlier, it just didn't
generate any problems since it was inserted directly.

** `message-insinuate-rmail'

Adding `(message-insinuate-rmail)' and `(setq mail-user-agent
'gnus-user-agent)' in `.emacs' convinces Rmail to compose, reply and
forward messages in message-mode, where you can enjoy the power of MML.

** `message-minibuffer-local-map'

The line below enables BBDB in resending a message:
(define-key message-minibuffer-local-map [(tab)]
  'bbdb-complete-name)

** `gnus-posting-styles'

Add a new format of match like
((header "to" "larsi.*org")
 (Organization "Somewhere, Inc."))
The old format like the lines below is obsolete, but still accepted.
(header "to" "larsi.*org"
   (Organization "Somewhere, Inc."))

** `message-ignored-news-headers' and `message-ignored-mail-headers'

`X-Draft-From' and `X-Gnus-Agent-Meta-Information' have been added into
these two variables.  If you customized those, perhaps you need add
those two headers too.

** Gnus supports the "format=flowed" (RFC 2646) parameter.  On composing
messages, it is enabled by `use-hard-newlines'.  Decoding format=flowed
was present but not documented in earlier versions.

** The option `mm-fill-flowed' can be used to disable treatment of
"format=flowed" messages.  Also, flowed text is disabled when sending
inline PGP signed messages.  (New in Gnus 5.10.7)

** Gnus supports the generation of RFC 2298 Disposition Notification
requests.

This is invoked with the `C-c M-n' key binding from message mode.

** Message supports the Importance: (RFC 2156) header.

In the message buffer, `C-c C-f C-i' or `C-c C-u' cycles through the
valid values.

** Gnus supports Cancel Locks in News.

This means a header `Cancel-Lock' is inserted in news posting.  It is
used to determine if you wrote an article or not (for canceling and
superseding).  Gnus generates a random password string the first time
you post a message, and saves it in your `~/.emacs' using the Custom
system.  While the variable is called `canlock-password', it is not
security sensitive data.  Publishing your canlock string on the web will
not allow anyone to be able to anything she could not already do.  The
behavior can be changed by customizing `message-insert-canlock'.

** Gnus supports PGP (RFC 1991/2440), PGP/MIME (RFC 2015/3156) and S/MIME
(RFC 2630-2633).

It needs an external S/MIME and OpenPGP implementation, but no
additional Lisp libraries.  This add several menu items to the
Attachments menu, and `C-c RET' key bindings, when composing messages.
This also obsoletes `gnus-article-hide-pgp-hook'.

** MML (Mime compose) prefix changed from `M-m' to `C-c C-m'.

This change was made to avoid conflict with the standard binding of
`back-to-indentation', which is also useful in message mode.

** The default for `message-forward-show-mml' changed to the symbol `best'.

The behavior for the `best' value is to show MML (i.e., convert to MIME)
when appropriate.  MML will not be used when forwarding signed or
encrypted messages, as the conversion invalidate the digital signature.

** If `auto-compression-mode' is enabled, attachments are automatically
decompressed when activated.

** Support for non-ASCII domain names

Message supports non-ASCII domain names in From:, To: and Cc: and will
query you whether to perform encoding when you try to send a message.
The variable `message-use-idna' controls this.  Gnus will also decode
non-ASCII domain names in From:, To: and Cc: when you view a message.
The variable `gnus-use-idna' controls this.

** You can now drag and drop attachments to the Message buffer.  See
`mml-dnd-protocol-alist' and `mml-dnd-attach-options'.  *Note MIME:
(message)MIME.

** `auto-fill-mode' is enabled by default in Message mode.  See
`message-fill-column'.  *Note Message Headers: (message)Various Message
Variables.  (New in Gnus 5.10.12 / Emacs 22.3)



* Changes in back ends

** Gnus can display RSS newsfeeds as a newsgroup.  *Note RSS::.

** The nndoc back end now supports mailman digests and exim bounces.

** Gnus supports Maildir groups.

Gnus includes a new back end `nnmaildir.el'.  *Note Maildir::.

** The nnml and nnfolder back ends store marks for each groups.

This makes it possible to take backup of nnml/nnfolder servers/groups
separately of `~/.newsrc.eld', while preserving marks.  It also makes it
possible to share articles and marks between users (without sharing the
`~/.newsrc.eld' file) within e.g. a department.  It works by storing the
marks stored in `~/.newsrc.eld' in a per-group file `.marks' (for nnml)
and `GROUPNAME.mrk' (for nnfolder, named GROUPNAME).  If the
nnml/nnfolder is moved to another machine, Gnus will automatically use
the `.marks' or `.mrk' file instead of the information in
`~/.newsrc.eld'.  The new server variables `nnml-marks-is-evil' and
`nnfolder-marks-is-evil' can be used to disable this feature.



* Appearance

** The menu bar item (in Group and Summary buffer) named "Misc" has been
renamed to "Gnus".

** The menu bar item (in Message mode) named "MML" has been renamed to
"Attachments".  Note that this menu also contains security related
stuff, like signing and encryption (*note Security: (message)Security.).

** The tool bars have been updated to use GNOME icons in Group, Summary and
Message mode.  You can also customize the tool bars: `M-x customize-apropos
RET -tool-bar$' should get you started.  (Only for Emacs, not in XEmacs.)

** The tool bar icons are now (de)activated correctly in the group buffer,
see the variable `gnus-group-update-tool-bar'.  Its default value
depends on your Emacs version.  This is a new feature in Gnus 5.10.9.


* Miscellaneous changes

** `gnus-agent'

The Gnus Agent has seen a major updated and is now enabled by default,
and all nntp and nnimap servers from `gnus-select-method' and
`gnus-secondary-select-method' are agentized by default.  Earlier only
the server in `gnus-select-method' was agentized by the default, and the
agent was disabled by default.  When the agent is enabled, headers are
now also retrieved from the Agent cache instead of the back ends when
possible.  Earlier this only happened in the unplugged state.  You can
enroll or remove servers with `J a' and `J r' in the server buffer.
Gnus will not download articles into the Agent cache, unless you
instruct it to do so, though, by using `J u' or `J s' from the Group
buffer.  You revert to the old behavior of having the Agent disabled
with `(setq gnus-agent nil)'.  Note that putting `(gnus-agentize)' in
`~/.gnus.el' is not needed any more.

** Gnus reads the NOV and articles in the Agent if plugged.

If one reads an article while plugged, and the article already exists in
the Agent, it won't get downloaded once more.  `(setq gnus-agent-cache
nil)' reverts to the old behavior.

** Dired integration

`gnus-dired-minor-mode' (see *Note Other modes::) installs key bindings
in dired buffers to send a file as an attachment, open a file using the
appropriate mailcap entry, and print a file using the mailcap entry.

** The format spec `%C' for positioning point has changed to `%*'.

** `gnus-slave-unplugged'

A new command which starts Gnus offline in slave mode.



* For older news, see Gnus info node "New Features".

----------------------------------------------------------------------

This file is part of GNU Emacs.

GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.


Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
end:
