This document defines how versioning should work across the framework and its internal packages.
flowchart LR
A["Framework version"] --> B["@sdd/sdd-core"]
A --> C["@sdd/sdd-mcp"]
- repository release version is the canonical public version
@sdd/sdd-coreand@sdd/sdd-mcpshould stay aligned with the repository minor release
Current alignment:
- framework:
1.4.0 @sdd/sdd-core:1.4.0@sdd/sdd-mcp:1.4.0
Use patch releases for:
- documentation fixes
- CI fixes
- non-breaking script fixes
- non-breaking MCP compatibility fixes
Use minor releases for:
- new tools
- new resource templates
- new onboarding flows
- new examples
- new guides that materially improve adoption
Use major releases for:
- breaking workflow changes
- breaking policy/gate behavior
- breaking MCP tool contracts
- breaking package structure changes
- internal packages remain
privateuntil there is a deliberate package publishing workflow - while private, keep versions aligned with the framework release to avoid confusion
- if packages become public later, keep semver but publish changelogs per package