Herramienta Semver
Compara dos versiones semánticas, comprueba si una versión cumple una restricción de npm o Composer como ^1.2 o ~2.0 y ordena una lista de versiones correctamente (1.10.0 va después de 1.2.0).
Se ejecuta en tu navegador: no se sube nada.
Comparar dos versiones
Probar un rango
Por ejemplo ^1.2.0, ~1.2, >=1.0 <2.0, 1.x o 1.0 || 2.0.
Deja que 1.3.0-beta.1 cumpla ^1.2.0.
Ordenar versiones
Una por línea (también valen comas).
Cómo se usa
- Para comparar, escribe dos versiones. Verás cuál es más nueva y el tipo de cambio (major, minor, patch, pre-release).
- Para probar un rango, escribe una versión y una restricción, y elige npm o Composer.
- Para ordenar, pega una versión por línea y elige el orden.
Preguntas frecuentes
¿Cómo ordena el versionado semántico?
Por major, minor y patch como números (1.10.0 es más nueva que 1.9.0); después, una versión con etiqueta de pre-release es anterior a la misma sin ella (1.0.0-rc.1 es anterior a 1.0.0). Los metadatos de build tras + se ignoran.
¿Qué significan ^ y ~?
^1.2.3 permite cambios que no toquen el número distinto de cero más a la izquierda: >=1.2.3 <2.0.0 (^0.2.3 es >=0.2.3 <0.3.0). ~1.2.3 solo permite cambios de patch: >=1.2.3 <1.3.0.
¿En qué se diferencian las restricciones de Composer y npm?
En Composer ~1.2 significa >=1.2.0 <2.0.0 (en npm llega hasta 1.3.0), un 1.0 suelto es exactamente 1.0.0, y el Y se escribe con coma o espacio y el O con | o ||. En modo Composer la herramienta traduce la restricción y muestra el equivalente npm. No se admiten versiones de cuatro partes, nombres de rama ni indicadores de estabilidad distintos de @dev, @alpha, @beta, @rc y @stable.
¿Por qué una pre-release no cumple mi rango?
Según la regla de npm, 1.3.0-beta.1 solo cumple un rango si el propio rango nombra una pre-release del mismo 1.3.0. Marca “Incluir pre-releases” para ignorar esa regla.
¿Se aceptan la v inicial y los ceros de más?
La v inicial (v1.2.3) se acepta. Los ceros a la izquierda (01.2.3) y las versiones con menos de tres partes (1.2) no son semver válido.