Skip to content

Releases: microsoft/vs-streamjsonrpc

v2.0.180

03 May 07:33
7c07baa
Compare
Choose a tag to compare
  • Throw OCE from canceled requests even when remote disconnects before sending cancellation acknowledgment #265

v2.0.167

08 Apr 15:52
5518748
Compare
Choose a tag to compare
  • Use safe technique for length prefixing with IBufferWriter<T> #247
  • Fix handling of nullable return types #237
  • Add net472-specific target in NuGet package (avoids facade assembly loads on that framework)

v2.0.146

11 Feb 15:28
98255a7
Compare
Choose a tag to compare

Fixes propagation of JSON parse settings (#227)

v2.0

28 Dec 22:32
303df14
Compare
Choose a tag to compare

This release contains API breaking changes from the 1.x versions.

Highlights

  • Support for the new .NET Pipelines API (PipeReader and PipeWriter) for higher performance
  • Decoupled from Newtonsoft.Json, allowing alternative message formatters to be plugged in such as high performance MessagePack
  • Message handling is now an extensibility point, enabling custom message routing, filtering/modification, and alternate transports such as HTTP
  • Add LengthHeaderMessageHandler as a high performance alternative to the default HTTP-like headers message handler.
  • Logging support via TraceSource
  • Default to blocking of RPC invocations of non-public methods on your target objects
  • Better server-side support for named arguments (the JSON params object in the spec). Now server methods can define each parameter separately rather than being required to take a JToken
  • Offer more control of error messages returned to the client
  • Throw ConnectionLostException when connection drops before a response is received to an outbound request

v1.5

28 Dec 22:32
cb3da8a
Compare
Choose a tag to compare

Highlights

New in 1.5 over the 1.4 version (exhaustive list):

  • Add non-generic InvokeWithParameterObject method
  • Add option to automatically cancel server methods when the connection is dropped (Roslyn partner team request)
  • Lots of perf and GC pressure improvements
  • SourceLink-enabled portable PDB included in the package for easy step-into debugging from your application code
  • Enable blocking of RPC invocations of non-public methods on your target objects

v1.4

28 Dec 22:31
65f6718
Compare
Choose a tag to compare

Highlights

  • Performance improvements
  • Throw OperationCanceledException instead of RemoteInvocationException when server method is canceled #71
  • Add JsonRpc.Completion property to more easily await the connection's completion and handle exceptions that led to unexpected disconnection. #77
  • Fix support for combined CancellationToken and parameter objects #83
  • Add support for WebSocket #81
  • Allow server the option to crash on exception thrown #74
  • Allow JsonRpc modification while listening #90
  • Support using SynchronizationContext to invoke server methods #92
  • Add support for RPC method name transforms when adding a local target objects #100
  • Add JsonRpc.Attach client proxy generating method #108
  • .NET Core 2.1 compatibility fix: Fix handling of Task-derived types returned from async methods #117
  • Fix handling of plain-Task returned objects from server methods #131
  • Accept error responses where error.data is a primitive #127
  • Fix cancellation race that can result in connection termination #168

Potentially breaking

  • Add support for target object events #105. If your RPC target objects already define events, this could be potentially breaking. With this new feature, a way to opt-out is provided to avoid the break.