quarta-feira, 23 de janeiro de 2019

Semântica de versionamento

A semântica de versionamento é independente de linguagem, no Python é tratada na PEP440. Ela é um conceito concebido para controle e identificação evolutiva de software.

Um número de versão normal DEVE ter o formato de X.Y.Z, onde X, Y, e Z são inteiros não negativos, e NÃO DEVE conter zeros à esquerda. X é a versão Maior, Y é a versão Menor, e Z é a versão de Correção. Cada elemento DEVE aumentar numericamente.

Por exemplo:
1.7.0 -> 1.8.0 -> 1.9.0 -> 1.9.1 -> 1.9.2 -> 1.9.3 -> 1.10.0

Dado esta informação assumamos que X.Y.Z sejam MAJOR.MINOR.PATCH, onde:
  1. versão Maior(MAJOR): quando fizer mudanças incompatíveis na API,
  2. versão Menor(MINOR): quando adicionar funcionalidades mantendo compatibilidade, e
  3. versão de Correção(PATCH): quando corrigir falhas mantendo compatibilidade.
Rótulos adicionais para pré-lançamento(pre-release) e metadados de construção(build) estão disponíveis como extensão ao formato MAJOR.MINOR.PATCH.

Por exemplo:
2.0.0 > 2.0.0-rc.2 > 2.0.0-rc.1 > 1.0.post1 >1.0.0 > 1.0.0-rc.1 > 1.0.0-b.1 > 1.0.0-a.1> 1.0.0-dev0

Referências

https://semver.org/
http://tools.ietf.org/html/rfc2119
https://www.python.org/dev/peps/pep-0440/

0 comentários: