Title: Direct bump with changelog creation not possible using semver2, custom tag_format and prerelease option · Issue #1614 · commitizen-tools/commitizen · GitHub
Open Graph Title: Direct bump with changelog creation not possible using semver2, custom tag_format and prerelease option · Issue #1614 · commitizen-tools/commitizen
X Title: Direct bump with changelog creation not possible using semver2, custom tag_format and prerelease option · Issue #1614 · commitizen-tools/commitizen
Description: Description When using a custom tag_format like ${major}.${minor}-${patch}${prerelease} with semver2 the changelog cannot be create directly using cz bump --prerelase rc with update_changelog_on_bump = true. Only generating the changelog...
Open Graph Description: Description When using a custom tag_format like ${major}.${minor}-${patch}${prerelease} with semver2 the changelog cannot be create directly using cz bump --prerelase rc with update_changelog_on_bu...
X Description: Description When using a custom tag_format like ${major}.${minor}-${patch}${prerelease} with semver2 the changelog cannot be create directly using cz bump --prerelase rc with update_changelog_on_bu...
Opengraph URL: https://github.com/commitizen-tools/commitizen/issues/1614
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Direct bump with changelog creation not possible using semver2, custom tag_format and prerelease option","articleBody":"### Description\n\nWhen using a custom tag_format like `${major}.${minor}-${patch}${prerelease}` with `semver2` the changelog cannot be create directly using `cz bump --prerelase rc` with `update_changelog_on_bump = true`. Only generating the changelog manually using `cz ch` lets the bump succeed.\n\nThe error occurse in a bump chain `0.0.1` → `0.0.2` → `0.0.3-rc.0` → `0.0.3-rc.1`\n\nFurthermore, using prereleases, `cz changelog` always throw warnings like:\n\n`Invalid version tag: '0.0-2rc.0' does not match any configured tag format`\n\nIt seems that the git tag is not parsed correctly when using custom tag_format and semver2.\n\nSee a szenario in steps to reproduce.\n\n### Steps to reproduce\n\n1. Initialize git project and place cz configuration:\n```\ngit init .\ncat \u003c\u003c EOF | tee cz.toml\n[tool.commitizen]\nname = \"cz_conventional_commits\"\ntag_format = \"\\${major}.\\${minor}-\\${patch}\\${prerelease}\"\nversion_scheme = \"semver2\"\nversion = \"0.0.1\"\nupdate_changelog_on_bump = true\nEOF\n```\n2. Create a first commit\n```\necho \"# test\" | tee README.md\ngit add README.md cz.toml\ngit commit -m \"fix: Add readme file\"\n```\n3. Bump a prerelease\n```\ncz bump --prerelease rc --yes\n```\n4. Add changes, commit and create changelog\n```\necho \"Some changes\" | tee -a README.md\ngit add README.md\ngit commit -m \"fix: Add changes to readme file\"\n```\n5. Try to bump another prerelease version (**failing**)\n```\ncz bump --prerelease rc --yes\n```\n5. Generate changelog (**succeeding with warning**)\n```\ncz changelog\n```\n6. Try to bump prerelease version again (**succeeding**)\n```\ncz bump --prerelease rc\n```\n\n### Current behavior\n\nBumping without prior changelog generation fails with: \n\n`Invalid version tag: '0.0-2rc.0' does not match any configured tag format`\n\nOnly if the changelog is created before bumping (so that `# Unreleased` heading appears) let's you create a bump.\n\nFurthermore commitizen does not recognize custom tags with prerelease part correctly, resulting in warnings using `cz changelog` like: \n\n```\nInvalid version tag: '0.0-2rc.1' does not match any configured tag format\nInvalid version tag: '0.0-2rc.0' does not match any configured tag format\n```\n\n\n### Desired behavior\n\n1. Changelog generation shall recognize the tags using custom tag_format with `${prerelease}`\n2. Bumping with changelog creation shall succeed without generating changelog before\n\n### Screenshots\n\nn/a\n\n### Environment\n\nCommitizen Version: 4.9.1\nPython Version: 3.9.21 (main, Aug 19 2025, 00:00:00) \n[GCC 11.5.0 20240719 (Red Hat 11.5.0-5)]\nOperating System: Linux","author":{"url":"https://github.com/pydal","@type":"Person","name":"pydal"},"datePublished":"2025-09-18T09:23:11.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/1614/commitizen/issues/1614"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:b2b1891d-ff76-1b88-9a06-58776eee32ba |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CABE:514A5:F1CA8E:14C8C21:6A4DD59F |
| html-safe-nonce | 133b5bbaa8067847f5e696e5dbbaae7476860a42219b13e16b94ef4462d8db9e |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQUJFOjUxNEE1OkYxQ0E4RToxNEM4QzIxOjZBNERENTlGIiwidmlzaXRvcl9pZCI6IjY2ODQ3NDE4MTA1NzEzMDIzMDMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | ad4e571b804419b8a322f8c8df98e21680a2df928aa24c651b06deec9c5953d5 |
| hovercard-subject-tag | issue:3429472558 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/commitizen-tools/commitizen/1614/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6aa095dd57ed88b35179d8be8ebf5135240bd8203fe93524ac6977ac7b779503/commitizen-tools/commitizen/issues/1614 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6aa095dd57ed88b35179d8be8ebf5135240bd8203fe93524ac6977ac7b779503/commitizen-tools/commitizen/issues/1614 |
| og:image:alt | Description When using a custom tag_format like ${major}.${minor}-${patch}${prerelease} with semver2 the changelog cannot be create directly using cz bump --prerelase rc with update_changelog_on_bu... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | pydal |
| hostname | github.com |
| expected-hostname | github.com |
| None | 06b8a6144231bf3a234f1c2e9993861e07ce98a905912b114aa386c2d7e84b33 |
| turbo-cache-control | no-preview |
| go-import | github.com/commitizen-tools/commitizen git https://github.com/commitizen-tools/commitizen.git |
| octolytics-dimension-user_id | 62252524 |
| octolytics-dimension-user_login | commitizen-tools |
| octolytics-dimension-repository_id | 106127589 |
| octolytics-dimension-repository_nwo | commitizen-tools/commitizen |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 106127589 |
| octolytics-dimension-repository_network_root_nwo | commitizen-tools/commitizen |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 1d344bdb7547fe6bca17a59bb2b8aac3dc9532a0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width