Rename Lifecycle to Versioning and Compatibility#2850
Merged
Conversation
The protocol is stateless: there is no initialize/operate/shutdown sequence left to describe. Initialization became per-request metadata, and shutdown is a transport-binding concern documented on the binding pages. The remaining content of the lifecycle page has one theme: how two implementations agree on what they are speaking. - Rename basic/lifecycle.mdx to basic/versioning.mdx, titled "Versioning and Compatibility", covering version negotiation, extension negotiation, and backward compatibility. Add a redirect. - Move the statelessness section to the base-protocol overview, where the execution model belongs. - Update navigation and all draft-internal links.
3a010c3 to
a656e97
Compare
CaitieM20
reviewed
Jun 3, 2026
| client can correlate the notification with the originating subscription request. | ||
|
|
||
| [lifecycle]: /specification/draft/basic/lifecycle | ||
| [lifecycle]: /specification/draft/basic/versioning |
Contributor
There was a problem hiding this comment.
should this lifecycle also get renamed to versioning?
CaitieM20
approved these changes
Jun 3, 2026
CaitieM20
left a comment
Contributor
There was a problem hiding this comment.
one minor comment looks like an aliased link is still named lifecycle, would be good to fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Stacked on #2845 (which is stacked on #2844). Review the diff against
refactor/transport-docs.Motivation and Context
The draft made MCP stateless, and the Lifecycle page no longer describes a lifecycle. There is no initialize/operate/shutdown sequence: initialization became per-request
_meta, and shutdown is a transport-binding concern documented on the binding pages (the only real lifecycle left is the channel's, and it lives there). Comparable stateless protocols name this material versioning/conformance, not lifecycle; lifecycle sections belong to connection-oriented protocols (TLS, QUIC, WebSocket).What remains on the page has a single theme: how two implementations agree on what they are speaking.
Changes
basic/lifecycle.mdxtobasic/versioning.mdx, titled "Versioning and Compatibility": protocol version negotiation, extension negotiation, era terminology, and backward compatibility with the matrix. Redirect added; section anchors unchanged.basic/index.mdx), where the execution model belongs, next to Messages and Message Patterns.How was this tested?
npm run preppasses andmint broken-linksis clean.