Семантическое управление версиями, когда обновление нарушает обратную совместимость с предыдущей минорной версией
Если я раскошелюсь на github с версией v1.0.0
а затем добавить некоторые новые функции. Он по-прежнему остается обратно совместимым, поэтому, если я правильно понимаю семантическое управление версиями, я изменяю версию на v1.1.0
, Если я теперь решу, что хочу изменить аргументы командной строки для новой функции, станет ли она v1.2.0
, или же v2.0.0
так как это изменение будет нарушать обратную совместимость, введенную в v1.1.0
?
1 ответ
Если я сейчас решу, что хочу изменить аргументы командной строки для новой функции, станет ли она v1.2.0 или v2.0.0, поскольку это изменение нарушит обратную совместимость, представленную в v1.1.0?
Прочтите спецификацию SemVer. Это объясняет требования довольно четко.
Для всех критических изменений требуется удар по основной версии. Предыдущая история, ветвление и т. Д. Не имеют отношения к вопросу. Все, что имеет значение, вы внесли серьезные изменения в версию, которую собираетесь опубликовать? Если да, измените Major, если нет, вам все равно остается вопрос, достаточно ли велики изменения для изменения Major, в противном случае - Minor для новых обратно совместимых функций и Patch для всего остального обратно совместимого.