Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PATCH: Apenas pequenas correções e melhorias, mas que mantém 100% de compatibilidade com a versão antiga, isto é, não causará nenhuma falha de compilação ao atualizar para um novo patch.

MINOR: Adição de novos componentes e refatoração de componentes já existentes. Não haveria, nesse caso, exclusão de nenhuma funcionalidade, apenas adição e alterações que, uma vez feitas, o usuário continua obtendo o mesmo resultado anterior. Também é mantida 100% da compatibilidade com a versão antiga.

MAJOR: Uma nova versão completa. Não haveria nenhuma obrigatoriedade de compatibilidade com a versão anterior, por mais que possa haver componentes iguais nas duas. Componentes podem ter sido removidos, outros podem ter sido totalmente reformulados e possivelmente coisas, componentes novos. Componentes podem ser repensados, tendo novas ideias e abordagens, não necessariamente mantendo o mesmo resultado anterior.

Observação: Como o JavaUtils possui muitos pequenos componentes desconexos entre si, e ele está em constantes atualizações para atender as demandas dos projetos, é possível que isso propicie muitos avanços da versão MAJOR. Uma sugestão para minimizar esse problema é, sempre que possível, em vez de alterar a API ou o contrato de algum componente, marque a API/contrato antigos como deprecated e inclua a versão nova como nova feature, permitindo assim que o avanço ocorra na versão MINOR em vez da MAJOR. Isso também ajuda a informar os projetos das alterações que devem surgir na próxima versão MAJOR, o que pode ajudar na análise de impacto da atualização para uma nova versão MAJOR.

...