Comparador de Semver

Compara números de versión semántica. Analiza y ordena cadenas semver, verifica si una versión satisface un rango y comprende las diferencias major/minor/patch.

Compare Two Versions

1.2.3
OLDER
2.0.0-beta.1
MAJOR version change
MajorMinorPatchPre-release
1.2.3123
2.0.0-beta.1200beta.1

Version Range Check

1.5.0 satisfies ^1.2.0

Sort Version List

One version per line — sorted newest first

13.0.0-beta.1beta.1
22.1.0
32.1.0-11
42.0.0-rc.1rc.1
51.2.3
61.0.0
71.0.0-betabeta
81.0.0-alphaalpha

Cómo usar Comparador de Semver

  1. 1Ingresa dos números de versión para comparar (p. ej. 1.2.3 vs 2.0.0).
  2. 2Ve cuál es más reciente y qué cambió (major/minor/patch).
  3. 3Ordena una lista de versiones semver.
  4. 4Verifica si una versión satisface una restricción de rango como ^1.2.0.
ZenovayAnalytics

Analytics pensado para fundadores.

  • Seguimiento de visitantes en tiempo real
  • Privacidad primero, sin aviso de cookies
  • Configurado en dos minutos
Descubre Zenovay

Preguntas frecuentes

¿Qué es el versionado semántico?
El versionado semántico (semver) es una convención de versiones que usa el formato MAYOR.MENOR.PARCHE. MAYOR: cambios de API incompatibles (que rompen compatibilidad). MENOR: nueva funcionalidad compatible hacia atrás. PARCHE: correcciones de errores compatibles hacia atrás. Las versiones de prelanzamiento añaden un guion e identificadores: 1.0.0-alpha, 1.0.0-beta.1, 1.0.0-rc.1. Los metadatos de compilación añaden un signo más: 1.0.0+build.42. Definido en semver.org por Tom Preston-Werner (cofundador de GitHub).
¿Cómo se comparan las versiones semver?
Las versiones se comparan de izquierda a derecha: MAYOR primero, luego MENOR, luego PARCHE. Cuando estos son iguales, una versión de prelanzamiento tiene menor precedencia que la versión de lanzamiento: 1.0.0-alpha < 1.0.0. Los identificadores de prelanzamiento se comparan como números si son numéricos, como cadenas en caso contrario (lexicográficamente). Un prelanzamiento más largo tiene mayor precedencia cuando todos los campos anteriores coinciden: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2.
¿Qué significan los operadores de rango de versión de npm?
^1.2.3 (acento circunflejo): compatible con, permite actualizaciones MENOR y PARCHE — ≥1.2.3 <2.0.0. ~1.2.3 (tilde): aproximadamente equivalente, permite solo actualizaciones PARCHE — ≥1.2.3 <1.3.0. 1.2.x o 1.2.*: cualquier PARCHE. * o x: cualquier versión. >1.2.3, >=1.2.3, <2.0.0: rangos explícitos. 1.2.3 - 2.3.4: rango inclusivo. Estos rangos son evaluados por npm, Yarn, pnpm y herramientas como Renovate y Dependabot.
¿Cuándo debo incrementar MAYOR frente a MENOR frente a PARCHE?
MAYOR (x.0.0): cuando realiza cambios de API incompatibles — funciones eliminadas, firmas de función cambiadas, cambios de comportamiento que rompen compatibilidad, indicadores de CLI eliminados. MENOR (1.x.0): cuando añade funcionalidad de manera compatible hacia atrás — nuevas funciones, nuevos parámetros opcionales, nuevas opciones de configuración. PARCHE (1.0.x): cuando realiza correcciones de errores compatibles hacia atrás — corrección de comportamiento incorrecto, parches de seguridad, mejoras de rendimiento sin cambio de API.
¿Cuál es la diferencia entre prelanzamiento y metadatos de compilación?
Prelanzamiento (1.0.0-alpha.1): afecta a la precedencia de versión — 1.0.0-alpha.1 < 1.0.0. Usado para alfa, beta, candidatas a publicación. Metadatos de compilación (1.0.0+build.1): NO afecta a la precedencia de versión — 1.0.0+build.1 == 1.0.0 para propósitos de comparación. Los metadatos de compilación se usan a menudo para números de compilación de CI, hashes de commits de git o marcas de tiempo de compilación. Según la especificación semver, dos versiones que difieren solo en los metadatos de compilación son iguales.