Каждый выбирает, что он хочет делать с этими числами. Я испытывал желание называть релизы a.b.c, так как это все равно довольно глупо. При этом то, что я видел за последние 25 с лишним лет разработки, имеет тенденцию работать таким образом. Допустим, номер вашей версии 1.2.3.
«1» обозначает «основную» ревизию. Обычно это первоначальный выпуск, большое изменение набора функций или переписывание значительных частей кода. Как только набор функций определен и хотя бы частично реализован, вы переходите к следующему номеру.
«2» указывает на выпуск в серии. Часто мы используем эту позицию, чтобы освоить функции, которые не были реализованы в последнем основном выпуске. Эта позиция (2) почти всегда указывает на добавление функции, обычно с исправлениями ошибок.
"3" в большинстве магазинов указывает на выпуск патча / исправление ошибки. Почти никогда, по крайней мере, на коммерческой стороне, это не указывает на существенную добавленную функцию. Если функции появляются в позиции 3, то, возможно, это связано с тем, что кто-то проверил что-то, прежде чем мы узнали, что нам нужно выпустить исправление ошибки.
За позицией «3»? Я понятия не имею, почему люди делают такие вещи, это только сбивает с толку.
Примечательно, что некоторые из OSS там выбрасывают все это в тупик. Например, версия 10 Trac на самом деле 0.10.X.X. Я думаю, что многие люди в мире OSS либо не уверены в себе, либо просто не хотят объявлять о том, что они сделали основной релиз.