Skip to content

Update commitizen to 4.13.7#157

Closed
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-commitizen-4.9.1-to-4.13.7
Closed

Update commitizen to 4.13.7#157
pyup-bot wants to merge 1 commit intomasterfrom
pyup-update-commitizen-4.9.1-to-4.13.7

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

@pyup-bot pyup-bot commented Feb 9, 2026

This PR updates commitizen from 4.9.1 to 4.13.7.

Changelog

4.13.7

Fix

- **provider**: use encoding settings in config (1857)

4.13.6

Fix

- **bump**: preserve existing changelog header when `changelog_merge_prerelease` is used with `cz bump --changelog` (1850)

4.13.5

Fix

- **changelog**: add incremental parameter to changelog generation (1808)

4.13.4

Fix

- **pre-commit-hooks**: correct rev-range syntax in commitizen-branch (1841)

4.13.3

Refactor

- **version_schemes**: shorten generate_prerelease (1838)

4.13.2

Refactor

- simplify code with pathlib Path object (1840)
- **tags**: extract version resolution method (1839)

4.13.1

Refactor

- **config**: replace is_empty_config with contains_commitizen_section, improve multi config resolution algorithm (1842)

4.13.0

Feat

- **bump**: add --version-files-only and deprecate --files-only (1802)
- **version**: add --tag tag to version command (1819)
- **cli**: add description when choosing a commit rule (1825)
- **tags**: enable version schemes with less than 3 components (1705)

Fix

- **config**: include pyproject.toml in multi config file warning (1803)
- add pytest ruff rule PT and fix missing deprecation warning (1826)
- **message_length_limit**: align the behavior of message_length_limit (1813)
- **cli**: capitalize the first characters of help texts and fix minor grammar errors

Refactor

- replace hard-coded string "cz_conventional_commits" with DEFAULT_SETTINGS (1830)
- **bump**: fix unbounded variable type issue

4.12.1

Fix

- **pre-commit-hooks**: remove magic constants on pre-push hook (1815)

4.12.0

Feat

- **prek**: supporting prek as an alternative to pre-commit and switching to prek (1799)

4.11.6

Fix

- **git**: commit bodies with carriage returns are correctly split by … (1780)

4.11.5

Fix

- **config**: ensure the actually used config file is correct, better test coverage (1784)

4.11.4

Fix

- **cli**: move sys.excepthook override to correct line, rename 'type' parameter, fix no argv test (1791)

4.11.3

Fix

- **bump**: fix the issue that changelog_merge_prerelease not working on cz bump

4.11.2

Fix

- **config**: add warning for multiple configuration files and update documentation (1773)

4.11.1

Fix

- **providers**: normalize package names in uv provider for uv.lock matching

4.11.0

Feat

- Drop support for Python 3.9 as EOL reached and add Python 3.14 support
- add custom validation

4.10.1

Fix

- **version**: fix the behavior of cz version --major
- **cli**: debug and no_raise can be used together in sys.excepthook
- **git**: replace lstrip with strip for compatibility issue
- **bump**: remove NotAllowed related to --get-next option, other related refactoring

Refactor

- **version**: rename class member to align with other classes
- **cargo_provider**: cleanup and get rid of potential type errors
- **bump**: extract option validation and new version resolution to new functions
- **changelog**: raise NotAllow when file_name not passed instead of using assert
- **bump**: rename parameter and variables

Perf

- **ruff**: enable ruff rules TC001~TC006
- add TYPE_CHECKING to CzQuestion imports

4.10.0

Feat

- add config option for line length warning
- **conventional_commits**: allow exclamation in title on BC
- **version**: add the ability to just print major or minor version
- allow `amend!` prefix as created by `git --fixup=reword:<commit>`

Fix

- **commands/version**: add missing return
- **test**: set terminal width for cli tests
- **Init**: raise InitFailedError on keyboard interrupt on pre-commit hook question, simplify logic, remove unreachable code path

Refactor

- **bump**: cleanup related to update_version_file
- **RestructuredTest**: rename variable, fix typo and remove unnecessary string copy
- **TomlConfig**: minor cleanups for DX
- **Commit**: refactor _prompt_commit_questions and fix some type hint
- **hooks**: refactor to improve readability
- **Init**: make project_info a module and remove self.project_info
- **BaseConfig**: update docstring, extract factory method and remove unnecessary variable assignment
- remove self.encoding for better maintainability
- **utils**: make get_backup_file_path to return a path for semantic correctness
- remove unnecessary class member tag_format
- **Bump**: remove use of getattr
- **ConventionalCommitsCz**: rewrite message method to make the pattern more clear
- **cmd**: unnest try except
- **BaseCommitizen**: remove NotImplementedError and make them abstract method
- **BaseCommitizen**: construct Style object directly to get rid of potential type error
Links

Summary by CodeRabbit

  • Chores
    • Updated a development dependency to the latest version for improved stability and compatibility.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 9, 2026

📝 Walkthrough

Walkthrough

The pull request updates the commitizen development dependency from version 4.9.1 to 4.13.7 in the project's requirements file. This is a straightforward version bump with no structural changes to dependencies.

