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
es nuestro número de versión interna. X.Y
es el número de versión pública, el que tiene un significado para nuestros clientes. Cuando una versión X.Y.Z
se hace pública, nunca habrá una versión X.Y.(Z+1)
: la versión pública siempre es la última de la serie.
X
se incrementa cuando se lanza una versión principal.
Y
se usa para las ramas de mantenimiento de esas versiones principales, solo para corregir errores.
Z
se usa internamente y no tiene un significado fijo. Hasta ahora, creo una nueva versión Z
cuando creo que la aplicación tiene un conjunto de características que son interesantes para mostrar a los desarrolladores y es relativamente estable. De esta manera, puedo mostrar una demostración de la "última buena versión conocida" de la aplicación cuando alguien la solicite. En un futuro próximo, planeo usar las versiones de número Z
para nombrar un "objetivo" de funciones, en nuestro bugtracker.
Como nota al margen, usamos maven (con el comando release
) para incrementar el número de versión. Por lo tanto, también hay versiones de X.Y.Z-SNAPSHOT
(lo que indica cualquier versión entre X.Y.(Z-1)
y X.Y.Z
).