Release after dev release results in error
Description
After creating a dev release I cannot create any release (dev or regular). The issue can be resolved if I remove the dev release from the changelog.
Also based on the documentation one would expect X.Y.devN version to work, but that is not the case.
Steps to reproduce
- Create a dev release by running:
cz bump --devrelease 1Changelog now contains entry for this dev release - Create a regular release by running:
cz bump
Current behavior
Error message:
change: Update version to 4.8.0
tag to create: v4.8.0
increment detected: MINOR
No tag found to do an incremental changelog
Seems like the only issue here is the changelog parsing.
Desired behavior
Commitizen should be able to parse the changelog and create a new release. Remove the dev release from the changelog and add changes to the new release.
Screenshots
No response
Environment
Commitizen version: 3.27.0 Python version: 3.12.3 OS: macOS Sonoma 14.5
Config - pyproject.toml:
[tool.commitizen]
version = "4.8.0.dev5"
update_changelog_on_bump = true
tag_format = "v$version"
changelog_start_rev = "v4.2.1"
changelog_merge_prerelease = true
annotated_tag = true
bump_message = "change: Update version to $new_version"
version_files = [
"esptool/__init__.py:__version__"
]
change_type_order = [
"BREAKING CHANGE",
"New Features",
"Bug Fixes",
"Code Refactoring",
"Performance Improvements"
]
[tool.commitizen.change_type_map]
feat = "New Features"
fix = "Bug Fixes"
refactor = "Code Refactoring"
perf = "Performance Improvements"
Do you have any updates for this? The issue (not sure if the only one) seems to be in using the SequenceMatcher to match the version. This evaluates that version 1.1.0 is closer to 1.2.0 than 1.2.0.dev1, which is not correct and ends with No tag found to do an incremental changelog error. This is really frustrating and means we cannot use Commitizen for dev releases as it is completely broken.