Skip to content

Releases: microsoft/vs-streamjsonrpc

v2.3.80-rc

07 Jan 21:37
86ae6a4
Compare
Choose a tag to compare
v2.3.80-rc Pre-release
Pre-release

Changes:

Fixes:

  • #400: JsonRpc wraps failure to deserialize argument with misleading exception
  • #386: Improve/Fix GetJsonText on built-in formatters
  • #377: Custom JsonConverter not used for deserialization of items Reported by IProgress instance.
  • #371: Multiple IProgress parameters in a single method signature doesn't work
  • #372: Async hang when message transmission fails

Enhancements:

  • #402: Report argument deserialization failures more precisely
  • #396: UI delay caused by JsonRpc.Dispose()
  • #369: RemoteInvocationException.ToString() return value should include remote callstack
See More
  • #385: Replace specialized tracker code in formatters with general APIs
  • #379: Add IAsyncEnumerable support
  • #375: Keep CancellationToken given to RPC methods working on net472 after method completion
  • #367: Add built-in MessagePack formatter
  • #357: Enable nullable ref types
  • #353: Reduce allocations for invocations that have non-cancelable tokens
  • #347: Support for deserializing params object as single first parameter
  • #329: serialize the id field as a string

Others:

  • #401: Replace test project's netcoreapp2.2 target with netcoreapp3.1
  • #399: Update to stable MessagePack 2.0.323
  • #397: Avoid synchronous blocking in common case from JsonRpc.Dispose
  • #398: Fix verbose RPC message tracing
  • #395: Include RPC server stack trace in RemoteInvocationException.ToString()
  • #394: Document (and test) that obtaining error data is much simpler now
  • #252: Extracting exception details on the client is too complicated
  • #392: Update MessagePack version
  • #393: Merge v2.2 to master
  • #388: Fix hang on deserialization exception
  • #389: Optimize RPC traffic for IAsyncEnumerable<T>
  • #382: Use user-supplied JsonConverters when deserializing IProgress report
  • #381: Move IJsonRpcMessageBufferManager into Reflection namespace
  • #380: Move IJsonRpcMessageBufferManager into Reflection namespace
  • #374: Fix bugs in IProgress handling
  • #373: Fix hang when ObjectDisposedException or OCE is thrown but for an unexpected reason
  • #370: LOC CHECKIN | Microsoft/vs-streamjsonrpc master | 20191122
  • #368: Update MessagePack to 2.0.231-rc
  • #362: Package dependency updates and better Public API tracking
  • #361: Get Live Unit Testing running more smoothly
  • #359: Provide deterministic way to await for async disposal
  • #358: Merge v2.2 to master
  • #352: Only complete PipeReader/PipeWriter after operations complete
  • #355: Update to .NET Core 3.0 SDK and C# 8
  • #348: Add support for custom (string based) request IDs

This list of changes was auto generated.

v2.3.65-alpha

03 Dec 17:12
f16d000
Compare
Choose a tag to compare
v2.3.65-alpha Pre-release
Pre-release

Changes:

Fixes:

  • #377: Custom JsonConverter not used for deserialization of items Reported by IProgress instance.
  • #371: Multiple IProgress parameters in a single method signature doesn't work
  • #372: Async hang when message transmission fails
  • #350: HeaderDelimitedMessageHandler.Write throws when in race with disposal
  • #382: Use user-supplied JsonConverters when deserializing IProgress report
  • #374: Fix bugs in IProgress handling
  • #352: Only complete PipeReader/PipeWriter after operations complete

Enhancements:

  • #379: Add IAsyncEnumerable support
  • #367: Add built-in MessagePack formatter
  • #347: Support for deserializing params object as single first parameter
  • #348: Add support for custom (string based) request IDs
See More
  • #357: Enable nullable ref types
  • #353: Reduce allocations for invocations that have non-cancelable tokens

