Семантическая версия ПО: руководство по структуре и применению

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

Структура семантического номера версии

Номер версии обычно состоит из трёх частей, разделённых точками:

  1. Основная версия (Major version): Обозначает значительные изменения, критические обновления или добавление важных функций, затрагивающих основной функционал.
  2. Минорная версия (Minor version): Указывает на добавление нового функционала без изменения существующего. Совместимость с предыдущими версиями сохраняется.
  3. Патч-версия (Patch version): Используется для обозначения мелких исправлений, таких как исправление ошибок (bug fixing). Новый функционал не добавляется, и работа программы в целом не изменяется.

Обновление номеров версий

Правила обновления версий:

  • Основная версия: обновляется при внесении критических изменений или добавлении очень важных обновлений, затрагивающих основной функционал. При этом минорная и патч-версии обнуляются (например, с 4.18.1 до 5.0.0).
  • Минорная версия: обновляется при добавлении нового функционала без изменения существующего. Патч-версия обнуляется (например, с 4.18.1 до 4.19.0).
  • Патч-версия: обновляется при внесении мелких исправлений и исправлении ошибок (например, с 4.18.1 до 4.18.2).

Бета-версии

Помимо основных версий, существуют бета-версии. Они используются на стадии разработки новой версии программы до её официального релиза. После номера патч-версии может указываться обозначение бета (например, 1.0.0-beta.2).

Важное правило

Номера версий никогда не уменьшаются. Если текущая версия 4.18.1, то следующая версия не может быть 3.0.0. Версии должны только увеличиваться по мере развития программы.

Дополнительная информация

Более подробную информацию о семантических номерах версий можно найти на сайте [ссылка на сайт semver](ссылка на сайт semver — уточнить ссылку в оригинальном видео). Там предоставлен текстовый документ, описывающий семантические версии, их обновление и использование.

Что будем искать? Например,программа