A promessa de estabilidade
O que cada número de versão promete, escrito — e conferido pelo abi a cada release.
Semver é uma promessa, e uma promessa só vale se estiver escrita. Declare no README o que a sua biblioteca promete, e confira a cada release com dataforge abi — que diz qual número a mudança exige.
| Sobe | Quando | Quem usa precisa… |
|---|---|---|
| correção (1.4.0 → 1.4.1) | a superfície não mudou | nada |
| menor (1.4 → 1.5) | só acréscimos: nome novo, parâmetro com padrão | nada — e ganha o novo |
| maior (1.x → 2.0) | algo saiu, mudou de nome ou de assinatura | ler a seção Quebra do CHANGELOG |
bash
dataforge abi v1.4/src/main.df src/main.df
# veredito: menor
# e sai com codigo diferente de zero quando algo QUEBRA — no CI, antes da tag| Muda a superfície (é quebra) | Não muda |
|---|---|
| remover ou renomear uma ação exportada | renomear com relay novo, novo as antigo |
| renomear um parâmetro — a chamada com nome existe | renomear uma variável interna |
| acrescentar parâmetro sem padrão | acrescentar parâmetro com padrão |
| mudar o tipo declarado de retorno | mudar a implementação |