Skip to content

What is different about Emacs 27?

  • Emacs now uses the GNU Multiple Precision (GMP) library to support integers whose size is too large to support natively. The integers supported natively are known as “fixnums”, while the larger ones are “bignums”. All the arithmetic, comparison, and logical (also known as “bitwise”) operations where bignums make sense now support both fixnums and bignums.
  • Emacs now uses HarfBuzz as its default shaping engine.
  • Native support for JSON parsing that is much faster than json.el.
  • Cairo drawing is no longer experimental.
  • Emacs now uses a “portable dumper” instead of unexec. This improves compatibility with memory allocation on modern systems, and in particular better supports the Address Space Layout Randomization (ASLR) feature, a security technique used by most modern operating systems.
  • Emacs can now use the XDG convention for init files.
  • Emacs can now be configured using an early init file. The primary purpose is to allow customizing how the package system is initialized given that initialization now happens before loading the regular init file.
  • Built-in support for tabs (tab bar and tab line).
  • Support for resizing and rotating of images without ImageMagick.

Consult the Emacs NEWS.27 file for the full list of changes in Emacs 27.