workhorse: Update module github.com/modelcontextprotocol/go-sdk to v1
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| github.com/modelcontextprotocol/go-sdk | require | major |
v0.8.0 -> v1.1.0
|
MR created with the help of gitlab-org/frontend/renovate-gitlab-bot
Release Notes
modelcontextprotocol/go-sdk (github.com/modelcontextprotocol/go-sdk)
v1.1.0
This release introduces a few new features, and includes improvements and bug fixes for the streamable transport. Notably, the default behavior of the streamable server transport is changed to disable streams resumption (see #580).
Behavior Changes
Stream resumption disabled by default. In the StreamableServerTransport, the default value of nil for the EventStore field now disables stream resumption, rather than defaulting to use an in-memory event store. Resumption is not desirable in many cases, particularly for servers that must serve a large number of users and/or streams.
If you want to enable resumption, set StreamableHTTPOptions.EventStore.
In general, we will avoid changing behaviors that may be relied upon by users, but in this case the old default was deemed to be an oversight/bug, and fixing it now will benefit future users.
API Additions
-
IOTransportis a new general-purpose transport constructed from anio.ReadCloserandio.WriteCloser(#444 ). -
ServerOptions.LoggerandStreamableHTTPOptions.Loggerenable server-side logging (#170). -
StreamableHTTPOptions.EventStoreenables stream resumption (#587). -
StreamableHTTPOptions.SessionTimeoutadds a timeout which, when set, causes idle sessions to be automatically closed (#499).
Experimental client-side oauth support
The auth package now includes experimental APIs when build with the mcp_go_client_oauth build tag. See auth/client.go for more details. These APIs may change before their official release.
New Contributors
- @atomAltera made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/376
- @Adebayo120 made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/555
- @jhrozek made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/561
- @AdrielVelazquez made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/566
- @appleboy made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/567
- @RyoKusnadi made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/563
- @TomCN0803 made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/581
- @rutu1717 made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/603
Full Changelog: https://github.com/modelcontextprotocol/go-sdk/compare/v1.0.0...v1.1.0
v1.0.0
This is a stable release of the Go SDK.
This release is functionally equivalent to v0.8.0, but formalizes a compatibility guarantee: going forward we won’t make breaking API changes. The API we have is not perfect, but it’s important that we commit to supporting it so that others can depend on the SDK without further churn. If we want to improve the current API in the future, we’ll do so in backward compatible ways, such as by deprecating and adding. For example, #396, #460 and #533 propose new functions that improve the ergonomics of the current API. Given the rate of change of the MCP spec, it seems likely that we’ll want to go to v2 at some point, but we should delay that event for as long as possible.
This release also marks a level of relative completeness. You should be able to implement essentially any behavior described in the MCP spec using the SDK (except client-side OAuth—see #19). See our feature documentation for information on how the SDK models different aspects of the spec.
Finally, this release represents a certain level of maturity. With the help of our contributors, we’ve endeavored to be responsive to bug reports, and as of writing have fixed 60 out of 61 bugs that have been reported against the SDK. Furthermore, the SDK is getting real-world usage both at Google and in the broader Go community. Much of this usage appears to be using the simpler stdio or sse transports; we anticipate further bug reports and feature requests as the SDK is used in larger, distributed streamable servers.
We owe a great deal of thanks to everyone who has filed bugs or contributed to the SDK. To date, we’ve accepted MRs from 58 distinct contributors, and many more people have filed issues or commented. We’d also like to thank those who have helped maintain the many other SDKs that compose the Go MCP ecosystem.
The plan now is to pay close attention to incoming bug reports, finalize client-side OAuth support, revisit our current set of proposals, and prepare for the next version of the MCP spec. Please use the SDK and continue to file issues. Thanks again!
What's Changed
Not much has changed since v0.8.0, though notably https://github.com/modelcontextprotocol/go-sdk/pull/539 partially addresses the security issue described in #526 (see also https://verialabs.com/blog/from-mcp-to-shell).
New Contributors
- @chuckha made their first contribution in https://github.com/modelcontextprotocol/go-sdk/pull/541
Full Changelog: https://github.com/modelcontextprotocol/go-sdk/compare/v0.8.0...v1.0.0
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.