Skip to content

Update dependency io.modelcontextprotocol:kotlin-sdk to v0.12.0#478

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mcp
Open

Update dependency io.modelcontextprotocol:kotlin-sdk to v0.12.0#478
renovate[bot] wants to merge 1 commit intomainfrom
renovate/mcp

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jan 23, 2026

This PR contains the following updates:

Package Change Age Confidence
io.modelcontextprotocol:kotlin-sdk 0.8.10.12.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

modelcontextprotocol/kotlin-sdk (io.modelcontextprotocol:kotlin-sdk)

v0.12.0

Compare Source

Description

Adds sampling-with-tools per SEP-1577, JSON Schema dialect declaration on tool schemas, server-side tool name validation, and capability extensions; fixes SSE reconnect on the same session and stops swallowing CancellationException.

Breaking Changes

Sampling messages can carry tool calls and results (SEP-1577) by @​devcrocod in #​718

SamplingMessage.content is now typed as a new SamplingMessageContent supertype, with MediaContent (text/image/audio), ToolUseContent, and ToolResultContent as variants. MediaContent still exists and now extends SamplingMessageContent, so most source code that constructs sampling messages compiles unchanged — but the binary signatures of SamplingMessage, CreateMessageResult, and related types have changed. ClientCapabilities.sampling is also now a typed Sampling object instead of a raw JsonObject. Recompilation is required; consumers reading sampling as JsonObject must migrate to the typed accessors.

watchosX64 and tvosX64 Kotlin/Native targets removed by @​devcrocod in #​727

These targets have been deprecated upstream. Migrate to the corresponding ARM/simulator targets (watchosArm64, watchosSimulatorArm64, tvosArm64, tvosSimulatorArm64).

Features
  • Add $schema field to ToolSchema, declaring JSON Schema 2020-12 as the default dialect (SEP-1613) by @​devcrocod in #​696
  • Validate tool names at registration time on the server, following the MCP tool naming standard (SEP-986) by @​devcrocod in #​695
  • Add extensions field to ClientCapabilities and ServerCapabilities for advertising supported MCP extensions during the initialize handshake by @​eritscher in #​678
Fixed
  • Validate the mcp-protocol-version HTTP header on initialization requests and correct DEFAULT_NEGOTIATED_PROTOCOL_VERSION to match the spec by @​devcrocod in #​697
  • Propagate CancellationException instead of logging it as an error by @​devcrocod in #​706
  • Evict stale GET SSE stream mapping on reconnect so a new GET on the same session is no longer silently rejected by the leftover entry from the previous stream by @​amr in #​716
Maintenance
Dependencies
New Contributors

Full Changelog: modelcontextprotocol/kotlin-sdk@0.11.1...0.12.0

v0.11.1

Compare Source

Description

Fixes an SSE stream crash on Netty when clients connect to the Streamable HTTP GET endpoint.

Fixed
  • Fixed GET SSE stream crash on Netty in Streamable HTTP where appendSseHeaders() was called after response headers were already committed, causing UnsupportedOperationException and client retry loops by @​devcrocod in #​681
Dependencies

Full Changelog: modelcontextprotocol/kotlin-sdk@0.11.0...0.11.1

v0.11.0

Compare Source

Adds URL-mode elicitation with typed schema definitions, configurable server payload size limits, and upgrades core dependencies to Kotlin 2.3.

Breaking Changes

ElicitRequestParams is now a sealed interface by @​devcrocod in #​660

Restructured to support both form-based and URL-based elicitation modes per the MCP specification. ElicitRequestParams changed from a data class to a sealed interface with two variants: ElicitRequestFormParams and ElicitRequestUrlParams. A deprecated factory function preserves source compatibility for existing calls.

- val params = ElicitRequestParams(message = "...", requestedSchema = schema)
+ val params = ElicitRequestFormParams(message = "...", requestedSchema = schema)

RequestedSchema.properties type changed by @​devcrocod in #​660

Changed from JsonObject to Map<String, PrimitiveSchemaDefinition> for type safety.

macosX64 target removed by @​devcrocod in #​625

The macosX64 native target was removed following its deprecation in Kotlin 2.2 and scheduled removal in Kotlin 2.3. Use macosArm64 instead.

