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/diagnostic
server request. - Implement
workspace/diagnostic
server request. - Implement
workspace/diagnostic/refresh
client request.
- Implement
- Implement
std::str::FromStr
forjsonrpc::{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.0
to1.64.0
(PR #377, PR #395). - Update
lsp-types
from0.94
to0.94.1
(PR #396). - Update
syn
from1
to2
(PR #390). - Update dev-dependency
async-tungstenite
from0.18
to0.22
(PR #395). - Update dev-dependency
ws_stream_tungstenite
from0.9
to0.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/showDocument
client request from LSP 3.16.0 (PR #375). - Add partial support for Language Server Protocol 3.17.0 (PR #375):
- Implement
textDocument/prepareTypeHierarchy
server request. - Implement
typeHierarchy/supertypes
server request. - Implement
typeHierarchy/subtypes
server request. - Implement
textDocument/inlineValue
server request. - Implement
textDocument/inlayHint
server request. - Implement
inlayHint/resolve
server request. - Implement
workspaceSymbol/resolve
server request. - Implement
workspace/inlineValue/refresh
client request. - Implement
workspace/inlayHint/refresh
client request.
- Implement
Changed
- Address Clippy lints (PR #369).
- Update
edition
from2018
to2021
(PR #370). - Update
lsp-types
from0.93
to0.94
(PR #367). - Reorder
LanguageServer
trait methods to match the LSP 3.17.0 spec document (PR #375). - Reorder
Client
inherent methods to better match the LSP 3.17.0 spec document (PR #375).
Fixed
tower-lsp 0.18.0
Changed
- Switch from
log
facade totracing
(PR #332). - Change
$/cancelRequest
log message fromwarn
todebug
(PR #353). - Update
auto_impl
from0.5
to1.0
(PR #343). - Update
httparse
from1.3.5
to1.8
(PR #363) - Update
memchr
from2.4.1
to2.5
(PR #363). - Relax
tower
version requirement from0.3.11
to0.3
(PR #363). - Update dev-dependency
async-tungstenite
from0.16
to0.18
(PR #363). - Update dev-dependency
ws_stream_tungstenite
from0.7
to0.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
tokio
when enabling theruntime-agnostic
feature (PR #309). - Implement
Service<Request, Response = Option<Response>>
forClient
(PR #313). - Expose
concurrency_level
setting onServer
, allowing adjustment from the default value of 4. - Add
Request::build()
interface for creating custom requests. - Add convenient
From
implementations forjsonrpc::Id
. - Add
.result()
/.error()
and.is_ok()
/.is_error()
methods tojsonrpc::Response
.
Changed
LspService
now implementsService<Request, Response = Option<Response>>
.LspService::new()
now returns aClientSocket
instead of aMessageStream
.Server::new()
now requires a thirdClientSocket
argument 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
Client
channel properly onexit
notification (PR #309). - Fix
Server
occasionally 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.0
to1.52.0
(PR #300). - Update
lsp-types
from0.89
to0.92
(PR #300). - Update
auto_impl
from0.4
to0.5
(PR #298). - Update
dashmap
from4.0.2
to5.0.0
(PR #298). - Update
nom
from6.1.2
to7.1.0
(PR #298).
Fixed
- Support
null
and negative integer values as request IDs (PR #285).
tower-lsp 0.14.1
Fixed
- Fix regression in server-side
$/cancelRequest
support 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/willCreateFiles
server request. - Implement
workspace/willRenameFiles
server request. - Implement
workspace/willDeleteFiles
server request. - Implement
workspace/didCreateFiles
server notification. - Implement
workspace/didRenameFiles
server notification. - Implement
workspace/didDeleteFiles
server notification. - Implement call hierarchy server requests.
- Implement semantic tokens server requests.
- Implement
workspace/codeLens/refresh
client request. - Implement
workspace/semanticTokens/refresh
client request. - Implement
textDocument/linkedEditingRange
server request. - Implement
textDocument/moniker
request. - Implement
codeAction/resolve
request.
- Implement
- Add support for custom server-to-client requests (PR #275).
Changed
- Bump minimum supported Rust version from
1.41.0
to1.45.0
(PR #264). - Update
lsp-types
from0.82
to0.89
(PR #264). - Update
tokio
from0.2
to1.6
(PR #264, PR #268). - Update
tokio-util
from0.3
to0.6.5
(PR #264). - Update
bytes
from0.5
to1.0.1
(PR #264). - Update
dashmap
from3.5.1
to4.0.2
(PR #264). - Update
nom
from5.1
to6.1.2
(PR #264). - Eliminate looping, message reparsing in codec using SIMD accelerated
take_until
combinator (PR #274).
Fixed
- Fix race when sending requests to the client (PR #245).
- Permit
window/showMessageRequest
while server is uninitialized (PR #228). - Fix client request futures hanging by fixing
serde
overlap (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-types
semantic 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.