Algo errado nesta ferramenta?
Sobre «Semver Compare Online»
Esta ferramenta compara duas versões SemVer (Versionamento Semântico) — como 1.2.3 vs 1.3.0-beta — e diz qual é mais nova, por quanto, e que tipo de mudança as separa (major, minor, patch, prerelease).
SemVer é o esquema padrão de versionamento para bibliotecas, pacotes, e APIs. Sinaliza o impacto das mudanças: incrementos major quebram compatibilidade, minor adiciona features, patch corrige bugs, e tags prerelease marcam builds instáveis. Ler SemVer corretamente é crucial ao atualizar dependências.
A ferramenta segue a spec SemVer 2.0 exatamente, incluindo regras de ordenação de prerelease. Útil ao planejar upgrades de versão, comparar tags de release em CI/CD, ou construir ferramentas de dependências que precisam avaliar restrições de versão.
Como usar esta ferramenta
Como comparar duas versões SemVer
Informe as duas versões
"Version A" e "Version B" aceitam strings SemVer como `1.2.3`. O `v` inicial é removido, e patch ausente vira 0 (`1.2` → `1.2.0`). Metadados de pre-release/build são ignorados — só major/minor/patch são comparados.
Executar
Resultado: um único campo `cmp` — -1 se A < B, 0 se iguais, 1 se A > B. Comparação componente a componente: major, depois minor, depois patch.
Exemplos
`1.0.0` vs `1.0.1` → cmp -1. `2.0.0` vs `1.99.99` → cmp 1 (major vence). `1.2.3` vs `1.2.3-rc.1` → cmp 0 (pre-release ignorado aqui, diferente do SemVer estrito).
Onde difere do SemVer real
O SemVer estrito (semver.org) considera `1.2.3` > `1.2.3-rc.1` porque pre-release ordena antes do release. Esta ferramenta ignora tudo após o patch — ok para sanity checks, mas para a lógica `^/~` do npm use uma biblioteca semver de verdade.