Skip to content

Upgrade StreamJsonRpc to MessagePack 3.x and remove temporary MessagePack pin #21050

Open

Description

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.

Aspire currently uses StreamJsonRpc 2.25.29, which brings in MessagePack 2.5.302 transitively for hosting and CLI consumers. NuGet now reports NU1902 for GHSA-qhrr-8q5h-9q3h, causing builds that treat warnings as errors to fail during restore. The advisory lists 2.5.303 and 3.1.9 as patched versions for the respective release lines.

The immediate mitigation is a separate PR centrally pinning MessagePack to 2.5.307, retaining StreamJsonRpc 2.25.29 and picking up subsequent 2.x security fixes as well. That interim PR is related to this issue; it does not resolve it. We ultimately want StreamJsonRpc to own its MessagePack dependency again instead of retaining a central override indefinitely.

Describe the solution you'd like

Wait for a released StreamJsonRpc version that adopts MessagePack 3.x, upgrade Aspire to that release, and remove the temporary central MessagePack pin together.

Acceptance criteria:

  • A released StreamJsonRpc version depends on MessagePack 3.x; track microsoft/vs-streamjsonrpc#1576, currently proposing MessagePack and its analyzer 3.1.11.
  • Upgrade Aspire's StreamJsonRpc dependency to that release.
  • Remove the temporary MessagePack entry from Directory.Packages.props and the explicit security-only MessagePack reference in src/Aspire.Hosting/Aspire.Hosting.csproj, and confirm hosting and CLI consumers resolve the supported upstream dependency without NuGet vulnerability warnings.
  • Verify relevant hosting/setup and RPC behavior after the dependency upgrade.

Do not independently force MessagePack 3.x while StreamJsonRpc still depends on 2.x. The interim 2.5.307 pin only unblocks NuGet/build failures and must not close this issue.

Additional context

Version and PR history:

The current restore failure can mask the expected ASPIRE009 diagnostic in MSBuildTests.CliBundleSetupFailureReportsAspire009WhenWarningsAreErrors. Keep warnings-as-errors and vulnerability auditing enabled; address the dependency rather than suppressing the warning.

Activity

  1. added
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Oct 16, 2026
  2. added this to the 17.0 milestone on Oct 16, 2026
  3. mitchdenny commented on Oct 16, 2026

    @mitchdenny
    MemberAuthor

    Temporary mitigation: #21051 pins MessagePack to 2.5.307 while retaining StreamJsonRpc 2.25.29. It also adds an explicit security-only MessagePack reference in Aspire.Hosting so the patched minimum flows to out-of-tree ProjectReference consumers; central transitive pinning alone does not cover that path. Remove both pieces when StreamJsonRpc adopts MessagePack 3.x. This PR does not close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions