Emacs 31 preview: New features for daily use
Original: Emacs 31 is around the corner: The changes I'm daily driving
Why This Matters
Emacs 31 reduces configuration complexity for modern language support, lowering barriers for new users and improving developer experience.
Emacs 31, still in development, introduces streamlined tree-sitter integration and built-in markdown support. Developer daily-drives pre-release version, documenting practical improvements arriving in final release.
Emacs 31, currently in pre-release phase, brings significant usability improvements that are already being tested by early adopters. The most notable change is tree-sitter integration that no longer requires manual grammar installation. Previously, setting up tree-sitter modes involved manually populating treesit-language-source-alist and calling treesit-install-language-grammar. Emacs 31 simplifies this with two key options: treesit-auto-install-grammar and treesit-enabled-modes set to true, which automatically fetches and builds missing grammars and switches major modes to their tree-sitter variants. Grammar sources for languages like TypeScript, TSX, Rust, TOML, YAML, and Dockerfile are now embedded in the modes themselves, eliminating configuration boilerplate. A secondary improvement is the inclusion of markdown-ts-mode as a built-in experimental feature. The mode originated from a proposal sent to emacs-devel in early 2025 by the author, with co-author Stéphane Marks contributing significant ongoing development. Tree-sitter improvements continue across multiple areas, with developers including Yuan Fu working on better language support, usability, and performance enhancements. One caveat: auto-installed grammars are not segregated by processor architecture, so x86_64 and arm64 binaries may conflict when sharing an Emacs directory across different machine types.