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