Version 1.15.0 (2026/07/27)
- Add compatibility with Jedi 0.20, which comes with official support for
Python 3.14.
In this release 3 issues were closed.
In this release 9 pull requests were closed.
Version 1.14.0 (2025/12/06)
- Add pylsp.signature.include_docstring to hide docstring in signatures.
- Add support for Pylint 4.
- Fix support for Python 3.14.
In this release 4 pull requests were closed.
Version 1.13.2 (2025/11/19)
In this release 2 pull requests were closed.
Version 1.13.1 (2025/08/26)
In this release 3 pull requests were closed.
Version 1.13.0 (2025/07/07)
- Format signatures in docstrings.
- Add support for type definition.
- Send websocket payload using a queue.
- Fix getting symbols with inline comments that include the import word.
- Drop support for Python 3.8
- Issue 640 - Should we add py.typed marker? (PR 641 by @krassowski)
- Issue 630 - Formatting of signatures in docstrings
- Issue 627 - Do not call str.splitlines() twice in the same function
- Issue 97 - Failed to run lsp-goto-type-definition and lsp-goto-implementation.
In this release 4 issues were closed.
- PR 656 - Add space between punctuation and next sentence, by @spenserblack
- PR 650 - Drop Python 3.8, add Python 3.11 to CI and run pyupgrade, by @krassowski
- PR 646 - Enforce setuptools 69 or newer to ensure py.typed marker gets included, by @krassowski
- PR 645 - Add support for type definition, by @Hoblovski
- PR 641 - Add py.typed marker to pylsp imports to be analysed with mypy, by @krassowski (640)
- PR 639 - Fix inline comments that include text with import, by @jsbautista
- PR 633 - Send websocket payload using a queue, by @Raekkeri
- PR 631 - Allow to format signatures in docstrings, by @krassowski
- PR 628 - Do not call str.splitlines() twice in the same function., by @fukanchik
In this release 9 pull requests were closed.
Version 1.12.2 (2025/02/07)
In this release 1 pull request was closed.
Version 1.12.1 (2025/02/06)
- Issue 602 - test_jedi_completion_with_fuzzy_enabled fails with jedi 0.19.2
In this release 1 issue was closed.
In this release 3 pull requests were closed.
Version 1.12.0 (2024/08/25)
- Add support for window/logMessage.
- Add version support to workspace/publishDiagnostics.
- Add extendSelect option to flake8 plugin.
- Allow Jedi's extra_paths to be placed in front of sys.path.
- Bump flake8 to 7.1
- PR 586 - Update versions of Github actions used on CI, by @ccordoba12
- PR 585 - Fix linting issues reported by the latest version of Ruff, by @ccordoba12
- PR 584 - Use %r to have a better log, by @tebeka
- PR 581 - Set return type to None for functions without returns, by @agserrano3
- PR 576 - Bump flake8 to 7.1, by @bnavigator
- PR 573 - Add window/logMessage support, by @Dylmay
- PR 570 - Fix Fedora instructions, by @penguinpee
- PR 565 - Add version support to workspace/publishDiagnostics, by @Dylmay
- PR 560 - Use macOS 13 to run our tests on CI, by @ccordoba12
- PR 559 - Add extendSelect option to flake8 plugin, by @Susensio
- PR 547 - Infer end position for Pylint diagnostics, by @Wuestengecko
- PR 527 - Allow extra_paths to be placed in front of sys.path, by @mrclary
In this release 12 pull requests were closed.
Version 1.11.0 (2024/03/29)
- Remove the rope_rename plugin. People that were using it need to install
the pylsp-rope third-party plugin instead.
- Add support for Pylint 3.1
In this release 1 issue was closed.
In this release 6 pull requests were closed.
Version 1.10.1 (2024/03/12)
In this release 1 issue was closed.
In this release 2 pull requests were closed.
Version 1.10.0 (2024/01/21)
- Add support for notebook document completions.
- Add support for flake8 version 7.
In this release 5 issues were closed.
- PR 517 - Combine ruff.toml into pyproject.toml, by @doolio
- PR 514 - Fix optional dependency version for autopep8, by @doolio (513)
- PR 510 - Bump flake8 to version 7, by @bnavigator
- PR 507 - Fix extra end line increment in autopep8 plugin, by @remisalmon
- PR 502 - Use ruff as linter and code formatter, by @tkrabel
- PR 499 - Make autoimport cache generation non-blocking, by @tkrabel
- PR 498 - Update rope to 1.11.0 for multi-threading capabilities, by @tkrabel (474)
- PR 497 - Fix path completion when client doesn't support code snippets, by @i-aki-y (373)
- PR 490 - Refine diagnostic severity for flake8, by @kunhtkun (256)
- PR 487 - Replace call to python with sys.executable in Pylint plugin, by @jspricke
- PR 486 - Add support for notebook document completions, by @smacke
- PR 483 - Point to a more up to date isort plugin in README, by @doolio (478)
In this release 12 pull requests were closed.
Version 1.9.0 (2023/11/06)
- Support initializationOptions to configure the server.
- Add code completions to the autoimport plugin.
- Add support for Pylint 3.
- Pass extendIgnore argument to Flake8.
- Add new pylsp_workspace_configuration_changed hookspec so that plugins can
react when client sends a configuration change to the server.
In this release 3 issues were closed.
- PR 481 - Revert "Rename _utils module to utils", by @ccordoba12
- PR 480 - Rename _utils module to utils, by @ccordoba12
- PR 475 - Raise supported Pylint upper version, by @bnavigator
- PR 473 - Improve/simplify README Development section, by @tkrabel
- PR 471 - Add code completions to rope_autoimport plugin, by @tkrabel-db (403)
- PR 469 - Pass argument extendIgnore to flake8, by @UnkwUsr
- PR 466 - Ignore notebook names on cell completion for autoimport, by @tkrabel-db
- PR 464 - Minor bug fix in Rope autoimport plugin, by @tkrabel-db
- PR 462 - Make workspace/didChangeConfig work with notebook documents, by @tkrabel-db
- PR 461 - Load rope_autoimport cache on workspace/didChangeConfiguration, by @tkrabel-db (460)
- PR 459 - Support initializationOptions to configure the server, by @tkrabel-db (195)
- PR 457 - Fix missing signatures for docstrings in Markdown, by @staticf0x
In this release 12 pull requests were closed.
Version 1.8.2 (2023/10/09)
In this release 1 issue was closed.
- PR 454 - Fix notebook document selector not being a list in capabilities, by @smacke (453)
In this release 1 pull request was closed.
Version 1.8.1 (2023/10/05)
In this release 3 issues were closed.
In this release 7 pull requests were closed.
Version 1.8.0 (2023/09/08)
- Add notebooks suppport and make go-to-definition work for them.
- Add support for Pyflakes 3.1, Pycodestyle 2.11 and Jedi 0.19.
- Drop support for Python 3.7.
In this release 7 issues were closed.
- PR 434 - Don't set cwd in Popen kwargs when document root is empty (flake8), by @smacke (406)
- PR 433 - Fix null reference for syntax errors due to invalid encodings (Pyflakes), by @smacke (429, 429)
- PR 432 - Use invalid request handler rather than raising key error for requests after shutdown, by @smacke (314)
- PR 419 - Format the whole repo with Black, by @tkrabel-db (392)
- PR 418 - Converge unit tests for test_language_server and test_notebook_document, by @tkrabel-db
- PR 417 - Drop support for Python 3.7, by @ccordoba12
- PR 416 - Bump Jedi upper pin to <0.20, by @bnavigator (414)
- PR 415 - Add support for pyflakes 3.1 and pycodestyle 2.11, by @yan12125 (412)
- PR 408 - Notebook protocol go-to-definition support, by @jasongrout
- PR 389 - Add notebooks suppport to pylsp, by @tkrabel-db
- PR 385 - Find entry_points with importlib(.|_)metadata, drop setuptools from dependencies, by @bollwyvl (384)
In this release 11 pull requests were closed.
Version 1.7.4 (2023/06/29)
- Issue 393 - Environment path doesn't expand user directory
In this release 1 issue was closed.
In this release 3 pull requests were closed.
Version 1.7.3 (2023/05/15)
In this release 1 issue was closed.
In this release 3 pull requests were closed.
Version 1.7.2 (2023/04/02)
In this release 2 issues were closed.
In this release 4 pull requests were closed.
Version 1.7.1 (2023/01/17)
In this release 1 issue was closed.
In this release 6 pull requests were closed.
Version 1.7.0 (2022/12/29)
- Add a new plugin to provide autoimport functionality (disabled by default).
- Add progress reporting.
- Make jedi_definition plugin follow definitions to pyi files.
- Add support for flake8 version 6.
- Add support for Yapf ignore patterns.
- Add mccabe setting to flake8 plugin.
In this release 6 issues were closed.
- PR 323 - Don't show signature for modules in hovers, by @ccordoba12
- PR 322 - Change Pylint run to set cwd correctly, by @Corentin-pro
- PR 321 - Expose setting to follow builtin and extension definitions to stub files, by @bzoracler (317)
- PR 319 - Fix Pycodestyle linting with line endings other than LF , by @ccordoba12
- PR 318 - Ensure proper document match to avoid empty outline (Symbols), by @mnauw
- PR 316 - Support Flake8 version 6, by @bnavigator
- PR 312 - Update Readme with link to python-lsp-ruff and mention to code actions, by @jhossbach
- PR 311 - Make flake8 respect configuration, by @delfick
- PR 309 - Fix autoimport raising AttributeError in some cases, by @douo (307)
- PR 306 - Fix the completion of include_function_objects, by @llan-ml
- PR 305 - Report autoimport progress, by @bagel897
- PR 302 - Fix symbols for non-existing (unsaved) files, by @rear1019 (301)
- PR 300 - Fix autoimport plugin not being disabled by default, by @ccordoba12
- PR 296 - Update outdated username in docs, by @bagel897
- PR 295 - Update allowed values for pydocstyle convention in CONFIGURATION.md, by @doolio (292)
- PR 290 - Fix Debian package name, by @jspricke
- PR 236 - Add progress reporting, by @syphar (201)
- PR 199 - Add a plugin to provide autoimport functionality, by @bagel897 (34)
- PR 63 - Add mccabe setting to flake8, by @baco
- PR 60 - Add support for Yapf ignore patterns, by @jjlorenzo
In this release 20 pull requests were closed.
Version 1.6.0 (2022/11/02)
- Migrate to MarkupContent and convert docstrings to Markdown by default.
- Add support for flake8 version 5.
- Add function objects to Jedi completions.
- Don't include class and functions objects by default in Jedi completions.
In this release 9 issues were closed.
- PR 285 - Don't include class objects by default in completions, by @ccordoba12
- PR 281 - Improve how Jedi handles Numpy, by @gav451 (243)
- PR 274 - Make default for include_function_objects false, by @airportyh (273)
- PR 272 - Include params only for classes and functions, by @llan-ml
- PR 267 - Update the configuration schema for consistency, by @doolio (264, 263)
- PR 266 - Prefer info log message for missing optional modules, by @doolio (265)
- PR 262 - Fix options not being passed to yapf format, by @masad-frost
- PR 261 - PR: Include all symbols that Jedi reports as declared in a file when add_import_symbols is False, by @ccordoba12
- PR 258 - Fix pylint message in tests, by @bnavigator
- PR 257 - Add support for flake8 version 5, by @bnavigator
- PR 250 - Include traceback when plugin fails to load, by @j2kun
- PR 248 - Add more installation instructions to Readme, by @nougcat (245)
- PR 246 - Add support for including function objects, by @llan-ml (244)
- PR 242 - Remove redundant wheel dep from pyproject.toml, by @mgorny
- PR 241 - Update release instructions to use new build mechanism, by @ccordoba12
- PR 80 - Migrate to MarkupContent and convert docstrings to Markdown, by @krassowski (22, 21)
In this release 16 pull requests were closed.
Version 1.5.0 (2022/07/10)
- Add DiagnosticTag tags for Pylint, Pycodestyle, and Flake8 plugins.
- Add support to connect to the server through websockets.
- Allow multiple per-file-ignores for the same pattern in Flake8 plugin.
- Parse YAPF diffs into TextEdits.
- Add support for LSP formatting options parameter.
In this release 8 issues were closed.
- PR 234 - Report Flake8 errors with Error severity level, by @lcheylus (230)
- PR 233 - Fix documentation for location of Flake8 configuration files, by @lcheylus (219)
- PR 231 - Use Numpy less than 1.23 in our tests, by @ccordoba12
- PR 229 - Add DiagnosticTag support, by @krassowski (144)
- PR 228 - Improve schema type compliance, improve CONFIGURATION.md, by @krassowski
- PR 225 - Add autopep8.enabled to the configuration schema, by @j2kun
- PR 223 - Change severity level for flake8 errors, by @jhossbach (220)
- PR 221 - Remove preload module from Readme, by @bageljrkhanofemus
- PR 217 - Allow multiple per-file-ignores for the same pattern in flake8 plugin, by @dedi
- PR 215 - Remove reference to pyls-flake8 in Readme, by @yeraydiazdiaz (140)
- PR 211 - Restore the copyright headers in setup.cfg and pyproject.toml, by @KOLANICH
- PR 210 - Match rope_completions setting documentation with reality, by @rchl (209)
- PR 207 - Move the project metadata into PEP 621-compliant pyproject.toml, by @KOLANICH
- PR 187 - Add plugins for pylint and flake8 to readme, by @bageljrkhanofemus
- PR 185 - Mention pylsp command in README, by @jgollenz (157)
- PR 181 - Fix section that was misplaced in changelog, by @ccordoba12
- PR 136 - Parse YAPF diffs into TextEdits (instead of sending the full doc), by @masad-frost
- PR 134 - Add support for LSP formatting options parameter, by @masad-frost
- PR 128 - Add web sockets support, by @npradeep357 (117)
In this release 19 pull requests were closed.
Version 1.4.1 (2022/03/27)
In this release 2 pull requests were closed.
Version 1.4.0 (2022/03/11)
- Support pycodestyle indent-size option
- Add DiagnosticTag constants from LSP 3.15
- Drop support for Python 3.6
In this release 5 issues were closed.
- PR 165 - Clear diagnostics when closing documents, by @ccordoba12 (143)
- PR 163 - Update single quotes to double quotes for install command examples, by @ScientificProgrammer (150)
- PR 158 - Prevent third-party plugins with faulty hooks to crash the server, by @ccordoba12 (153)
- PR 154 - Prevent faulty third-party plugins to crash the server, by @arian-f
- PR 151 - Fix Autopep8 and Yapf formatting with CR line endings, by @ccordoba12
- PR 148 - Fix pygame greeting breaking pylint diagnostics, by @piotr-machura
- PR 142 - Add DiagnosticTag constants from LSP 3.15, by @krassowski
- PR 141 - Support pycodestyle indent-size option, by @mnauw
- PR 138 - Make pylint test Python version independent, by @jspricke
- PR 137 - Add license info to setup.py so it will show up in wheel installs, by @itsbenweeks
- PR 130 - Update Python base version to 3.7+, by @npradeep357
- PR 84 - Move the package metadata from setup.py to setup.cfg, by @KOLANICH (84)
In this release 12 pull requests were closed.
Version 1.3.3 (2021-12-13)
In this release 1 issue was closed.
In this release 2 pull requests were closed.
Version 1.3.2 (2021-11-25)
In this release 1 issue was closed.
In this release 1 pull request was closed.
Version 1.3.1 (2021-11-22)
In this release 1 pull request was closed.
Version 1.3.0 (2021-11-22)
- Create a cache for code snippets to speed up completions.
- Option 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.
- Option 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.
- Update requirements on Pylint, flake8, pycodestyle, pyflakes and autopep8.
In this release 7 pull requests were closed.
Version 1.2.4 (2021-10-11)
In this release 1 pull request was closed.
Version 1.2.3 (2021-10-04)
- PR 93 - Document how to write python-lsp-server plugin + add pylsp-rope to Readme, by @lieryan
- PR 88 - Fix pylint test without pylsp installed, by @jspricke
In this release 2 pull requests were closed.
Version 1.2.2 (2021-09-01)
In this release 4 pull requests were closed.
Version 1.2.1 (2021-08-04)
In this release 1 issue was closed.
- PR 64 - Catch errors when getting docstrings on _resolve_completion, by @ccordoba12
In this release 1 pull request was closed.
Version 1.2.0 (2021-08-01)
- Implement completion item resolve requests for faster completions.
- Initialize workspaces from the initialize request.
In this release 3 issues were closed.
- PR 62 - Make use_document_path equal to True when getting definitions and hovers, by @ccordoba12
- PR 59 - Validate if shared_data is not None when resolving completion items, by @ccordoba12
- PR 58 - Do not call get_signatures() if snippets are disabled, by @krassowski
- PR 57 - Document internal flake8 plugin schema and configuration, by @GerardoGR (55)
- PR 53 - Fix skipping imported symbols, by @ccordoba12
- PR 51 - Restore the JSON schema, add human-readable configuration, by @krassowski (24)
- PR 49 - Initialize workspaces from the initialize request, by @rchl (48)
- PR 46 - Improve release instructions, by @ccordoba12
- PR 26 - Implement cached label resolution and label resolution limit, by @krassowski
- PR 25 - Feature/completion item/resolve, by @krassowski
In this release 10 pull requests were closed.
Version 1.1.0 (2021-06-25)
- Add support for flake8 per-file-ignores
- Add --version CLI argument and return version in InitializeResult
In this release 2 issues were closed.
In this release 8 pull requests were closed.
Version 1.0.1 (2021-04-22)
In this release 1 issue was closed.
In this release 2 pull requests were closed.
Version 1.0.0 (2021/04/14)
In this release 2 issues were closed.
In this release 9 pull requests were closed.