-
-
Notifications
You must be signed in to change notification settings - Fork 312
feat(bump_rule): add BumpRule, VersionIncrement, Prerelease Enum #1518
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(bump_rule): add BumpRule, VersionIncrement, Prerelease Enum #1518
Conversation
bb305ad to
8a6c84f
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@ ## master #1518 +/- ## ========================================== + Coverage 97.33% 98.71% +1.37% ========================================== Files 42 61 +19 Lines 2104 2722 +618 ========================================== + Hits 2048 2687 +639 + Misses 56 35 -21
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
8a6c84f to
8dd8d42
Compare
@Lee-W
Lee-W
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is definitely a great pull request that cleans up a lot of legacy code. However, we need to be cautious about maintaining backward compatibility. We can likely add some of the logic incrementally while keeping compatibility for a few minor versions. After that, we can bump the major version and remove the compatibility handling code.
commitizen/commands/bump.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this might be a breaking change for other non-standard czs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need a way to keep backward compatibility or move it to 5.0.0 instead (but that would be a pity since the PR looks os good)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you provide more details about why this might be a breaking change for non-standard cz s? I am not familiar with non-standard cz. Thanks
83c02fe to
650c720
Compare
bb61b44 to
9cacfcb
Compare
bearomorphism
commented
Aug 24, 2025
Can we do squash rebase on this PR when it is ready for merge?
Lee-W
commented
Aug 25, 2025
Can we do squash rebase on this PR when it is ready for merge?
yep, I can do that
69db5b4 to
b313847
Compare
3cf6689 to
6d0aa11
Compare
bearomorphism
commented
Sep 8, 2025
What are the next steps for this PR? If there are backward compatibility issues, I can adjust it so that this PR can be checked in. Thanks
c700d66 to
8b969db
Compare
6d0aa11 to
972d9f5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Core feature change
bearomorphism
commented
Sep 25, 2025
We can get back to this PR after #1598
9c8389a to
9914feb
Compare
9914feb to
9644e1a
Compare
bearomorphism
commented
Nov 11, 2025
@Lee-W It would be great if we can complete this big PR. I can fix those backward-compatibility issues, but I need more details so I can address the issues.
bearomorphism
commented
Nov 11, 2025
(I've resolved merge conflicts for several times for this PR)
Lee-W
commented
Nov 13, 2025
This would fall into 4.11.0. Let's foucs on merging the non-features PRs first and then get back to this one.
bearomorphism
commented
Jan 6, 2026
A lot of conflicts... I will probably create another branch and do the change again...
Related issue: #129
Original PR: #1431
Description
Please see
bump_rule.py,bump.py,cz/base.py,version_scheme.pyandcommands/bump.py(~350 lines).The rest 1000+ lines are just tests and renaming.
CustomBumpRule.(削除) Simplified code. (削除ここまで)SemVerIncrementand replaceMAJOR,MINOR,PATCHwith the Enum.Prereleaseis Enum.find_incrementlogic inSemVerIncrement.get_highest_by_messages.find_incrementwas the combination of 2 features: "finding the highest semantic version increment" and "parsing the semantic version increment from each git commit message".Checklist
Code Changes
poetry alllocally to ensure this change passes linter check and testsDocumentation Changes
poetry doclocally to ensure the documentation pages renders correctlyExpected Behavior
Steps to Test This Pull Request
Additional Context