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