Versioning and Compatibility
Scope
This policy defines versioning expectations for Locus crates and host integrations.
It also defines dependency governance requirements used to keep releases stable over time.
Package Versioning
- locus-core-rs and locus-sdk use SemVer.
- Pre-1.0 versions may evolve rapidly but should still document behavior changes clearly.
- Breaking changes require explicit migration notes in release documentation.
Compatibility Rules
- SDK should remain additive where possible.
- Core model changes should preserve parse/load compatibility for legacy node rows.
- Host integrations should keep external endpoint/tool contracts stable during internal rewires.
- Deprecated contract paths should remain available for at least one release cycle unless security or correctness requires immediate removal.
Release Channels
- Patch: bug fixes, non-breaking behavior corrections, docs-only changes.
- Minor: additive APIs, new optional workflows, new integration hooks.
- Major: intentional API/contract breaks with migration guide.
Migration Guarantees
- Every breaking change requires a migration section with before/after payload examples.
- Behavior changes in retrieval or fallback policy must include validation evidence and parity notes.
- Parser and validator contract shifts must include strict-profile regression tests.
Version Alignment
- Workspace releases should keep crate versions intentionally aligned when shipped together.
- If independent crate version bumps are required, release notes must explain compatibility implications.
Dependency Governance
Dependency Update Cadence
- Security updates: prioritized and released on an expedited path.
- Patch and minor dependency updates: batched on regular release cadence.
- Major dependency updates: planned with explicit compatibility validation and rollback criteria.
Dependency Change Controls
- Dependency changes must include rationale and impact scope in release notes.
- Runtime-facing dependencies require integration smoke checks before release.
- Changes affecting transport, storage, or crypto behavior require targeted regression coverage.
Security Patch Handling
- Vulnerabilities with active exposure are patched on the nearest release path.
- Mitigations and operational impact are documented with the release.
- Consumers receive upgrade guidance when patch behavior changes are observable.
Compatibility Validation for Dependency Changes
- Workspace compile and tests must pass.
- Host runtime smoke checks must pass for MCP and gateway.
- SDK example workflows must pass for reference integration patterns.
- Generated technical docs must build without warnings requiring manual interpretation.
SemVer Range Management Policy
- Internal workspace crate dependencies should use intentionally aligned versions at release time.
- External dependencies should avoid overly broad ranges that mask breaking behavior.
- Major version upgrades require explicit compatibility notes and rollout strategy.
- Lockfile and resolved-version deltas should be reviewed with dependency change rationale.