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
- 1Digite uma string de versão semântica (por exemplo, 1.2.3).
- 2Veja as versões major, minor e patch incrementadas.
- 3Digite um intervalo de versão para verificar compatibilidade.
- 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
Ferramentas Relacionadas
Formatador e Validador de JSON
Formate, valide e embeleze dados JSON com destaque de sintaxe e detecção de erros.Decodificador JWT
Decodifique e inspecione tokens JWT. Visualize cabeçalho, payload e verifique assinaturas.Codificar/Decodificar Base64
Codifique texto para Base64 ou decodifique Base64 de volta para texto. Suporta dados UTF-8 e binários.Encode/Decode de URL
Codifique ou decodifique componentes de URL. Trate caracteres especiais, strings de consulta e URLs completas.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.