From 5f53441831b26b1c7a8bdc41e1fb38d0510d8043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Caetano?= Date: Wed, 11 Jun 2025 20:28:02 +0000 Subject: [PATCH] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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.