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.Z
versã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 Z
versã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 Z
versões numéricas para nomear um "alvo" de recursos, em nosso bugtracker.
Como observação, usamos o maven (com o release
comando) para aumentar o número da versão. Portanto, também existem X.Y.Z-SNAPSHOT
versões (o que indica qualquer versão entre X.Y.(Z-1)
e X.Y.Z
).