* gnus-art.el (gnus-article-x-face-command): Don't examine functions if
[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 ** Better handling of Microsoft citation styles
12
13 Gnus now tries to recognize the mangled header block that some Microsoft
14 mailers use to indicate that the rest of the message is a citation, even
15 though it is not quoted in any way.  The variable
16 `gnus-cite-unsightly-citation-regexp' matches the start of these
17 citations.
18
19 ** gnus-article-skip-boring
20
21 If you set `gnus-article-skip-boring' to t, then Gnus will not scroll
22 down to show you a page that contains only boring text, which by
23 default means cited text and signature.  You can customize what is
24 skippable using `gnus-article-boring-faces'.
25
26 This feature is especially useful if you read many articles that
27 consist of a little new content at the top with a long, untrimmed
28 message cited below.
29
30 ** The format spec %C for positioning point has changed to %*.
31
32 ** The new variable `gnus-parameters' can be used to set group parameters.
33
34 Earlier this was done only via `G p' (or `G c'), which stored the
35 parameters in ~/.newsrc.eld, but via this variable you can enjoy the
36 powers of customize, and simplified backups since you set the variable
37 in ~/.emacs instead of ~/.newsrc.eld.  The variable maps regular
38 expressions matching group names to group parameters, a'la:
39
40      (setq gnus-parameters
41            '(("mail\\..*"
42               (gnus-show-threads nil)
43               (gnus-use-scoring nil))
44              ("^nnimap:\\(foo.bar\\)$"
45               (to-group . "\\1"))))
46
47 ** Smileys (":-)", ";-)" etc) are now iconized for Emacs too.
48
49 Put (setq gnus-treat-display-smileys nil) in ~/.emacs to disable it.
50
51 ** Gnus no longer generate the Sender: header automatically.
52
53 Earlier it was generated iff the user configurable email address was
54 different from the Gnus guessed default user address.  As the guessing
55 algorithm is rarely correct these days, and (more controversally) the
56 only use of the Sender: header was to check if you are entitled to
57 cancel/supersede news (which is now solved by Cancel Locks instead,
58 see another entry), generation of the header has been disabled by
59 default.  See the variables `message-required-headers',
60 `message-required-news-headers', and `message-required-mail-headers'.
61
62 ** Features from third party message-utils.el added to message.el.
63
64 Message now asks if you wish to remove "(was: <old subject>)" from
65 subject lines (see `message-subject-trailing-was-query').  C-c M-m and
66 C-c M-f inserts markers indicating included text.  C-c C-f a adds a
67 X-No-Archive: header.  C-c C-f x inserts appropriate headers and a
68 note in the body for cross-postings and followups (see the variables
69 `message-cross-post-*').
70
71 ** References and X-Draft-Headers are no longer generated when you
72    start composing messages.
73
74 ** Improved anti-spam features.
75
76 Gnus is now able to take out spam from your mail and news streams
77 using a wide variety of programs and filter rules. Among the supported
78 methods are RBL blocklists, bogofilter and white/blacklists.  Hooks
79 for easy use of external packages such as SpamAssassin and Hashcash
80 are also new.
81
82 ** Easy inclusion of X-Faces headers.
83
84 ** In the summary buffer, the new command / N inserts new messages and
85 / o inserts old messages.
86
87 ** Gnus decodes morse encoded messages if you press W m.
88
89 ** Unread count correct in nnimap groups.
90
91 The estimated number of unread articles in the group buffer should now
92 be correct for nnimap groups.  This is achieved by calling
93 `nnimap-fixup-unread-after-getting-new-news' from the
94 `gnus-setup-news-hook' (called on startup) and
95 gnus-after-getting-new-news-hook. (called after getting new mail).  If
96 you have modified those variables from the default, you may want to
97 add n-f-u-a-g-n-n again.  If you were happy with the estimate and want
98 to save some (minimal) time when getting new mail, remove the
99 function.
100
101 ** Group Carbon Copy (GCC) quoting
102
103 To support groups that contains SPC and other weird characters, groups
104 are quoted before they are placed in the Gcc: header.  This means
105 variables such as `gnus-message-archive-group' should no longer
106 contain quote characters to make groups containing SPC work.  Also, if
107 you are using the string "nnml:foo, nnml:bar" (indicating Gcc into two
108 groups) you must change it to return the list ("nnml:foo" "nnml:bar"),
109 otherwise the Gcc: line will be quoted incorrectly.  Note that
110 returning the string "nnml:foo, nnml:bar" was incorrect earlier, it
111 just didn't generate any problems since it was inserted directly.
112
113 ** ~/News/overview/ not used.
114
115 As a result of the following change, the ~/News/overview/ directory is
116 not used any more.  You can safely delete the entire hierarchy.
117
118 ** gnus-agent
119
120 The Gnus Agent has seen a major updated and is now enabled by default,
121 and all nntp and nnimap servers from gnus-select-method and
122 gnus-secondary-select-method are agentized by default. Earlier only
123 the server in gnus-select-method was agentized by the default, and the
124 agent was disabled by default.  When the agent is enabled, headers are
125 now also retrieved from the Agent cache instead of the backends when
126 possible. Earlier this only happened in the unplugged state.  You can
127 enroll or remove servers with `J a' and `J r' in the server buffer.
128 Gnus will not download articles into the Agent cache, unless you
129 instruct it to do so, though, by using `J u' or `J s' from the Group
130 buffer.  You revert to the old behaviour of having the Agent disabled
131 with `(setq gnus-agent nil)'.  Note that putting (gnus-agentize) in
132 ~/.gnus is not needed any more.
133
134 ** gnus-summary-line-format
135
136 The default value changed to "%U%R%z%I%(%[%4L: %-23,23f%]%) %s\n".
137 Moreover gnus-extra-headers, nnmail-extra-headers and
138 gnus-ignored-from-addresses changed their default so that the users
139 name will be replaced by the recipient's name or the group name
140 posting to for NNTP groups.
141
142 ** deuglify.el (gnus-article-outlook-deuglify-article)
143
144 A new file from Raymond Scholz <rscholz@zonix.de> for deuglifying
145 broken Outlook (Express) articles.
146
147 ** (require 'gnus-load)
148
149 If you use a stand-alone Gnus distribution, you'd better add (require
150 'gnus-load) into your ~/.emacs after adding the Gnus lisp directory
151 into load-path.
152
153 File gnus-load.el contains autoload commands, functions and variables,
154 some of which may not be included in distributions of Emacsen.
155
156 ** gnus-slave-unplugged
157
158 A new command which starts gnus offline in slave mode.
159
160 ** message-insinuate-rmail
161
162 Adding (message-insinuate-rmail) and (setq mail-user-agent
163 'gnus-user-agent) in .emacs convinces RMAIL to compose, reply and
164 forward messages in message-mode, where you can enjoy the power of
165 MML.
166
167 ** message-minibuffer-local-map
168
169 The line below enables BBDB in resending a message:
170
171 (define-key message-minibuffer-local-map [(tab)] 'bbdb-complete-name)
172
173 ** Externalize attachments.
174
175 If gnus-gcc-externalize-attachments (or
176 message-fcc-externalize-attachments) is non-nil, attach local files as
177 external parts.
178
179 Command gnus-mime-save-part-and-strip (bound to \C-o on MIME buttons)
180 saves a part and replaces the part with an external one. It works only
181 on back ends that support editing.
182
183 ** gnus-default-charset
184
185 The default value is determined from the current-language-environment
186 variable, instead of 'iso-8859-1. Also the ".*" item in
187 gnus-group-charset-alist is removed.
188
189 ** gnus-posting-styles
190
191 Add a new format of match like
192
193         ((header "to" "larsi.*org")
194          (Organization "Somewhere, Inc."))
195
196 The old format like the lines below is obsolete, but still accepted.
197
198         (header "to" "larsi.*org"
199          (Organization "Somewhere, Inc."))
200
201 ** message-ignored-news-headers and message-ignored-mail-headers
202
203 X-Draft-From and X-Gnus-Agent-Meta-Information have been added into
204 these two variables. If you customized those, perhaps you need add
205 those two headers too.
206
207 ** Gnus reads the NOV and articles in the Agent if plugged.
208
209 If one reads an article while plugged, and the article already exists
210 in the Agent, it won't get downloaded once more.  (setq
211 gnus-agent-cache nil) reverts to the old behavior.
212
213 ** Gnus supports the "format=flowed" (RFC 2646) parameter.
214
215 On composing messages, it is enabled by `use-hard-newlines'.  Decoding
216 format=flowed was present but not documented in earlier versions.
217
218 ** Gnus supports the generation of RFC 2298 Disposition Notification requests.
219
220 This is invoked with the C-c M-n key binding from message mode.
221
222 ** Gnus supports Maildir groups.
223
224 Gnus includes a new backend nnmaildir.el.
225
226 ** Printing capabilities are enhanced.
227
228 Gnus supports Muttprint natively with O P from the Summary and Article
229 buffers.  Also, each individual MIME part can be printed using p on
230 the MIME button.
231
232 ** Message supports the Importance: (RFC 2156) header.
233
234 In the message buffer, C-c C-f C-i or C-c C-u cycles through the valid
235 values.
236
237 ** Gnus supports Cancel Locks in News.
238
239 This means a header "Cancel-Lock" is inserted in news posting.  It is
240 used to determine if you wrote a article or not (for cancelling and
241 superseding).  Gnus generates a random password string the first time
242 you post a message, and saves it in your ~/.emacs using the Custom
243 system.  While the variable is called `canlock-password', it is not
244 security sensitive data.  Publishing your canlock string on the web
245 will not allow anyone to be able to anything she could not already do.
246 The behaviour can be changed by customizing `message-insert-canlock'.
247
248 ** Gnus supports server-side mail filtering using Sieve.
249
250 Sieve rules can be added as Group Parameters for groups, and the
251 complete Sieve script is generated using `D g' from the Group buffer,
252 and then uploaded to the server using `C-c C-l' in the generated Sieve
253 buffer.  Search the online Gnus manual for "sieve", and see the new
254 Sieve manual, for more information.
255
256 ** Extended format specs.
257
258 Format spec "%&user-date;" is added into
259 gnus-summary-line-format-alist.  Also, user defined extended format
260 specs are supported.  The extended format specs look like "%u&foo;",
261 which invokes function gnus-user-format-function-foo.  Because "&" is
262 used as the escape character, old user defined format "%u&" is no
263 longer supported.
264
265 ** `/ *' (gnus-summary-limit-include-cached) is rewritten.
266
267 It was aliased to `Y c' (gnus-summary-insert-cached-articles). The new
268 function filters out other articles.
269
270 ** Group names are treated as UTF-8 by default.
271
272 This is supposedly what USEFOR wants to migrate to.  See
273 `gnus-group-name-charset-group-alist' and
274 `gnus-group-name-charset-method-alist' for customization.
275
276 ** The nnml and nnfolder backends store marks for each groups.
277
278 This makes it possible to take backup of nnml/nnfolder servers/groups
279 separately of .newsrc.eld, while preserving marks.  It also makes it
280 possible to share articles and marks between users (without sharing
281 the .newsrc.eld file) within e.g. a department.  It works by storing
282 the marks stored in .newsrc.eld in a per-group file ".marks" (for
283 nnml) and "groupname.mrk" (for nnfolder, named "groupname").  If the
284 nnml/nnfolder is moved to another machine, Gnus will automatically use
285 the .marks or .mrk file instead of the information in .newsrc.eld.
286 The new server variables `nnml-marks-is-evil' and
287 `nnfolder-marks-is-evil' can be used to disable this feature.
288
289 ** The menu bar item (in Group and Summary buffer) named "Misc" has
290 been renamed to "Gnus".
291
292 ** The menu bar item (in Message mode) named "MML" has been renamed to
293 "Attachments".
294
295 ** gnus-group-charset-alist and gnus-group-ignored-charsets-alist.
296
297 The regexps in these variables are compared with full group names
298 instead of real group names in 5.8.  Users who customize these
299 variables should change those regexps accordingly. For example:
300
301    ("^han\\>" euc-kr) -> ("\\(^\\|:\\)han\\>" euc-kr)
302
303 ** Gnus supports PGP (RFC 1991/2440), PGP/MIME (RFC 2015/3156) and
304 ** S/MIME (RFC 2630-2633).
305 It needs an external S/MIME and OpenPGP implementation, but no additional
306 lisp libraries.
307
308 ** Gnus inlines external parts (message/external).
309
310 ** MML (Mime compose) prefix changed from `M-m' to `C-c C-m'.
311
312 This change was made to avoid conflict with the standard binding of
313 `back-to-indentation', which is also useful in message mode.
314
315 ** Bug fixes.
316
317 \f
318 * Changes in Pterodactyl Gnus (5.8/5.9)
319
320 The Gnus NEWS entries are short, but they reflect sweeping changes in
321 four areas: Article display treatment, MIME treatment,
322 internationalization and mail-fetching.
323
324 ** The mail-fetching functions have changed.  See the manual for the
325 many details.  In particular, all procmail fetching variables are gone.
326
327 If you used procmail like in
328
329 (setq nnmail-use-procmail t)
330 (setq nnmail-spool-file 'procmail)
331 (setq nnmail-procmail-directory "~/mail/incoming/")
332 (setq nnmail-procmail-suffix "\\.in")
333
334 this now has changed to 
335
336 (setq mail-sources
337       '((directory :path "~/mail/incoming/"
338                    :suffix ".in")))
339
340 More information is available in the info doc at Select Methods ->
341 Getting Mail -> Mail Sources
342
343 ** Gnus is now a MIME-capable reader.  This affects many parts of
344 Gnus, and adds a slew of new commands.  See the manual for details.
345
346 ** Gnus has also been multilingualized.  This also affects too
347 many parts of Gnus to summarize here, and adds many new variables.
348
349 ** gnus-auto-select-first can now be a function to be
350 called to position point.
351
352 ** The user can now decide which extra headers should be included in
353 summary buffers and NOV files.
354
355 ** `gnus-article-display-hook' has been removed.  Instead, a number
356 of variables starting with `gnus-treat-' have been added.
357
358 ** The Gnus posting styles have been redone again and now works in a
359 subtly different manner.
360
361 ** New web-based backends have been added: nnslashdot, nnwarchive
362 and nnultimate.  nnweb has been revamped, again, to keep up with
363 ever-changing layouts.
364
365 ** Gnus can now read IMAP mail via nnimap.
366
367 \f
368 * For older news, see Gnus info node "New Features".
369
370 ----------------------------------------------------------------------
371 Copyright information:
372
373 Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
374
375    Permission is granted to anyone to make or distribute verbatim copies
376    of this document as received, in any medium, provided that the
377    copyright notice and this permission notice are preserved,
378    thus giving the recipient permission to redistribute in turn.
379
380    Permission is granted to distribute modified versions
381    of this document, or of portions of it,
382    under the above conditions, provided also that they
383    carry prominent notices stating who last changed them.
384 \f
385 Local variables:
386 mode: outline
387 paragraph-separate: "[  \f]*$"
388 end: