Releases: ebkalderon/tower-lsp
Releases · ebkalderon/tower-lsp
tower-lsp 0.20.0
Added
- Add support for pull-based diagnostics from LSP 3.17.0 (PR #396).
- Implement
textDocument/diagnosticserver request. - Implement
workspace/diagnosticserver request. - Implement
workspace/diagnostic/refreshclient request.
- Implement
- Implement
std::str::FromStrforjsonrpc::{Request,Response}(PR #379). - Implement
From<jsonrpc::ErrorCode>fori64(PR #379). - Document supported LSP features in FEATURES.md matrix (PR #382, PR #383).
Changed
- Bump minimum supported Rust version from
1.52.0to1.64.0(PR #377, PR #395). - Update
lsp-typesfrom0.94to0.94.1(PR #396). - Update
synfrom1to2(PR #390). - Update dev-dependency
async-tungstenitefrom0.18to0.22(PR #395). - Update dev-dependency
ws_stream_tungstenitefrom0.9to0.10(PR #395). - Optimize JSON-RPC deserialization types.
Fixed
- Fix broken Markdown in doc comment for
LanguageServer::completion()(PR #396).
tower-lsp 0.19.0
Added
- Add
LspService::inner()method (PR #344). - Add missing
window/showDocumentclient request from LSP 3.16.0 (PR #375). - Add partial support for Language Server Protocol 3.17.0 (PR #375):
- Implement
textDocument/prepareTypeHierarchyserver request. - Implement
typeHierarchy/supertypesserver request. - Implement
typeHierarchy/subtypesserver request. - Implement
textDocument/inlineValueserver request. - Implement
textDocument/inlayHintserver request. - Implement
inlayHint/resolveserver request. - Implement
workspaceSymbol/resolveserver request. - Implement
workspace/inlineValue/refreshclient request. - Implement
workspace/inlayHint/refreshclient request.
- Implement
Changed
- Address Clippy lints (PR #369).
- Update
editionfrom2018to2021(PR #370). - Update
lsp-typesfrom0.93to0.94(PR #367). - Reorder
LanguageServertrait methods to match the LSP 3.17.0 spec document (PR #375). - Reorder
Clientinherent methods to better match the LSP 3.17.0 spec document (PR #375).
Fixed
tower-lsp 0.18.0
Changed
- Switch from
logfacade totracing(PR #332). - Change
$/cancelRequestlog message fromwarntodebug(PR #353). - Update
auto_implfrom0.5to1.0(PR #343). - Update
httparsefrom1.3.5to1.8(PR #363) - Update
memchrfrom2.4.1to2.5(PR #363). - Relax
towerversion requirement from0.3.11to0.3(PR #363). - Update dev-dependency
async-tungstenitefrom0.16to0.18(PR #363). - Update dev-dependency
ws_stream_tungstenitefrom0.7to0.9(PR #363).
Fixed
tower-lsp 0.17.0
tower-lsp 0.16.0
Added
- Support defining custom JSON-RPC requests on
LspService(PR #313). - Add compatibility with WASM (PR #309).
- Support alternative async runtimes other than
tokiowhen enabling theruntime-agnosticfeature (PR #309). - Implement
Service<Request, Response = Option<Response>>forClient(PR #313). - Expose
concurrency_levelsetting onServer, allowing adjustment from the default value of 4. - Add
Request::build()interface for creating custom requests. - Add convenient
Fromimplementations forjsonrpc::Id. - Add
.result()/.error()and.is_ok()/.is_error()methods tojsonrpc::Response.
Changed
LspServicenow implementsService<Request, Response = Option<Response>>.LspService::new()now returns aClientSocketinstead of aMessageStream.Server::new()now requires a thirdClientSocketargument instead of using.interleave().- Rename
Client::send_custom_{request,notification}toClient::send_{request,notification}. - Rename
jsonrpc::Response::{ok, error}tojsonrpc::Response::{from_ok, from_error}.
Fixed
- Close
Clientchannel properly onexitnotification (PR #309). - Fix
Serveroccasionally stalling by processing client responses separately from client-to-server requests (PR #313). - Return error code
-32600(invalid request) if incoming data is valid JSON, but isn't a JSON-RPC request or response (PR #313).
Removed
tower-lsp 0.15.1
tower-lsp 0.15.0
Changed
- Bump minimum supported Rust version from
1.45.0to1.52.0(PR #300). - Update
lsp-typesfrom0.89to0.92(PR #300). - Update
auto_implfrom0.4to0.5(PR #298). - Update
dashmapfrom4.0.2to5.0.0(PR #298). - Update
nomfrom6.1.2to7.1.0(PR #298).
Fixed
- Support
nulland negative integer values as request IDs (PR #285).
tower-lsp 0.14.1
Fixed
- Fix regression in server-side
$/cancelRequestsupport since 0.12.0 (PR #280).
tower-lsp 0.14.0
Added
- Add support for Language Server Protocol 3.16.0 (PR #270):
- Implement
workspace/willCreateFilesserver request. - Implement
workspace/willRenameFilesserver request. - Implement
workspace/willDeleteFilesserver request. - Implement
workspace/didCreateFilesserver notification. - Implement
workspace/didRenameFilesserver notification. - Implement
workspace/didDeleteFilesserver notification. - Implement call hierarchy server requests.
- Implement semantic tokens server requests.
- Implement
workspace/codeLens/refreshclient request. - Implement
workspace/semanticTokens/refreshclient request. - Implement
textDocument/linkedEditingRangeserver request. - Implement
textDocument/monikerrequest. - Implement
codeAction/resolverequest.
- Implement
- Add support for custom server-to-client requests (PR #275).
Changed
- Bump minimum supported Rust version from
1.41.0to1.45.0(PR #264). - Update
lsp-typesfrom0.82to0.89(PR #264). - Update
tokiofrom0.2to1.6(PR #264, PR #268). - Update
tokio-utilfrom0.3to0.6.5(PR #264). - Update
bytesfrom0.5to1.0.1(PR #264). - Update
dashmapfrom3.5.1to4.0.2(PR #264). - Update
nomfrom5.1to6.1.2(PR #264). - Eliminate looping, message reparsing in codec using SIMD accelerated
take_untilcombinator (PR #274).
Fixed
- Fix race when sending requests to the client (PR #245).
- Permit
window/showMessageRequestwhile server is uninitialized (PR #228). - Fix client request futures hanging by fixing
serdeoverlap (PR #269). - Correctly handle incoming zero-length messages (PR #271).
- Clean up documentation, fix broken intra-doc and external doc links.
tower-lsp 0.13.3
Changed
- Increase
lsp-typessemantic version range to>=0.79, <0.82. This is safe because the upstream changes only concern proposed LSP features, which this library does not currently support.