Skip to content

.NET: Update A2A, MCP, and system package dependencies#4647

Merged
SergeyMenshykh merged 2 commits intomicrosoft:mainfrom
SergeyMenshykh:update-packages
Mar 12, 2026
Merged

.NET: Update A2A, MCP, and system package dependencies#4647
SergeyMenshykh merged 2 commits intomicrosoft:mainfrom
SergeyMenshykh:update-packages

Conversation

@SergeyMenshykh
Copy link
Copy Markdown
Member

Summary

Update NuGet package dependencies for the .NET Agent Framework.

Package Updates

Package Old Version New Version
A2A 0.3.3-preview 0.3.4-preview
A2A.AspNetCore 0.3.3-preview 0.3.4-preview
ModelContextProtocol 0.8.0-preview.1 1.1.0
Microsoft.Bcl.AsyncInterfaces 10.0.3 10.0.4
System.Linq.AsyncEnumerable 10.0.0 10.0.4
Microsoft.Bcl.Memory (new) 10.0.4

Code Changes

  • Removed internal A2A polyfills: Deleted A2AMetadataExtensions and AdditionalPropertiesDictionaryExtensions (and their tests) from both Microsoft.Agents.AI.A2A and Microsoft.Agents.AI.Hosting.A2A — these utilities are now provided natively by the A2A SDK 0.3.4.
  • Updated MCP handler: Adapted DefaultMcpToolHandler.CreateDataContent to match the MCP SDK 1.1.0 API where ImageContentBlock.Data and AudioContentBlock.Data changed from string to ReadOnlyMemory<byte>.

Update dependency versions:
- A2A/A2A.AspNetCore: 0.3.3-preview → 0.3.4-preview
- ModelContextProtocol: 0.8.0-preview.1 → 1.1.0
- Microsoft.Bcl.AsyncInterfaces: 10.0.3 → 10.0.4
- System.Linq.AsyncEnumerable: 10.0.0 → 10.0.4
- Add Microsoft.Bcl.Memory 10.0.4

Remove internal polyfill extensions now provided by A2A SDK 0.3.4:
- A2AMetadataExtensions (source + tests)
- AdditionalPropertiesDictionaryExtensions (source + tests)

Update DefaultMcpToolHandler to match MCP SDK 1.1.0 API changes where
ImageContentBlock.Data and AudioContentBlock.Data changed from string
to ReadOnlyMemory<byte>.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the .NET Agent Framework’s NuGet dependencies (A2A, MCP, and System/BCL packages) and removes now-redundant internal A2A metadata polyfills, with a small code adaptation for MCP 1.1.0’s updated binary data representation.

Changes:

  • Bump A2A packages to 0.3.4-preview and MCP to ModelContextProtocol 1.1.0, plus minor System/BCL package updates.
  • Remove internal A2A metadata/AdditionalProperties conversion polyfills and their unit tests (now expected to be provided by the A2A SDK).
  • Update MCP content block conversion to handle ReadOnlyMemory<byte> for image/audio data blocks.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
dotnet/Directory.Packages.props Central package version bumps (A2A, MCP, BCL/System.*), plus new Microsoft.Bcl.Memory entry.
dotnet/src/Microsoft.Agents.AI.Workflows.Declarative.Mcp/DefaultMcpToolHandler.cs Updates MCP image/audio content conversion for new ReadOnlyMemory<byte> API shape.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Converters/AdditionalPropertiesDictionaryExtensions.cs Removes internal A2A polyfill extension for converting AdditionalPropertiesDictionary to A2A metadata.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/Converters/A2AMetadataExtensions.cs Removes internal A2A polyfill extension for converting A2A metadata to AdditionalPropertiesDictionary.
dotnet/src/Microsoft.Agents.AI.A2A/Extensions/AdditionalPropertiesDictionaryExtensions.cs Removes internal A2A polyfill extension for converting AdditionalPropertiesDictionary to A2A metadata.
dotnet/src/Microsoft.Agents.AI.A2A/Extensions/A2AMetadataExtensions.cs Removes internal A2A polyfill extension for converting A2A metadata to AdditionalPropertiesDictionary.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/Converters/AdditionalPropertiesDictionaryExtensionsTests.cs Deletes unit tests for removed Hosting.A2A polyfill.
dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Extensions/AdditionalPropertiesDictionaryExtensionsTests.cs Deletes unit tests for removed A2A polyfill.
dotnet/tests/Microsoft.Agents.AI.A2A.UnitTests/Extensions/A2AMetadataExtensionsTests.cs Deletes unit tests for removed A2A polyfill.

