Skip to content

tower-lsp 0.16.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@ebkalderon ebkalderon released this 11 Mar 04:33
· 89 commits to master since this release

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 the runtime-agnostic feature (PR #309).
  • Implement Service<Request, Response = Option<Response>> for Client (PR #313).
  • Expose concurrency_level setting on Server, allowing adjustment from the default value of 4.
  • Add Request::build() interface for creating custom requests.
  • Add convenient From implementations for jsonrpc::Id.
  • Add .result()/.error() and .is_ok()/.is_error() methods to jsonrpc::Response.

Changed

  • LspService now implements Service<Request, Response = Option<Response>> .
  • LspService::new() now returns a ClientSocket instead of a MessageStream.
  • Server::new() now requires a third ClientSocket argument instead of using .interleave().
  • Rename Client::send_custom_{request,notification} to Client::send_{request,notification}.
  • Rename jsonrpc::Response::{ok, error} to jsonrpc::Response::{from_ok, from_error}.

Fixed

  • Close Client channel properly on exit 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

  • Remove .interleave() method from Server (PR #313).
  • Remove jsonrpc::{ClientRequest, Incoming, Outgoing, ServerRequest} (PR #313).
  • Remove MessageStream (PR #313).