Skip to content

4. Versioning

Kirill Kovtun edited this page Jun 11, 2026 · 1 revision

English | Русский

English

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

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

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

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.x while 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.0 for the first stable Wave 1 Database Schema MVP.
  • Use v0.2.0-alpha.1 for the first alpha of the next major milestone after stable Wave 1.
  • Increment PATCH for compatible bug fixes after a stable 0.x release.
  • Increment MINOR for new diagram support, new public APIs, or meaningful language additions.
  • Keep MAJOR at 0 until 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 ядра, парсера, валидатора и рендерера не будут достаточно стабильны для публичной гарантии совместимости.

Clone this wiki locally