Калькулятор SemVer

Семантическое версионирование включает пять элементов: MAJOR MINOR PATCH, а также опциональные суффиксы -prerelease и +build. Данный калькулятор принимает строку версии, проверяет её на соответствие грамматике semver 2.0.0, разбивает её на компоненты и показывает следующие версии major, minor, patch и prerelease (-rc.1) рядом друг с другом.

Как обновить версию

  1. 1

    Вставьте текущую версию

    Принимает `1.2.3`, `1.2.3-rc.1`, `2.0.0-alpha+exp.sha.5114f85` и другие формы semver 2.0.0.

  2. 2

    Прочитайте разобранные части

    Инструмент разбивает строку на major, minor, patch, prerelease и метаданные сборки, чтобы вы могли убедиться, что она разобрана так, как вы ожидаете.

  3. 3

    Сравните следующие версии

    Он показывает следующие major, minor и patch одновременно, плюс кандидат prerelease (`-rc.1`). Повышение minor сбрасывает patch до 0; повышение major сбрасывает и minor, и patch.

  4. 4

    Скопируйте новую версию

    Выберите версию, подходящую для вашего изменения, и используйте её в `package.json`, `Cargo.toml`, git-теге или заметках к релизу.

Что показывает этот калькулятор

Для версии вроде 1.2.3 инструмент показывает четыре предлагаемые следующие версии:

Повышение 1.2.3 становится
major 2.0.0
minor 1.3.0
patch 1.2.4
prerelease 1.2.4-rc.1

Повышение minor сбрасывает patch до 0; повышение major сбрасывает и minor, и patch до 0. Предложение prerelease помечает следующий patch как кандидата в релиз. Инструменты командной строки вроде npm version добавляют больше операций (premajor, preminor, prepatch, а также инкременты prerelease на месте, например 1.2.3-beta.1 становится 1.2.3-beta.2), если они нужны вам в скрипте релиза.

Правила приоритета, с которыми вы столкнётесь

  • Предварительный выпуск имеет низший приоритет по сравнению с официальным выпуском: 1.0.0-rc.1 < 1.0.0.
  • Числовые идентификаторы сравниваются числовым образом; буквенно-цифровые идентификаторы сравниваются лексически: 1.0.0-alpha.2 < 1.0.0-alpha.11.
  • Метаданные build (+sha.abc) не учитываются при определении приоритета; версии 1.0.0+20240101 и 1.0.0+20250101 считаются равными.
  • Ведущий ноль в числовом идентификаторе недопустим. 1.0.0-rc.01 не является semver; используйте rc.1.

Краткая таблица диапазонов значений

  • ^1.2.3, любая версия, соответствующая или превышающая 1.2.3 и ниже 2.0.0 (сохраняет ту же основную версию).
  • ~1.2.3, любая версия, не менее 1.2.3 и менее 1.3.0 (сохраняет ту же подверсию).
  • >=1.2.3 <2.0.0, явный диапазон.
  • 0.x является особенным случаем: npm классифицирует ^0.2.3 как >=0.2.3 <0.3.0, поскольку версии до 1.0 считаются нестабильными.

Когда повышать основную версию

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

Часто задаваемые вопросы

Номер 01.2.3 недействителен. Каждый числовой идентификатор должен быть неотрицательным целым числом без нулевых значений в начале, за исключением значения 0.

Используйте патч-бамп из последней версии 1.0.0-rc.N, семвер считает его переходом от предварительной версии к официальной. Альтернативно установите версию явно и добавьте соответствующий тег.

Номер метаданных «Build» следует за + и не учитывается при определении порядка приоритета; номер «Prerelease» следует за - и имеет более низкий приоритет по сравнению с версией «Release». Большинство реестров поддерживают оба номера одновременно, например, 1.2.3-rc.1+build.77.

Да, для использования семвера не требуется последовательная последовательность версий программного обеспечения. Переход из версии 3.x непосредственно в версию 5.x допустим, однако большинство команд используют его исключительно для обозначения особенно резких изменений.

Сопутствующие инструменты

Справочная таблица ASCII

Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.

Справочник символов HTML

Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.

Справочник сочетаний клавиш

Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.

Счетчик FPS

Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.

Генератор случайных букв

Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.

Конвертер размера файлов

Преобразуйте значения между байтами, КБ, МБ, ГБ, ТБ и двоичными единицами IEC (KiB, MiB, GiB, TiB), свободно сочетая десятичные и двоичные единицы.

Инструмент доступен на других языках