Qué es Versionado Semántico
Estándar de numeración de versiones MAJOR.MINOR.PATCH
Versionado Semántico (SemVer) — un estándar de numeración de versiones de software en el formato MAJOR.MINOR.PATCH, donde cada parte tiene un significado específico.
Estructura de versión
- MAJOR (1.x.x) — cambios de API incompatibles
- MINOR (x.1.x) — nueva funcionalidad con compatibilidad hacia atrás
- PATCH (x.x.1) — correcciones de errores compatibles hacia atrás
- Pre-lanzamiento — 1.0.0-alpha, 1.0.0-beta.1
- Metadatos de build — 1.0.0+build.123
Reglas
- Versión inicial — 0.1.0
- Primera versión estable — 1.0.0
- Al incrementar MAJOR — resetear MINOR y PATCH
- Al incrementar MINOR — resetear PATCH
- Las versiones se comparan de izquierda a derecha
Ejemplos de cambios
- MAJOR: eliminación de función, cambio de firma de método
- MINOR: adición de nuevo endpoint, nuevo parámetro opcional
- PATCH: corrección de error, mejora de rendimiento
Herramientas
- npm — usa SemVer para paquetes
- Composer — gestor de paquetes PHP
- Maven — dependencias Java
- semantic-release — automatización de lanzamientos
- commitizen — commits estructurados
Beneficios
- Previsibilidad — expectativas claras de actualizaciones
- Automatización — determinación automática de versión
- Documentación — changelog desde commits
- Compatibilidad — actualizaciones seguras de dependencias