From 8aac9011ca4140644837f3b380b75334d855e82b Mon Sep 17 00:00:00 2001 From: Jeff Handley Date: Thu, 20 Nov 2025 12:50:28 -0800 Subject: [PATCH 1/3] Address review feedback --- docs/versioning.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/versioning.md b/docs/versioning.md index c9174a74..23562ec6 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -20,12 +20,12 @@ Beginning with the 1.0.0 release, the following support policy will be applied f 1. New functionality and additive APIs will be introduced in MINOR releases within the current MAJOR version only * New functionality will not be added to an earlier MAJOR version -2. Bugs will be fixed within either: - 1. A new PATCH release against the latest MAJOR.MINOR version - 2. A new MINOR release against the latest MAJOR version -3. Critical, blocking issues will be fixed against: - 1. The latest MINOR version within _the current_ MAJOR version - 2. The latest MINOR version within _one previous_ MAJOR version, until the latest MAJOR version has been published for 3 months +2. Bugs will be fixed in either: + 1. A PATCH release against the latest MAJOR.MINOR version within _the latest_ MAJOR version only + 2. A MINOR release against the latest MAJOR version within _the latest_ MAJOR version only +3. Bugs deemed by the maintainers to be critical or blocking will be fixed in both: + 1. A PATCH release against _the latest_ MAJOR version, within its latest MAJOR.MINOR version + 2. A PATCH release against _one previous_ MAJOR version, within its latest MAJOR.MINOR version ## Experimental APIs @@ -35,7 +35,7 @@ Experimental APIs require suppression of diagnostic codes specific to the MCP SD ## Breaking changes -Prior to the release of a stable 1.0.0 set of NuGet packages, the SDK remains in preview and breaking changes can be introduced without prior notice. All versions beginning with the stable 1.0.0 release will follow semantic versioning, and breaking changes will require increments to the MAJOR version. +Prior to the release of a stable 1.0.0 set of NuGet packages, the SDK remains in preview and breaking changes can be introduced without prior notice. Thereafter, the SDK follows Semantic Versioning and breaking changes against stable releases require increments to the MAJOR version. If feasible, the SDK will support all versions of the MCP spec. However, if breaking changes to the spec make this infeasible, preference will be given to the most recent version of the MCP spec, and this would be considered a breaking change necessitating a new MAJOR version. From ceb2fdaed9fd380622a4f16aca4a662e4a27721c Mon Sep 17 00:00:00 2001 From: Jeff Handley Date: Thu, 20 Nov 2025 13:07:07 -0800 Subject: [PATCH 2/3] Shorten prefixes for experimental and obsoletion diagnostics --- docs/versioning.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/versioning.md b/docs/versioning.md index 23562ec6..d4ea7403 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -31,7 +31,7 @@ Beginning with the 1.0.0 release, the following support policy will be applied f MAJOR or MINOR version updates might introduce or alter APIs annotated as [`[Experimental]`](https://learn.microsoft.com/dotnet/api/system.diagnostics.codeanalysis.experimentalattribute). This attribute indicates that an API is experimental and it may change at any time--including within PATCH or MINOR version updates. -Experimental APIs require suppression of diagnostic codes specific to the MCP SDK APIs, using an `MCPEXP` prefix. +Experimental APIs require suppression of diagnostic codes specific to the MCP SDK APIs, using an `MCP` prefix. ## Breaking changes @@ -58,4 +58,4 @@ If APIs within the SDK become obsolete due to changes in the MCP spec or other e 2. Within a MAJOR version update, APIs may be marked as `[Obsolete]` to produce _build errors_ indicating the API is no longer functional and always throws exceptions. The build errors will provide guidance specific to the affected APIs. 3. Within a MAJOR version update, obsolete APIs may be removed. API removals are expected to be rare and avoided wherever possible, and `[Obsolete]` attributes will be applied ahead of the API removal. -Beginning with the 1.0.0 release, all obsoletions will use diagnostic codes specific to the MCP SDK APIs, using an `MCPOBS` prefix. +Beginning with the 1.0.0 release, all obsoletions will use diagnostic codes specific to the MCP SDK APIs, using an `MCP` prefix. From 5862e7d42846b667b0311cec1d21c08f31bba2d8 Mon Sep 17 00:00:00 2001 From: Jeff Handley Date: Thu, 20 Nov 2025 13:56:10 -0800 Subject: [PATCH 3/3] Fix (unrelated) broken links to the MCP spec --- README.md | 2 +- docs/index.md | 2 +- samples/FileBasedMcpServer/README.md | 2 +- src/ModelContextProtocol.AspNetCore/README.md | 2 +- src/ModelContextProtocol.Core/README.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 73c71bd2..945e8092 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli For more information about MCP: - [Official Documentation](https://modelcontextprotocol.io/) -- [Protocol Specification](https://spec.modelcontextprotocol.io/) +- [Protocol Specification](https://modelcontextprotocol.io/specification/) - [GitHub Organization](https://github.com/modelcontextprotocol) ## Installation diff --git a/docs/index.md b/docs/index.md index f2163f09..29fecac3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,7 +13,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli For more information about MCP: - [Official Documentation](https://modelcontextprotocol.io/) -- [Protocol Specification](https://spec.modelcontextprotocol.io/) +- [Protocol Specification](https://modelcontextprotocol.io/specification/) - [GitHub Organization](https://github.com/modelcontextprotocol) For how-to guides, tutorials, and additional guidance, refer to the [official MCP documentation](https://modelcontextprotocol.io/). diff --git a/samples/FileBasedMcpServer/README.md b/samples/FileBasedMcpServer/README.md index 270552bc..b28c9298 100644 --- a/samples/FileBasedMcpServer/README.md +++ b/samples/FileBasedMcpServer/README.md @@ -61,4 +61,4 @@ echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion": - [File-Based Programs Tutorial](https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/tutorials/file-based-programs) - [C# Preprocessor Directives for File-Based Apps](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/preprocessor-directives#file-based-apps) -- [Model Context Protocol Specification](https://spec.modelcontextprotocol.io/) +- [Model Context Protocol Specification](https://modelcontextprotocol.io/specification/) diff --git a/src/ModelContextProtocol.AspNetCore/README.md b/src/ModelContextProtocol.AspNetCore/README.md index 317acb72..f27c76ce 100644 --- a/src/ModelContextProtocol.AspNetCore/README.md +++ b/src/ModelContextProtocol.AspNetCore/README.md @@ -14,7 +14,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli For more information about MCP: - [Official Documentation](https://modelcontextprotocol.io/) -- [Protocol Specification](https://spec.modelcontextprotocol.io/) +- [Protocol Specification](https://modelcontextprotocol.io/specification/) - [GitHub Organization](https://github.com/modelcontextprotocol) ## Installation diff --git a/src/ModelContextProtocol.Core/README.md b/src/ModelContextProtocol.Core/README.md index f6cffaf6..111c3e76 100644 --- a/src/ModelContextProtocol.Core/README.md +++ b/src/ModelContextProtocol.Core/README.md @@ -14,7 +14,7 @@ The Model Context Protocol (MCP) is an open protocol that standardizes how appli For more information about MCP: - [Official Documentation](https://modelcontextprotocol.io/) -- [Protocol Specification](https://spec.modelcontextprotocol.io/) +- [Protocol Specification](https://modelcontextprotocol.io/specification/) - [GitHub Organization](https://github.com/modelcontextprotocol) ## Installation