GNU Emacs posts a pretest that quietly kicks off the 31.2 cycle
The announcement's version numbers don't quite add up, and the real news is buried underneath a labeling tangle.
Sean Whitton has announced the first pretest of the next development cycle on the info-gnu-emacs mailing list today. Because this is only the first pretest of a fresh cycle, the changes are deliberately thin. We're roughly seven weeks past 31.1, and Emacs 31.2 has barely started collecting luggage.
What's actually under the hood
The biggest item is a Tramp security fix. CVE-2026-79992. Tramp is the piece of Emacs that lets you edit files on remote machines as if they lived on your hard drive, and the patch keeps several shell metacharacters out of Tramp usernames. On Windows it also keeps an environment-style %NAME% pattern out of both user and host names. Backends that use the percent sign as a field separator can opt out with a new tramp-allow-double-percent variable.
There's also a change to how Emacs scrapes files for autoload declarations. Macros can now signal through a new 'autoload-macro form that the loader should process their expansion rather than copy the form verbatim. The catch: scraping for autoloads will now sometimes load and evaluate the file it's reading. The notes flag that this "can introduce security risks in case you're scraping a file you do not trust." If you're only loading your own code, it's probably fine.
Keep in mind that both of those changes carry a note saying they were actually introduced in Emacs 31.1. They weren't born in 31.2. They're backported and documented here, so don't read the NEWS file as if 31.2 is reinventing autoload handling. It isn't.
The thing everyone actually remembers
To see where 31.2 is heading, look at what 31.1 already gave you, since that's the floor everything stands on. That August release was unusually large. Terminal mouse support is on by default now, so clicking and scrolling work over SSH without a config tweak. Completion got a full overhaul. There's a whole new set of window-layout commands: rotate, flip, and transpose. Frames got unique integer IDs for scripting. You can edit results straight back into your *grep* and *xref* buffers. It shipped Org mode at version 9.8.
The point is that the big stuff is already in your hands. A mid-cycle point release is supposed to be about security, correctness, and polish. This pretest is exactly that shape.
Emacs just turned 50
Here's the context that makes a pretest feel like more than a pretest. Emacs celebrated its 50th birthday last month, in October. Coverage rolled in from MIT Technology Review and The Register and a dozen community outlets, all looking back at an editor that started as Guy Steele's macros on TECO and Richard Stallman's naming and stubbornness from late 1976. The manual now runs to 804 pages. There's a certain irony in celebrating half a century of an editor with a fanbase that prizes longevity over flash, then cutting a pretest nobody will ship for months.
It also explains the current energy around every new release. When something has survived this long, people pay attention.
If you want to break it
The GNU verification steps are the usual. Grab the tarball and its signature, then check the signature. If your key's missing, pull it from the Debian keyring:
gpg --keyserver keyring.debian.org --recv-keys 8DC2487E51ABDD90B5C4753F0F56D0553B6D411B gpg --verify emacs-31.1.91.tar.xz.sig
Compare the SHA-256 against ABAC96A397DE99C5F8419C02F9343A672D9B144AC90E9CFD0399472647D7B5FA.
Precompiled binaries usually trail the source pretest by a few days. Corwin Brust handles Windows and David Caldwell covers macOS, but as of right now the macOS build list still tops out at the 31.1 release candidate. Expect the rest to show up in the coming days.
Head here to the GNU mirrors for the download.
