Skip to content

0.9.0

Choose a tag to compare

@kpavlov kpavlov released this 05 Mar 12:48
· 58 commits to main since this release
Immutable release. Only release title and notes can be modified.
5b58814

What's Changed

Breaking Changes

  • Server call handlers now receive a RequestContext — handler lambdas for tools, prompts, and resources have a new context parameter providing access to request metadata (#515) by @rnett
  • Ktor extension functions moved from Routing to Route — update call sites: routing { mcpSse() }route("/mcp") { mcpSse() } or use directly in any Route block (#531) by @kpavlov
  • StdioServerTransport rethrows CancellationException — cancellation is no longer silently swallowed; ReadBuffer parsing was also fixed (#571) by @kpavlov

New Features

  • kotlin-sdk-testing module — new artifact providing an in-process, channel-based TestClientTransport / TestServerTransport for unit testing MCP servers and clients without network I/O (#505) by @kpavlov
  • StreamableHttpServerTransport.Configuration — configurable builder for the Streamable HTTP server transport (timeouts, session handling, etc.) (#560) by @kpavlov
  • Ktor extensions for Streamable HTTPmcpStreamableHttp() Ktor plugin and routing DSL for mounting a Streamable HTTP MCP server (#504 by @devcrocod, #568 by @kpavlov)
  • $defs support in ToolSchema — JSON Schema $defs / definitions can now be expressed in tool input schemas (#526) by @i1bro

Bug Fixes

  • Fixed SSE transport endpoint resolution for non-root mount paths (#565) by @Amaneusz
  • Fixed StdioClientTransport hanging indefinitely by adding proper read timeouts (#528) by @kpavlov

Improvements

  • Introduced AbstractClientTransport base class, simplifying client transport lifecycle management (#516) by @kpavlov
  • Deprecation cycle started — annotated APIs scheduled for removal in a future release (#498) by @devcrocod
  • Detekt static analysis integrated into CI (#493, #507) by @kpavlov
  • Code coverage reporting added via Codecov (#579, #580) by @kpavlov
  • Flaky StdioClientTransport tests replaced with real stdin pipe–based tests (#508) by @kpavlov

Dependency Updates

  • Kotest 6.1.2, MockK 1.14.9, AtomicFU 0.31.0, Gradle 9.3.1, Kover 0.9.7

New Contributors

Full Changelog: 0.8.4...0.9.0