v0.0.5
Major changes
-
Decoupled
tokio, which is now an optional dependency.futuresutilities,
like channels, are used instead.stdiomodule still requires an async
executor to work. See its documentations for the the usage withtokioor
async-iodriver, brieflylock_tokio()orasync_io::Async::new(lock()). -
Frontendis renamed toMainLoop, and arun_bufferedshortcut is
provided to auto-wrap non-AsyncBufReadarguments with a buffer. -
LspService::{Error,Response}type bounds are relaxed. (#5) Users are free
to implement different error and/or response types in their middlewares. But
they should still meet the bounds onMainLoopconstructors.
Features
-
Separated
Error::EoffromError::Io. -
{Server,Client}Socket::new_closedconstructor for testing. -
AnyEvent::{is,downcast_{ref,mut}}to in sync withBox<dyn Any>. -
More examples, tests and benchmarks.
-
Complete documentations.
Internal changes
-
The platform related behavior of
ClientProcessMonitoris moved into an
individual cratewaitpid-any. It now has a blocking implementation and
spawns a thread. *NIX, Windows and *BSD are all supported now. -
Writing outgoing messages is now done concurrently and will not suspend
reading and request handling.