Skip to content

SEP-2596: Specification Feature Lifecycle and Deprecation Policy - #2596

Merged
mcp-commander[bot] merged 18 commits into
mainfrom
sep/spec-feature-lifecycle-and-deprecation
May 18, 2026
Merged

SEP-2596: Specification Feature Lifecycle and Deprecation Policy#2596
mcp-commander[bot] merged 18 commits into
mainfrom
sep/spec-feature-lifecycle-and-deprecation

Conversation

@localden

Copy link
Copy Markdown
Contributor

Establishes a formal lifecycle for individual features within the MCP specification (Active, Deprecated, Removed), with a minimum twelve-month window between deprecation and earliest removal, required @deprecated schema annotations and changelog entries, and a two-SEP procedure where deprecation and removal are each their own proposal.

This is the mechanics follow-up to the direction recorded in the April 1, 2026 Core Maintainer meeting ("formal versioning status and SDK deprecation cycle: direction agreed, mechanics TBD") and the support-window model floated at the NYC maintainer meeting. It reclassifies the two existing informal deprecations (the HTTP+SSE transport and the includeContext values thisServer/allServers) under the new policy and notes its relationship to SEP-1400 (semantic versioning) as complementary rather than overlapping.

@localden
localden force-pushed the sep/spec-feature-lifecycle-and-deprecation branch from a2462b2 to fadbbab Compare April 17, 2026 17:51
@localden localden changed the title SEP: Specification Feature Lifecycle and Deprecation Policy SEP-2596: Specification Feature Lifecycle and Deprecation Policy Apr 17, 2026
@localden localden added SEP draft SEP proposal with a sponsor. labels Apr 17, 2026
@localden
localden force-pushed the sep/spec-feature-lifecycle-and-deprecation branch 2 times, most recently from 4bc379a to e81fb67 Compare April 17, 2026 17:55
@localden localden self-assigned this Apr 17, 2026
@mcp-virtual-tpm mcp-virtual-tpm Bot added this to the 2026-06-30-RC milestone Apr 17, 2026
@localden
localden force-pushed the sep/spec-feature-lifecycle-and-deprecation branch from e81fb67 to 3ef12c4 Compare April 17, 2026 19:42
@localden
localden force-pushed the sep/spec-feature-lifecycle-and-deprecation branch from 3ef12c4 to c7d305b Compare April 17, 2026 19:42
Comment thread docs/seps/2596-spec-feature-lifecycle-and-deprecation.mdx Outdated
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md Outdated
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md Outdated
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md
@localden localden added in-review SEP proposal ready for review. and removed draft SEP proposal with a sponsor. labels Apr 22, 2026
@localden localden moved this to In Review in SEP Review Pipeline Apr 22, 2026
Requires any named replacement to already be Active when the deprecation
lands (not just at removal time), adds an SDK-side deprecation-marking
expectation, and rewrites the Tier-1 SDK removal gate to say "users can
complete the migration" rather than the ambiguous "no longer required for
protocol conformance." Also drops the angle-bracket email from the Author
line, which was breaking MDX generation.

:house: Remote-Dev: homespace
Anchors every clock to a knowable date (deprecation SEP reaching Final
and revisions being "released as Current") so the twelve-month and
ninety-day floors can be computed without guessing a future publication
date. Points all decision steps at the governance Decision Process
section rather than SEP-932, which has no such section. Reframes
§Transition as an explicit grandfathering clause for the two
pre-existing deprecations, with their migration targets recorded so the
removal procedure has something to check.

Also: replacements must be Active in a Current revision (not just
draft), expedited shortening can be approved post-Final via the removal
SEP, the §Roles table now covers restoration and the SDK waiver, the
states table uses capital-C Current consistently, RFC 2026 swapped for
RFC 8996, and the Reference Implementation no longer promises schema.ts
tags for transport types that do not exist.

:house: Remote-Dev: homespace
…cycle-and-deprecation

# Conflicts:
#	docs/docs.json
#	docs/seps/index.mdx

:house: Remote-Dev: homespace
States explicitly that a feature is Deprecated from the moment its SEP
reaches Final rather than waiting for the next spec revision, and
explains why a feature may remain Deprecated indefinitely. Points the
roots/sampling motivation bullet at SEP-2577 instead of meeting notes,
notes Lead Maintainer veto in the Roles table, and switches three
British spellings to American.

:house: Remote-Dev: homespace
@localden
localden marked this pull request as ready for review April 24, 2026 18:15
@localden
localden requested review from a team as code owners April 24, 2026 18:15
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md
…tifacts

Adds an explicit Relocating-to-extension subsection for low-usage
features moving out of core (the SEP-2577 case), and replaces the
undefined "stable, generally available release" bar with the concrete
SEP-2133 artifacts a sponsor can check: Extensions Track SEP at Final
and publication in an ext-* (not experimental-ext-*) repository. Also
fixes the includeContext reference-implementation note (it is a string
union, not an enum) and removes section-sign prefixes from
cross-references.

:house: Remote-Dev: homespace
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md Outdated
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md
Co-authored-by: Paul Carleton <paulcarletonjr@gmail.com>
Comment thread seps/2596-spec-feature-lifecycle-and-deprecation.md Outdated
This was referenced Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

final SEP finalized. SEP

Projects

Status: Accepted

Development

Successfully merging this pull request may close these issues.

8 participants