java практика: семантическое версионирование
java практика сайт
ссылка на github

СЕМАНТИЧЕСКОЕ ВЕРСИОНИРОВАНИЕ

Краткий гайд о том, как именовать версии програмного обеспечения так, чтобы другим программистам был сразу ясен характер внесенных изменений.

API

Версионирование программы внедряется тогда, когда у нее появляется публичный интерфейс, доступный пользователю (API).

В API описываются:

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

Выглядит оно так:

MyProject 0.1.2

Где:

0.1.2
| | |
| | |<- Patch
| |<--- Minor
|<----- Major

Major версия (первая цифра) увеличивается, если "ломается" обратная совместимость. Например, удаляется публичный метод.

Minor (вторая цифра) - изменяется, когда добавляется новая функциональность.

Patch (последняя) - меняется, когда исправляются ("фиксятся") новые "баги", функциональность же при этом не изменяется (ничего не добавляется и не убирается).

0.1.0 - "начальная" версия. Пока major равняется нулю, API может свободно меняться.

1.0.0 - первая "рабочая" версия. Уже требует наличия документации с описаниями API.

Пример

Версия пишется в файл CHANGELOG.md или HISTORY.md или в README.md в конец файла. Например:

Changelog
	
[1.0.1] - 2024-09-17

Added
* ...
* ...

Changed
* ...
* ...

Fixed
* ...
* ...