[release/2.3] Remove deprecated SignalR.Redis and SignalR.Protocols.MessagePack packages - #68072
Merged
wtgodbe merged 1 commit intoJul 28, 2026
Conversation
…kages Both packages were announced deprecated (aspnet/Announcements#531) due to vulnerable transitive dependencies that can't be fixed without breaking changes. Removes the two projects, all build-manifest/solution references, and MessagePack-specific tests across the SignalR test suite. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the deprecated Microsoft.AspNetCore.SignalR.Redis and Microsoft.AspNetCore.SignalR.Protocols.MessagePack (1.2.x) packages from the SignalR codebase and build manifests in the release/2.3 branch to eliminate vulnerable transitive dependencies.
Changes:
- Deleted the SignalR Redis scale-out implementation + tests and the MessagePack hub protocol implementation + tests.
- Updated SignalR tests/utilities to no longer register or exercise the MessagePack protocol.
- Removed package/project references from solution/build manifests (baselines, dependency lists, artifacts, signing list).
Reviewed changes
Copilot reviewed 46 out of 46 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/SignalR/SignalR.sln | Removes the Redis and MessagePack protocol projects from the SignalR solution. |
| src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Utils.cs | Stops registering MessagePack protocol in shared test service provider setup. |
| src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs | Removes MessagePack-specific handshake/options/protocol-interop tests and related code. |
| src/SignalR/server/Redis/test/Startup.cs | Deletes Redis test startup that configured Redis + MessagePack. |
| src/SignalR/server/Redis/test/SkipIfDockerNotPresentAttribute.cs | Deletes Redis test infrastructure for Docker-based execution. |
| src/SignalR/server/Redis/test/RedisServerFixture.cs | Deletes Redis test fixture that bootstrapped Docker + multiple servers. |
| src/SignalR/server/Redis/test/RedisProtocolTests.cs | Deletes Redis protocol encoding/decoding tests. |
| src/SignalR/server/Redis/test/RedisHubLifetimeManagerTests.cs | Deletes Redis HubLifetimeManager behavioral tests. |
| src/SignalR/server/Redis/test/RedisEndToEnd.cs | Deletes Redis end-to-end tests using multiple servers and protocol matrix. |
| src/SignalR/server/Redis/test/RedisDependencyInjectionExtensionsTests.cs | Deletes DI extension tests for AddRedis(...). |
| src/SignalR/server/Redis/test/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj | Deletes Redis test project. |
| src/SignalR/server/Redis/test/EchoHub.cs | Deletes Redis test hub. |
| src/SignalR/server/Redis/test/Docker.cs | Deletes Redis test Docker helper. |
| src/SignalR/server/Redis/src/RedisOptions.cs | Deletes Redis options type. |
| src/SignalR/server/Redis/src/RedisHubLifetimeManager.cs | Deletes Redis scale-out HubLifetimeManager implementation. |
| src/SignalR/server/Redis/src/RedisDependencyInjectionExtensions.cs | Deletes AddRedis(...) DI extensions for SignalR server builder. |
| src/SignalR/server/Redis/src/Microsoft.AspNetCore.SignalR.Redis.csproj | Deletes Redis package project. |
| src/SignalR/server/Redis/src/Internal/RedisSubscriptionManager.cs | Deletes internal Redis subscription manager. |
| src/SignalR/server/Redis/src/Internal/RedisProtocol.cs | Deletes internal Redis message protocol implementation (MessagePack-based). |
| src/SignalR/server/Redis/src/Internal/RedisLog.cs | Deletes Redis logging helpers. |
| src/SignalR/server/Redis/src/Internal/RedisInvocation.cs | Deletes Redis invocation payload type. |
| src/SignalR/server/Redis/src/Internal/RedisGroupCommand.cs | Deletes Redis group command payload type. |
| src/SignalR/server/Redis/src/Internal/RedisChannels.cs | Deletes Redis channel naming helpers. |
| src/SignalR/server/Redis/src/Internal/MessagePackUtil.cs | Deletes MessagePack utility helpers used by Redis protocol. |
| src/SignalR/server/Redis/src/Internal/GroupAction.cs | Deletes group action enum used by Redis protocol. |
| src/SignalR/server/Redis/src/Internal/AckHandler.cs | Deletes Redis ack handling used for group ops coordination. |
| src/SignalR/common/testassets/Tests.Utils/TestConnectionMultiplexer.cs | Deletes Redis test double for StackExchange.Redis (IConnectionMultiplexer/ISubscriber). |
| src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj | Removes MessagePack + Redis strong-name references from shared SignalR test utilities project. |
| src/SignalR/common/testassets/Tests.Utils/HubProtocolHelpers.cs | Reduces supported test hub protocols list to JSON-only. |
| src/SignalR/common/SignalR.Common/test/Internal/Protocol/MessagePackHubProtocolTests.cs | Deletes MessagePack hub protocol tests. |
| src/SignalR/common/Protocols.MessagePack/src/Protocol/MessagePackHubProtocol.cs | Deletes MessagePack hub protocol implementation. |
| src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj | Deletes MessagePack protocol package project. |
| src/SignalR/common/Protocols.MessagePack/src/MessagePackProtocolDependencyInjectionExtensions.cs | Deletes server-side DI extensions for enabling MessagePack protocol. |
| src/SignalR/common/Protocols.MessagePack/src/MessagePackHubProtocolOptions.cs | Deletes MessagePack protocol options type. |
| src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderTests.cs | Removes client-side MessagePack builder test. |
| src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderExtensionsTests.cs | Removes client-side MessagePack extension registration test. |
| src/SignalR/clients/csharp/Client/test/FunctionalTests/Startup.cs | Stops enabling MessagePack protocol in functional test server. |
| src/SignalR/clients/csharp/Client/test/FunctionalTests/HubConnectionTests.cs | Removes MessagePack from protocol/transport matrices and drops binary-protocol negotiation test. |
| eng/ProjectReferences.props | Removes project reference providers for MessagePack protocol and Redis. |
| eng/Dependencies.props | Removes tracking of the MessagePack dependency. |
| eng/Baseline.xml | Removes baseline package entries for Redis and MessagePack protocol packages. |
| eng/Baseline.Designer.props | Removes baseline dependency graphs for Redis and MessagePack protocol packages. |
| build/repo.targets | Removes signing entry for MessagePack.dll. |
| build/external-dependencies.props | Removes MessagePack from external dependency inventory. |
| build/dependencies.props | Removes MessagePackPackageVersion definition. |
| build/artifacts.props | Removes package artifacts for Redis and MessagePack protocol packages. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
14
to
+18
| private static readonly IHubProtocol JsonHubProtocol = new JsonHubProtocol(); | ||
|
|
||
| private static readonly IHubProtocol MessagePackHubProtocol = new MessagePackHubProtocol(); | ||
|
|
||
| public static readonly List<string> AllProtocolNames = new List<string> | ||
| { | ||
| JsonHubProtocol.Name, | ||
| MessagePackHubProtocol.Name | ||
| JsonHubProtocol.Name |
BrennanConroy
approved these changes
Jul 28, 2026
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes
Microsoft.AspNetCore.SignalR.RedisandMicrosoft.AspNetCore.SignalR.Protocols.MessagePack(1.2.x) entirely from release/2.3, per the deprecation announced in aspnet/Announcements#531 — both carry vulnerable transitive dependencies that can't be fixed without breaking changes.Changes:
Baseline.xml,Baseline.Designer.props,ProjectReferences.props,artifacts.props,Dependencies.props,dependencies.props,external-dependencies.props,repo.targets). Note:SignalR.Rediswas part of theMicrosoft.AspNetCore.Allmetapackage, so its dependency set changes for the next patch.StackExchange.Redis.StrongName(still needed byMicrosoft.AspNetCore.DataProtection.Redis).Verified the three affected test projects build successfully.