Skip to content

Commit e89378f

Browse files
docs: add ROADMAP, VERSIONING, and dependency policy for SEP-1730 compliance
1 parent bac2789 commit e89378f

File tree

3 files changed

+112
-0
lines changed

3 files changed

+112
-0
lines changed

.github/dependabot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: monthly
7+
groups:
8+
github-actions:
9+
patterns:
10+
- "*"
11+
12+
- package-ecosystem: "pip"
13+
directory: "/"
14+
schedule:
15+
interval: weekly
16+
groups:
17+
python-dependencies:
18+
patterns:
19+
- "*"

ROADMAP.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Roadmap
2+
3+
This document tracks planned work for the MCP Python SDK, organized by priority.
4+
5+
## Tier 1 Compliance (SEP-1730)
6+
7+
Track: achieving and maintaining Tier 1 SDK status per the [SDK Tiering System](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1730).
8+
9+
### Conformance
10+
- [ ] Reach 100% client conformance pass rate (currently 94.7% — `auth/resource-mismatch` scenario fails)
11+
- [ ] Maintain 100% server conformance pass rate
12+
13+
### Documentation
14+
- [ ] Document all non-experimental MCP features with examples
15+
- [ ] Add documentation for roots (listing and change notifications)
16+
- [ ] Add documentation for cancellation
17+
- [ ] Add documentation for protocol version negotiation
18+
- [ ] Add documentation for JSON Schema 2020-12 support
19+
- [ ] Add examples for resource subscribing/unsubscribing
20+
- [ ] Improve elicitation documentation (enum values, complete notification, default values)
21+
- [ ] Document ping, audio content, prompts with embedded resources and images
22+
23+
### Process
24+
- [ ] Audit P0 labels to ensure they represent genuine critical bugs
25+
- [ ] Maintain issue triage SLA (>= 90% within 2 business days)
26+
27+
## Spec Tracking
28+
29+
The SDK tracks the MCP specification and targets a release within 30 days of each new spec version.
30+
31+
| Spec Version | SDK Support | Notes |
32+
|---|---|---|
33+
| 2025-11-25 | v1.26.0 | Current stable spec |
34+
| draft | In progress | Tracking via `main` branch |
35+
36+
### Upcoming Spec Features
37+
- [ ] Structured content (`structuredContent` in tool results)
38+
- [ ] JSON-RPC batching support
39+
- [ ] Additional transport improvements
40+
41+
## SDK Improvements
42+
43+
- [ ] Improve low-level server API ergonomics
44+
- [ ] Expand testing coverage for edge cases
45+
- [ ] Performance improvements for high-throughput servers

VERSIONING.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Versioning Policy
2+
3+
## Versioning Scheme
4+
5+
The MCP Python SDK follows [Semantic Versioning 2.0.0](https://semver.org/):
6+
7+
- **Major** (X.0.0): Breaking changes to the public API
8+
- **Minor** (0.X.0): New features, backward-compatible additions
9+
- **Patch** (0.0.X): Bug fixes, backward-compatible corrections
10+
11+
## What Constitutes a Breaking Change
12+
13+
The following are considered breaking changes and require a major version bump:
14+
15+
- Removing or renaming a public function, class, method, or module
16+
- Changing the signature of a public function or method in a non-backward-compatible way (removing parameters, changing required parameters, changing return types)
17+
- Changing the behavior of a public API in a way that existing callers would not expect
18+
- Dropping support for a Python version
19+
- Changing the minimum required version of a dependency in a way that is incompatible with previously supported ranges
20+
- Removing or renaming protocol message types or fields from the public schema
21+
22+
The following are **not** considered breaking changes:
23+
24+
- Adding new optional parameters with default values
25+
- Adding new public functions, classes, or methods
26+
- Adding new fields to response types
27+
- Deprecating (but not removing) existing APIs
28+
- Changes to private/internal APIs (prefixed with `_`)
29+
- Bug fixes that correct behavior to match documented intent
30+
- Adding support for new protocol versions while maintaining backward compatibility
31+
32+
## How Breaking Changes Are Communicated
33+
34+
1. **Deprecation warnings**: Before removal, public APIs are deprecated for at least one minor release with `DeprecationWarning` and migration guidance.
35+
2. **Release notes**: All breaking changes are documented in GitHub Release notes with migration instructions.
36+
3. **PR labels**: Pull requests containing breaking changes are labeled accordingly.
37+
38+
## Release Branches
39+
40+
- **`main`**: Development branch for the next major version
41+
- **`v1.x`**: Stable release branch for the 1.x series; receives bug fixes and backward-compatible features
42+
- **`v1.Y.x`** (e.g., `v1.7.x`): Patch release branches for specific minor versions when needed
43+
44+
Bug fixes target the latest release branch and are forward-merged into `main`. New features target `main` and may be backported to the release branch if appropriate.
45+
46+
## Protocol Version Tracking
47+
48+
The SDK tracks the MCP specification. When a new spec version is released, the SDK targets a corresponding release within 30 days. Protocol version support is documented in the README.

0 commit comments

Comments
 (0)