NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2306 most downloaded on PyPI
Python commitizen client tool
Last release today
03 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
9 years old
289 releases · first in 2017
Plugins are now exposed as commitizen.plugin entrypoints
commitizen.plugin entrypointsscm version providercommitizen.provider endpoint for alternative versions providersTracebackType or NoneOne column per quarter.
bump: fixed environment variables in bump hooks
bump: support prereleases with start offset
bump: added support for running arbitrary hooks during bump
yaml_config: add explicit_start for yaml output
filter git diff from commit message
init: allow user to select which type of pre commit hooks to install
--hook-type options_install_pre_commit_hook raise error when failedpoetry: relax packaging version
changelog: allow rev range lookups without a tag format
add major-version-zero option to support initial package development
scripts: add error message to test
venv/bin/testsys.stdin.isatty()bashallow fixup! and squash! in commit messages
bump: support optional manual version argument
bump.py: CHANGELOG.md gets git added and committed correctly
CHANGELOG.md gets git added and committed correctlyadd functionality for dev-releases
README.md: fix pre-commit install command
bump: log git commit stderr and stdout during bump
command_changelog: Fixed issue #561 cz bump could not find the latest version tag with custom tag_format
bump: Remove a redundant join call
bump: Search for version number line by line
bump: Support regexes containing colons
git: Improves error checking in get_tags
pre-commit: Add commitizen-branch hook
pyproject.toml: remove test added configurations
Determine newline to write with Git
cmd: improve character encoding detection for sub-commands
git: use "git tag -v" return_code to check whether a tag is signed
tool: use charset_normalizer instead of chardet
changelog: removes unused code. duplicates are found in changelog_parser
bump: send changelog to stdout when dry-run is paired with changelog-to-stdout
dry-run is paired with changelog-to-stdoutCheck: process empty commit message
use chardet to get correct encoding
changelog: skip non-compliant commit subjects when building changelog
bump: make increment option case insensitive
pre-commit: Use new --allow-abort option
bump: let it respect pre-commit reformats when bumping
check: Add --allow-abort option
changelog: Improve whitespace in changelog
add --no-raise to avoid raising error codes
customize.py: adding support for commit_parser, changelog_pattern, change_type_map
changelog: add support for single version and version range
### Fix - remove type ignore
### Refactor - Switch to issue forms - Switch to issue forms - Switch to issue forms
skip merge messages that start with Pull request
Ignore packages that are not plugins
bump: raise non zero error code when there's no eligible commit to bump
check: filter out comment message when checking
poetry: add typing-exteions to dev
import TypedDict from type_extensions for backward compatibility
cli.py: add shortcut for signoff command
utility for showing system information
cli: handle argparse different behavior after python 3.9
commit: correct the stage checker before committing
prompt: add keyboard shortcuts with config option
Nothing published for this version
git.py: ensure signed commits in changelog when git config log.showsignature=true
correct indentation for json config for better readability
### Fix - add support for jinja2 v3
changelog: generating changelog after a pre-release
changelog: annotated tags not generating proper changelog
Your coding agent can read these notes before it upgrades. Set up the MCP server →