SEP-2596: Specification Feature Lifecycle and Deprecation Policy changedseps/2596-spec-feature-lifecycle-and-deprecation
Upstream edited this page at 29 Jul 2026 22:46 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 28 Sep 2026 22:07 UTC.
Upstream edited
Recorded here
Lines+27added
Lines−27removed
From line
20
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits2to this page, all time
The whole hunk
from line 20, old and new numbered
/
from line 20
2020 requirements.
2121</Note>
2222
23| Field | Value |
24| ------------- | ------------------------------------------------------------------------------- |
25| **SEP** | 2596 |
26| **Title** | Specification Feature Lifecycle and Deprecation Policy |
27| **Status** | Final |
28| **Type** | Process |
29| **Created** | 2026-04-17 |
30| **Author(s)** | Den Delimarsky ([@localden](https://github.com/localden)) |
31| **Sponsor** | [@localden](https://github.com/localden) |
32| **PR** | [#2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596) |
23| Field | Value |
24| - | - |
25| **SEP** | 2596 |
26| **Title** | Specification Feature Lifecycle and Deprecation Policy |
27| **Status** | Final |
28| **Type** | Process |
29| **Created** | 2026-04-17 |
30| **Author(s)** | Den Delimarsky ([@localden](https://github.com/localden)) |
31| **Sponsor** | [@localden](https://github.com/localden) |
32| **PR** | [#2596](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2596) |
3333
3434***
3535
from line 90
9090
9191A specification feature is in exactly one of three states:
9292
93| State | Meaning | Implementer expectation |
94| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
95| **Active** | The feature is part of the Current specification revision with no planned removal. | Implement per the feature's normative requirements. |
96| **Deprecated** | The feature remains in the specification but is scheduled for removal. A migration path is documented (see below). | New implementations SHOULD NOT adopt the feature. Existing implementations SHOULD migrate before the earliest removal date. |
97| **Removed** | The feature has been deleted from `draft` and will be absent from the next Current revision. It remains documented in the Final revision it last appeared in. | Implementations targeting that next Current revision MUST NOT depend on the feature. |
93| State | Meaning | Implementer expectation |
94| - | - | - |
95| **Active** | The feature is part of the Current specification revision with no planned removal. | Implement per the feature's normative requirements. |
96| **Deprecated** | The feature remains in the specification but is scheduled for removal. A migration path is documented (see below). | New implementations SHOULD NOT adopt the feature. Existing implementations SHOULD migrate before the earliest removal date. |
97| **Removed** | The feature has been deleted from `draft` and will be absent from the next Current revision. It remains documented in the Final revision it last appeared in. | Implementations targeting that next Current revision MUST NOT depend on the feature. |
9898
9999The term "soft-deprecated" is retired. Existing uses in the specification are reclassified as
100100Deprecated under this policy (see [Transition](#transition)).
from line 223
223223
224224### Roles
225225
226| Action | Who |
227| ---------------------------------------------- | ----------------------------------------------------------------------------- |
228| Propose deprecation, extension, or restoration | Any contributor, per the SEP process |
229| Sponsor | A Maintainer or Core Maintainer, per the SEP process |
230| Approve a deprecation SEP | Core Maintainers, per the [governance decision process][governance-decisions] |
231| Decide a removal during release preparation | Core Maintainers, per the [governance decision process][governance-decisions] |
232| Approve an extension or restoration SEP | Core Maintainers, per the [governance decision process][governance-decisions] |
233| Approve expedited removal | Core Maintainers, per the [governance decision process][governance-decisions] |
226| Action | Who |
227| - | - |
228| Propose deprecation, extension, or restoration | Any contributor, per the SEP process |
229| Sponsor | A Maintainer or Core Maintainer, per the SEP process |
230| Approve a deprecation SEP | Core Maintainers, per the [governance decision process][governance-decisions] |
231| Decide a removal during release preparation | Core Maintainers, per the [governance decision process][governance-decisions] |
232| Approve an extension or restoration SEP | Core Maintainers, per the [governance decision process][governance-decisions] |
233| Approve expedited removal | Core Maintainers, per the [governance decision process][governance-decisions] |
234234
235235As with all Core Maintainer decisions, Lead Maintainers retain veto authority over each of the
236236approvals above, per the [governance roles][governance-roles] definition.
from line 254
254254permissible window. Removal still follows [Removing a feature](#removing-a-feature): a Core
255255Maintainer decision at release preparation, not an automatic event when the grace period ends.
256256
257| Feature | Migration target | Earliest removal |
258| ----------------------------------------------- | ------------------------------------ | --------------------------------------- |
259| HTTP+SSE transport | [Streamable HTTP][transports-compat] | Three months after this SEP is Final |
260| `includeContext: "thisServer"` / `"allServers"` | Omit the field or use `"none"` | Follows Sampling ([SEP-2577][sep-2577]) |
257| Feature | Migration target | Earliest removal |
258| - | - | - |
259| HTTP+SSE transport | [Streamable HTTP][transports-compat] | Three months after this SEP is Final |
260| `includeContext: "thisServer"` / `"allServers"` | Omit the field or use `"none"` | Follows Sampling ([SEP-2577][sep-2577]) |
261261
262262`includeContext` is a parameter of `sampling/createMessage`. [SEP-2577][sep-2577] deprecates the
263263Sampling feature as a whole; the two affected `includeContext` values follow that feature's
No line in this hunk matches that.