Version 1.21 of package Eglot has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Eglot describes itself as:

  ================================
  The Emacs Client for LSP servers
  ================================

More at https://elpa.gnu.org/packages/eglot.html

## Summary:

  Eglot ("Emacs Polyglot") is an Emacs LSP client that stays out of
  your way.

  Typing M-x eglot in some source file is often enough to get you
  started, if the language server you're looking to use is installed
  in your system.  Please refer to the manual, available from
  https://joaotavora.github.io/eglot/ or from M-x info for more usage
  instructions.

  If you wish to contribute changes to Eglot, please do read the user
  manual first.  Additionally, take the following in consideration:

## Recent NEWS:

Eglot NEWS                                                     -*- outline -*-

Copyright (C) 2018-2026 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Eglot bug reports to '[email protected]', and Cc (or
X-Debbugs-CC) the maintainer '[email protected]' as well.  Please
read the chapter titled "Troubleshooting" in the Eglot manual,
available https://joaotavora.github.io/eglot/#Troubleshooting-Eglot

This file is about changes in Eglot, the Emacs client for LSP
(Language Server Protocol) distributed with GNU Emacs since Emacs
version 29.1 and with GNU ELPA since 2018.

Note: references to some Eglot issues are presented as "github#nnnn".
This refers to https://github.com/joaotavora/eglot/issues/.  That is,
to look up issue github#1234, go to
https://github.com/joaotavora/eglot/issues/1234.


* Changes in Eglot 1.21 (11/1/2026)

This is a bugfix release with small fixes for semantic tokens and Emacs
26.3 compatibility.


* Changes in Eglot 1.20 (11/1/2026)

** Dramatically faster handling of files with many diagnostics

Diagnostic conversion between LSP and Flymake versions is now much
faster.  Previously, editing, e.g. a Python file with thousands of
diagnostics was next to impossible to to periodic interruptions of
diagnostic reports.  Now it's practically unnoticeable.

** Support for LSP server multiplexers via Rassumfrassum

Eglot can now leverage LSP server multiplexer programs like Rassumfrassum
(invoked via the 'rass' command) to use multiple language servers in a
single buffer.  This enables combining spell-checkers with language
servers, using multiple servers for the same language (e.g., 'ty' for
type checking and 'ruff' for linting in Python), or handling
multi-language files like Vue.

Some invocations of 'rass' are offered as alternatives in the built-in
'eglot-server-programs' variable.  The manual (readable with 'M-x
eglot-manual') contains a comprehensive discussion of how to set up and
use multiplexers in the new "Multi-server support" chapter.

** Support for pull diagnostics (github#1559, github#1290)

For servers supporting the 'diagnosticProvider' capability, Eglot
requests diagnostics explicitly rather than relying on sporadic
'publishDiagnostics' notifications, aka. "push diagnostics".  The 'tsgo'
server is known to support the "pull" variant exclusively, while the
'ty' server is known to support it alongside "push".

** New command 'eglot-momentary-inlay-hints'

When bound to a single key in 'eglot-mode-map' this will arrange for
inlay hints to be displayed as long as the key is held down, and then
hidden shortly after it is released.  Emacs doesn't support binding to
\"key up\" events, but this function offers an approximation.  It relies
on measuring your keyboard initial delay and repeat rate, and may not be
100% accurate.

** Support for watching files outside the project (bug#79809)

Eglot now supports and advertises the 'relativePatternSupport'
sub-feature of 'didChangeWatchedFiles'.  Some LSP servers use it to ask
for file watches outside the current project's root and so be notified
of changes to dependencies that affect the current project.

** Support for semantic tokens (bug#79374)

The new minor mode 'eglot-semantic-tokens-mode' provides enhanced syntax
highlighting based on the language server's analysis, going beyond
traditional regular-expression-based fontification.  The
'eglot-semantic-faces' customization group contains options for
controlling which token types and modifiers to consider, as well as
faces for customizing their appearance.  The minor mode is on by
default: consult the manual on how to turn it off.

** Reading the Eglot manual in Emacs is easy again

The command 'M-x eglot-manual' is now easier to reach and directly drops
the user into the manual.


* Changes in Eglot 1.19 (23/10/2025)

** Support for call and type hierarchies

The new commands 'eglot-show-type-hierarchy' and
'eglot-show-call-hierarchy', when invoked on a symbol, pop up a special
...
...

Reply via email to