Features

  • URL-mode elicitation and typed PrimitiveSchemaDefinition hierarchy aligned with MCP specification by @​devcrocod in #​660
  • Configurable max request payload size for StreamableHttpServerTransport via Configuration.maxRequestBodySize by @​jskjw157 in #​646
  • Auto-install ContentNegotiation with McpJson in mcp(), mcpStreamableHttp(), and mcpStatelessStreamableHttp() — users no longer need to configure JSON serialization manually (#​664) by @​kpavlov in
    #​665
  • notifications/elicitation/complete notification from server to client for out-of-band elicitation completion by
    @​devcrocod in #​667

Fixed

  • Elicitation schema defaults are now applied for missing fields in client responses by @​devcrocod in #​661
  • Duplicate initialize requests are now rejected with INVALID_REQUEST error by @​devcrocod in #​624

Maintenance

Dependencies

Full Changelog: modelcontextprotocol/kotlin-sdk@0.10.0...0.11.0

v0.10.0

Compare Source

Highlights

This release adds MCP conformance testing infrastructure, SSE reconnection support, Tasks protocol types, resource template matching, and
tool execution properties. It also completes a deprecation cycle — removing all previously deprecated (error-level) symbols from
io.modelcontextprotocol.kotlin.sdk in favor of their replacements in io.modelcontextprotocol.kotlin.sdk.types.

Breaking Changes

  • Deprecation cycle completed — All symbols deprecated at ERROR level in 0.9.0 have been removed by @​devcrocod (#​615). This includes
    the entire io.modelcontextprotocol.kotlin.sdk.types.kt compatibility file (type aliases such as CallToolResult, CancelledNotification,
    ClientCapabilities, CompleteRequest, etc.) and the legacy McpJson in io.modelcontextprotocol.kotlin.sdk. Migrate to the equivalents
    in io.modelcontextprotocol.kotlin.sdk.types.
  • SSE/Streamable HTTP transport changesStreamableHttpClientTransport now accepts ReconnectionOptions for configurable retry
    behavior by @​devcrocod (#​585, #​596). The previous constructor signatures remain available.

Features

  • MCP conformance test infrastructure — Comprehensive conformance test suite covering core protocol operations, tool calls, elicitation,
    resources, prompts, and 20 OAuth/auth scenarios. Includes CI workflow, baseline tracking, and shell runner by @​devcrocod (#​585)
  • SSE reconnection with retry support — Client transports now support configurable reconnection with exponential backoff via
    ReconnectionOptions (initial delay, max delay, multiplier, max retries) by @​devcrocod (#​596)
  • Tasks protocol types — Added Task, TaskStatus, and related models per the MCP tasks specification by @​devcrocod (#​566)
  • Resource templates with basic template matcher — Server-side support for URI template-based resource matching by @​kpavlov (#​502, #​606)
  • Tool execution propertiesTool now exposes execution properties for richer tool metadata by @​devcrocod (#​567)

Bug Fixes

  • Notifications not delivered over Streamable HTTP — Fixed server-side notification delivery for Streamable HTTP transport sessions by
    @​kpavlov (#​587, #​599)
  • Conformance: SEP-1330 enum schemas — Corrected elicitation enum schemas in conformance tests by @​kpavlov (#​600)

Documentation

Maintenance

Full Changelog: modelcontextprotocol/kotlin-sdk@0.9.0...0.10.0

v0.9.0

Compare Source

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
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: modelcontextprotocol/kotlin-sdk@0.8.4...0.9.0

v0.8.4

Compare Source

Changes

Full Changelog: modelcontextprotocol/kotlin-sdk@0.8.3...0.8.4

v0.8.3

Compare Source

What's Changed

Bugfixes

New features

Chores

New Contributors

Full Changelog: modelcontextprotocol/kotlin-sdk@0.8.1...0.8.2


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.8.3 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.8.4 Feb 17, 2026
@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.8.4 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.9.0 Mar 5, 2026
@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.9.0 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.10.0 Mar 26, 2026
@renovate renovate Bot force-pushed the renovate/mcp branch 2 times, most recently from f6388ec to 4a8856e Compare April 2, 2026 14:28
@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.10.0 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.11.0 Apr 2, 2026
@renovate renovate Bot force-pushed the renovate/mcp branch 2 times, most recently from 0930926 to b433524 Compare April 13, 2026 13:06
@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.11.0 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.11.1 Apr 13, 2026
@renovate renovate Bot changed the title Update dependency io.modelcontextprotocol:kotlin-sdk to v0.11.1 Update dependency io.modelcontextprotocol:kotlin-sdk to v0.12.0 Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants