Update dependency io.modelcontextprotocol:kotlin-sdk to v0.15.0 - #262
Open
renovate[bot] wants to merge 1 commit into
Open
Update dependency io.modelcontextprotocol:kotlin-sdk to v0.15.0#262renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.14.0→0.15.0Release Notes
modelcontextprotocol/kotlin-sdk (io.modelcontextprotocol:kotlin-sdk)
v0.15.0Compare Source
Description
This release makes inbound message handling concurrent after the initialization handshake, adds SSE heartbeats and elicitation schema validation, and fixes several Streamable HTTP response and session-lifecycle bugs.
Breaking Changes
Concurrent inbound dispatch by @devcrocod in #884
Inbound messages were processed serially on the transport read loop, so one slow or peer-awaiting handler (sampling, elicitation, roots) blocked every later message on the connection, including the responses and
notifications/cancelledthose handlers depend on. After the handshake, handlers may now run concurrently; processing stays serial during initialization.ProtocolOptions/ClientOptions/ServerOptionsgain ahandlerCoroutineContextparameter (defaults toDispatchers.Default). Concurrency is bounded internally; there is no opt-out flag by design.RequestHandlerExtrais now aCoroutineContext.Elementand is no longer user-constructible. It exposesrequestId,method,sendRequest, andsendNotification, and can be read inside a handler via the newcurrentRequestHandlerExtra().Duplicate feature names are rejected at registration by @devcrocod in #883
addTool/addPrompt/addResource/addResourceTemplatesilently replaced an existing entry and emitted a spuriouslist_changednotification. They now throwIllegalArgumentExceptionand leave the existing registration intact. The batch variants (addTools/addPrompts/addResources) are all-or-nothing. To replace a feature, remove it first.eventStoreremoved frommcpStatelessStreamableHttpby @devcrocod in #909The parameter was never read or written: a stateless endpoint answers
GETwith405, so no stream exists to store or replay events on. The old overload is retained atDeprecationLevel.ERRORwith aReplaceWithmigration hint. UsemcpStreamableHttpwhen you need resumability.application.mcpStatelessStreamableHttp( path = "/mcp", - eventStore = myEventStore, ) { server }Features
mcpStreamableHttp(sseHeartbeatConfig = { ... }), keeping long-lived streams alive against clients that disconnect on idle. Heartbeats stay off by default, by @UnscientificJsZhai in #761requestedSchema; a mismatch failscreateElicitationwithMcpException(INVALID_PARAMS) instead of reaching server code unchecked, by @rea9r in #896Mcp-MethodandMcp-NamePOST headers, by @AndreKalberer in #894Fixed
text/event-stream, by @devcrocod in #911Acceptheader is parsed as media ranges, so clients sending*/*orapplication/*are matched correctly, by @devcrocod in #912Invalid params(-32602) instead ofInternal error, by @jstar0 in #886initializeerrors preserve the JSON-RPC request id, by @jstar0 in #868Maintenance
ChannelTransportstartup race, by @devcrocod in #885Dependencies
actions/setup-nodev7) in #880, #891, #898, #906, #907, #910New Contributors
Full Changelog: modelcontextprotocol/kotlin-sdk@0.14.0...0.15.0
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.