You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MCP 2026-07-28 implementation and pre-final-spec release hardening are on main. Stable publication remains intentionally blocked until the official final Core and Tasks releases are available and reviewed.
Current release train:
SDK source: mcp_dart 2.3.0-dev.3
CLI source: mcp_dart_cli 0.2.0-dev.3
Stable targets: SDK 2.3.0, then CLI 0.2.0
SDK minimum: Dart 3.4
CLI minimum: Dart 3.12
Default profile: McpProtocol.stable prefers MCP 2026-07-28 discovery and falls back to legacy initialization
Exact legacy opt-in: McpProtocol.legacy
Strict 2026-only opt-in: McpProtocol.require2026
The official MCP repository still exposes only the 2026-07-28-RC prerelease. The final release is scheduled for July 28, 2026. Specification PR #2776, which may change stdio legacy-fallback guidance, remains open and currently has merge conflicts.
See the checked-in day-0 release runbook for the exact promotion and publication procedure.
Completed implementation
Add MCP 2026-07-28 stateless discovery and per-request metadata.
Preserve MCP 2025-11-25 and earlier initialization/session flows.
Implement dual-era default negotiation with bounded discovery fallback.
Implement stateless Streamable HTTP routing, validation, cancellation, and transport lifecycle behavior.
Add subscriptions/listen, multi-round input_required results, and the io.modelcontextprotocol/tasks extension model.
Retain legacy subscription, logging, initialization, and task APIs for older peers.
Align optional client/server identity with specification PR #3002, including result _meta server identity.
The coordinated dev.3 rehearsal completed end to end on 2026-07-22: SDK 2.3.0-dev.3 and CLI 0.2.0-dev.3 are published, the release workflows succeeded, and Linux x64, macOS x64/arm64, and Windows x64 CLI binaries are attached. The CLI scores 160/160 on pub.dev; the newly published SDK analysis is still pending.
Conformance: 0.2.0-alpha.9; the three exact pre-#3002 stateless diagnostics remain recorded, while merged conformance PR #403 source passes without expected failures.
Published TypeScript split SDK: 2.0.0-beta.5
Published Python SDK/types: 2.0.0b2; the published reverse-client remains a documented pre-#3002 gap.
These peer/referee gaps are upstream prerelease drift, not known missing core behavior in the Dart implementation.
Dependencies and repository security
The Dart SDK no longer depends on json_schema or quiver; validation is implemented in-package and remains covered by the official Draft 2020-12, Draft 7, and Draft 7 format suites.
PR #327 updated test-only fast-uri to 3.1.4 and closed both high-severity alerts.
PR #328 overrides the TypeScript interoperability fixture's transitive @hono/node-server to 2.0.11. It merged as 32e0cfc768d8aa7689801e5157508d88596e3ff1; post-merge Core, CLI, CodeQL, minimum-SDK, API-compatibility, platform, example, conformance, interoperability, publish-validation, and Pana checks are green.
Zero Dependabot alerts remain.
No open CodeQL or secret-scanning alerts remain.
Compatibility contract
MCP 2025-11-25 remains supported and covered by official conformance.
McpProtocol.legacy preserves the initialization-only flow for applications that cannot probe discovery.
Deprecated latestProtocolVersion and supportedProtocolVersions retain their mcp_dart 2.2 meanings.
defaultProtocolVersion and allSupportedProtocolVersions represent the dual-era default profile.
The public API compatibility gate reports no unapproved breaking change against mcp_dart 2.2.2.
Intentional observable changes that must remain in the release notes:
The SDK minimum increases from Dart 3.0 to Dart 3.4.
The default profile probes server/discover before legacy initialization; a silent body-only peer can delay fallback by up to five seconds.
OAuth metadata, redirect, issuer, and token validation are stricter.
JSON Schema parsing and validation are stricter and dialect-aware.
DiscoverResult.serverInfo is nullable for anonymous 2026 servers; this affects 2.3 prerelease adopters rather than the stable 2.2 API surface.
Remaining work
All actionable pre-final-spec work is complete. Only day-of work remains:
Wait for the official final 2026-07-28 Core specification and Tasks extension releases.
Freeze both final SHAs and diff them against the checked-in Core and Tasks refs.
Audit the final dated schemas, examples, and normative documents, including Tasks failed-state errors, timing fields, capability error codes, and subscription termination.
Adopt the final compatible conformance release/source and remove obsolete expected diagnostics; no unexplained failure may remain.
Re-run both-direction interoperability with the final available TypeScript and Python SDK releases/sources.
Promote protocol maturity constants while preserving deprecated 2.2 compatibility aliases.
Promote SDK metadata and changelog to 2.3.0; replace prerelease snippets, links, and maturity wording.
Run the complete minimum-SDK, API-compatibility, conformance, interop, examples, publish-dry-run, and Pana gate on the exact release commit.
Confirm a fresh valid RELEASE_PAT, exact-SHA release authorization, and zero open security alerts before creating the stable tag.
Publish mcp_dart 2.3.0 first and verify a public consumer smoke test.
Promote CLI metadata/templates to 0.2.0 and mcp_dart ^2.3.0.
Validate the CLI against the published SDK, run Pana, publish the CLI, build binaries, and verify public installation.
Release decision
Target a day-0 stable release, but do not publish by calendar alone. Ship only after the final Core and Tasks deltas are understood and the complete gate passes. If the final specification or coordinated SDK releases introduce unvalidated behavior, delay publication until it is covered.
Status — 2026-07-22
The MCP
2026-07-28implementation and pre-final-spec release hardening are onmain. Stable publication remains intentionally blocked until the official final Core and Tasks releases are available and reviewed.Current release train:
mcp_dart 2.3.0-dev.3mcp_dart_cli 0.2.0-dev.32.3.0, then CLI0.2.0McpProtocol.stableprefers MCP2026-07-28discovery and falls back to legacy initializationMcpProtocol.legacyMcpProtocol.require2026The official MCP repository still exposes only the
2026-07-28-RCprerelease. The final release is scheduled for July 28, 2026. Specification PR #2776, which may change stdio legacy-fallback guidance, remains open and currently has merge conflicts.See the checked-in day-0 release runbook for the exact promotion and publication procedure.
Completed implementation
2026-07-28stateless discovery and per-request metadata.2025-11-25and earlier initialization/session flows.subscriptions/listen, multi-roundinput_requiredresults, and theio.modelcontextprotocol/tasksextension model._metaserver identity.mcp_dart 2.2.2.dev.3rehearsals and all standalone CLI binary platforms.json_schemaandquiverruntime dependencies without reducing Draft 2020-12 or Draft 7 conformance coverage (#326).Current validation evidence
Current
maincommitea7ffc30is green:dev.3release commitb2b0993c.The coordinated
dev.3rehearsal completed end to end on 2026-07-22: SDK2.3.0-dev.3and CLI0.2.0-dev.3are published, the release workflows succeeded, and Linux x64, macOS x64/arm64, and Windows x64 CLI binaries are attached. The CLI scores 160/160 on pub.dev; the newly published SDK analysis is still pending.Current immutable review inputs:
88191b9f574d67d553ea9372278a14e09d762f552c1425d9a288b9b1f489430fe1e00bb392b47e480.2.0-alpha.9; the three exact pre-#3002 stateless diagnostics remain recorded, while merged conformance PR #403 source passes without expected failures.2.0.0-beta.52.0.0b2; the published reverse-client remains a documented pre-#3002 gap.These peer/referee gaps are upstream prerelease drift, not known missing core behavior in the Dart implementation.
Dependencies and repository security
json_schemaorquiver; validation is implemented in-package and remains covered by the official Draft 2020-12, Draft 7, and Draft 7 format suites.fast-urito 3.1.4 and closed both high-severity alerts.@hono/node-serverto 2.0.11. It merged as32e0cfc768d8aa7689801e5157508d88596e3ff1; post-merge Core, CLI, CodeQL, minimum-SDK, API-compatibility, platform, example, conformance, interoperability, publish-validation, and Pana checks are green.Compatibility contract
2025-11-25remains supported and covered by official conformance.McpProtocol.legacypreserves the initialization-only flow for applications that cannot probe discovery.latestProtocolVersionandsupportedProtocolVersionsretain theirmcp_dart 2.2meanings.defaultProtocolVersionandallSupportedProtocolVersionsrepresent the dual-era default profile.StartSseOptionsAPIs remain available.mcp_dart 2.2.2.Intentional observable changes that must remain in the release notes:
server/discoverbefore legacy initialization; a silent body-only peer can delay fallback by up to five seconds.DiscoverResult.serverInfois nullable for anonymous 2026 servers; this affects 2.3 prerelease adopters rather than the stable 2.2 API surface.Remaining work
All actionable pre-final-spec work is complete. Only day-of work remains:
2026-07-28Core specification and Tasks extension releases.2.3.0; replace prerelease snippets, links, and maturity wording.RELEASE_PAT, exact-SHA release authorization, and zero open security alerts before creating the stable tag.mcp_dart 2.3.0first and verify a public consumer smoke test.0.2.0andmcp_dart ^2.3.0.Release decision
Target a day-0 stable release, but do not publish by calendar alone. Ship only after the final Core and Tasks deltas are understood and the complete gate passes. If the final specification or coordinated SDK releases introduce unvalidated behavior, delay publication until it is covered.