v0.2.0-preview.3
Pre-release
Pre-release
·
416 commits
to main
since this release
This release introduces the ModelContextProtocol.Core package, splitting the SDK into layered packages to provide client and low-level server APIs with minimal dependencies. Protocol record types are converted to classes for better forward compatibility, elicitation support is added, and protocol version negotiation is improved.
Breaking Changes
Refer to the C# SDK Versioning documentation for details on versioning and breaking change policies.
- Add ModelContextProtocol.Core package #428
- Client, protocol, transport, and core types moved from the
ModelContextProtocolassembly to a newModelContextProtocol.Coreassembly; existingModelContextProtocolpackage now referencesModelContextProtocol.Coreand provides hosting/DI extensions - Migration: Applications referencing
ModelContextProtocolretain access to all types with no changes needed; applications wanting minimal dependencies can referenceModelContextProtocol.Coredirectly
- Client, protocol, transport, and core types moved from the
- Convert records to classes #470
- Nine protocol types converted from
record/record structtoclass:SseClientTransportOptions,StdioClientTransportOptions,ProgressNotificationValue,Annotations,InitializeResult,JsonRpcErrorDetail,PingResult,Resource,ResourceTemplate;ProgressNotificationValuechanged from value type to reference type - Migration: Remove uses of structural equality,
withexpressions, and deconstruction on the affected types
- Nine protocol types converted from
- Improve protocol version handling #468
McpClientOptions.ProtocolVersionandMcpServerOptions.ProtocolVersionchanged fromstringtostring?; default protocol version updated from2024-11-05to2025-03-26; server now negotiates the protocol version based on the client's requested version- Migration: Update any code that relies on the
ProtocolVersiontype or the default protocol version value
What's Changed
- Add elicitation capability #467 by @stephentoub
- Convert records to classes #470 by @eiriktsarpalis
- Add ModelContextProtocol.Core package #428 by @halter73
- Improve protocol version handling #468 by @stephentoub
- Don't conflate request and response IDs in Streamable HTTP transports #475 by @halter73
Repository Infrastructure Updates
- Bump version to 0.2.0-preview.3 #465 by @jeffhandley
- Convert solution to slnx #472 by @eiriktsarpalis
- Update dependency versions #474 by @stephentoub
Acknowledgements
- @mkeeley-tricentis submitted issue #464 (resolved by #475)
- @ladeak reviewed pull requests
Full Changelog: v0.2.0-preview.2...v0.2.0-preview.3