В рубине нет поддержки gems/bundler для наличия двух различных номеров параллельной версии, no.
Но нет причин, по которым вы должны использовать semver. Вам просто нужен номер версии. Bundler и rubygems будут отлично работать с любыми номерами версий формы «x.y.z» или даже «x.y» или «x.y.z.a.b», где все компоненты являются числами. Что касается «функционирования», вы можете делать все, что хотите, с одним номером версии. (Если вы используете буквы, а не только цифры, рубигемы могут решить, что это означает «предварительную» версию, но если вы придерживаетесь цифр, вы можете делать все, что захотите).
До первого семестра многие люди просто наращивали компоненты, когда им это нравилось, когда они «казались» важными изменениями или меньшими изменениями или крошечными изменениями. Вы можете это сделать - или использовать любую другую систему для определения того, какой номер одной версии следует применять, - и инфраструктура будет работать нормально. Ваши нисходящие пользователи могут или не могут его оценить.
Я не уверен, если вы недопонимаете semver. Semver says, что изменение прерывания должно быть быть приращением основной версии. Если «PATCH все еще, скорее всего, будет изменением, хотя», то вы не делаете semver. По словам semver, разрывное изменение должно быть основным выпуском версии. Это не всегда следует из-за случайных ошибок или людей, которые не понимают semver, или не хотят следовать за ним, но хотят сказать, что они все равно следуют за ним, но это то, что говорит semver.
В самом деле, semver говорит, что номер версии должен быть только о совместимости, не о «размер» изменения (будь то субъективное «величина», или bytesize, кажется вам говорить о bytesize дельт, я Я никогда не видел эту интерпретацию номеров версий раньше). Изменения в обратном прерывании требуют серьезной ошибки; новые функции без обратных изменений требуют незначительной модификации; в противном случае (никаких новых функций, никаких изменений в обратном направлении, атакже в основном исправления ошибок или внутренних рефакторингов) на уровне патча. Semver делает не пытается включить две несовместимые вещи - скорее, он пытается выбросить одну из них целиком, она выкидывает идею о том, что номер версии должен представлять «размер изменения», он представляет только совместимость. Народное сопротивление этому, хотя, является некоторым сопротивлением к semver, правда.
Я не уверен, что вы подразумеваете под «потенциально незаметно нарушающимся изменением». Семвер говорит, что нарушение изменений - это серьезная ошибка в версии, вы не можете называть ее патчем, если она «потенциально незаметно ломается», что, я думаю, означает, что только некоторые люди заметят ее, и вы угадываете, что большинство не будет? Семвер не заинтересован в таких категориях. Semver не позволяет вам выпускать взломанное изменение в выпуске уровня патча, потому что вы решили, что он «потенциально незаметно ломается» (может быть, вам это понравится?).
Управление версиями и выпуском сложное. Это часто баланс между болью для сопровождающего и боль для нисходящих пользователей. Я скептически отношусь к тому, что создание двух отдельных параллельных номеров версий улучшит ситуацию, а не просто сделает вещи еще более запутанными для всех. Я даже не понимаю, как вы реализуете «Я не хочу, чтобы вы его загружали, но принесите мне те неутомимые улучшения, которые вы делаете в строке H2.0» - похоже, вы воображаете, что не только два номера версий на каждом выпуске, но на самом деле две совершенно разные «линии» номеров версий?
Хорошо, я полагаю, вы, , могли сделать это, просто выпустить с двумя разными именами драгоценных камней. Виджет_H и Widget_B, я думаю? Наверное, вы можете отключить две разные ветви git в своем репо? Я не знаю, мне трудно понять, как ваши мысли могут быть задействованы в систему, даже гипотетически. Похоже, что это сделает вещи ужасно запутанными как для сопровождающего, так и для нисходящего пользователя, - но просто используя два разных имени жемчужины, вы достигнете того, чего хотите в экосистеме rubygems/bundler?
Если вы еще не читали semver spec, я бы очень рекомендовал его, чтобы вы поняли, что такое semver и нет.