Entendendo o Semantic Versioning (SemVer)
O Versionamento Semântico (ou SemVer, abreviação de Semantic Versioning) é um sistema de versionamento amplamente adotado no desenvolvimento de software. Ele estabelece uma convenção clara para numerar versões de um software, facilitando a comunicação entre desenvolvedores e usuários sobre mudanças e compatibilidades.
Como funciona o SemVer?
O SemVer segue o formato:
MAJOR.MINOR.PATCH
Ou seja, uma versão é composta por três números separados por pontos:
- MAJOR (Versão Principal): Mudado quando há alterações incompatíveis na API.
- MINOR (Versão Secundária): Incrementado quando novas funcionalidades são adicionadas de forma compatível.
- PATCH (Correções): Atualizado quando há correção de bugs sem mudanças na API.
Exemplos
- 1.0.0 → 2.0.0: Alteração MAJOR (mudanças que quebram compatibilidade).
- 1.0.0 → 1.1.0: Alteração MINOR (novos recursos compatíveis).
- 1.0.0 → 1.0.1: Alteração PATCH (correção de bugs).
Versões Pré-lançamento e Builds
O SemVer também permite indicar versões de pré-lançamento e builds, usando sufixos:
- 1.0.0-alpha.1 → Versão alfa (ainda em desenvolvimento).
- 1.0.0-beta.2 → Versão beta (mais estável que alfa, mas ainda não final).
- 1.0.0-rc.1 → Release Candidate, possível versão final para testes.
Por que usar Semantic Versioning?
O uso do SemVer traz vários benefícios, como:
- Clareza sobre mudanças na compatibilidade.
- Facilidade na automação de atualizações.
- Melhor comunicação entre desenvolvedores e usuários.