Version 1.19 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-2025 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.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
buffer showing an interactive tree which represents a hierarchy of sub-
and super-types or callers and callees for that symbol.

** New 'eglot-advertise-cancellation' variable

Tweaking this variable may help some LSP servers avoid doing costly but
ultimately useless work on behalf of the client, improving overall
performance.

** Suggests code actions at point

A commonly requested feature, Eglot will use ElDoc to ask the server for
code actions available at point.  This is indicated to the user, who may
quickly execute via the usual 'eglot-code-actions' command or with the
mouse.  Customize with 'eglot-code-action-indications' and
'eglot-code-action-indicator'.

** Mode line is customizable

The composition of Eglot's mode line can be fully customized by adding
or removing symbols and strings from the customizable variable
'eglot-mode-line-format'

** Improved diagnostic-reporting performance and bugfixes (bug#77588)

Eglot remembers the LSP document version pertaining to the diagnostics
reported by the LSP server.  This helps in skipping useless or confusing
diagnostic updates, avoids flakiness with code actions and prevents
flickering overlays when the buffer is changed.

** Markdown links migrating to *eldoc* buffer now clickable (bug#79552)

Eglot now preserves crucial properties in the Markdown documentation
provided by the LSP server, fixing a longstanding bug with clickable
hyperlinks.  See also github#1238.

** Compliant shutdown requests  (bug#79653, bug#66144, github#1540)

Eglot now complies with the latest LSP spec, which mandates that the
shutdown request mustn't have any parameters.  This should fix problems
with some servers.


* Changes in Eglot 1.18 (20/1/2025)

** 'eglot-managed-mode-hook' now run when turning off Eglot (bug#70958)

** Better handling of 'eglot-report-progress'

Eglot no longer advertises the 'workDoneProgress' capability when this
customization variable is set to nil.  This requires a restart of the
server for the change to take effect.

** LSP MarkedString interface is now supported (bug#71353)

Some servers still use this deprecated interface for communicating
documentation snippets.

** Fixes to completion logic (bug#68699, github#1339, github#1349)

These affect mostly the "vanilla" frontend to completions (invoked with
C-M-i).

** More strict completion expansion (bug#72705).

Ensures that "expand common" commands (such as C-M-i or TAB in
third-party frontends) don't result in fewer completions than before
they are called.

** More robust completion results when typing quickly (github#1474, bug#73279)

** Support for 'InsertReplaceEdit' objects (bug#73857)

This allows servers such as Zig's 'zls' to behave better when completion
starts from the middle of an incomplete symbol.

** Experimental support for Eglot-only subprojects (github#1337)

Useful for complex projects with subprojects needing different language
servers.  See associated github issue
...
...

Reply via email to