Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 8, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/modelcontextprotocol/go-sdk v0.3.0 -> v0.8.0 age confidence

Release Notes

modelcontextprotocol/go-sdk (github.com/modelcontextprotocol/go-sdk)

v0.8.0

Compare Source

This release exists to include the API change from #​518, mentioned in the v0.7.0 release. It also includes a small change to remove extraneous API.

This concludes our API audit. Barring a realization over the weekend, we will cut v1.0.0 and any further API changes will be handled in a backwards compatible way.

API Changes

  • #​518: JSON schema fields are relaxed to type any, to decouple the SDK's API from the github.com/google/jsonschema-go/jsonschema package. Now that package is only used for inference (in mcp.AddTool) and validation.
  • #​535: remove error code constants that were functionally inaccessible.

Full Changelog: modelcontextprotocol/go-sdk@v0.7.0...v0.8.0

v0.7.0

Compare Source

This release fixes a couple bugs related to the StreamableClientTransport, and relaxes it to be less strict so that it can talk to certain servers that don't perfectly conform to the spec. It also updates to google/jsonschema-go@v0.3.0, which includes a couple backwards incompatible bug fixes (see below).

For more details, see the v0.7.0 milestone.

API Changes

No changes in the API of the SDK itself, but the updated google/jsonschema-go@​v0.3.0 contained the following incompatible bug fixes:

  • google/jsonschema-go#26: the key for ForOptions.TypeSchemas must be a reflect.Type, as incomparable values are not valid map keys.
  • google/jsonschema-go#23: validation of struct values is disallowed, because it can't verify certain schema properties such as 'required', and doesn't respect custom JSON marshalling

See #​518 for a proposal to significantly decouple the SDK from the jsonschema-go package (though it would still be used for inference and validation). This decision blocks the v1.0.0 release.

New Contributors

Full Changelog: modelcontextprotocol/go-sdk@v0.6.0...v0.7.0

v0.6.0

Compare Source

This release makes a couple minor API tweaks that arose in preparation for v1.0.0, and adds significant feature documentation in the docs/ directory.

This is a release candidate, and all release blocking issues have now been addressed. We will tag v1.0.0 following a final audit (see also #​328).

For more details, see the v0.6.0 milestone.

API Changes

  • Remove the distinguished StreamID type, which was inconsistent with (for example) session IDs, which are strings (#​484).
  • Moved GetSessionID onto ServerOptions, as that is more generally useful, and since ServerSession exposes an ID method (#​478).
  • Added options for the SSE HTTP handler (#​503). The SSE transport is legacy, but it was still inconsistent that this constructor did not accept options.

Bug fixes

  • Unstructured content is now byte-wise equivalent to structured content (#​475).
  • A few performance optimizations were made for streamable HTTP serving (capping off #​190).

New Contributors

Full Changelog: modelcontextprotocol/go-sdk@v0.5.0...v0.6.0

v0.5.0

Compare Source

This release fixes several bugs related to schema validation, and makes the final set of breaking changes planned before the v1 release.

For more details, see the v0.5.0 milestone.

API Changes

  • Removed transport constructors (#​305). These were deprecated in #​272, but we left the constructors so that they could more easily be inlined away via the go:fix inline directive and gopls. Now they are removed.
  • Removed support for batching when the spec version is 2025-06-18 or higher (#​21). This is newly strict, but aligns with the MCP spec.

Bug fixes

The following notable bugs are fixed, related to JSON schema validation.

  • JSON schema for nested structs is now handled correctly (#​437).
  • Validation of types with custom JSON marshalling is fixed (#​447).
  • Validation now correctly catches missing fields (#​449).
  • Validation is now strictly case-sensitive (a consequence of the preceding fixes).

New Contributors

Full Changelog: modelcontextprotocol/go-sdk@v0.4.0...v0.5.0

v0.4.0

Compare Source

This release fixes several bugs, and expands on OAuth support and examples. It also makes a few (hopefully minor) API changes as we approach a release candidate (see #​328).

For more details, see the v0.4.0 milestone.

Thank you to all who tested the SDK, filed bugs, and contributed.

API Changes

This release includes the following incompatible changes:

  • mcp.CallToolRequest now holds an mcp.CallToolParamsRaw, to avoid confusion about the raw state of Arguments (see proposal #​377)
  • mcp.ToolFor is unexported, as it was also a footgun: modifying the resulting schema was ineffective (see proposal #​401).
  • auth.TokenVerifier is changed from func(context.Context, string) (*TokenInfo, error) to func(context.Context, string, *net/http.Request) (*TokenInfo, error), to allow access to the HTTP request (see proposal #​403).

Additionally, it includes the following additions:

  • mcp.StreamableServerTransport.JSONResponse and mcp.StreamableHTTPOptions.JSONResponse are exported, to configure serving responses as application/json rather than text/event-stream (#​397).
  • auth.ErrOAuth is added.

New Examples

Several new examples are added to demonstrate different ways to use the SDK. We will continue to expand on these examples and other documentation as we approach the release.

Bug fixes

Several notable bugs or misbehaviors are addressed:

  • Typed tool handlers now verify against their output schema (#​301).
  • The streamable hanging GET now sends HTTP headers immediately, to avoid client timeouts (#​410).
  • Strictness around notifications/initialized is relaxed, to fix flaky initialization with Claude (#​395).
  • Mcp-Session-Id response headers are now sent only for the Initialize request, per the spec (#​416).

New Contributors

Full Changelog: modelcontextprotocol/go-sdk@v0.3.1...v0.4.0

v0.3.1

Compare Source

This release fixes some bugs in v0.3.0:

  • A jsonschema caching bug leading to potentially incorrect inference (#​366)
  • A panic in ClientSession.Complete (#​375)
  • A panic with custom resource URIs (#​365)
  • Incorrect rejection of HTTP DELETE without an Accept header in the streamable server transport (#​372)
  • Partial fixes for unbounded memory in the streamable server transport (#​190)

Thank you to all who filed issues or contributed fixes!

New Contributors

Full Changelog: modelcontextprotocol/go-sdk@v0.3.0...v0.3.1


Configuration

📅 Schedule: 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
Copy link
Contributor Author

renovate bot commented Dec 8, 2025

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 1 additional dependency was updated

Details:

Package Change
github.com/google/jsonschema-go v0.2.0 -> v0.3.0

@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​modelcontextprotocol/​go-sdk@​v0.3.0 ⏵ v0.8.075 -1310010010060 -20

View full report

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.

1 participant