Changes

Cohort / File(s) Summary
Dependency Update
requirements.txt
Updated dev dependency commitizen from 4.9.1 to 4.13.7.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A hop, a skip, and a version so neat,
Commitizen climbs to a new release beat!
From four-nine-one to thirteen so fine,
The dependencies dance in perfect align!
CodeRabbit grins—updates so clean! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and concisely summarizes the main change: updating the commitizen dependency version, which is exactly what the changeset does.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pyup-update-commitizen-4.9.1-to-4.13.7

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@requirements.txt`:
- Line 7: The requirements pin to commitizen==4.13.7 which drops Python 3.9 and
changes hook integration; verify CI/build and local environments support Python
>=3.10, update project Python compatibility metadata (pyproject/CI jobs) and any
tox/Docker configs if necessary, and inspect CI/pre-commit configs for use of
"pre-commit" hooks—if present switch to "prek" or adjust to the new integration
used by Commitizen >=4.12.0; also search release scripts for the deprecated flag
"--files-only" and replace it with "--version-files-only" (or adjust the script
logic) to ensure compatibility with commitizen (symbols to check: commitizen,
prek, pre-commit, --files-only, --version-files-only).

Comment thread requirements.txt
# dev
black==25.9.0
commitizen==4.9.1
commitizen==4.13.7
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

commitizen 4.13.7 release notes changelog

💡 Result:

Commitizen v4.13.7 (2026-02-09) — Release notes / changelog

Fix

  • provider: use encoding settings in config (#1857) [1]

Release/tag: v4.13.7 (commit dd972c9) [1]

Sources

  • [1] Commitizen GitHub Releases page (v4.13.7 entry): (github.com)

Citations:


🌐 Web query:

commitizen 4.13.7 Python version support requirements

💡 Result:

Commitizen 4.13.7 declares Requires-Python: >=3.10, <4.0 (i.e., Python 3.10+; not Python 4). [1]

Sources:
[1] PyPI – commitizen 4.13.7 project metadata (“Requires: Python <4.0, >=3.10”) (pypi.org)

Citations:


🌐 Web query:

commitizen breaking changes 4.10 to 4.13 CLI behavior

💡 Result:

Breaking / potentially breaking changes (4.10.x → 4.13.x)

  • Python runtime support: Commitizen 4.11.0 drops Python 3.9 support (install/runtime break if you were on 3.9). [2]
  • Hook tooling change: 4.12.0 switches its hook integration from pre-commit to prek (if you rely on Commitizen’s provided git hooks / pre-commit setup, expect config + installation workflow differences). [3]
  • CLI flag deprecation (behavior change for scripts): 4.13.0 adds cz bump --version-files-only and deprecates --files-only (old flag still works for now, but scripts should be updated). [4]

Other notable CLI behavior changes in this range

  • cz version: 4.13.0 adds a --tag option. [4]
  • CLI UX / output: 4.13.0 adds descriptions when choosing a commit rule and tweaks help-text capitalization/grammar; also aligns message_length_limit behavior. [4]
  • CLI crash/exception handling fix: 4.11.4 fixes a CLI exception-hook override/argv-related issues. [5]
  • (Baseline at 4.10.0) 4.10.0 includes CLI-adjacent behavior like allowing amend! prefix and “exclamation in title” parsing for breaking changes (not a breaking change itself, but can affect parsing). [1]

Sources: GitHub release notes for v4.10.0, v4.11.0, v4.12.0, v4.13.0, v4.11.4. [1][2][3][4][5]


Verify Python 3.9 support and pre-commit hook compatibility before upgrading.

Commitizen 4.13.7 requires Python ≥3.10 (drops Python 3.9 support). Additionally, this range includes a significant tooling change: v4.12.0 switched hook integration from pre-commit to prek, which affects CI/pre-commit workflows. Confirm the project supports Python 3.10+ and update any pre-commit or CI configurations accordingly. Also note v4.13.0 deprecated --files-only in favor of --version-files-only; verify no release scripts rely on the old flag.

🤖 Prompt for AI Agents
In `@requirements.txt` at line 7, The requirements pin to commitizen==4.13.7 which
drops Python 3.9 and changes hook integration; verify CI/build and local
environments support Python >=3.10, update project Python compatibility metadata
(pyproject/CI jobs) and any tox/Docker configs if necessary, and inspect
CI/pre-commit configs for use of "pre-commit" hooks—if present switch to "prek"
or adjust to the new integration used by Commitizen >=4.12.0; also search
release scripts for the deprecated flag "--files-only" and replace it with
"--version-files-only" (or adjust the script logic) to ensure compatibility with
commitizen (symbols to check: commitizen, prek, pre-commit, --files-only,
--version-files-only).

@pyup-bot
Copy link
Copy Markdown
Collaborator Author

Closing this in favor of #159

@pyup-bot pyup-bot closed this Feb 18, 2026
@engineervix engineervix deleted the pyup-update-commitizen-4.9.1-to-4.13.7 branch February 18, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant