Skip to content

v2.24.84

Latest

Choose a tag to compare

@AArnott AArnott released this 21 Jan 22:53
· 147 commits to main since this release
0cc78b1

What's Changed

Features

  • Add source generation of proxies by @AArnott in #1223
  • Add NerdbankMessagePackFormatter by @trippwill in #1100
  • Enable RPC marshalable objects in NerdbankMessagePackFormatter by @AArnott in #1260
  • Source generate proxies for RpcMarshalable interfaces by @AArnott in #1246
  • Add RpcTargetMetadata generation from ITypeShape by @AArnott in #1251
  • Create a NativeAOT-compatible JsonRpc.AddLocalTargetObject method by @AArnott in #1236
  • Use PolyType shapes for events by @AArnott in #1297
  • Add PolyTypeJsonFormatter as 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 WebSocketMessageHandler by @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.Name by @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 null argument to As<T> and Is(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 FormatterBase by @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

Full Changelog: v2.22.23...v2.24.84