- Versioning, Stability, and Releases
-
Versioning, Stability, and Releases
Versioning policy
- Semantic Versioning (SemVer): MAJOR.MINOR.PATCH
- Breaking language changes: MAJOR
- Backward‑compatible features: MINOR
- Bug fixes/perf improvements: PATCH
- Stability windows: no breaking changes within a MINOR line; deprecations are announced one MINOR ahead.
LTS releases
- Designate select MINOR versions as LTS (e.g., 1.4, 2.6) supported for 12–18 months with backported fixes.
- Tooling (compiler/VM/LSP) keeps compatibility with LTS minor within its MAJOR.
Deprecations
- Mark features as deprecated in docs and diagnostics; provide migration tips.
- Remove deprecations only on next MAJOR.
Migration policy
- Each deprecation entry includes: affected syntax/API, replacement, examples, and an automated lint fix if feasible.
- Provide a
--migrate tool (future) to rewrite common patterns; changelog links to guides.
Release cadence
- Regular MINOR releases (4–8 weeks), PATCH as needed.
- RC tags for release candidates; issue a changelog with migration notes.