All notable changes to this project will be documented in this file.
- Add
LanguageClient
with LSP methods autogenerated from type annotations inlsprotocol
(#328) - Add base JSON-RPC
Client
with support for running servers in a subprocess and communicating over stdio. (#328) - Support work done progress cancel (#253)
- Add support for
textDocument/inlayHint
andinlayHint/resolve
requests (#342)
pygls
no longer overrides the event loop for the current thread when given an explicit loop to use. (#334)- Fixed
MethodTypeNotRegisteredError
when registering aTEXT_DOCUMENT_DID_SAVE
feature with options. (#338) - Fixed detection of
LanguageServer
type annotations when using string-based annotations. ([#352])
- Update typeguard to 3.x (#327)
- Data files are no longer placed inside the wrong
site-packages
folder when installingpygls
([#232]) [#232]: openlawlibrary#232
- Fix progress example in json extension. (#230)
- Fix
AttributeErrors
inget_configuration_async
,get_configuration_callback
,get_configuration_threaded
commands in json extension. (#307) - Fix type annotations for
get_configuration_async
andget_configuration
methods onLanguageServer
andLanguageServerProtocol
objects (#307) - Provide
version
param for publishing diagnostics (#303) - Relaxed the Python version upper bound to
<4
(#318)
1.0.0 - 2/12/2022
BREAKING CHANGE: Replaced pydantic
with lsprotocol
0.13.1 - 1/12/2022
Docs now state that the v1 alpha branch is the recommended way to start new projects
Support CodeActionKind.SourceFixAll
0.13.0 - 2/11/2022
- Add
name
andversion
arguments to the constructor ofLanguageServer
(#274)
- Default behaviour change: uncaught errors are now sent as
showMessage
errors to client. Overrideable inLanguageServer.report_server_error()
: openlawlibrary#282
_data_recevied()
JSONRPC message parsing errors now caught- Fix "Task attached to a different loop" error in
Server.start_ws
(#268)
0.12.4 - 24/10/2022
- Remove upper bound on Pydantic when Python is <3.11
0.12.3 - 24/10/2022
- Require Pydantic 1.10.2 when Python is 3.11
0.12.2 - 26/09/2022
- Relaxed the Python version upper bound to
<4
(#266)
0.12.1 - 01/08/2022
Document
objects now expose a text document'slanguage_id
- Various Pyodide improvements
- Improved tests for more reliable CI
0.12 - 04/07/2022
- Allow custom word matching for
Document.word_at_point
- Upgraded Python support to 3.10, dropping support for 3.6
- Dependency updates, notably Pydantic 1.9 and Websockets 10
0.11.3 - 11/06/2021
- Update json-example to include an example semantic tokens method (#204)
- Fix example extension client not detecting debug mode appropriately (#193)
- Fix how the
semantic_tokens_provider
field ofServerCapabilities
is computed (#213)
0.11.2 - 07/23/2021
0.11.1 - 06/21/2021
- Remove defaults from all optional fields on protocol-defined types (#198)
0.11.0 - 06/18/2021
0.10.3 - 05/05/2021
- Move from Azure Pipelines to Github Actions (#182 & #183)
- Update json-example (#175)
- Relax text_doc type to VersionedTextDocumentIdentifier (#174)
- Handle
BrokenPipeError
on shutdown (#181) - Exit when no more data available (#178)
- Adding kind field to resource file operation types (#177)
- Don't install the tests to site-packages (#169)
- Don't serialize unwanted
"null"
values in server capabilities (#166)
0.10.2 - 03/25/2021
- Handle lost connection; Remove psutil (#163)
0.10.1 - 03/17/2021
- Remove "query" from FoldingRangeParams (#153)
0.10.0 - 03/16/2021
- New LSP types and methods (#139)
pydantic
andtypeguard
deps for type-checking (#139)- Runtime type matching and deserialization (#139)
0.9.1 - 09/29/2020
- Functions to convert positions from and to utf-16 code units (#117)
- Type definitions for
ClientInfo
andHoverParams
(#125)
- Exit server normally when
ctrl+c
is pressed in command shell. - Mark deprecated
rangeLength
optional inTextDocumentContentChangeEvent
(#123) - Optimize json-rpc message serialization (#120)
- Fix
__init__()
constructors in several interface types (#125) - Fix valueSet type in
SymbolKindAbstract
(#125)
coroutine
deprecation warning - use async def instead (#136)
0.9.0 - 04/20/2020
- Fixed missing
Undo
member fromFailureHandlingKind
in types (#98) - Fixed
@command
,@feature
and@thread
decorators to retain type of wrapped functions (#89)
- Azure Pipelines build script (#100 and #103)
- Run tests and linters on multiple python versions with tox (#100)
- Use python enums in types module (#92)
- Add comparisons and repr support to Range and Location types (#90)
- appveyor build script (#103)
0.8.1 - 09/05/2019
- Fix parsing of partial messages and those with Content-Length keyword (#80)
- Fix Full SyncKind for servers accepting Incremental SyncKind (#78)
0.8.0 - 05/13/2019
- Add new types and features from LSP v3.14.0 (#67)
- Add API to dynamically register/unregister client capability (#67)
- Full text document synchronization support (#65)
- Add more tests for
deserialize_message
function (#61)
- Response object should contain result OR error field (#64)
- Fix handling parameters whose names are reserved by Python (#56)
0.7.4 - 03/21/2019
- Add Pull Request template (#54)
0.7.3 - 01/30/2019
- Add flake8 and bandit checks to appveyor script
- Start using Keep a Changelog format.
- Fix and refactor initialize LSP method and add more tests
- Fix python 3.5 compatibility
- Use python 3.5 in appveyor script
- Fix README to use absolute paths for GitHub urls (needed for PyPi)
- Add
publish_diagnostics
to LanguageServer - Fix validation function in json example
- Correct advanced usage doc page
- "pygls" -> pygls everywhere in the docs
- Open source pygls
- Modules/functions/methods reorganization
- Add more features/commands to json-extension example
- Add unit tests to json-extension example
- Update
appveyor.yml
- Small bug fixes
- Return awaitable Future object from get_configuration
- Add / Remove Workspace folders bugfix
- Attach loop to child watcher for UNIX systems
- Gracefully shutdown and exit server process
- Disallow requests after shutdown request is received
- Added more types for type hints
- Improved example
- Async functions (coroutines) support
- Mark function to execute it in a thread pool
- Added lsp types
- New example
- Fixed
appveyor.yml
- Added classes for
textDocument/completion
method response
- Initial Version