1.0.0
|
1.0.1
|
(public 1.0) 1.0.2-----
| \
2.0.0 1.1.0
| |
2.0.1 1.1.1 (public 1.1)
|
(public 2.0) 2.0.2-----
| \
3.0.0 2.1.0
|
2.1.1 (public 2.1)
|
2.2.0
|
2.2.1
X.Y.Z
é o nosso número de versão interno. X.Y
é o número da versão pública, aquele que tem um significado para os nossos clientes. Quando uma versão X.Y.Z
se torna pública, nunca haverá uma versão X.Y.(Z+1)
: 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 principais versões, apenas para correções de bugs.
Z
é usado internamente e não tem significado fixo. Até agora, criei uma nova versão Z
quando penso que o aplicativo tem um conjunto de recursos que são interessantes para mostrar aos não desenvolvedores e é relativamente estável. Dessa forma, posso mostrar uma demonstração da "última versão válida" do aplicativo quando alguém perguntar a um. Em um futuro próximo, planejo usar as versões Z
number para nomear um "alvo" de recursos, em nosso bugtracker.
Como nota lateral, usamos maven (com o comando release
) para incrementar o número da versão. Portanto, há X.Y.Z-SNAPSHOT
versões também (o que indica qualquer versão entre X.Y.(Z-1)
e X.Y.Z
).