Ответ 1
TL;DR
Я не видел, чтобы версии prelease использовали pre-1.0.0. Это кажется довольно бессмысленным, поскольку публичный API еще не завершен. Они становятся полезными после выпуска 1.0.0.
Итак, когда предпочтительны версии prelease?
От semver.org:
Версия 1.0.0 определяет открытый API. Способ, которым номер версии увеличивается после этой версии, зависит от этого открытого API и того, как он изменяется.
и
Предварительная версия МОЖЕТ быть обозначена добавлением дефиса и серии разделенных точками идентификаторов сразу после версии патча.... Версия предварительного выпуска указывает, что версия нестабильна и может не соответствовать требованиям совместимости, обозначенным соответствующей нормальной версией.
Соглашения, которые я видел в пред-1.0.0, включают использование исправлений для исправлений ошибок/опечаток и небольших версий для любых существенных изменений. Соглашения менее строгие до 1.0.0, так как никакой публичный API еще не гарантирован.
Предварительные версии пригождаются, когда вы хотите поделиться некоторыми ранними функциями с сообществом.
Например, на момент написания этой статьи последней стабильной версией npm-check-updates является версия 1.5.1
. Некоторые из новых функций, которые я добавил, внесли обратно-несовместимые изменения, поэтому, чтобы соответствовать semver, я должен будет освободить их под 2.0.0
. Тем не менее, я не хочу выпускать 2.0.0
в качестве последней стабильной версии, пока она не будет более тщательно протестирована сообществом. Таким образом, я опубликовал предварительную версию (используя npm publish --tag unstable
) с версией 2.0.0-alpha.1
. Члены сообщества могут установить предварительную версию (с помощью npm install -g [email protected]
), чтобы опробовать последние функции, в то время как обычный npm install -g npm-check-updates
продолжит установку стабильной версии 1.5.1
для большинства пользователей. Когда предварительная свобода доказала себя, я могу легко опубликовать ее как новую конюшню при 2.0.0
.