Любой общедоступный пакет является «релиз-пакетом» в техническом / английском выражениях Но индустрия программного обеспечения убила язык. Итак, давайте поговорим о стабильных (без предварительной версии) и нестабильных версиях (предварительной версии).
История издателя должна выглядеть примерно так:
1.0.0 // First **stable release**
1.0.1-alpha // First **unstable release** Candidate bug fix.
1.0.1-beta // 1.0.1-alpha with a tweak to the code.
1.0.1 // Second **stable release**
Если издатель следует этому шаблону, то клиенты конечного пользователя могут безопасно исправлять ошибки стабильного выпуска , в то время как разработчики также могут по своему усмотрению извлекать нестабильные предварительные версии.
Вы также можете иметь что-то вроде:
1.0.0 // First **stable release**
1.0.1-a.dev.1 // Next CI build after 1.0.0
1.0.1-a.dev.2 // Etc...
1.0.1-alpha // Relabeled 1.0.1-a.dev.2.
1.0.1-beta // Relabeled 1.0.1-alpha, wider audience than -alpha.
1.0.1 // Second **stable release**
Хорошей практикой является использование отдельных каналов для внутреннего разработчика / тестирования, общедоступной предварительной версии и общедоступных стабильных выпусков.