Git Tag Version Bumper
Увеличить semver-версию по типу изменения: major, minor, patch.
Как это работает
Вопрос как поднять версию major minor patch для следующего релиза кажется очевидным, пока не начинаешь сомневаться, а это новая фича без breaking change это minor или все-таки patch. Git tag version bumper online берет текущую semver версию и тип изменения, и выдает корректную следующую версию по правилам семантического версионирования.
Semver версия состоит из трех чисел через точку, major точка minor точка patch, инструмент увеличивает нужное число на единицу и обнуляет более младшие разряды справа от него, ровно так, как того требует официальная спецификация semantic versioning, на которую опирается подавляющее большинство пакетных менеджеров.
Полезно применять перед git tag и публикацией новой версии пакета в npm или PyPI, когда нужно быстро посчитать следующую версию по типу изменений с последнего релиза, не держа в голове точные правила обнуления младших разрядов версии.
Частые вопросы
Когда поднимать major версию, а когда достаточно minor?
Major версия поднимается при breaking change, изменении, ломающем обратную совместимость для пользователей пакета, minor версия поднимается при добавлении новой функциональности без потери обратной совместимости с предыдущими версиями.
Что происходит с patch версией при увеличении minor версии?
Patch версия обнуляется до нуля, потому что semver предполагает, что новая minor версия это фактически новая точка отсчета для последующих patch исправлений именно этой ветки функциональности.
Как обозначаются pre-release версии вроде бета или rc в semver?
Через дефис после основной тройки чисел, например 2.1.0-beta.1, эта часть спецификации отдельная и в текущей версии калькулятора не генерируется автоматически, только основной инкремент major minor patch.
Обязательно ли начинать версию проекта с 1.0.0?
Нет, semver допускает версии ниже 1.0.0 для проектов на активной ранней стадии разработки, где API еще может кардинально меняться, версия 1.0.0 по соглашению означает первый стабильный публичный релиз с гарантиями совместимости.