NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3723 most downloaded on PyPI
Python Language Server for the Language Server Protocol
Last release 2 months ago
27 Jul 2026
Release timing varies
gaps range from 2 weeks to 8 months
Nearly every release is documented
notes for 36 of 36 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
36 releases · first in 2021
One column per quarter.
Add compatibility with Jedi 0.20, which comes with official support for Python 3.14.
In this release 3 issues were closed.
pylsp_definitions due to definitions without a source position, by @metheoryt (623)test_snippets_completion to not depend on typeshed overload ordering, by @frenzymadnessmaxComplexity and line_length, by @krassowskiIn this release 9 pull requests were closed.
Minor release with the following new features and changes:
Minor release with the following new features and changes:
pylsp.signature.include_docstring option to hide docstring in signatures.pylsp.signature.include_docstring to hide docstring in signatures.In this release 4 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
cmd terminals on Windows when running Flake8.pyproject.toml due to pep 639, by @ccordoba12In this release 2 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
completionItem/resolve in notebooks.LAST_JEDI_COMPLETIONS to cell document so that completionItem/resolve will work, by @hjr265In this release 3 pull requests were closed.
Minor release with the following new features and changes:
Minor release with the following new features and changes:
import word.import word.py.typed marker? (PR 641 by @krassowski)In this release 4 issues were closed.
pyupgrade, by @krassowskisetuptools 69 or newer to ensure py.typed marker gets included, by @krassowskipy.typed marker to pylsp imports to be analysed with mypy, by @krassowski (640)import, by @jsbautistastr.splitlines() twice in the same function., by @fukanchikIn this release 9 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
extra_paths in front of sys.path.extra_paths in front of sys.path, by @cmashinhoIn this release 1 pull request was closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
ropeFolder in the Rope configuration.test_jedi_completion_with_fuzzy_enabled fails with jedi 0.19.2In this release 1 issue was closed.
ropeFolder config, by @osiewiczIn this release 3 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
window/logMessage.workspace/publishDiagnostics.extendSelect option to flake8 plugin.extra_paths to be placed in front of sys.path.window/logMessage.workspace/publishDiagnostics.extendSelect option to flake8 plugin.extra_paths to be placed in front of sys.path.%r to have a better log, by @tebekaNone for functions without returns, by @agserrano3window/logMessage support, by @Dylmayworkspace/publishDiagnostics, by @DylmayextendSelect option to flake8 plugin, by @Susensioextra_paths to be placed in front of sys.path, by @mrclaryIn this release 12 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
rope_rename plugin. People that were using it need to install the pylsp-rope third-party plugin instead.rope_rename plugin. People that were using it need to install
the pylsp-rope third-party plugin instead.In this release 1 issue was closed.
>=3.1,<4, by @bnavigatorujson import, by @Savalek.config/flake8 reference in Readme, by @justin-f-perezrope_rename plugin, by @doolio (255)In this release 6 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
websockets module.In this release 1 issue was closed.
websockets module, by @tomplusIn this release 2 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
In this release 5 issues were closed.
python with sys.executable in Pylint plugin, by @jsprickeIn this release 12 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
initializationOptions to configure the server.extendIgnore argument to Flake8.pylsp_workspace_configuration_changed hookspec so that plugins can react when client sends a configuration change to the server.initializationOptions to configure the server.extendIgnore argument to Flake8.pylsp_workspace_configuration_changed hookspec so that plugins can
react when client sends a configuration change to the server.workspace/didChangeConfiguration message (PR 461 by @tkrabel-db)In this release 3 issues were closed.
_utils module to utils", by @ccordoba12_utils module to utils, by @ccordoba12rope_autoimport plugin, by @tkrabel-db (403)extendIgnore to flake8, by @UnkwUsrrope_autoimport cache on workspace/didChangeConfiguration, by @tkrabel-db (460)initializationOptions to configure the server, by @tkrabel-db (195)In this release 12 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
In this release 1 pull request was closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
includeDeclaration is no longer respected in textDocument/references (PR 440 by @krassowski)In this release 3 issues were closed.
>=2.0.4,<2.1.0, by @ccordoba12include_declaration handling in references request, by @krassowski (439).git-blame-ignore-revs, by @krassowskiIn this release 7 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
setuptools/pkg_resources with importlib(.|_)metadata (PR 385 by @bollwyvl)In this release 7 issues were closed.
entry_points with importlib(.|_)metadata, drop setuptools from dependencies, by @bollwyvl (384)In this release 11 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
In this release 3 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
In this release 3 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 2 issues were closed.
In this release 4 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
whatthepatch, by @ccordoba12sys.executable instead of python in Pylint plugin, by @bnavigatorIn this release 6 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
jedi_definition plugin follow definitions to pyi files.jedi_definition plugin follow definitions to pyi files.textDocument/documentSymbol returns empty result for non-existing files (PR 302 by @rear1019)In this release 6 issues were closed.
include_function_objects, by @llan-mlIn this release 20 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
Failed to load hook pylsp_completions: 'NoneType' object has no attribute 'type' when working with Numpy 1.23 (PR 281 by @gav451)In this release 9 issues were closed.
include_function_objects false, by @airportyh (273)add_import_symbols is False, by @ccordoba12In this release 16 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
DiagnosticTag tags for Pylint, Pycodestyle, and Flake8 plugins.options parameter.DiagnosticTag tags for Pylint, Pycodestyle, and Flake8 plugins.options parameter.DiagnosticTag tags for pylint, pycodestyle, and flake8 (PR 229 by @krassowski)In this release 8 issues were closed.
DiagnosticTag support, by @krassowski (144)setup.cfg and pyproject.toml, by @KOLANICHPEP 621-compliant pyproject.toml, by @KOLANICHpylsp command in README, by @jgollenz (157)options parameter, by @masad-frostIn this release 19 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 2 pull requests were closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
DiagnosticTag constants from LSP 3.15DiagnosticTag constants from LSP 3.15cmd.exe need to use double quotes instead of single quotes (PR 163 by @ScientificProgrammer)In this release 5 issues were closed.
DiagnosticTag constants from LSP 3.15, by @krassowskisetup.py so it will show up in wheel installs, by @itsbenweeksIn this release 12 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
In this release 2 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 issue was closed.
In this release 1 pull request was closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 pull request was closed.
Major release of python-lsp-server with the following new features and changes:
Major release of python-lsp-server with the following new features and changes:
jedi_completion.resolve_at_most_labels was renamed to jedi_completion.resolve_at_most because now it controls how many labels and snippets will be resolved per request.jedi_completion.cache_labels_for was renamed to jedi_completion.cache_for because now it controls the modules for which labels and snippets should be cached.jedi_completion.resolve_at_most_labels was renamed to jedi_completion.resolve_at_most
because now it controls how many labels and snippets will be resolved per request.jedi_completion.cache_labels_for was renamed to jedi_completion.cache_for because now
it controls the modules for which labels and snippets should be cached.In this release 7 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 1 pull request was closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
In this release 2 pull requests were closed.
This is a minor bugfix release that:
This is a minor bugfix release that:
< 2.10) until we figure out how to support it.In this release 4 pull requests were closed.
Minor release of python-lsp-server that fix an error when resolving completions.
Minor release of python-lsp-server that fix an error when resolving completions.
In this release 1 issue was closed.
In this release 1 pull request was closed.
Major release of python-lsp-server with the following new features:
Major release of python-lsp-server with the following new features:
In this release 3 issues were closed.
get_signatures() if snippets are disabled, by @krassowskiIn this release 10 pull requests were closed.
Major release of python-lsp-server with the following new features:
Major release of python-lsp-server with the following new features:
InitializeResult.In this release 2 issues were closed.
In this release 8 pull requests were closed.
Minor release of python-lsp-server that updates some dependencies to their latest versions.
Minor release of python-lsp-server that updates some dependencies to their latest versions.
First major release of python-lsp-server! This version marks a new package and namespace after forking from the python-language-server, thanks to all
First major release of python-lsp-server! This version marks a new package and namespace after forking from the python-language-server, thanks to all the contributors that helped with the transition to the new community package.
In this release 2 issues were closed.
In this release 9 pull requests were closed.
Your coding agent can read these notes before it upgrades. Set up the MCP server →