What’s changed in recent releases?

The developer’s manual covers our release schedule and versioning scheme.

1. Unreleased

1.1. Breaking changes

  • Changed how add-hook! interprets its first argument. Source.
  • Removed :ui fill-column. Source.

1.2. Project

  • New documentation! TODO

1.3. Core

1.3.1. refactor!

Flags: change how add-hook! interprets its first argument

This macro formerly provided this syntax sugar for specifying modes instead of hooks, e.g.

(add-hook! (python-mode ruby-mode) ...)

This blocked dynamic usage of add-hook!, e.g. this does not work:

(let ((hooks '(python-mode-hook ruby-mode-hook)))
  (add-hook! hooks ...))

So this syntax was replaced with square brackets, e.g.

(add-hook! [python-mode ruby-mode] ...)

1.4. Modules

  • Add :completion vertico and made it our default :completion module: vertico et co is an excellent package (well written, performant, and simple). All the ideals I had wanted from ivy, but better executed.
  • Remove :ui fill-column: it was redundant with display-fill-column-indicator-mode, which is now built into Emacs 27.

2. 21.08

2.1. 21.08.0

2.1.1. Breaking changes

  • Drop Emacs 26.x support. Our minimum supported version is now Emacs 27.1, with our recommended versions being 27.2 (stable) or native-comp.

2.1.2. Project

2.1.3. Core

2.1.4. Modules