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
Postar um comentário