Calculadora SemVer — Herramienta Online Gratuita
Calcule incrementos de versionado semántico y valide compatibilidad de rangos de versión npm al instante.
Calculadora de Incremento de Versión
Verificador de Rango de Versión
Historial de Versiones — Simular Incrementos
¿Qué es el Versionado Semántico?
El Versionado Semántico (SemVer) es una especificación de versionado que utiliza un formato de tres números: MAJOR.MINOR.PATCH (por ejemplo, 2.4.1). Proporciona una forma estándar de comunicar la naturaleza de los cambios en cada versión, ayudando a los desarrolladores a entender qué esperar cuando actualizan una dependencia.
La especificación SemVer (semver.org) define reglas claras: incremente MAJOR para cambios incompatibles, MINOR para nuevas funcionalidades retrocompatibles y PATCH para correcciones de errores retrocompatibles.
Cuándo Incrementar Cada Parte de la Versión
- MAJOR (cambio incompatible): Se eliminó un método de API pública, se cambiaron firmas de funciones, se eliminó comportamiento obsoleto, se cambió el flujo de autenticación.
- MINOR (nueva funcionalidad): Se agregó un nuevo endpoint, se agregaron parámetros opcionales a funciones existentes, se agregaron nuevas opciones de configuración.
- PATCH (corrección de error): Se corrigió un fallo, se corrigió un comportamiento incorrecto, mejora de rendimiento sin cambio de API, corrección de documentación.
Sintaxis de Rangos de Versión en npm
^1.2.3— Compatible con 1.2.3. Permite actualizaciones MINOR y PATCH (>=1.2.3 <2.0.0)~1.2.3— Aproximadamente equivalente. Permite solo actualizaciones PATCH (>=1.2.3 <1.3.0)>=1.2.3 <2.0.0— Rango explícito, intención muy clara1.x— Cualquier versión con versión major 1*— Cualquier versión (peligroso para producción)1.2.3— Solo versión exacta (sin actualizaciones)
Preguntas Frecuentes sobre Versionado Semántico
¿Cuál es la diferencia entre ^1.0.0 y ~1.0.0 en npm?
El acento circunflejo (^) permite actualizaciones compatibles dentro de la misma versión major: ^1.0.0 permite cualquier versión >=1.0.0 y <2.0.0, permitiendo tanto actualizaciones minor como patch. La virgulilla (~) es más restrictiva: ~1.0.0 permite solo actualizaciones patch, coincidiendo con >=1.0.0 y <1.1.0. npm usa el acento circunflejo (^) como valor predeterminado. Use virgulilla cuando necesite un control más estricto sobre las versiones instaladas.
¿Cuándo debo incrementar el número de versión major?
Incremente major (por ejemplo, de 1.x.x a 2.0.0) solo para cambios incompatibles que no son retrocompatibles con la versión anterior. Esto incluye: eliminar o renombrar un método de API pública, cambiar la firma de parámetros de una función, dejar de soportar un runtime o entorno previamente soportado, o cambiar el comportamiento predeterminado de forma que rompa integraciones existentes. Las adiciones no incompatibles siempre van a minor, y las correcciones de errores siempre van a patch.
¿Qué significa un número de versión que comienza con 0?
Las versiones que comienzan con 0 (por ejemplo, 0.x.x) indican que el software está en desarrollo inicial y la API pública aún no es estable. Bajo SemVer, cualquier cosa puede cambiar en cualquier momento durante el desarrollo 0.x — incluyendo cambios incompatibles con incrementos de versión minor (de 0.1.0 a 0.2.0). Solo incremente a 1.0.0 cuando esté listo para comprometerse con una API pública estable y documentada para la cual mantendrá retrocompatibilidad.
¿Cómo publico una versión prerelease usando SemVer?
Agregue un identificador de prerelease después de un guión: 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1. Las versiones prerelease tienen menor precedencia que la versión final: 1.0.0-alpha < 1.0.0-beta < 1.0.0-rc.1 < 1.0.0. En npm, publique prereleases con npm publish --tag next para que no se instalen por defecto. Los selectores de rango con acento circunflejo y virgulilla no coinciden automáticamente con versiones prerelease.
Herramientas Relacionadas para Desarrolladores
- Buscador de Comandos Git — encuentre el comando Git exacto para etiquetar, crear ramas y publicar versiones
- Generador de Docker Compose — genere configuraciones docker-compose.yml listas para producción
- Inspector de Archivos .ENV — valide archivos de entorno y detecte secretos expuestos
- Decodificador e Inspector JWT — decodifique tokens JWT e inspeccione claims de forma segura en el navegador
- Ver todas las herramientas gratuitas para desarrolladores