../_images/version.png

Sistema de Versionamento

A produção do software Anatem conta com um sistema de automação na produção de novos recursos e correção de bugs. Desta forma, o ciclo de produção do programa foi alterado, permitindo que versões com correções de bugs sejam lançadas tão imediatamente se queira, sem comprometer o desenvolvimento de novos recursos. São esperadas duas versões por ano, uma em cada semestre, contendo novos recursos: como novos equipamentos, blocos de CDU, algoritmos, opções de execução e outras melhorias. Versões intermediárias, corrigindo bugs reportados, serão lançadas o mais brevemente possível.

Um novo padrão de numeração das versões do programa foi adotado, baseando-se no padrão Semantic Versioning 2.0.0. A partir da versão de estreia deste padrão, a versão 11.5.0, a organização deste padrão segue o seguinte formato:

Anatem X.Y.Z (Major.Minor.Patch)

São chamadas versões PATCH as versões que diferirem apenas pelo campo Z do padrão. Analogamente, são chamadas de versões MINOR e MAJOR as versões que diferirem pelos campos Y e X.

O sistema de geração do identificador único (GUID) considera que quando a nova versão a ser lançada é uma versão de patch, o GUID deve se manter. Isto significa que uma eventual versão 11.5.1 deverá sobrescrever a instalação da versão 11.5.0; mas uma eventual versão 11.6.0 poderá coexistir na máquina do usuário com a versão 11.5.0. Quando uma versão MINOR é lançada, a versão PATCH retorna a 0. Quando uma versão MAJOR é lançada, as versões MINOR e PATCH retornam a 0.

A documentação do programa será atualizada, necessariamante, ao lançamento de cada versão MINOR e MAJOR. Versões PATCH não gerarão nova documentação. O termo “documentação” compreende os seguintes documentos: Manual do Usuário, Guia de Utilização e Novidades da Versão.

O termo “Correção de bug” é definido aqui como toda mudança interna que corrige um comportamento incorreto do programa, não requerendo qualquer alteração por parte do usuário no caso de estabilidade ou no banco de dados dinâmico.

Por fim, um caso de estabilidade DEVE ser compatível entre versões que diferem pelo PATCH. Um caso de estabilidade PODE ser compatível entre diferentes versões MINOR e MAJOR.

O que esperar a cada lançamento?

Uma versão PATCH (x.y.Z) difere da sua versão anterior quando ao menos um dos seguintes itens é atendido:

  • Correção de bug que impede o funcionamento do programa (parada repentina)

  • Correção de bug relacionado ao funcionamento incorreto de alguma função

Uma versão MINOR (x.Y.z) difere da sua versão anterior quando ao menos um dos seguintes itens é atendido, PODENDO ainda ter alterações PATCH:

  • Novos Códigos de Execução

  • Novas Opções de Execução

  • Nova combinação entre Opções de Execução existentes

  • Nova combinação entre Código de Execução e Opção de Execução existentes

  • Novos campos em Códigos de Execução existentes

  • Novas críticas a leitura de campos já existentes

  • Mudança na API do programa

  • Mudanças em constantes do programa

  • Mudanças em dimensões do programa

  • Aperfeiçoamentos diversos em recursos existentes

Uma versão MAJOR (X.y.z) difere da sua versão anterior quando ao menos um dos seguintes itens é atendido, PODENDO ainda ter alterações MINOR e PATCH:

  • Novos recursos que alteram a forma de solução do programa

  • Novos conceitos incorporados à fundamentação matemática do modelo

  • Novos recursos que expandam o escopo de utilização do programa

  • Funções são declaradas como obsoletas

  • Funções são removidas do programa

  • Novos recursos que alteram de maneira substancial a rotina de trabalho