Versionamiento Semántico: Guía Completa para Desarrolladores

El versionamiento semántico (o SemVer) es una metodología utilizada en el desarrollo de software para asignar números de versión de manera estructurada y predecible. En este artículo, exploraremos en detalle su significado, cómo aplicarlo correctamente y su importancia en el desarrollo de software.
¿Qué es el Versionamiento Semántico?
El versionamiento semántico sigue el formato MAJOR.MINOR.PATCH, donde cada número tiene un significado específico:
- MAJOR (X.0.0): Se incrementa cuando hay cambios incompatibles con versiones anteriores.
- MINOR (0.Y.0): Se incrementa cuando se agregan nuevas funcionalidades de manera compatible.
- PATCH (0.0.Z): Se incrementa cuando se realizan correcciones de errores sin afectar la compatibilidad.
Reglas del Versionamiento Semántico
Para aplicar correctamente SemVer, se deben seguir ciertas reglas:
- Una vez publicada una versión, no se debe modificar.
- Las versiones
0.x.y
indican desarrollo inicial y pueden cambiar en cualquier momento. - Los cambios de API incompatibles requieren un incremento en el número mayor.
Ejemplo de Versionamiento en un Proyecto
# Crear un nuevo tag de versión en Git
git tag -a v1.2.3 -m "Versión 1.2.3 con nuevas funcionalidades"
git push origin v1.2.3
Versionamiento Semántico en Node.js
En proyectos con npm
, el archivo package.json
maneja versiones de dependencias usando SemVer.
{
"dependencies": {
"express": "^4.17.1"
}
}
Los prefijos en las versiones indican lo siguiente:
^
permite actualizaciones menores y parches.~
permite solo actualizaciones de parches.