Releases: commitizen-tools/commitizen
Releases · commitizen-tools/commitizen
v4.10.0
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 bygit --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
v4.9.0 (yanked)
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
v4.8.3
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
TypeErrorhandling sincePython >=3.9is required - add comment clarifying
no_raiseparsing tolist[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(-)