Calculadora SemVer

El Versionado Semántico tiene cinco partes móviles: MAYOR.MENOR.PARCHE, más los sufijos opcionales -prerelease y +build. Esta calculadora toma una cadena de versión, la valida contra la gramática semver 2.0.0, la desglosa en sus componentes y muestra las siguientes versiones mayor, menor, parche y prerelease (-rc.1) una al lado de la otra.

Cómo aumentar una versión

  1. 1

    Pega la versión actual

    Acepta `1.2.3`, `1.2.3-rc.1`, `2.0.0-alpha+exp.sha.5114f85` y otras formas semver 2.0.0.

  2. 2

    Lee las partes analizadas

    La herramienta divide la cadena en mayor, menor, parche, prerelease y metadatos de construcción para que confirmes que se interpretó como esperabas.

  3. 3

    Compara las siguientes versiones

    Muestra la siguiente mayor, menor y parche a la vez, además de una candidata de prerelease (`-rc.1`). Aumentar menor reinicia parche a 0; aumentar mayor reinicia tanto menor como parche.

  4. 4

    Copia la nueva versión

    Selecciona la versión que encaje con tu cambio y úsala en tu `package.json`, `Cargo.toml`, etiqueta de git, o notas de lanzamiento.

Lo que muestra esta calculadora

Para una versión como 1.2.3, la herramienta muestra cuatro versiones siguientes sugeridas:

Aumento 1.2.3 se convierte en
mayor 2.0.0
menor 1.3.0
parche 1.2.4
prerelease 1.2.4-rc.1

Aumentar menor reinicia parche a 0; aumentar mayor reinicia tanto menor como parche a 0. La sugerencia de prerelease marca el siguiente parche como candidata de lanzamiento. Las herramientas de línea de comandos como npm version añaden más operaciones (premajor, preminor, prepatch, e incrementos de prerelease en su lugar como 1.2.3-beta.1 que se convierte en 1.2.3-beta.2) si las necesitas dentro de un script de lanzamiento.

Reglas de precedencia que encontrarás

  • Un prerelease tiene menor precedencia que el lanzamiento: 1.0.0-rc.1 < 1.0.0.
  • Los identificadores numéricos se comparan numéricamente; los alfanuméricos se comparan léxicamente: 1.0.0-alpha.2 < 1.0.0-alpha.11.
  • Los metadatos de construcción (+sha.abc) son ignorados para la precedencia. 1.0.0+20240101 y 1.0.0+20250101 son versiones iguales.
  • Un cero inicial en un identificador numérico es inválido. 1.0.0-rc.01 no es semver; usa rc.1.

Hoja de trucos de operadores de rango

  • ^1.2.3, cualquier cosa >=1.2.3 y <2.0.0 (se mantiene en el mismo mayor).
  • ~1.2.3, cualquier cosa >=1.2.3 y <1.3.0 (se mantiene en el mismo menor).
  • >=1.2.3 <2.0.0, rango explícito.
  • 0.x es especial: npm trata ^0.2.3 como >=0.2.3 <0.3.0 porque pre-1.0 se considera inestable.

Cuándo aumentar mayor

Aumenta mayor por cualquier cambio que rompa a los consumidores posteriores: API pública eliminada, firma de función cambiada, comportamiento predeterminado cambiado, clave de configuración renombrada. Un menor es solo para cambios aditivos. Un parche es para correcciones de errores que no alteran el contrato.

Preguntas frecuentes

No. 01.2.3 es inválido. Cada identificador numérico debe ser un entero no negativo sin ceros iniciales, excepto por el literal 0.

Usa un aumento de parche desde tu último 1.0.0-rc.N, semver lo trata como una graduación de prerelease a la versión de lanzamiento. Alternativamente, establece la versión explícitamente y etiqueta.

No. Los metadatos de construcción vienen después de + y se ignoran para el orden. Prerelease viene después de - y baja la precedencia por debajo del lanzamiento. La mayoría de los registros permiten ambos simultáneamente: 1.2.3-rc.1+build.77.

Sí, semver no requiere mayores consecutivos. Saltar de 3.x directamente a 5.x es válido, aunque la mayoría de los equipos lo reservan para señalar un cambio particularmente disruptivo.

Herramientas relacionadas

Herramienta disponible en otros idiomas