From a58c4b647d64765e88c0209e0077ac6cd38234d8 Mon Sep 17 00:00:00 2001 From: Tim Hsiung Date: Wed, 4 Feb 2026 00:13:19 +0800 Subject: [PATCH 1/4] refactor(version_schemes): shorten generate_prerelease (#1838) --- commitizen/version_schemes.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/commitizen/version_schemes.py b/commitizen/version_schemes.py index c03d908aab..1f17e90871 100644 --- a/commitizen/version_schemes.py +++ b/commitizen/version_schemes.py @@ -185,15 +185,10 @@ def generate_prerelease( # https://semver.org/#spec-item-11 if self.is_prerelease and self.pre: prerelease = max(prerelease, self.pre[0]) + if prerelease.startswith(self.pre[0]): + offset = self.pre[1] + 1 - # version.pre is needed for mypy check - if self.is_prerelease and self.pre and prerelease.startswith(self.pre[0]): - prev_prerelease: int = self.pre[1] - new_prerelease_number = prev_prerelease + 1 - else: - new_prerelease_number = offset - pre_version = f"{prerelease}{new_prerelease_number}" - return pre_version + return f"{prerelease}{offset}" def generate_devrelease(self, devrelease: int | None) -> str: """Generate devrelease From 7c8af2d57104ad870340bea5657e2e5f698df121 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 3 Feb 2026 16:21:06 +0000 Subject: [PATCH 2/4] =?UTF-8?q?bump:=20version=204.13.1=20=E2=86=92=204.13?= =?UTF-8?q?.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 7 +++++++ commitizen/__version__.py | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9ff73d544d..2b4a030fc6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -56,7 +56,7 @@ repos: - tomli - repo: https://github.com/commitizen-tools/commitizen - rev: v4.13.1 # automatically updated by Commitizen + rev: v4.13.2 # automatically updated by Commitizen hooks: - id: commitizen - id: commitizen-branch diff --git a/CHANGELOG.md b/CHANGELOG.md index 15d690d15a..2ba2ed463c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## v4.13.2 (2026-02-03) + +### Refactor + +- simplify code with pathlib Path object (#1840) +- **tags**: extract version resolution method (#1839) + ## v4.13.1 (2026-02-03) ### Refactor diff --git a/commitizen/__version__.py b/commitizen/__version__.py index ab9d6f875c..13398e442b 100644 --- a/commitizen/__version__.py +++ b/commitizen/__version__.py @@ -1 +1 @@ -__version__ = "4.13.1" +__version__ = "4.13.2" diff --git a/pyproject.toml b/pyproject.toml index 4a2b3850dc..fd8c1dfc21 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "commitizen" -version = "4.13.1" +version = "4.13.2" description = "Python commitizen client tool" authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }] maintainers = [ diff --git a/uv.lock b/uv.lock index e1482cb2dc..885caecfd2 100644 --- a/uv.lock +++ b/uv.lock @@ -195,7 +195,7 @@ wheels = [ [[package]] name = "commitizen" -version = "4.13.1" +version = "4.13.2" source = { editable = "." } dependencies = [ { name = "argcomplete" }, From 4cc280e4cfb0b377d4b02182ddc2829431f7e17b Mon Sep 17 00:00:00 2001 From: Tim Hsiung Date: Wed, 4 Feb 2026 11:43:36 +0800 Subject: [PATCH 3/4] test(test_cmd): minor refactoring tests (#1833) --- tests/test_cmd.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/tests/test_cmd.py b/tests/test_cmd.py index e8a869e01c..77a67cf4e2 100644 --- a/tests/test_cmd.py +++ b/tests/test_cmd.py @@ -5,15 +5,18 @@ # https://docs.python.org/3/howto/unicode.html -def test_valid_utf8_encoded_strings(): - valid_strings = ( +@pytest.mark.parametrize( + "s", + [ "", "ascii", "🤦🏻‍♂️", "﷽", "\u0000", - ) - assert all(s == cmd._try_decode(s.encode("utf-8")) for s in valid_strings) + ], +) +def test_valid_utf8_encoded_strings(s: str): + assert s == cmd._try_decode(s.encode("utf-8")) # A word of caution: just because an encoding can be guessed for a given @@ -22,24 +25,25 @@ def test_valid_utf8_encoded_strings(): # https://docs.python.org/3/library/codecs.html#standard-encodings -# Pick a random, non-utf8 encoding to test. -def test_valid_cp1250_encoded_strings(): - valid_strings = ( +@pytest.mark.parametrize( + "s", + [ "", "ascii", "äöüß", "ça va", "jak se máte", - ) - for s in valid_strings: - assert cmd._try_decode(s.encode("cp1250")) or True + ], +) +def test_valid_cp1250_encoded_strings(s: str): + """Pick a random, non-utf8 encoding to test.""" + # We just want to make sure it doesn't raise an exception + cmd._try_decode(s.encode("cp1250")) def test_invalid_bytes(): - invalid_bytes = (b"\x73\xe2\x9d\xff\x00",) - for s in invalid_bytes: - with pytest.raises(CharacterSetDecodeError): - cmd._try_decode(s) + with pytest.raises(CharacterSetDecodeError): + cmd._try_decode(b"\x73\xe2\x9d\xff\x00") def test_always_fail_decode(): From 3e94271109553491bb7af6bfeacc26a84b64fb27 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 4 Feb 2026 03:44:04 +0000 Subject: [PATCH 4/4] =?UTF-8?q?bump:=20version=204.13.2=20=E2=86=92=204.13?= =?UTF-8?q?.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .pre-commit-config.yaml | 2 +- CHANGELOG.md | 6 ++++++ commitizen/__version__.py | 2 +- pyproject.toml | 2 +- uv.lock | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2b4a030fc6..fed5bc7099 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -56,7 +56,7 @@ repos: - tomli - repo: https://github.com/commitizen-tools/commitizen - rev: v4.13.2 # automatically updated by Commitizen + rev: v4.13.3 # automatically updated by Commitizen hooks: - id: commitizen - id: commitizen-branch diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ba2ed463c..8659d787bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## v4.13.3 (2026-02-04) + +### Refactor + +- **version_schemes**: shorten generate_prerelease (#1838) + ## v4.13.2 (2026-02-03) ### Refactor diff --git a/commitizen/__version__.py b/commitizen/__version__.py index 13398e442b..fd447e0fb9 100644 --- a/commitizen/__version__.py +++ b/commitizen/__version__.py @@ -1 +1 @@ -__version__ = "4.13.2" +__version__ = "4.13.3" diff --git a/pyproject.toml b/pyproject.toml index fd8c1dfc21..e174a2c387 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "commitizen" -version = "4.13.2" +version = "4.13.3" description = "Python commitizen client tool" authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }] maintainers = [ diff --git a/uv.lock b/uv.lock index 885caecfd2..872ddd00fc 100644 --- a/uv.lock +++ b/uv.lock @@ -195,7 +195,7 @@ wheels = [ [[package]] name = "commitizen" -version = "4.13.2" +version = "4.13.3" source = { editable = "." } dependencies = [ { name = "argcomplete" },