Calculadora SemVer — Ferramenta Online Grátis
Calcule incrementos de versão semântica e valide a compatibilidade de ranges de versão do npm instantaneamente.
Calculadora de Incremento de Versão
Verificador de Range de Versão
Histórico de Versões — Simular Incrementos
O que é Versionamento Semântico?
O Versionamento Semântico (SemVer) é uma especificação de versionamento que usa um formato de três números: MAJOR.MINOR.PATCH (ex: 2.4.1). Ele fornece uma maneira padronizada de comunicar a natureza das alterações em cada release, ajudando os desenvolvedores a entender o que esperar ao atualizar uma dependência.
A especificação SemVer (semver.org) define regras claras: incremente MAJOR para breaking changes, MINOR para novas funcionalidades retrocompatíveis e PATCH para correções de bugs retrocompatíveis.
Quando Incrementar Cada Parte da Versão
- MAJOR (breaking change): Removeu um método público da API, alterou assinaturas de funções, descontinuou e removeu comportamento antigo, alterou o fluxo de autenticação.
- MINOR (nova funcionalidade): Adicionou um novo endpoint, adicionou parâmetros opcionais a funções existentes, adicionou novas opções de configuração.
- PATCH (correção de bug): Corrigiu um crash, corrigiu comportamento incorreto, melhoria de performance sem alteração na API, correção de documentação.
Sintaxe de Range de Versão do npm
^1.2.3— Compatível com 1.2.3. Permite atualizações MINOR e PATCH (>=1.2.3 <2.0.0)~1.2.3— Aproximadamente equivalente. Permite apenas atualizações PATCH (>=1.2.3 <1.3.0)>=1.2.3 <2.0.0— Range explícito, intenção muito clara1.x— Qualquer versão com major 1*— Qualquer versão (perigoso para produção)1.2.3— Versão exata apenas (sem atualizações)
Perguntas Frequentes sobre Versionamento Semântico
Qual é a diferença entre ^1.0.0 e ~1.0.0 no npm?
O circunflexo (^) permite atualizações compatíveis dentro da mesma versão major: ^1.0.0 aceita qualquer versão >=1.0.0 e <2.0.0, permitindo atualizações minor e patch. O til (~) é mais restritivo: ~1.0.0 aceita apenas atualizações patch, correspondendo a >=1.0.0 e <1.1.0. O npm usa o circunflexo (^) como padrão. Use til quando precisar de controle mais rígido sobre quais versões são instaladas.
Quando devo incrementar o número da versão major?
Incremente o major (ex: 1.x.x para 2.0.0) apenas para breaking changes que não são retrocompatíveis com a versão anterior. Isso inclui: remover ou renomear um método público da API, alterar a assinatura de parâmetros de uma função, descontinuar o suporte a um runtime ou ambiente anteriormente suportado, ou alterar o comportamento padrão quebrando integrações existentes. Adições não destrutivas sempre vão para minor, e correções de bugs sempre vão para patch.
O que significa um número de versão começando com 0?
Versões começando com 0 (ex: 0.x.x) sinalizam que o software está em desenvolvimento inicial e a API pública ainda não é estável. Sob o SemVer, qualquer coisa pode mudar a qualquer momento durante o desenvolvimento 0.x — incluindo breaking changes com incrementos minor (0.1.0 para 0.2.0). Incremente para 1.0.0 apenas quando estiver pronto para se comprometer com uma API pública estável e documentada que você manterá com retrocompatibilidade.
Como lançar uma versão prerelease usando SemVer?
Adicione um identificador prerelease após um hífen: 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1. Versões prerelease têm precedência menor que a release: 1.0.0-alpha < 1.0.0-beta < 1.0.0-rc.1 < 1.0.0. No npm, publique prereleases com npm publish --tag next para que não sejam instaladas por padrão. Os seletores de range caret e tilde não correspondem automaticamente a versões prerelease.
Ferramentas Relacionadas
- Buscador de Comandos Git — encontre o comando Git exato para tagging, branching e releases
- Gerador de Docker Compose — gere configurações docker-compose.yml prontas para produção
- Inspetor de Arquivo .ENV — valide arquivos de ambiente e detecte segredos expostos
- Decodificador JWT — decodifique tokens JWT e inspecione claims com segurança no navegador
- Ver todas as ferramentas gratuitas