@SergeyMenshykh SergeyMenshykh added this pull request to the merge queue Mar 12, 2026
Merged via the queue into microsoft:main with commit bcb55b4 Mar 12, 2026
21 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Done in Agent Framework Mar 12, 2026
github-merge-queue bot pushed a commit to microsoft/semantic-kernel that referenced this pull request Mar 13, 2026
## Summary

Update NuGet package dependencies to address
[CVE-2026-26127](GHSA-73j8-2gch-69rq), a
high severity denial of service vulnerability caused by an out of bounds
read during malformed Base64Url decoding.

This mirrors the fix applied in Agent Framework [PR
#4647](microsoft/agent-framework#4647).

### Package Updates (Directory.Packages.props)

| Package | Old Version | New Version |
|---------|-------------|-------------|
| Microsoft.Bcl.Memory | 10.0.2 | 10.0.4 |
| Microsoft.Bcl.AsyncInterfaces | 10.0.3 | 10.0.4 |
| System.Linq.AsyncEnumerable | 10.0.2 | 10.0.4 |

### Transitive Vulnerability Fix

Added direct `PackageReference` to `Microsoft.Bcl.Memory` in 3 projects
that transitively pulled in the vulnerable 9.0.4 version via
`Microsoft.ML.Tokenizers.Data.Cl100kBase`. The direct reference forces
NuGet to resolve the centrally managed 10.0.4 version instead.

Affected projects:
- `SemanticKernel.UnitTests`
- `IntegrationTests`
- `Concepts` (sample)

### Validation

- `dotnet restore` completes with zero vulnerability warnings
- `dotnet build` succeeds with zero errors
github-merge-queue bot pushed a commit to microsoft/semantic-kernel that referenced this pull request Mar 18, 2026
## Summary

Update NuGet package dependencies to address
[CVE-2026-26127](GHSA-73j8-2gch-69rq), a
high severity denial of service vulnerability caused by an out of bounds
read during malformed Base64Url decoding.

This mirrors the fix applied in Agent Framework [PR
#4647](microsoft/agent-framework#4647).

### Package Updates (Directory.Packages.props)

| Package | Old Version | New Version |
|---------|-------------|-------------|
| Microsoft.Bcl.Memory | 10.0.2 | 10.0.4 |
| Microsoft.Bcl.AsyncInterfaces | 10.0.3 | 10.0.4 |
| System.Linq.AsyncEnumerable | 10.0.2 | 10.0.4 |

### Transitive Vulnerability Fix

Added direct `PackageReference` to `Microsoft.Bcl.Memory` in 3 projects
that transitively pulled in the vulnerable 9.0.4 version via
`Microsoft.ML.Tokenizers.Data.Cl100kBase`. The direct reference forces
NuGet to resolve the centrally managed 10.0.4 version instead.

Affected projects:
- `SemanticKernel.UnitTests`
- `IntegrationTests`
- `Concepts` (sample)

### Validation

- `dotnet restore` completes with zero vulnerability warnings
- `dotnet build` succeeds with zero errors
rogerbarreto added a commit to microsoft/semantic-kernel that referenced this pull request Mar 18, 2026
## Summary

Update NuGet package dependencies to address
[CVE-2026-26127](GHSA-73j8-2gch-69rq), a
high severity denial of service vulnerability caused by an out of bounds
read during malformed Base64Url decoding.

This mirrors the fix applied in Agent Framework [PR
#4647](microsoft/agent-framework#4647).

### Package Updates (Directory.Packages.props)

| Package | Old Version | New Version |
|---------|-------------|-------------|
| Microsoft.Bcl.Memory | 10.0.2 | 10.0.4 |
| Microsoft.Bcl.AsyncInterfaces | 10.0.3 | 10.0.4 |
| System.Linq.AsyncEnumerable | 10.0.2 | 10.0.4 |

### Transitive Vulnerability Fix

Added direct `PackageReference` to `Microsoft.Bcl.Memory` in 3 projects
that transitively pulled in the vulnerable 9.0.4 version via
`Microsoft.ML.Tokenizers.Data.Cl100kBase`. The direct reference forces
NuGet to resolve the centrally managed 10.0.4 version instead.

Affected projects:
- `SemanticKernel.UnitTests`
- `IntegrationTests`
- `Concepts` (sample)

### Validation

- `dotnet restore` completes with zero vulnerability warnings
- `dotnet build` succeeds with zero errors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants