+*** The new command `bibtex-entry-update' (bound to C-c C-u) updates
+an existing BibTeX entry.
+
+*** New `bibtex-entry-format' option `required-fields', enabled by default.
+
+*** `bibtex-maintain-sorted-entries' can take values `plain',
+`crossref', and `entry-class' which control the sorting scheme used
+for BibTeX entries. `bibtex-sort-entry-class' controls the sorting
+scheme `entry-class'. TAB completion for reference keys and
+automatic detection of duplicates does not require anymore that
+`bibtex-maintain-sorted-entries' is non-nil.
+
+*** If the new variable `bibtex-parse-keys-fast' is non-nil,
+use fast but simplified algorithm for parsing BibTeX keys.
+
+*** If the new variable `bibtex-autoadd-commas' is non-nil,
+automatically add missing commas at end of BibTeX fields.
+
+*** The new variable `bibtex-autofill-types' contains a list of entry
+types for which fields are filled automatically (if possible).
+
+*** The new command `bibtex-complete' completes word fragment before
+point according to context (bound to M-tab).
+
+*** The new commands `bibtex-find-entry' and `bibtex-find-crossref'
+locate entries and crossref'd entries (bound to C-c C-s and C-c C-x).
+Crossref fields are clickable (bound to mouse-2, RET).
+
+*** In BibTeX mode the command `fill-paragraph' (M-q) fills
+individual fields of a BibTeX entry.
+
+*** The new variables `bibtex-files' and `bibtex-file-path' define a set
+of BibTeX files that are searched for entry keys.
+
+*** The new command `bibtex-validate-globally' checks for duplicate keys
+in multiple BibTeX files.
+
+*** The new command `bibtex-copy-summary-as-kill' pushes summary
+of BibTeX entry to kill ring (bound to C-c C-t).
+
++++
+** In Enriched mode, `set-left-margin' and `set-right-margin' are now
+by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
+and `C-c C-r'.
+
+** GUD changes:
+
++++
+*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program
+counter to the specified source line (the one where point is).
+
+---
+*** GUD mode has its own tool bar for controlling execution of the inferior
+and other common debugger commands.
+
++++
+*** The new package gdb-ui.el provides an enhanced graphical interface to
+GDB. You can interact with GDB through the GUD buffer in the usual way, but
+there are also further buffers which control the execution and describe the
+state of your program. It can separate the input/output of your program from
+that of GDB and watches expressions in the speedbar. It also uses features of
+Emacs 21/22 such as the the toolbar, and bitmaps in the fringe to indicate
+breakpoints.
+
+Use M-x gdb to start GDB-UI.
+
+*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be
+toggled independently of normal tooltips with the minor mode
+`gud-tooltip-mode'.
+
++++
+*** In graphical mode, with a C program, GUD Tooltips have been extended to
+display the #define directive associated with an identifier when program is
+not executing.
+
+---
+** GUD mode improvements for jdb:
+
+*** Search for source files using jdb classpath and class
+ information. Fast startup since there is no need to scan all
+ source files up front. There is also no need to create and maintain
+ lists of source directories to scan. Look at `gud-jdb-use-classpath'
+ and `gud-jdb-classpath' customization variables documentation.
+
+*** Supports the standard breakpoint (gud-break, gud-clear)
+ set/clear operations from java source files under the classpath, stack
+ traversal (gud-up, gud-down), and run until current stack finish
+ (gud-finish).
+
+*** Supports new jdb (Java 1.2 and later) in addition to oldjdb
+ (Java 1.1 jdb).
+
+*** The previous method of searching for source files has been
+ preserved in case someone still wants/needs to use it.
+ Set `gud-jdb-use-classpath' to nil.
+
+ Added Customization Variables
+
+*** `gud-jdb-command-name'. What command line to use to invoke jdb.
+
+*** `gud-jdb-use-classpath'. Allows selection of java source file searching
+ method: set to t for new method, nil to scan `gud-jdb-directories' for
+ java sources (previous method).
+
+*** `gud-jdb-directories'. List of directories to scan and search for java
+ classes using the original gud-jdb method (if `gud-jdb-use-classpath'
+ is nil).
+
+ Minor Improvements
+
+*** The STARTTLS wrapper (starttls.el) can now use GNUTLS
+instead of the OpenSSL based `starttls' tool. For backwards
+compatibility, it prefers `starttls', but you can toggle
+`starttls-use-gnutls' to switch to GNUTLS (or simply remove the
+`starttls' tool).
+
+*** Do not allow debugger output history variable to grow without bounds.
+
+** Auto-Revert changes:
+
++++
+*** You can now use Auto Revert mode to `tail' a file.
+
+If point is at the end of a file buffer before reverting, Auto Revert
+mode keeps it at the end after reverting. Similarly if point is
+displayed at the end of a file buffer in any window, it stays at
+the end of the buffer in that window. This allows to tail a file:
+just put point at the end of the buffer and it stays there. This
+rule applies to file buffers. For non-file buffers, the behavior can
+be mode dependent.
+
+If you are sure that the file will only change by growing at the end,
+then you can tail the file more efficiently by using the new minor
+mode Auto Revert Tail mode. The function `auto-revert-tail-mode'
+toggles this mode.
+
++++
+*** Auto Revert mode is now more careful to avoid excessive reverts and
+other potential problems when deciding which non-file buffers to
+revert. This matters especially if Global Auto Revert mode is enabled
+and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert
+mode only reverts a non-file buffer if the buffer has a non-nil
+`revert-buffer-function' and a non-nil `buffer-stale-function', which
+decides whether the buffer should be reverted. Currently, this means
+that auto reverting works for Dired buffers (although this may not
+work properly on all operating systems) and for the Buffer Menu.
+
++++
+*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto
+Revert mode reliably updates version control info (such as the version
+control number in the mode line), in all version controlled buffers in
+which it is active. If the option is nil, the default, then this info
+only gets updated whenever the buffer gets reverted.
+
+---
+** recentf changes.
+
+The recent file list is now automatically cleanup when recentf mode is
+enabled. The new option `recentf-auto-cleanup' controls when to do
+automatic cleanup.
+
+The `recentf-keep' option replaces `recentf-keep-non-readable-files-p'
+and provides a more general mechanism to customize which file names to
+keep in the recent list.
+
+With the more advanced option: `recentf-filename-handler', you can
+specify a function that transforms filenames handled by recentf. For
+example, if set to `file-truename', the same file will not be in the
+recent list with different symbolic links.
+
+To follow naming convention, `recentf-menu-append-commands-flag'
+replaces the misnamed option `recentf-menu-append-commands-p'. The
+old name remains available as alias, but has been marked obsolete.
+
++++
+** Desktop package
+
++++
+*** Desktop saving is now a minor mode, `desktop-save-mode'.
+
++++
+*** The variable `desktop-enable' is obsolete.
+
+Customize `desktop-save-mode' to enable desktop saving.
+
+---
+*** Buffers are saved in the desktop file in the same order as that in the
+buffer list.
+
++++
+*** The desktop package can be customized to restore only some buffers
+immediately, remaining buffers are restored lazily (when Emacs is
+idle).
+
++++
+*** New commands:
+ - desktop-revert reverts to the last loaded desktop.
+ - desktop-change-dir kills current desktop and loads a new.
+ - desktop-save-in-desktop-dir saves desktop in the directory from which
+ it was loaded.
+ - desktop-lazy-complete runs the desktop load to completion.
+ - desktop-lazy-abort aborts lazy loading of the desktop.
+
+---
+*** New customizable variables:
+ - desktop-save. Determins whether the desktop should be saved when it is
+ killed.
+ - desktop-file-name-format. Format in which desktop file names should be saved.
+ - desktop-path. List of directories in which to lookup the desktop file.
+ - desktop-locals-to-save. List of local variables to save.
+ - desktop-globals-to-clear. List of global variables that `desktop-clear' will clear.
+ - desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear'
+ should not delete.
+ - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are
+ restored lazily (when Emacs is idle).
+ - desktop-lazy-verbose. Verbose reporting of lazily created buffers.
+ - desktop-lazy-idle-delay. Idle delay before starting to create buffers.
+
++++
+*** New command line option --no-desktop
+
+---
+*** New hooks:
+ - desktop-after-read-hook run after a desktop is loaded.
+ - desktop-no-desktop-file-hook run when no desktop file is found.
+
+---
+** The saveplace.el package now filters out unreadable files.
+
+When you exit Emacs, the saved positions in visited files no longer
+include files that aren't readable, e.g. files that don't exist.
+Customize the new option `save-place-forget-unreadable-files' to nil
+to get the old behavior. The new options `save-place-save-skipped'
+and `save-place-skip-check-regexp' allow further fine-tuning of this
+feature.
+
+** EDiff changes.
+
++++
+*** When comparing directories.
+Typing D brings up a buffer that lists the differences between the contents of
+directories. Now it is possible to use this buffer to copy the missing files
+from one directory to another.
+
++++
+*** When comparing files or buffers.
+Typing the = key now offers to perform the word-by-word comparison of the
+currently highlighted regions in an inferior Ediff session. If you answer 'n'
+then it reverts to the old behavior and asks the user to select regions for
+comparison.
+
++++
+*** The new command `ediff-backup' compares a file with its most recent
+backup using `ediff'. If you specify the name of a backup file,
+`ediff-backup' compares it with the file of which it is a backup.
+
++++
+** Etags changes.
+
+*** New regular expressions features
+
+**** New syntax for regular expressions, multi-line regular expressions.
+
+The syntax --ignore-case-regexp=/regex/ is now undocumented and retained
+only for backward compatibility. The new equivalent syntax is
+--regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS,
+where `/TAGNAME' is optional, as usual, and MODS is a string of 0 or
+more characters among `i' (ignore case), `m' (multi-line) and `s'
+(single-line). The `m' and `s' modifiers behave as in Perl regular
+expressions: `m' allows regexps to match more than one line, while `s'
+(which implies `m') means that `.' matches newlines. The ability to
+span newlines allows writing of much more powerful regular expressions
+and rapid prototyping for tagging new languages.
+
+**** Regular expressions can use char escape sequences as in GCC.
+
+The escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v,
+respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL,
+CR, TAB, VT,
+
+**** Regular expressions can be bound to a given language.
+
+The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags
+only for files of language LANGUAGE, and ignored otherwise. This is
+particularly useful when storing regexps in a file.
+
+**** Regular expressions can be read from a file.
+
+The --regex=@regexfile option means read the regexps from a file, one
+per line. Lines beginning with space or tab are ignored.
+
+*** New language parsing features
+
+**** The `::' qualifier triggers C++ parsing in C file.
+
+Previously, only the `template' and `class' keywords had this effect.
+
+**** The GCC __attribute__ keyword is now recognised and ignored.
+
+**** New language HTML.
+
+Tags are generated for `title' as well as `h1', `h2', and `h3'. Also,
+when `name=' is used inside an anchor and whenever `id=' is used.
+
+**** In Makefiles, constants are tagged.
+
+If you want the old behavior instead, thus avoiding to increase the
+size of the tags file, use the --no-globals option.
+
+**** New language Lua.
+
+All functions are tagged.
+
+**** In Perl, packages are tags.
+
+Subroutine tags are named from their package. You can jump to sub tags
+as you did before, by the sub name, or additionally by looking for
+package::sub.
+
+**** In Prolog, etags creates tags for rules in addition to predicates.
+
+**** New language PHP.
+
+Functions, classes and defines are tags. If the --members option is
+specified to etags, variables are tags also.
+
+**** New default keywords for TeX.
+
+The new keywords are def, newcommand, renewcommand, newenvironment and
+renewenvironment.
+
+*** Honour #line directives.
+
+When Etags parses an input file that contains C preprocessor's #line
+directives, it creates tags using the file name and line number
+specified in those directives. This is useful when dealing with code
+created from Cweb source files. When Etags tags the generated file, it
+writes tags pointing to the source file.
+
+*** New option --parse-stdin=FILE.
+
+This option is mostly useful when calling etags from programs. It can
+be used (only once) in place of a file name on the command line. Etags
+reads from standard input and marks the produced tags as belonging to
+the file FILE.