¿Cómo versionar un software?

Una de las dudas más comunes al implementar la versión de un software, es de como comenzar a versionar, o cual es la manera correcta.

Existe un sistema definido para estructurar los valores de la versión, a este se le conoce como semver (Semantic Versioning).

¿Cómo versionar?

Utilizando un ejemplo de una versión sencilla que posiblemente ya hemos visto en algún software.

1.2.1

De acuerdo a la posición del numero se le denomina de la siguiente manera, leyendo de izquierda a derecha.

  • Mayor, el valor aumenta al implementar cambios en alguna herramienta, plugin, extensión, etc. que es incompatible con la versión anterior.
  • Menor, al agregar cambios des estructura, estética, rendimiento, etc. que aun es compatible con la versión anterior.
  • Patch, correcciones que se realizan, y que permiten la compatibilidad con la versión anterior.

Los valores de la versión son numéricos no negativos y únicamente enteros; el incremente debe ser de 1.

Es recomendable que la primera versión de salida al público o producción comience en 1 en la sección mayor.

Podría interesarte Control de versiones de código fuente  

En algunos casos se coloca un cuarto valor, que se le da el nombre como revisiones, por ejemplo.

1.2.1.1

Con este se indica de algún cambio simple que no afecta la compatibilidad con la versión anterior, por ejemplo, actualización de campos, mensajes, etc.

En algunas ocasiones el cuarto valor es diferente, puede estar separado por un guion medio y la utilización de letras y números.

0.2.1-RC1

Con los términos de RC1 se indica que no es la versión de salida, si no que es un Release Candidate (previo a la primera versión para producción).

Cómo versionar un software

Cuando la versión mayor cambia, el menor debe pasar a 0, si el menor cambia el path deberá pasar a 0, si el path cambia las revisiones o releases pasan a 0.

Una vez liberada una versión, los siguientes cambios aun mínimos ya formaran parte de una versión nueva.

¿Para qué sirve el versionado?

Es posible que para el usuario final el numero de versión es un indicativo de la constante actualización de la aplicación.

Para los programadores es el corte de una versión estable frente a una en desarrollo, permitiendo lo siguiente.

  • Identificar bugs a partir de una versión.
  • Regresar la aplicación a versiones anteriores.
  • Comparaciones entre versiones.
  • Control de versiones en equipos de trabajo.

Observaciones

Si utilizas algún administrador de código fuente como GitHub o Visual Studio DevOps, encontraras una gran utilidad al versionado semántico.

2 Comments

  1. Muy buena información, completa. Tengo una duda, si voy a lanzar un software por primera vez, ¿Qué número de versión debería tener? Ejemplo, al ser la primera versión lanzada se puede intuir que debe ser 1.0.0, pero, en ocasiones he visto aplicaciones que tienen como versión 0.1 o 0.0.1, entonces ¿Cómo es eso? ¿Todos los softwares deben empezar desde 0.0.1?

    1. Por lo regular la primera versión al ser lanzada una aplicación es 1.0. Sin embargo, en ocasiones prefieren lanzarlo como 0.1 o 0.0.1 porque posiblemente aun faltan operaciones o correcciones menores que no afectan directamente al funcionamiento principal; ya que una aplicaciones con versión 1.0 deberá tener todo lo que fue planeado y con el mínimo de errores(que talvez no detectaron en pruebas).
      Si tu aplicación ya tiene implementado todo lo que fue planeado deberías lanzarlo como versión 1.0; todo agregado o cambio después serán actualizaciones, por lo tanto, la versión aumentara.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *