diff --git a/README.md b/README.md index b326abe..d8f363d 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,19 @@ Por padrão o semantic-release, usando o preset conventionalcommits, só conside - `revert`: (gera bump major) **Qualquer commit com ! (quebra de compatibilidade) → bump major** +Na especificação de Conventional Commits, o ponto de exclamação ! serve para sinalizar um breaking change (quebra de compatibilidade). +Isso significa que qualquer commit cujo cabeçalho contenha ! — por exemplo: +```bash +git commit -m "feat!: remove endpoint /v1/users + +BREAKING CHANGE: a remoção do endpoint /v1/users é incompatível com versões anteriores." +``` + +- O ! no cabeçalho já sinaliza o breaking change. + +- O rodapé BREAKING CHANGE: explica o porquê — neste caso, a incompatibilidade com versões antigas. + +- Quando CI (por exemplo, semantic-release) rodar, ele vai automaticamente detectar esse !/BREAKING CHANGE e gerar o bump major (por exemplo, de 1.3.0 para 2.0.0). Todos os outros tipos (docs:, style:, refactor:, test:, chore:, build:, ci:, perf:, revert: sem !) não disparam release algum — são classificados como no-release.