К мему с семвером пришли люди и начали предлагать CalVer — это когда версия это Год.Месяц.День или типа того.
Но это самая бестолковая схема эва!
Во-первых, она предполагает, что новое всегда лучше старого. Типа, Вася написал библиотеку в 2025-м, а Петя в 2024-м. Оба потратили на них по три часа. Но у Васи версия больше! Почему? А нипочему.
Во-вторых, кажется, что со старым софтом что-то не так. 1.0 звучит солидно когда угодно, а 2020 звучит как-то не очень, типа, фу, 4 года назад. Хотя программы так-то не стареют. Алгорит, написанный четыре года назад, будет так же хорошо работать, как и написанный сегодня.
(а учитывая, что компьютеры становятся быстрее, в прошлом ограничения были более строгие, следовательно, шанс, что старые программы будут работать быстрее, тоже выше)
В-третьих, она никак не отражает, собственно, масштаб изменений. Скажем, Вася написал библиотеку в 2020-м, а потом поправил один минорный юз-кейс в 2025-м. Итого мажорная версия скакнула аж на пять единиц! Любому, кто будет принимать решение об обновлении, может показаться что это что-то прям важное.
В-четвертых, ложное чувство безопасности. Скажем, ты поставил версию 2025.01.01. Новогоднюю. Всего пять дней прошло, думаешь ты. Обновляться явно еще рано. А на самом деле после 2025.01.01 в тот же день вышла 2025.01.01-001 (куда, кстати, девать номера вышедших в один день?) с фиксом критической уязвимости. Но версия этого никак не отражает.
Короче, версионирование на гордости/стыде мне хотя бы понятно. Семантическое тоже, хотя в реальности следовать ему трудно. Версионирование по дате я не понимаю от слова совсем.
С тем же успехом возьмите просто одно число и увеличивайте его на 1 с каждым коммитом. Это хотя бы избавит от иллюзий, связанных с недавностью.
Хуже только когда после 3.9 решают бампнуть до 4.0 просто для красоты.