When you add a new item, use the appropriate mark if you are sure it applies,
otherwise leave it unmarked.
+\f
+* Installation Changes in Emacs 25.2
+
+\f
+* Startup Changes in Emacs 25.2
+
+\f
+* Changes in Emacs 25.2
+
+---
+** `align-regexp' has a separate history for its interactive argument
+`align-regexp' no longer shares its history with all other
+history-less functions that use `read-string'
+
++++
+** The networking code has been reworked so that it's more
+asynchronous than it was (when specifying :nowait t in
+`make-network-process'). How asynchronous it is varies based on the
+capabilities of the system, but on a typical GNU/Linux system the DNS
+resolution, the connection, and (for TLS streams) the TLS negotiation
+are all done without blocking the main Emacs thread. To get
+asynchronous TLS, the TLS boot parameters have to be passed in (see
+the manual for details).
+
+Certain process oriented functions (like `process-datagram-address')
+will block until socket setup has been performed. The recommended way
+to deal with asynchronous sockets is to avoid interacting with them
+until they have changed status to "run". This is most easily done
+from a process sentinel.
+
+** `make-network-stream' has always allowed :service to be specified
+as a "number string" (i.e., :service "993") when using gethostbyname,
+but has required using a real number (i.e., :service 993) on systems
+without gethostbyname. This difference has now been eliminated, and
+you can use "number strings" on all systems.
+
+** It is possible to disable attempted recovery on fatal signals
+
+Two new variables allow to disable attempts to recover from stack
+overflow and to avoid automatic auto-save when Emacs is delivered a
+fatal signal. `attempt-stack-overflow-recovery', if set to `nil',
+will disable attempts to recover from C stack overflows; Emacs will
+then crash as with any other fatal signal.
+`attempt-orderly-shutdown-on-fatal-signal', if set to `nil', will
+disable attempts to auto-save the session and shut down in an orderly
+fashion when Emacs receives a fatal signal; instead, Emacs will
+terminate immediately. Both variables are non-`nil' by default.
+These variables are for users who would like to avoid the small
+probability of data corruption due to techniques Emacs uses to recover
+in these situations.
+
+\f
+* Editing Changes in Emacs 25.2
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 25.2
+
+** eww
+
++++
+*** A new `s' command for switching to another eww buffer via the minibuffer.
+
+---
+*** The `o' command (`shr-save-contents') has moved to `O' to avoid collision
+with the `o' command from `image-map'.
+
++++
+** The commands that add ChangeLog entries now prefer a VCS root directory
+for the ChangeLog file, if none already exists. Customize
+`change-log-directory-files' to nil for the old behavior.
+
+---
+** Support for non-string values of `time-stamp-format' has been removed.
+
+** Tramp
+
++++
+*** New connection method "sg", which allows to edit files under
+different group ID.
+
++++
+*** New connection method "doas" for OpenBSD hosts.
+
+\f
+* New Modes and Packages in Emacs 25.2
+
+\f
+* Incompatible Lisp Changes in Emacs 25.2
+
++++
+** Resizing a frame no longer runs `window-configuration-change-hook'.
+Put your function on `window-size-change-functions' instead.
+
+\f
+* Lisp Changes in Emacs 25.2
+
+** New var syntax-ppss-table to control the syntax-table used in syntax-ppss
+
+** Autoload files can be generated without timestamps,
+by setting `autoload-timestamps' to nil.
+
+** `ert-with-function-mocked' of 'ert-x package allows mocking of functions
+in unit tests.
+
++++
+** New functions `window-pixel-width-before-size-change' and
+`window-pixel-height-before-size-change' allow to detect which window
+changed size when `window-size-change-functions' are run.
+
+\f
+* Changes in Emacs 25.2 on Non-Free Operating Systems
+
+** Intercepting hotkeys on Windows 7 and later now works better.
+The new keyboard hooking code properly grabs system hotkeys such as
+Win-* and Alt-TAB, in a way that Emacs can get at them before the
+system. This makes the `w32-register-hot-key' functionality work
+again on all versions of MS-Windows starting with Windows 7. On
+Windows NT and later you can now register any hotkey combination. (On
+Windows 9X, the previous limitations, spelled out in the Emacs manual,
+still apply.)
+
\f
* Installation Changes in Emacs 25.1
added via the new Network Security Manager (NSM) and controlled via
the `network-security-level' variable.
+---
+** International domain names (IDNA) are now encoded via the new
+puny.el library, so that one can visit web sites like
+"http://méxico.icom.museum".
+
+++
** C-h l now also lists the commands that were run.
+** The new M-s M-w key binding uses eww to search the web for the
+text in the region.
+
+++
-** x-select-enable-clipboard is renamed select-enable-clipboard
-and x-select-enable-primary is renamed select-enable-primary.
+** The new `timer-list' command lists all active timers in a buffer
+where you can cancel them with the `c' command.
+
+** M-x suggests shorthands and ignores obsolete commands for completion.
+** x-select-enable-clipboard is renamed select-enable-clipboard.
+x-select-enable-primary and renamed select-enable-primary.
Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
name it), with the proviso that on some systems (e.g. Windows)
select-enable-primary is ineffective since the system doesn't
** The option `even-window-heights' has been renamed to
`even-window-sizes' and now handles window widths as well.
++++
+** New function `read-multiple-choice' use to prompt for
+multiple-choice questions, with a handy way to display help texts.
+
+++
** terpri gets an optional arg ENSURE to conditionally output a newline.
hiding character but the default `.' can be used by let-binding the
variable `read-hide-char'.
-+++
-** The Emacs pseudo-random number generator can be securely seeded.
-On system where Emacs can access the system entropy or some other
-cryptographically secure random stream, it now uses that when `random'
-is called with its argument `t'. This allows cryptographically strong
-random values; in particular, the Emacs server now uses this facility
-to produce its authentication key.
-
---
** New input methods: `tamil-dvorak' and `programmer-dvorak'.
** New minor mode global-eldoc-mode is enabled by default.
---
-** Emacs now supports "bracketed paste mode" when running on a terminal
-that supports it. This facility allows Emacs to understand pasted
-chunks of text as strings to be inserted, instead of interpreting each
-character in the pasted text as actual user input. This results in a
-paste experience similar to that under a window system, and significant
-performance improvements when pasting large amounts of text.
+** Emacs now uses "bracketed paste mode" on text terminals that support it.
+Bracketed paste mode causes text terminals to wrap pasted text in special
+escape sequences that allow Emacs to tell the difference between text
+you type and text you paste from other applications. Emacs then
+avoids interpreting each character in the pasted text as it does with
+keyboard input, which results in a paste experience similar to that
+under a window system, and significant performance improvements when
+pasting large amounts of text.
+
+Bracketed paste mode is disabled by default, so Emacs automatically
+enables it at startup if the terminal supports it.
+++
** Emacs now supports the latest version of the UBA.
unsaved customizations and prompts user to customize (if found). It
is intended for adding to 'kill-emacs-query-functions'.
++++
+** The old `C-x w' bindings in hi-lock-mode are officially deprecated
+in favor of the global `M-s h' bindings introduced in Emacs-23.1.
+They'll disappear soon.
+
++++
+** New bindings for 'query-replace-map'.
+`undo', undo the last replacement; bound to `u'.
+`undo-all', undo all replacements; bound to `U'.
+
\f
* Changes in Specialized Modes and Packages in Emacs 25.1
It raises an error if a bookmark of that name already exists,
unlike `bookmark-set' which silently updates an existing bookmark.
+** Gnus
+
++++
+*** New user options `mm-html-inhibit-images' and `mm-html-blocked-images'
+now control how mm-* functions fetch and display images in an HTML
+message. Gnus still uses `gnus-inhibit-images' and `gnus-blocked-images'
+for that purpose, i.e., binds mm-html- variables with those gnus-
+variables, but other packages do not have to bind gnus- variables now.
+
+---
+*** `mm-inline-text-html-with-images' has been removed.
+Use `mm-html-inhibit-images' instead. Note that the value is opposite
+in meaning.
+
** IMAP
---
`erc-network-hide-list' and `erc-channel-hide-list' will only hide the
specified message types for the respective specified targets.
+*** New variable `erc-default-port-tls' used to connect to TLS IRC
+servers.
+
---
*** Reconnection is now asynchronous.
+---
+*** Nick completion is now case-insensitive again after inadvertently
+being made case-sensitive in Emacs 24.2.
+
+** MPC
+
+---
+*** New commands, key binds, and menu items.
+
+**** `<' and `>' for navigating previous and next tracks in playlist
+
+**** New play/pause command `mpc-toggle-play' bound to `s'
+
+**** `g' bound to new command `mpc-seek-current' will navigate current
+ track.
+
+**** New commands `mpc-toggle-{consume,repeat,single,shuffle}' for
+ toggling playback modes.
+
+---
+*** Now supports connecting to a UNIX domain socket.
+
+---
+*** Looks at more image file names to use as album art.
+Case-insensitively tries for .folder.png (freedesktop) and folder.jpg
+(XP) in addition to cover.jpg.
+
+---
+*** Searches in more locations for MPD configuration files.
+MPD supports the XDG base directory specification since version 0.17.6.
+
** Midnight-mode
---
dependencies). This variable can also be manually customized.
---
-*** New command `package-install-user-selected-packages' installs all
+*** New command `package-install-selected-packages' installs all
packages from `package-selected-packages' which are currently missing.
---
** Search and Replace
-+++
-*** New user option `search-default-regexp-mode'
-specifies the default mode for I-search.
-
+++
*** `isearch' and `query-replace' can now perform character folding in matches.
Isearch does that by default, while `query-replace' will do that if
those composed of multiple characters, as well as many other symbols
like ℀, ℁, ⒜, and ⓐ.
+Character folding is enabled by customizing `search-default-mode' to
+the value `character-fold-to-regexp'. If you want to turn character
+folding off, customize the value of `search-default-mode' to the `nil'
+value. You can also toggle character folding in the middle of a
+search by typing `M-s ''.
+
++++
+*** New user option `search-default-mode'.
+This option specifies the default mode for Isearch. The default
+value, `character-fold-to-regexp' specifies that Isearch should fold
+characters when searching.
+
+++
*** New function `character-fold-to-regexp' can be used
by searching commands to produce a regexp matching anything that
whether to use variable-pitch fonts or not. The user can also
customize the `shr-use-fonts' variable.
++++
+*** A new command `C' (`eww-toggle-colors') can be used to toggle
+whether to use the HTML-specified colors or not. The user can also
+customize the `shr-use-colors' variable.
+
+++
*** A new command `R' (`eww-readable') will try do identify the main
textual parts of a web page and display only that, leaving menus and
the like off the page.
+---
+*** Images that are being loaded are now marked with grey
+"placeholder" images of the size specified by the HTML. They are then
+replaced by the real images asynchronously, which will also now
+respect width/height HTML specs (unless they specify widths/heights
+bigger than the current window).
+
---
*** You can now use several eww buffers in parallel by renaming eww
buffers you want to keep separate.
*** text/html messages that contain inline image parts will be
transformed into multipart/related messages before sending.
+---
+*** The `message-valid-fqdn-regexp' variable has been removed, since
+there are now top-level domains added all the time. Message will no
+longer warn about sending emails to top-level domains it hasn't heard
+about.
+
+*** `message-beginning-of-line' (bound to C-a) understands folded headers.
+In `visual-line-mode' it will look for the true beginning of a header
+while in non-`visual-line-mode' it will move the point to the indented
+header’s value.
+
+++
** In Show Paren Mode, a parenthesis can be highlighted when point
stands inside it, and certain parens can be highlighted when point is
respectively, `show-paren-when-point-inside-paren' or
`show-paren-when-point-in-periphery'.
+---
+** If gpg2 exists on the system, it is now used as the default value
+of `epg-gpg-program' (instead of gpg).
+
+** Images
+
++++
+*** Images are automatically scaled before displaying based on the
+`image-scaling-factor' variable (if Emacs supports scaling the images
+in question).
+
++++
+*** Images inserted with `insert-image' and related functions get a
+keymap put into the text properties (or overlays) that span the
+image. This keymap binds keystrokes for manipulating size and
+rotation, as well as saving the image to a file. These commands are
+also available in `image-mode'.
+
++++
+*** A new library for creating and manipulating SVG images has been
+added. See the "SVG Images" section in the lispref manual for
+details.
+
++++
+*** New setf-able function to access and set image parameters is
+provided: `image-property'.
+
+
** Lisp mode
---
---
** New js.el option `js-indent-first-init'.
+It was renamed from `js-indent-first-initialiser', to avoid issues
+with American vs British spelling.
** Info
plist will contain a :peer element that has the output of
`gnutls-peer-status' (if Emacs is built with GnuTLS support).
++++
+*** The new function `url-cookie-delete-cookie' can be used to
+programmatically delete all cookies, or cookies from a specific
+domain.
+
** Tramp
+++
replace the face `compare-windows', which is now an obsolete alias for
`compare-windows-added'.
+---
+*** The VC state indicator in the mode line now has different faces
+corresponding to each of the possible states. See the `vc-faces'
+customization group.
+
---
*** `log-edit-insert-changelog' converts "(tiny change)" to
"Copyright-paperwork-exempt: yes". Set `log-edit-rewrite-tiny-change'
`dired-compress-files-alist' variable.
+++
+*** In wdired, when editing files to contain slash characters,
+the resulting directories are automatically created. Whether
+to do this or not is controlled by the
+`wdired-create-parent-directories' variable.
+
++++
+*** `W' is now bound to `browse-url-of-dired-file', and is useful for
+viewing HTML files and the like.
+
*** New user interface for the `A' and `Q' commands.
These keys, now bound to `dired-do-find-regexp' and
`dired-do-find-regexp-and-replace', work similarly to `xref-find-apropos'
minibuffer instead of a graphical dialog, depending on whether the gpg
command is called from Emacs (i.e., INSIDE_EMACS environment variable
is set). This feature requires newer versions of GnuPG (2.1.5 or
-later) and Pinentry (0.9.5 or later).
+later) and Pinentry (0.9.5 or later). To use this feature, add
+"allow-emacs-pinentry" to "~/.gnupg/gpg-agent.conf" and reload the
+configuration with "gpgconf --reload gpg-agent".
+++
** cl-generic.el provides CLOS-style multiple-dispatch generic functions.
node "Generic Functions" in the Emacs Lisp manual for more details.
---
-** scss-mode (a minor variant of css-mode)
+** scss-mode (a minor variant of css-mode) is a major mode for editing
+SCSS (Sassy CSS) files.
---
** let-alist is a new macro (and a package) that allows one to easily
** Comint, term, and compile do not set the EMACS env var any more.
Use the INSIDE_EMACS environment variable instead.
+** `C-up', `C-down', `C-left' and `C-right' are now defined in term
+mode to send the same escape sequences that xterm does. This makes
+things like forward-word in readline work.
+
+---
+** hideshow mode got four key bindings that are analogous to outline
+mode bindings: `C-c @ C-a', `C-c @ C-t', `C-c @ C-d', and `C-c @ C-e.'
+
+++
** `save-excursion' does not save&restore the mark any more.
Use `save-mark-and-excursion' if you want the old behavior.
It should be placed right where the docstring would be, and FORM is then
evaluated (and should return a string) when the closure is built.
+---
+** The new command `fortune-message' has been added, which displays
+fortunes in the echo area.
+
+++
** define-inline provides a new way to define inlinable functions.
systems and for MS-Windows, for other systems they fall back to their
counterparts `string-lessp' and `string-equal'.
++++
+** The new function `string-version-lessp' compares strings by
+interpreting consecutive runs of numerical characters as numbers, and
+compares their numerical values. According to this predicate,
+"foo2.png" is smaller than "foo12.png".
+
---
*** The ls-lisp package uses `string-collate-lessp' to sort file names.
-If you want the old, locale-independent sorting, customize the new
-option `ls-lisp-use-string-collate' to a nil value.
+The effect is that, on systems that use ls-lisp for Dired, the default
+sort order of the files in Dired is now different from what it was in
+previous versions of Emacs. In particular, the file names are sorted
+disregarding punctuation, accents, and diacritics, and letter case is
+ignored. For example, files whose name begin with a period will no
+longer appear near the beginning of the directory listing. If you
+want the old, locale-independent sorting, customize the new option
+`ls-lisp-use-string-collate' to the nil value.
+++
*** The MS-Windows specific variable `w32-collate-ignore-punctuation',
** New possible value for `system-type': `nacl'.
This is used by Google's Native Client (NaCl).
+---
+** `read-color' will now display the color names using the color itself
+as the background color.
+
+---
+** There is now a new variable `flyspell-sort-corrections-function'
+that allows changing the way corrections are sorted.
+
** Miscellaneous name change
---