🚀 SemVer: por que esse `1.2.3` muda sua vida (e seus bugs)
Felipe 0liveira

Felipe 0liveira @felipe0liveira

About: Full Stack dev há 8+ anos. Amo criar produtos escaláveis e interfaces incríveis. Compartilho dicas, ideias e perrengues da vida de dev, sempre no estilo “dev pra dev”.

Location:
Brazil
Joined:
Aug 18, 2019

🚀 SemVer: por que esse `1.2.3` muda sua vida (e seus bugs)

Publish Date: Aug 9
0 0

Você já deve ter visto algo assim no package.json:

"react": "^18.2.0"
Enter fullscreen mode Exit fullscreen mode

E aí surge a dúvida:

“Mas que raios significam esses números? É só o dev mostrando que sabe contar?”

Não, jovem padawan. Isso é Semantic Versioning — o famoso SemVer — e ele é mais importante do que parece.


📦 O formato

SemVer segue o padrão:

MAJOR.MINOR.PATCH
Enter fullscreen mode Exit fullscreen mode

Exemplo: 2.5.1 significa:

  • MAJOR (2) → Mudanças que quebram compatibilidade (breaking changes).

    Tipo quando você atualiza e metade do seu código para de funcionar 😅.

  • MINOR (5) → Novos recursos, mas compatíveis com a versão anterior.

    É como adicionar novas pizzas no cardápio sem tirar as antigas.

  • PATCH (1) → Correções de bugs e ajustes pequenos.

    Aquele “remendinho” que ninguém percebe… até perceber.


💡 Por que importa?

  • Te ajuda a saber o tamanho da treta antes de atualizar.
  • Facilita comunicação entre equipes.
  • Evita “surpresas” no deploy — embora a gente saiba que sempre rola.

⚠️ O cuidado com ^ e ~

No npm/yarn, esses símbolos definem como a versão pode variar:

  • ^1.2.3 → Pode atualizar MINOR e PATCH, mas não MAJOR.
  • ~1.2.3 → Pode atualizar só o PATCH.

📌 Ou seja: aquele npm install inocente pode te trazer um bug fresquinho se você não prestar atenção.


🎯 Moral da história

  • Confie no SemVer (mas verifique o changelog).
  • MAJOR = risco alto
  • MINOR = recurso novo
  • PATCH = bug corrigido

E lembre-se: nem todo projeto segue SemVer direito… às vezes, a galera inventa moda. 😏


💬 E aí, você segue SemVer ou só atualiza e reza? Conta aí nos comentários.

Comments 0 total

    Add comment