Entendendo o Semantic Versioning (SemVer)

Como funciona 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.1Release 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.