This release brings a host of user-facing refinements to an already stable base, as well as some impressive new features. There is a lot to cover, so take your time reading these notes.
Special thanks to Jean-Philippe Gagné Guay for the numerous refinements to parts of the code base. Some of these are not directly visible to users, but are critical regardless. In the interest of brevity, I will not be covering the most technical parts here. I mention Jean-Philippe’s contributions at the outset for this reason. Though the Git commit log is there for interested parties to study things further.
Emacs 30 is a more low-key release compared to heavy hitting features like native compilation in 28 and Tree-sitter in 29. Probably the headline change is replacing the libjansson based JSON parser with a homegrown one that is several times (~8x) faster, which will significantly benefit features like LSP. This will also mark the official release of the Android port, as well as the usual scattershot of improvements across the board. The NEWS file has the full changelog.