From a015e3ea2eebfb744986702ae03d9929f4a7877d Mon Sep 17 00:00:00 2001 From: Austin Harris Date: Fri, 25 Sep 2026 17:40:53 -0600 Subject: [PATCH] AUS-1002: Remove the obsolete InProcessClient The obsolete InProcessClient wrapper leaves the core package in 2.0.0 as its own release-checklist item. The test that exercised JsonRpcProcessor.Process with a nullable float keeps its body under a name that says what it exercises. CHANGELOG and docs/upgrading.md carry the removal. --- AustinHarris.JsonRpcTestN/Test.cs | 2 +- CHANGELOG.md | 1 + Json-Rpc/Client/InProcessJsonRpcClient.cs | 20 -------------------- docs/upgrading.md | 1 + 4 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 Json-Rpc/Client/InProcessJsonRpcClient.cs diff --git a/AustinHarris.JsonRpcTestN/Test.cs b/AustinHarris.JsonRpcTestN/Test.cs index adbf501..f30037f 100644 --- a/AustinHarris.JsonRpcTestN/Test.cs +++ b/AustinHarris.JsonRpcTestN/Test.cs @@ -119,7 +119,7 @@ public void TestCanCreateAndRemoveSession() } [Test()] - public void TestInProcessClient() + public void ProcessStringOverloadNullableFloat() { string request = @"{""method"":""NullableFloatToNullableFloat"",""params"":[0.0],""id"":1}"; string expectedResult = "{\"jsonrpc\":\"2.0\",\"result\":0.0,\"id\":1}"; diff --git a/CHANGELOG.md b/CHANGELOG.md index ae54cb1..09b34b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ behaviour: a breaking change to either means a new major version. ### Removed +- `InProcessClient` (obsolete since 1.x); call `JsonRpcProcessor.Process` directly. - The `JsonSerializerSettings` overloads of `JsonRpcProcessor.Process*` (pass a serializer instead; the Newtonsoft package has settings-based helpers). - Json.NET attributes on `JsonRequest`, `JsonResponse` and `JsonRpcException`. - The 1.x projects that 2.0 did not build: `AustinHarris.JsonRpc.Client`, `AustinHarris.JsonRpc.AspNet`, the Windows Phone 7 client, `JsonRpcTest` and `TestClient`. They were .NET Framework 4.0 `packages.config` projects outside the solution, referencing packages with open advisories; their source is in the git history before 2.0. diff --git a/Json-Rpc/Client/InProcessJsonRpcClient.cs b/Json-Rpc/Client/InProcessJsonRpcClient.cs deleted file mode 100644 index 5a7b637..0000000 --- a/Json-Rpc/Client/InProcessJsonRpcClient.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Threading.Tasks; - -namespace AustinHarris.JsonRpc.Client -{ - public class InProcessClient - { - /// - /// Simple wrapper around JsonRpcProcessor.Process - /// - /// - /// - /// - [Obsolete("You can now use JsonRpcProcessor.Process directly")] - public static Task Invoke(string jsonrpc) - { - return JsonRpcProcessor.Process(jsonrpc); - } - } -} diff --git a/docs/upgrading.md b/docs/upgrading.md index 320ed05..7bbd7d9 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -4,6 +4,7 @@ Most 1.x services run unchanged. Read the first list before you build, and the s ## Changes that break the build +- `InProcessClient` (obsolete since 1.x); call `JsonRpcProcessor.Process` directly. - **Session parameter.** The session parameter is spelled `sessionId` everywhere; a named argument `sessionID:` must be updated. - **MethodInfo names.** `RpcMethod.FromMethod` is `FromMethodInfo` and `RpcInterfaceMethod.Method` is `MethodInfo` (both were new in the 2.0 preview). - **Serializer.** `JsonRpcProcessor.Process(…, JsonSerializerSettings)` is gone from the core. Use `Config.SetSerializer(new NewtonsoftJsonRpcSerializer(settings))` from the Newtonsoft package, or the helper overloads there that take the settings.