Software 44731 Published by

GNU Emacs 31.1 RC1 is now available for testing, bringing sweeping changes to the completion engine, window layout manipulation, and internationalization support. The release ships eager completion display, a rewritten flex algorithm, and new rotation and frame-merging commands that fundamentally shift how you manage your workspace. Emacs now targets Unicode Standard 17.0 alongside fresh input methods for polytonic Greek, Tifinagh, and several Northern Iroquoian scripts. While the symbol shorthand vulnerability still requires version 32 for a full fix, this RC includes a patched mitigation, so you can safely start stress-testing and reporting bugs before the stable drop.



GNU Emacs 31.1 RC1 lands with massive completion overhaul and Unicode 17.0 support

The first release candidate for the next major editor update is here, bringing window rotation, eager completion display, and a fresh round of internationalization—plus a reminder about a lingering symbol shorthand vulnerability.

GNU Emacs 31.1 RC1 dropped into the pretest queue this week, announced by Sean Whitton on the info-gnu-emacs mailing list. If you've been tracking the 31 development branch, you've likely seen the early waves of this one. After the first pretest in July and weeks of code freeze activity, this is the moment you actually get to break things before the stable release arrives.

The 31 series is shaping up to be one of the most architecturally dense updates in the editor's history. This release candidate is no exception. Whitton's announcement highlights sweeping changes to the completion system, window management, and internationalization support.

Screenshot_from_2025_05_18_12_51_24

Layout manipulation gets serious

The window system is getting a massive expansion in how it handles rotation and transposition. New commands like window-layout-rotate-clockwise and window-layout-flip-leftright let you manipulate entire layouts without manually resizing individual windows. You can also transpose splits, merge frames, and clone them.

Head here to see the full list of window-related commands. Keep in mind that these changes fundamentally alter how you interact with the frame, though they're designed to integrate seamlessly with existing keyboard shortcuts.

Completion system gets a rewrite

The completion engine is probably the biggest draw for this release. The flex completion style has been rewritten with a new algorithm, and eager display of the "Completions" buffer is now configurable. You can also use minibuffer-visible-completions with a new 'up-down' value to navigate completions independently of the minibuffer.

These changes aim to make completion faster and more predictable, though the existing workflow hasn't been radically disrupted. It's a refresh rather than a replacement.

Internationalization catches up to the modern standard

Emacs 31 now supports Unicode Standard version 17.0. The update includes new input methods for polytonic Greek, Tifinagh script, and several Northern Iroquoian languages like Mohawk and Oneida. Burmese-based languages and Syriac also get attention.

For those of you working with non-Latin scripts, this is a significant step toward broader coverage.

Don't forget the security notice

A notable issue was flagged in August 2026: a vulnerability in Emacs Lisp symbol shorthands that could trigger arbitrary code execution when opening certain files. The fix is in the 31 release branch, but the full resolution will land in version 32. As of right now, the RC1 tarball includes the interim mitigation, but keep that in mind if you're handling untrusted files.

Testing it out

You can grab the RC1 tarball from the GNU Alpha directory. The verification process involves checking the GPG signature with key 8DC2487E51ABDD90B5C4753F0F56D0553B6D411B.

Head here to download the tarball and signature file. The SHA256 checksum is also listed in the announcement if you prefer to verify manually.

The stable release of Emacs 31.1 is still a ways out, but the RC cycle is your window into the final shape of the codebase. If you run into issues, report them to bug-gnu-emacs@gnu.org. The developers are actively triaging feedback.