1.0.0
|
1.0.1
|
(público 1.0) 1.0.2 -----
| \
2.0.0 1.1.0
| |
2.0.1 1.1.1 (público 1.1)
|
(público 2.0) 2.0.2 -----
| \
3.0.0 2.1.0
|
2.1.1 (público 2.1)
|
2.2.0
|
2.2.1
X.Y.Zé o nosso número da versão interna. X.Yé o número da versão pública, aquela que tem um significado para nossos clientes. Quando uma X.Y.Zversão se torna pública, nunca haverá uma X.Y.(Z+1)versão: a versão pública é sempre a última da série.
X é incrementado quando uma versão principal é lançada.
Y é usado para as ramificações de manutenção dessas versões principais, apenas para correções de bugs.
Zé usado internamente e não tem significado fixo. Até agora, crio uma nova Zversão quando penso que o aplicativo tem um conjunto de recursos interessantes para mostrar a não desenvolvedores e é relativamente estável. Dessa forma, eu posso mostrar uma demonstração da "última versão válida" do aplicativo quando alguém perguntar. Em um futuro próximo, pretendo usar as Zversões numéricas para nomear um "alvo" de recursos, em nosso bugtracker.
Como observação, usamos o maven (com o releasecomando) para aumentar o número da versão. Portanto, também existem X.Y.Z-SNAPSHOTversões (o que indica qualquer versão entre X.Y.(Z-1)e X.Y.Z).