Skip to content

Releases: commitizen-tools/commitizen

v4.10.0

10 Nov 14:08

Choose a tag to compare

v4.10.0 (2025-11-10)

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

[master 9f3ec86] bump: version 4.9.1 → 4.10.0
4 files changed, 37 insertions(+), 4 deletions(-)

v4.9.1

10 Sep 14:19

Choose a tag to compare

v4.9.1 (2025-09-10)

Fix

  • dependency: move deprecated to project.dependencies

[master 7cca86e] bump: version 4.9.0 → 4.9.1
4 files changed, 10 insertions(+), 4 deletions(-)

v4.9.0 (yanked)

09 Sep 06:09

Choose a tag to compare

v4.9.0 (2025-09-09)

Feat

  • check: add check against default branch

Fix

  • changelog: mark get_smart_tag_range as deprecated
  • init: use pre-push as pre-commit stage
  • init: use pre-push as pre-commit stage
  • init: make welcome message easier to read
  • Init: fix a typo in _ask_version_provider options and remove unnecessary filter, use named tuple for options
  • ExitCode: add from_str in ExitCode and replace parse_no_raise with it
  • raise NoVersionSpecifiedError if version is None, and adjust call sites of get_version
  • Changelog: fix _export_template variable type
  • Bump: rewrite --get-next NotAllowed error message for consistency

Refactor

  • changelog: add get_next_tag_name_after_version and test, mark unused for get_smart_tag_range
  • changelog: simplify logic for get_oldest_and_newest_rev
  • changelog: shorten generate_tree_from_commits
  • Init: remove the variable values_to_add and the update_config function for readability
  • Init: remove unnecessary methods from ProjectInfo and refactor _ask_tag
  • Init: fix unbounded variable in _ask_tag_format
  • init: remote extra words
  • process_commit_message: better type and early return
  • Init: extract _get_config_data for readability
  • changelog: shorten condition expression and early return
  • Changelog: remove unnecessary intermediate variables for better readability
  • bump: use a loop to shorten a series of similar NotAllowed exceptions
  • Init: use ternary operator
  • TagRules: extract tag_formats property and simplify list comprehension
  • git: remove redundant if branch
  • ScmProvider: replace sorted with max
  • ExpectedExit: make the constructor more compact
  • ParseArgs: simplify call function body

[master 98bba31] bump: version 4.8.4 → 4.9.0
4 files changed, 43 insertions(+), 4 deletions(-)

v4.8.4

05 Sep 16:49

Choose a tag to compare

v4.8.4 (2025-09-05)

Fix

  • members in workspace, use exclude
  • cargo workspaces

Refactor

  • reduce code indentation

[master 186dd18] bump: version 4.8.3 → 4.8.4
4 files changed, 15 insertions(+), 4 deletions(-)

v4.8.3

09 Jun 14:18

Choose a tag to compare

v4.8.3 (2025-06-09)

Fix

  • cli: update description for deprecate warning
  • commit: emit deprecated warning of cz commit -s
  • Check: make parameters backward compatiable
  • BaseConfig: mypy error
  • deprecated: mark deprecate in v5
  • defaults: add non-capitalized default constants back and deprecated warning

Refactor

  • jira: refactor message
  • conventional_commits: use TypedDict for answers
  • conventional_commits: make schema_pattern more readable
  • do not guess if changelog format is provided
  • check: compile once and rename variable
  • questions: type questions with TypedDict
  • bump: simplify nested if
  • git: retype get_commits parameter to make it more friendly to call sites
  • git: simplify tag logic
  • bump: eliminate similar patterns in code
  • bump: use any to replace 'or' chain
  • remove unnecessary bool() and remove Any type from TypedDict get
  • bump: improve readability and still bypass mypy check
  • commands: remove unused args, type version command args
  • commit: type commit args
  • check: type CheckArgs arguments
  • check: remove unused argument
  • changelog: type untyped arguments
  • bump: TypedDict for bump argument
  • make methods protected, better type
  • conventional_commits: remove unnecessary checks
  • fix mypy output and better type
  • BaseCommitizen: remove unused process_commit
  • remove TypeError handling since Python >=3.9 is required
  • add comment clarifying no_raise parsing to list[int]
  • cli.py: add type hints
  • mypy: remove unused-ignore
  • changelog: better typing, yield
  • cli: early return and improve test coverage
  • git: extract _create_commit_cmd_string
  • misc cleanup
  • bump: clean up
  • bump: add type for out, replace function with re escape
  • BaseConfig: use setter
  • changelog: minor cleanup
  • git: refactor get_tag_names
  • EOLType: add eol enum back and reorganize methods
  • git: code cleanup and better test coverage
  • commit: simplify call
  • version_scheme: cleanup
  • improve readability and fix typos

Perf

  • bump: avoid unnecessary list construction and rename variable to avoid confusion
  • tags: use set

[master c710c9f] bump: version 4.8.2 → 4.8.3
4 files changed, 64 insertions(+), 4 deletions(-)

v4.8.2

22 May 03:16

Choose a tag to compare

v4.8.2 (2025-05-22)

Refactor

  • check: simplify code
  • check: remove unnecessary variable

[master a8094ae] bump: version 4.8.1 → 4.8.2
4 files changed, 11 insertions(+), 4 deletions(-)

v4.8.1

22 May 03:12

Choose a tag to compare

v4.8.1 (2025-05-22)

Refactor

  • customize: improve code readability

[master ba57182] bump: version 4.8.0 → 4.8.1
4 files changed, 10 insertions(+), 4 deletions(-)

v4.8.0

20 May 15:03

Choose a tag to compare

v4.8.0 (2025-05-20)

Feat

  • cli: add --tag-format argument to changelog command

[master 862450f] bump: version 4.7.2 → 4.8.0
4 files changed, 10 insertions(+), 4 deletions(-)

v4.7.2

18 May 15:17

Choose a tag to compare

v4.7.2 (2025-05-18)

Refactor

  • default: capitalize all constants and remove unnecessary variable

[master 8d57306] bump: version 4.7.1 → 4.7.2
4 files changed, 10 insertions(+), 4 deletions(-)

v4.7.1

16 May 02:50

Choose a tag to compare

v4.7.1 (2025-05-16)

Fix

  • bump: don't fail if an invalid version tag is present (fix #1410) (#1418)

[master a0cc490] bump: version 4.7.0 → 4.7.1
4 files changed, 10 insertions(+), 4 deletions(-)