Description
Description
According to the spec:
BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.
Please not the last sentence, it says “of any type”.
After we shipped v2.7.0 for our template repo we added a breaking change jenstroeger/python-package-template@144aac7 (or git log v2.7.0..v2.8.0
):
chore!: drop support for Python 3.9, add support for Python 3.11 (#445)
However, this commit did not result in a major version bump as expected, and the CHANGELOG does not even mention the breaking chore:
.
Steps to reproduce
Try it on the template itself:
> git clone https://github.com/jenstroeger/python-package-template.git
> cd python-package-template/
> git reset HEAD^ # Drop the last bump commit.
> git restore . # Remove the changes.
> git log v2.7.0..HEAD # Ensure the chore! commit is there.
> cz bump # Bump, which should create v3.0.0.
which then results in
bump: release 2.7.0 → 2.8.0
Automatically generated by Commitizen.
tag to create: v2.8.0
increment detected: MINOR
[main f5e8fc3] bump: release 2.7.0 → 2.8.0
3 files changed, 19 insertions(+), 2 deletions(-)
fatal: tag 'v2.8.0' already exists
Current behavior
The chore!:
commit isn’t regarded as a breaking change.
Desired behavior
The chore!:
commit should be regarded as a breaking change, and be listed as such in the CHANGELOG.
Screenshots
No response
Environment
> cz version --report
Commitizen Version: 2.42.0
Python Version: 3.11.2 (main, Feb 10 2023, 08:20:03) [Clang 14.0.0 (clang-1400.0.29.202)]
Operating System: Darwin