SemVer – сокращение от Semantic Versioning. Это стандартный способ версионирования программных продуктов.

Версия выглядит как X.Y.Z – где X – мажорная версия, Y – минорная, Z – версия патча.
• Мажорная увеличивается, если происходят несовместимые изменения пользовательского API – такое обновление сломает программу;
• Минорная увеличивается, если происходят функционально заметные, но совместимые изменения – такое обновление может поменять поведение;
• Патч увеличивается при незаметных для пользователя изменениях – такое обновление может улучшить качество работы.

Примеры:
• Мажорная – из библиотеки была удалена часть функций, некоторые стали принимать другие параметры: 4.3.12 → 5.0.0.
• Минорная – в приложении добавлен новый режим работы, старый остался без изменений: 1.2.1 → 1.3.0.
• Патч – исправлен баг, улучшена производительность, произведен рефакторинг: 1.1.1 → 1.1.2.

Особый смысл имеет мажорная версия 0. До выпуска 1.0.0, продукт считается на этапе начала разработки. Его поведение может быть нестабильным, а совместимость может ломаться.

Вдобавок к трем версиям иногда используется лейбл (метка) сборки – строка после символа -.
Например, 1.2.3-rc – типичное обозначение версии-кандидата в релиз. Лейблы могут делиться точкой на компоненты: 1.2.3-rc.3 – более поздняя версия чем 1.2.3-rc.2.