Versionamento Semântico 2.0.0



Versionamento Semântico 2.0.0

No desenvolvimento de softwares é comum lidar com versões, seja para o gerenciamento de dependências ou para dar um número de versão adequado para mudanças no projeto. Essas mudanças podem ser correções de bugs, novas funcionalidades ou até mesmo simples mudanças que não afetam outros recursos do sistema. O versionamento semântico é um padrão que tem como objetivo garantir que cada nova versão lançada represente corretamente as mudanças feitas em relação à versão anterior.
O versionamento semântico hoje é um dos padrões de versionamento mais usados e conhecidos. Foi desenvolvido para evitar que ocorra o “dependency hell” (inferno das dependências). Se as especificações das dependencias são muito amarrdas, corre-se o risco de um bloqueio de versão, que é a falta de capacidade em atualizar um pacote sem ter a liberação de novas versões de cada pacote dependente. Pode ocorrer também a promiscuidade da versão, que são quando dependências são vagamente especificadas podendo assumir compatibilidade com versões futuras mais do que é razoável. O “dependency hell” é quando um bloqueio de versão ou a promiscuidade de versão impede o andamento do projeto de forma fácil e segura.
No versionamento semântico os números de versão e a forma como eles mudam transmitem o significado do código subjacente e a modificação entre as versões. Após a criação e a identificação de uma API pública, é necessário comunicar as mudanças através do incremento do número de versão. Utilizando o formato X.Y.Z (Maior. Menor. Correção), as correções referentes a falhas que não afetam a API, incrementam a versão de Correção, as alterações compatíveis com as versões anteriores da API, incrementam a versão Menor e as alterações incompatíveis com as versões anteriores da API incrementa a versão Maior.



Referências:
1. https://semver.org
2. https://fjorgemota.com/versionamento-semantico-ou-como-versionar-software

Comentários

Postagens mais visitadas