GNU Emacs 31.1 Lands with Terminal Mouse Support Out of the Box and a New Beginner Theme
The first stable point release in the 31 series brings TTY child frames, an editable grep buffer, and a major completion overhaul.
GNU Emacs 31.1 dropped on August 24, 2026, and if you've been wrestling with terminal Emacs or just want a slightly gentler on-ramp, it's worth a quick look. Sean Whitton announced the release on the info-gnu-emacs mailing list after a one-week RC period, marking the first stable point release in the 31 series. Six months. That's the gap between 30.2 and this. You'd expect a mid-cycle polish pass to land exactly here.
The 31 series already shipped with native compilation and an Android port baked in, but 31.1 is where the usability patches actually hit the floor.
The real-world changes
Terminal Emacs just got a lot less hostile. xterm-mouse-mode is now enabled by default in compatible terminals, meaning clicks, scrolling, and clipboard operations work without fiddling with init files. If you still prefer terminal-specific keybindings for paste and copy, you can turn it off through the customization buffer. Keep in mind that your terminal must support clipboard data and mouse motion events for this to actually work. It's a small change on paper. The friction of configuring mouse support in a TTY has annoyed half of us for years.
The completion system also got a serious overhaul. The Completions buffer can now appear the moment you open a minibuffer, update live as you type, and respect vertical formatting without losing your place. Flex completion ran through a new algorithm that produces noticeably better ranking. If you've ever fought Emacs ranking "scope" functions under completely unrelated matches, this fix will feel like a relief.
Window management gained a handful of rotation, flip, and transpose commands that let you rearrange splits without reaching for the minibuffer every five minutes. The default split-width-threshold also dropped from 160 to 150, which nudges window splits toward a more sensible default for most monitors.
Then there's the user-lisp/ directory. Place Lisp files in a user-lisp/ subfolder inside your config directory, and Emacs will recursively byte-compile them and add them to your load-path. It's a clean spot for packages you don't want living alongside your init.el, and prepare-user-lisp lets you trigger compilation manually whenever you want.
Cleanup and community divide
The unexec dumper, deprecated back in Emacs 27, has been finally removed. The old ctags program that shipped with Emacs is gone too, leaving Universal Ctags as the only option. Anyone maintaining build scripts should double-check their toolchain. Org mode shipped at v9.8, tree-sitter gained selective grammar installation, and the new canvas image type finally made it upstream for inline buffer graphics.
Power users will immediately spot the editable grep and xrf buffers. Press e in either, and you can edit results directly back into the source files. Exit with C-c C-c. The HN thread on RC1 called it "Madness!" which, to be fair, is the exact reaction this feature has inspired for the past few release cycles. New users get a friendlier default theme alongside all of this, which is a sensible move given how steep the historical learning curve has been.
It's a rather pragmatic release. No flashy UI overhaul, no reinvented wheel. Just a lot of accumulated friction removed, a few architectural housekeeping moves, and a completion system that actually keeps up with modern expectations. Valgrind won't be happy about it, but the user experience is meaningfully improved.
You can grab the source archives directly from the GNU FTP mirror. Head here to the official GNU page for full documentation and build instructions. tar.gz and tar.xz builds are available, along with matching GPG signatures and SHA256 checksums for verification.
