Calculadora de Semver

Calculadora de versionamento semântico — incremente versões, analise strings semver e verifique se uma versão satisfaz um intervalo de versão.

Parsed Version

Major

1

Minor

2

Patch

3

Bumped Versions

Patch1.2.4Bug fix / minor change
Minor1.3.0New feature (backwards compatible)
Major2.0.0Breaking change

Version Range Checker

Satisfies

Como Usar Calculadora de Semver

  1. 1Digite uma string de versão semântica (por exemplo, 1.2.3).
  2. 2Veja as versões major, minor e patch incrementadas.
  3. 3Digite um intervalo de versão para verificar compatibilidade.
  4. 4Adicione identificadores de pré-lançamento e metadados de compilação.
ZenovayAnalytics

Veja quem está no seu site agora mesmo.

  • Acompanhamento de visitantes em tempo real
  • Privacidade em primeiro lugar, sem banner de cookies
  • Configurado em dois minutos
Conheça o Zenovay

Perguntas Frequentes

O que é Semantic Versioning?
Semantic Versioning (semver) é um esquema de versionamento com o formato MAJOR.MINOR.PATCH: MAJOR — mudanças de API incompatíveis; MINOR — novos recursos compatíveis com versões anteriores; PATCH — correções de bugs compatíveis com versões anteriores. Por exemplo: 1.0.0 → 1.0.1 (correção de patch), 1.0.1 → 1.1.0 (novo recurso), 1.1.0 → 2.0.0 (mudança de ruptura). Versões pré-lançamento usam um hífen: 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1. Metadados de compilação usam +: 1.0.0+build.123.
O que os especificadores de intervalo de versão npm significam?
^1.2.3 (circunflexo) — permite atualizações MINOR e PATCH: >=1.2.3 <2.0.0. Comumente usado em package.json. ~1.2.3 (til) — permite apenas atualizações PATCH: >=1.2.3 <1.3.0. Mais rigoroso. >=1.2.3 — qualquer versão em ou acima. 1.2.3 — versão exata apenas. * — qualquer versão. 1.x ou 1.X — qualquer patch para major 1. 1.2.x — qualquer patch para 1.2. Os intervalos podem ser combinados: >=1.0.0 <2.0.0 (equivalente a ^1.0.0 para major não-zero).
Quando devo fazer bump de major vs minor vs patch?
Faça bump de PATCH para: correções de bugs, patches de segurança, melhorias de desempenho, mudanças de documentação — nada que mude a API pública. Faça bump de MINOR para: novos recursos, novas funções/métodos, deprecar funcionalidade existente (mas não remover) — tudo compatível com versões anteriores. Faça bump de MAJOR para: remover ou renomear APIs públicas, mudar assinaturas de função de forma incompatível, mudar comportamento padrão que era previamente estável. Em dúvida, use MINOR — você sempre pode lançar um MAJOR depois se necessário.
Qual é a diferença entre versionamento 0.x.y e 1.x.y?
Sob semver, 0.MAJOR.MINOR indica desenvolvimento inicial onde qualquer coisa pode mudar. A semântica padrão de patch/minor/major não se aplica rigorosamente abaixo de 1.0.0 — mudanças de ruptura podem acontecer em bumps MINOR. Muitos projetos usam 0.x.y durante desenvolvimento e lançam 1.0.0 quando a API é estável. npm e outros gerenciadores de pacotes respeitam isso e tratam ^0.1.0 como >=0.1.0 <0.2.0 (não o comportamento circunflexo usual), tornando ^0.x.y efetivamente um til.
O que é um release candidate e quando devo usá-lo?
Um release candidate (rc) é uma versão pré-lançamento que poderia se tornar a versão final se nenhum bug for encontrado: 1.0.0-rc.1, 1.0.0-rc.2. A progressão pré-lançamento geralmente vai: alpha (inicial, instável) → beta (completo de recursos, pode ter bugs) → rc (candidato pronto para produção). Versões pré-lançamento têm precedência menor do que o lançamento: 1.0.0-rc.1 < 1.0.0. Elas são excluídas da resolução de intervalo semver da maioria dos gerenciadores de pacotes a menos que explicitamente solicitado.