Skip to content

v0.1.0-preview.9

Pre-release
Pre-release

Choose a tag to compare

@jeffhandley jeffhandley released this 15 Apr 17:06
312aede

This release wraps each MCP request in a dependency injection service scope, introduces the Streamable HTTP transport with StreamableHttpHandler and WithHttpTransport, updates OpenTelemetry instrumentation with context propagation, and cleans up logging. It includes several breaking changes to handler delegate signatures, HTTP transport configuration, and transport base class APIs.

Breaking Changes

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

  1. Wrap each request in a service scope #276

    • All capability handler delegate types changed from Func<..., Task<T>> to Func<..., ValueTask<T>> including SamplingHandler, ListToolsHandler, CallToolHandler, ListPromptsHandler, GetPromptHandler, and all resource/completion/logging handlers
    • McpServerTool.InvokeAsync and McpServerPrompt.GetAsync return types changed to ValueTask
  2. Add StreamableHttpHandler and WithHttpTransport #291

    • MapMcp removed configureOptionsAsync and runSessionAsync parameters; configuration moved to WithHttpTransport(Action<HttpServerTransportOptions>?)
    • SseClientTransportOptions.MaxReconnectAttempts and ReconnectDelay properties removed
  3. Clean up logging #286

    • TransportBase constructor changed from (ILoggerFactory?) to (string name, ILoggerFactory?) — required parameter added
    • TransportBase.EndpointName renamed to TransportBase.Name
    • TransportBase.Logger accessibility narrowed from protected to private protected
    • Custom transport implementations extending TransportBase must update

What's Changed

Documentation Updates

Repository Infrastructure Updates

Acknowledgements

Full Changelog: v0.1.0-preview.8...v0.1.0-preview.9