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

Всё о семантических версиях в одном месте: сравнивайте две версии, вычисляйте следующую major/minor/patch/prerelease и смотрите, какие версии допускает диапазон npm, например ^1.2.0 или ~2.3. Всё объясняется простым языком.

Обновлено

Сравнение

Повышение версии

Проверка диапазона

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Вставьте вывод git log и получите Markdown-changelog с группировкойНовые функции, исправления, производительность и breaking changes, плюс следующая версия.Генератор Changelog →

Как пользоваться: Калькулятор semver

  1. Сравнение: введите две версии, чтобы увидеть, какая из них новее и почему (учитываются prerelease и build-метаданные).
  2. Повышение: введите текущую версию и нажмите нужный тип изменения, чтобы получить следующую версию. Она копируется автоматически.
  3. Проверка диапазона: введите диапазон npm, например ^1.2.0, ~1.2, 1.x или >=1.2 <2, и список версий.
  4. Прочитайте объяснение простым языком и посмотрите, какие версии подходят под диапазон.

Семантическое версионирование: MAJOR.MINOR.PATCH

ЧастьУвеличивается, когда…Пример
MAJORвы вносите несовместимые изменения1.4.2 → 2.0.0
MINORвы добавляете функции с обратной совместимостью1.4.2 → 1.5.0
PATCHвы исправляете ошибки с обратной совместимостью1.4.2 → 1.4.3
Prereleaseвы публикуете тестовую версию2.0.0-beta.1
Build-метаданныевы помечаете сборку (при сравнении не учитываются)1.4.2+sha.5114f85

Шпаргалка по диапазонам npm

ДиапазонЗначениеДопускает
^1.2.3Совместим с 1.2.3>=1.2.3 <2.0.0
^0.2.3Для 0.x минорная версия играет роль «мажорной»>=0.2.3 <0.3.0
~1.2.3Только обновления patch>=1.2.3 <1.3.0
1.x / 1Любая версия 1.y.z>=1.0.0 <2.0.0
1.2.3 - 2.3Диапазон через дефис>=1.2.3 <2.4.0
>=1.2 <1.5 || 2.xЛюбой из наборов1.2.0–1.4.x или 2.x

Prerelease-версии подходят под диапазон, только если в том же наборе есть компаратор с prerelease для той же комбинации major.minor.patch. Поэтому ^1.2.0 не подходит под 1.3.0-beta.1, а ^1.3.0-beta.0 подходит. Так нестабильные версии не устанавливаются по ошибке.

Диапазоны хранятся в вашем package.json. Чтобы определить следующую версию по коммитам, используйте Генератор changelog, а для тегирования релиза — Генератор Git-команд.

Также ищут как: диапазон версий npm, caret vs tilde, семантическое версионирование, повышение версии, сравнение версий, semver prerelease, npm semver tester.

Инструменты, которые хорошо сочетаются с Калькулятор semver

  • Генератор GitHub Actions — Выберите стек, триггеры и шаги, и вы получите закомментированный файл .github/workflows/ci.yml — установка, кеш, линтинг, тесты, сборка, матрица версий и необязательный деплой на GitHub Pages, Vercel или в реестр контейнеров.
  • Конвертер систем счисления — Введите число в любой системе счисления и сразу увидите его во всех остальных.
  • Сравнение текстов — Вставьте исходную и изменённую версии, чтобы увидеть добавленные, удалённые и изменённые строки рядом — с подсветкой точно изменённых слов внутри каждой строки.
  • Валидатор YAML — Вставьте файл Docker Compose, манифест Kubernetes, workflow GitHub Actions или любой YAML, чтобы найти ошибку, поймать типичные ловушки и получить аккуратно отформатированную версию.

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

Можно ли использовать это как тестер semver?
Да. Введите диапазон, например ^1.2.0, ~2.3 или >=1.0 <2.0, и список версий: каждая версия будет помечена как подходящая или нет, а диапазон будет объяснён простым языком.
В чём разница между ^ и ~ в package.json?
^1.2.3 допускает обновления minor и patch (до 2.0.0, не включая её). ~1.2.3 допускает только обновления patch (до 1.3.0). Для версий 0.x знак ^ строже: ^0.2.3 допускает только 0.2.x.
Версия 1.10.0 новее, чем 1.9.0?
Да. Каждая часть сравнивается как число, а не как текст, поэтому 10 > 9.
Как сравниваются prerelease-версии?
Prerelease ниже обычной версии: 2.0.0-beta.1 < 2.0.0. Идентификаторы prerelease сравниваются по частям: числа — как числа, текст — по алфавиту, а числа при этом стоят ниже текста.
Важны ли build-метаданные (+build)?
Нет, при сравнении версий build-метаданные не учитываются: 1.0.0+20261026 и 1.0.0+abc имеют одинаковый приоритет.
Можно ли установить Калькулятор semver как веб-приложение и пользоваться им офлайн?
Да. Калькулятор semver — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localГенератор ChangelogВставьте ваш git log и получите аккуратный раздел CHANGELOG.md: коммиты сгруппированы по Features, Bug…localГенератор package.jsonЗаполните форму и получите корректный package.json: проверка имени npm, готовые наборы скриптов для Vite,…localГенератор команд GitВыберите задачу, например «отменить последний коммит, но сохранить изменения» или «переименовать ветку на…localГенератор GitHub ActionsВыберите стек, триггеры и шаги, и вы получите закомментированный файл .github/workflows/ci.yml —…localКонвертер систем счисленияВведите число в любой системе счисления и сразу увидите его во всех остальных. Смотрите знаковые…localСравнение текстовВставьте исходную и изменённую версии, чтобы увидеть добавленные, удалённые и изменённые строки рядом — с…