Releases: microsoft/vs-streamjsonrpc
Releases · microsoft/vs-streamjsonrpc
v2.24.84
What's Changed
Features
- Add source generation of proxies by @AArnott in #1223
- Add NerdbankMessagePackFormatter by @trippwill in #1100
- Enable RPC marshalable objects in
NerdbankMessagePackFormatterby @AArnott in #1260 - Source generate proxies for RpcMarshalable interfaces by @AArnott in #1246
- Add
RpcTargetMetadatageneration fromITypeShapeby @AArnott in #1251 - Create a NativeAOT-compatible JsonRpc.AddLocalTargetObject method by @AArnott in #1236
- Use PolyType shapes for events by @AArnott in #1297
- Add
PolyTypeJsonFormatteras an experimental API by @AArnott in #1344 - Add
RpcTargetMetadata.FromShape<T>overloads that work on .NET Framework by @AArnott in #1358 - Expose MessageFormatterEnumerableTracker.EnumeratorResults as public by @eerhardt in #1206
Fixes
- Remove Dependency on Newtonsoft.Json from JsonRpc by @eerhardt in #1201
- Remove Dependency on Newtonsoft.Json From Protocol objects by @eerhardt in #1198
- Cut ProxyGeneration out if dynamic code isn't supported by @eerhardt in #1202
- Add attributes for NativeAOT safety by @AArnott in #1196
- Refactor code and annotations to fix all warnings in NativeAOTCompatibility. by @eerhardt in #1207
- Reduce trimming demands for RPC target objects by @AArnott in #1233
- Improve performance of
WebSocketMessageHandlerby @AArnott in #1237 - Cap the amount of text copied into the stringbuilder in JsonRpcEventSource.Format by @ToddGrun in #1187
- Use JsonElement.Clone instead of Deserialize by @eerhardt in #1200
- Refactor reflection usage to only reflection against the one method by @eerhardt in #1199
- Create dynamic proxies in the same ALC as the interface they implement by @AArnott in #1248
- Avoid 1-2 first chance exceptions on out of order disposal by @AArnott in #1220
- Avoid loading assemblies unnecessarily by @AArnott in #1256
- Dynamically generated proxies reliably invoke with non-aliased method names by @AArnott in #1268
- Proxies should honor
MethodShapeAttribute.Nameby @AArnott in #1271 - Fix proxy generation for interfaces with type parameter variance modifiers by @AArnott in #1300
- Fix source generated proxies compile errors by @AArnott in #1303
- Allow
nullargument toAs<T>andIs(Type)helper methods by @AArnott in #1305 - Avoid producing a new proxy 'group' that is redundant with the first by @AArnott in #1315
- Fix perf regression in testing for RPC marshalable objects by @AArnott in #1329
- Fix perf regression in testing for RPC marshalable objects by @AArnott in #1330
- Fix ProxyBase to report assignability for its own built-in interfaces by @AArnott in #1335
- Fix source generated proxy suitability testing by @AArnott in #1336
- Fix IDE fast up-to-date check by @AArnott in #1342
- Fix new linker warnings by @AArnott in #1372
- Unregister event handlers in RpcTargetInfo.DisposeAsync by @Copilot in #1379
- Fix failure in design-time builds when working in a clean repo by @AArnott in #1262
- Address vulnerabilities in MessagePack and STJ by @RyanToth3 in #1095
- Drop threading analyzers from package dependencies by @AArnott in #1169
- Fix doc links by @AArnott in #1183
- Fix build break in samples due to localization by @AArnott in #1238
- Only suppress diagnostics when the interceptor is running by @AArnott in #1235
- Stop intercepting Attach calls within StreamJsonRpc itself by @AArnott in #1241
- Hopefully stabilize the RpcInterfacesNeedMethodsIncludedInShape_Fixable test by @AArnott in #1299
- Fix msbuild analyzer version property by @AArnott in #1276
Documentation and Miscellaneous
- Typos and doc tweaks by @drewnoakes in #1181
- Replace tedious GenerateShapeFor attributes with method shapes by @AArnott in #1273
- Share more with
FormatterBaseby @AArnott in #1317 - Add DebuggerDisplay for RpcTargetMetadata by @AArnott in #1338
- Obsolete an API that we intend to remove before a stable release by @AArnott in #1359
- Skip collection of symbols from samples project by @AArnott in #1240
- Classify UnreachableAssembly symbols as test symbol by @AArnott in #1253
- Eliminate over-build from the
dotnet publish"test" by @AArnott in #1254 - Remove the special PolyType job from the build by @AArnott in #1298
- Pack with nuget semver 2 rules by @AArnott in #1316
New Contributors
- @drewnoakes made their first contribution in #1181
- @ToddGrun made their first contribution in #1187
- @eerhardt made their first contribution in #1200
- @trippwill made their first contribution in #1100
- @Copilot made their first contribution in #1379
Full Changelog: v2.22.23...v2.24.84
v2.22.23
v2.23.32-alpha
What's Changed
Dependency updates
Enhancements
- Cap the amount of text copied into the stringbuilder in JsonRpcEventSource.Format by @ToddGrun in #1187
- Use JsonElement.Clone instead of Deserialize by @eerhardt in #1200
- NativeAOT readiness
- Refactor reflection usage to only reflection against the one method by @eerhardt in #1199
- Cut ProxyGeneration out if dynamic code isn't supported by @eerhardt in #1202
- Remove Dependency on Newtonsoft.Json from JsonRpc by @eerhardt in #1201
- Remove Dependency on Newtonsoft.Json From Protocol objects by @eerhardt in #1198
- Expose MessageFormatterEnumerableTracker.EnumeratorResults as public by @eerhardt in #1206
- Refactor code and annotations to fix all warnings in NativeAOTCompatibility. by @eerhardt in #1207
- Minor PR feedback by @eerhardt in #1210
- Add attributes for NativeAOT safety by @AArnott in #1196
New Contributors
- @drewnoakes made their first contribution in #1181
- @ToddGrun made their first contribution in #1187
- @eerhardt made their first contribution in #1200
Full Changelog: v2.22.11...v2.23.32-alpha
v2.22.11
v2.21.69
What's Changed
- Avoid crashing the process when
Stream.Disposethrows by @AArnott in #1085 - Update
HttpClientMessageHandler.csreference by @emmanuel-ferdman in #1092 - Fix disposal of marshalable object proxies by @matteo-prosperi in #1156
- Address a few small nits noticed while browsing by @stephentoub in #1158
- Drop threading analyzers from package dependencies by @AArnott in #1169
New Contributors
- @baywet made their first contribution in #1094
- @emmanuel-ferdman made their first contribution in #1092
- @stephentoub made their first contribution in #1158
Full Changelog: v2.20.17...v2.21.69
v2.22.3-alpha
What's Changed
Full Changelog: v2.21.69...v2.22.3-alpha
v2.20.20
What's Changed
- Address vulnerabilities in MessagePack and STJ by @RyanToth3 in #1095
Full Changelog: v2.20.17...v2.20.20
v2.20.17
Enhancements
- Enable sending RPC marshalable objects back to their owner by @AArnott in #1065
- Enable generation of proxies that implement multiple interfaces by @AArnott in #1066
- Allow
JsonElementas theparamsobject in theSystemTextJsonFormatterby @AArnott in #1074
Fixes
- Fix proxies with derived interfaces by @AArnott in #1070
- Fix proxy generation based on
publicinterfaces nested ininternalones by @AArnott in #1072 - Avoid unobserved exception when read loop fails by @AArnott in #1079
- Replace warning with verbose message in log regarding
$/progressnot matching any method by @AArnott in #1082
Others
Full Changelog: v2.19.27...v2.20.17
v2.19.27
What's Changed
- Fix ETW logging of named arguments in System.Text.Json formatter by @AArnott in #1040
- Fix System.Text.Json formatter's support for named arguments object by @AArnott in #1045
- Expose metadata about
TargetMethodpublicly by @AArnott in #1055
Dependency updates
- Add .NET 6 and 8 targets and drop dependencies by @thompson-tomo in #1033
- Bump Nerdbank.Streams to 2.11.72 by @AArnott in #1035
- Trim and update dependencies by @AArnott in #1037
New Contributors
- @thompson-tomo made their first contribution in #1033
Full Changelog: v2.18.48...v2.19.27
v2.18.48
What's Changed
- LEGO: Pull request from juno/hb_152458e8-e8c0-49aa-b375-9938c873e7e8_20240319153626139 to main by @csigs in #1021
- LEGO: Pull request from juno/hb_152458e8-e8c0-49aa-b375-9938c873e7e8_20240320153615567 to main by @csigs in #1023
- Bump Microsoft.Bcl.AsyncInterfaces from 7.0.0 to 8.0.0 by @dependabot in #1019
Full Changelog: v2.18.44...v2.18.48