Материал для канала Мы ж программист

Приложения развиваются, получая с обновлениями новые функции и исправления ошибок. Но возникает вопрос: как понять текущее состояние? Логично помечать редакции приложения каким-то тегом. Например, в Git каждый коммит имеет уникальный идентификатор.

Но эти идентификаторы выглядят непонятно и плохо сравниваются. Для приложений и библиотек придумали более удобную схему – семантическое версионирование. Это такой способ помечать редакции (версии), когда прямо по номеру версии можно сказать, какого рода было изменение. Базовый формат состоит из 3 чисел:

MAJOR.MINOR.PATCH

MAJOR – критичные и обратно несовместимые изменения
MINOR – обратно совместимые изменения, новые функции.
PATCH – обратно совместимые исправления.

В composer.json или package.json можно увидеть такие версии зависимостей.

По желанию можно прицеплять к этому паровозу дополнительную информацию. Например, через дефис добавить “beta” или “rc”. А через плюс – метаданные типа номера сборки.

Полную спецификацию можно изучить тут.