Skip to content

v0.1.0-preview.2

Pre-release
Pre-release

Choose a tag to compare

@jeffhandley jeffhandley released this 27 Mar 22:35
9330774

This release overhauls tool handling, makes options types fully mutable, adds logging capability, and improves serialization.

Breaking Changes

Refer to the C# SDK Versioning documentation for details on versioning and breaking change policies.

  1. Overhaul tool handling #89
    • McpToolAttribute renamed to McpServerToolAttribute; McpToolTypeAttribute renamed to McpServerToolTypeAttribute
    • WithTools() renamed to WithToolsFromAssembly()
    • ListToolsAsync return type changed from IAsyncEnumerable<Tool> to Task<IList<McpClientTool>>
    • CallToolAsync parameter changed from Dictionary<string, object> to IReadOnlyDictionary<string, object?>
  2. Make options types fully mutable #107
    • McpClientOptions, Implementation, and all capability types changed from record to class
    • init-only setters changed to set; with expressions on these types will no longer compile
  3. Fix enum serialization #61
    • Role, LoggingLevel, and ContextInclusion enums now use JsonStringEnumConverter with [JsonStringEnumMemberName] instead of [JsonPropertyName]
    • This is a serialization format change; any code depending on the previous serialized form needs to be updated
  4. List tools from DI once #115
    • ServerInstructions property removed from McpServer
    • McpServerHostedService is no longer public

What's Changed

Documentation Updates

Test Improvements

Repository Infrastructure Updates

Acknowledgements

Full Changelog: v0.1.0-preview.1.25171.12...v0.1.0-preview.2