The long wait is over!1 Emacs 27.1 was finally released a couple of days ago! Like every major Emacs release, 27.1 packs a lot of new features. Here are the highlights from the official release announcement, with a bit extra of commentary by me:

  • Built-in support for arbitrary-size integers
  • Text shaping with HarfBuzz
  • Native support for JSON parsing (via the Jansson library)
  • Better support for Cairo drawing (I guess I picked a good time to switch back to Linux)
  • Portable dumping used instead of unexec
  • Support for XDG conventions for init files (you can now place your init file(s) in $XDG_CONFIG_HOME/emacs/)
  • Additional early-init initialization file (early-init.el that gets loaded before init.el)
  • Lexical-binding is used by default (after being introduced first in Emacs 24.1)
  • Built-in support for tab bar and tab-line (I’ll write more about those later)
  • Support for resizing and rotating of images without ImageMagick

Personally, I feel that the native JSON parsing will probably have the biggest practical impact for most people - especially those using lsp-mode or eglot. LSP support in Emacs was problematic for a while now due to the poor performance of the JSON parsers written in Emacs Lisp. I’m pretty sure that the need for better LSP performance was the biggest reason for adding native JSON parsing to Emacs. I don’t use LSP (yet)2, so for me that addition doesn’t mean much, but I know it’s going to have a powerful impact for many people. Seeing how VS Code has quickly risen to the top of the editor market share rankings, it’s clear that the only way to effectively compete with it, is to leverage its own LSP infrastructure. Exciting times ahead!

All the other improvements in Emacs 27.1 are nice, but there’s nothing that I’m particularly excited about. I’m curious about the practical benefits of adopting HarfBuzz and surprised about the tab bar and tab-line features, but I didn’t eagerly await them. Still, it’s nice that Emacs 27 is out and that the team can now focus on Emacs 28 and native code compilation with GCC. That’s something I’m truly thrilled about!

As usual - there are many more (smaller) changes in Emacs 27; for a summary see the etc/NEWS file, which you can view from Emacs with C-h n.3 In the next few weeks (months?) I plan to write a few blog posts covering some of the improvements in Emacs 27 in more details.

That’s all I have for you today! In Meta-x we trust!

  1. Emacs 26.1 was released way back - on the 28th of May, 2018. 

  2. Fortunately for me, most of the programming I do is in Emacs Lisp and Clojure. 

  3. https://www.gnu.org/savannah-checkouts/gnu/emacs/news/NEWS.27.1