Others:

  • #392: Update MessagePack version
  • #393: Merge v2.2 to master
  • #391: Workaround issues on mono and get tests running
  • #388: Fix hang on deserialization exception
  • #389: Optimize RPC traffic for IAsyncEnumerable<T>
  • #387: Getting a StreamJsonRpc.RemoteInvocationException when invoking a server->client RPC on Mono.
  • #383: Use user-supplied JsonConverters when deserializing IProgress report
  • #381: Move IJsonRpcMessageBufferManager into Reflection namespace
  • #380: Move IJsonRpcMessageBufferManager into Reflection namespace
  • #373: Fix hang when ObjectDisposedException or OCE is thrown but for an unexpected reason
  • #370: LOC CHECKIN | Microsoft/vs-streamjsonrpc master | 20191122
  • #368: Update MessagePack to 2.0.231-rc
  • #364: Only complete PipeReader/PipeWriter after operations complete
  • #359: Provide deterministic way to await for async disposal
  • #363: Fix intermittent test failures
  • #362: Package dependency updates and better Public API tracking
  • #361: Get Live Unit Testing running more smoothly
  • #358: Merge v2.2 to master
  • #356: LOC CHECKIN | Microsoft/vs-streamjsonrpc v2.2 | 20191104
  • #355: Update to .NET Core 3.0 SDK and C# 8
  • #351: Improve tests to timeout quickly instead of hang when product defects exist

This list of changes was auto generated.

v2.2.53

03 Dec 17:09
1512b56
Compare
Choose a tag to compare

Changes:

Adds mono support.

Fixes:

  • #377: Custom JsonConverter not used for deserialization of items Reported by IProgress instance.
  • #350: HeaderDelimitedMessageHandler.Write throws when in race with disposal
  • #387: Getting a StreamJsonRpc.RemoteInvocationException when invoking a server->client RPC on Mono.

Others:

  • #391: Workaround issues on mono and get tests running
  • #383: Use user-supplied JsonConverters when deserializing IProgress report
  • #364: Only complete PipeReader/PipeWriter after operations complete
  • #359: Provide deterministic way to await for async disposal
  • #363: Fix intermittent test failures
See More
  • #356: LOC CHECKIN | Microsoft/vs-streamjsonrpc v2.2 | 20191104
  • #351: Improve tests to timeout quickly instead of hang when product defects exist

This list of changes was auto generated.

v2.2.34

27 Nov 22:07
4002437
Compare
Choose a tag to compare

Enhancements

  • Add support for IProgress<T> parameters (#320)
  • Add support for marshaling an IDuplexPipe, PipeReader, PipeWriter, or Stream as a JSON-RPC argument (#334 #344)
  • Add support for dynamic proxies with non-public interfaces (#342)
  • Add JsonRpc.Attach(Type) (non-generic) method overloads (#324)
  • Add ability to relay messages (#319)

Fixes

  • Fix handling of events declared on the base types of target objects (#340)

v2.1.74

27 Nov 22:02
8cc34f1
Compare
Choose a tag to compare
  • Add ETW events (#322)
  • Improved exception handling in JsonMessageFormatter (#321)

v2.1.55

02 Aug 23:26
Compare
Choose a tag to compare
  • Add static JsonRpc.Attach<T>(IJsonRpcMessageHandler) overloads #251
  • Avoid transmitting an async Task result as an empty object back to the client #259
  • Dynamic client proxies always implement IDisposable #298
  • Dynamic client proxies always expose original JsonRpc instance via the new IJsonRpcClientProxy interface #295 #300
  • Accept a response where the id is encoded as a string instead of a number #291

v2.0.208

20 Jun 17:38
b836f6c
Compare
Choose a tag to compare
  • Fix support for target object events with certain generic delegates that regressed in v2.0.203 #292

v2.0.203

11 Jun 05:31
90afe62
Compare
Choose a tag to compare
  • Significant GC pressure improvements #279
  • Add support for dynamic client proxy generation where interfaces define events where the event args do not actually derive from EventArgs #284

v1.5.68

14 May 19:21
318852b
Compare
Choose a tag to compare

Fixes race condition in StartListening and InvokeAsync #269

v2.0.187

14 May 00:05
6b2bcb9
Compare
Choose a tag to compare

This is a servicing release that fixes the following two bugs:

  • Fixes race condition in StartListening and InvokeAsync #269
  • Add JsonRpcRequest.ArgumentsList to allow arguments as non-arrays, correcting a regression from the 1.x versions #272