Repository navigation
4. Versioning
ORBIT uses three separate but related versioning concepts. They describe different parts of the project and should not be treated as interchangeable.
Current state:
| Concept | Current value |
|---|---|
| Wave | 1 |
| Specification Version | 0.1 |
| Implementation Version | v0.1.0-alpha.1 |
Wave describes product roadmap scope and supported diagram or modeling capabilities.
It answers: Which capabilities are included?
Wave 1 includes Database Schema only. A wave is a planning and release-scope concept, not a compatibility guarantee.
Specification Version describes the ORBIT language definition: syntax, semantics, grammar rules, validation rules, and compatibility guarantees.
It answers: Which language rules define this model?
The current specification is Spec 0.1. Pre-1.0 specifications may change syntax and semantics.
After Spec 1.0, every valid ORBIT model written for Spec 1.x should remain valid in later Spec 1.x versions unless explicitly documented otherwise.
Implementation Version describes a release of the ORBIT repository, tooling, and ecosystem. It covers the parser, validator, renderer, CLI, playground, and future extensions and tools.
It answers: Which implementation release is being used?
The current implementation is v0.1.0-alpha.1. Alpha releases use:
vMAJOR.MINOR.PATCH-alpha.N
Release rules:
- Use
v0.xwhile the language and public APIs are unstable. - Increase the alpha number for follow-up releases within one milestone:
v0.1.0-alpha.1,v0.1.0-alpha.2,v0.1.0-alpha.3. - Use
v0.1.0for the first stable Wave 1 Database Schema MVP. - Use
v0.2.0-alpha.1for the first alpha of the next major milestone after stable Wave 1. - Increment PATCH for compatible bug fixes after a stable
0.xrelease. - Increment MINOR for new diagram support, new public APIs, or meaningful language additions.
- Keep MAJOR at
0until the language specification and the core, parser, validator, and renderer APIs are stable enough for a public compatibility promise.
ORBIT использует три отдельных, но связанных понятия версий. Они описывают разные части проекта и не должны считаться взаимозаменяемыми.
Текущее состояние:
| Понятие | Текущее значение |
|---|---|
| Волна | 1 |
| Версия спецификации | 0.1 |
| Версия реализации | v0.1.0-alpha.1 |
Волна описывает этап продуктовой дорожной карты и поддерживаемые возможности диаграмм или моделирования.
Она отвечает на вопрос: Какие возможности включены?
Волна 1 включает только Database Schema. Волна является понятием планирования и объёма выпуска, а не гарантией совместимости.
Версия спецификации описывает определение языка ORBIT: синтаксис, семантику, правила грамматики, правила валидации и гарантии совместимости.
Она отвечает на вопрос: Какие правила языка определяют эту модель?
Текущая спецификация — Spec 0.1. До версии 1.0 синтаксис и семантика спецификации могут изменяться.
После Spec 1.0 каждая корректная модель ORBIT, написанная для Spec 1.x, должна оставаться корректной в более поздних версиях Spec 1.x, если явно не документировано обратное.
Версия реализации описывает выпуск репозитория, инструментов и экосистемы ORBIT. Она охватывает парсер, валидатор, рендерер, CLI, playground, будущие расширения и инструменты.
Она отвечает на вопрос: Какой выпуск реализации используется?
Текущая реализация — v0.1.0-alpha.1. Альфа-версии используют формат:
vMAJOR.MINOR.PATCH-alpha.N
Правила выпусков:
- Использовать
v0.x, пока язык и публичные API нестабильны. - Увеличивать номер alpha для последующих выпусков одного этапа:
v0.1.0-alpha.1,v0.1.0-alpha.2,v0.1.0-alpha.3. - Использовать
v0.1.0для первого стабильного MVP Database Schema Волны 1. - Использовать
v0.2.0-alpha.1для первой альфа-версии следующего крупного этапа после стабильной Волны 1. - Увеличивать PATCH для совместимых исправлений ошибок после стабильного
выпуска
0.x. - Увеличивать MINOR при добавлении новых диаграмм, публичных API или существенных возможностей языка.
- Сохранять MAJOR равным
0, пока спецификация языка и API ядра, парсера, валидатора и рендерера не будут достаточно стабильны для публичной гарантии совместимости.