chore(deps): update dependency commitizen to v4
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| commitizen (changelog) | ^2.17.8 -> ^4.0.0 |
Release Notes
commitizen-tools/commitizen (commitizen)
v4.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
v4.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 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
v4.9.1
Fix
- dependency: move deprecated to project.dependencies
v4.9.0
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
v4.8.4
Fix
- members in workspace, use exclude
- cargo workspaces
Refactor
- reduce code indentation
v4.8.3
Fix
- cli: update description for deprecate warning
- commit: emit deprecated warning of cz commit -s
- Check: make parameters backward compatible
- 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
v4.8.2
Refactor
- check: simplify code
- check: remove unnecessary variable
v4.8.1
Refactor
- customize: improve code readability
v4.8.0
Feat
- cli: add --tag-format argument to changelog command
v4.7.2
Refactor
- default: capitalize all constants and remove unnecessary variable
v4.7.1
Fix
v4.7.0
Feat
- providers: add support for
Cargo.lock
Refactor
- tests: increase verbosity of variables
v4.6.3
Fix
- changelog.py: cross-platform path handling using os.path.join and modify the path linter and test parameter
- changelog.py: modify the CHANGELOG.md generated by cz bump --changelog to the right place
v4.6.2
Fix
- docs: fix url link and table formatting in the customization docs (#1399)
v4.6.1
Fix
- commit: use os.unlink to remove temp file
v4.6.0
Feat
- changelog: expose commit parents' digests when processing commits
- git: add parents' digests in commit information
v4.5.1
Fix
- print which tag is invalid
v4.5.0
Feat
- init: set uv to default value if both pyproject.toml and uv.lock present
Fix
- commands/init: add missing uv provider to "cz init"
v4.4.1
Fix
v4.4.0
Feat
- tags: adds
legacy_tag_formatsandignored_tag_formatssettings
Refactor
- get_tag_regexes: dedup tag regexes definition
v4.3.0
Feat
- providers: add uv_provider
v4.2.2
Fix
- bump: manual version bump if prerelease offset is configured
v4.2.1
Fix
- bump: add debugging to bump
v4.2.0
Feat
- draft of the --empty parameter
Refactor
- bump: rename --empty as --allow-no-commit
v4.1.1
Fix
- get-next-bump: add a test case
- get-next-bump: fix to permit usage of --get-next options even when update_changelog_on_bump is set to true
v4.1.0
Feat
- commit: allow '-- --allow-empty' to create empty commits
v4.0.0
v3.31.0
Feat
- commitizen: document '--' double dash in '--help'
Fix
- commit: avoid warnings with 'always_signoff' configuration
- commit: resolve 'always_signoff' configuration and '-s' CLI issues
v3.30.1
Refactor
- cli: replace magic number 0 with ExitCode.EXPECTED_EXIT
- defaults: disallow style as None
- cz_customize: return empty string for info, example, schema and schema_pattern if not provided
v3.30.0
Feat
- commands/commit: add force-edit functionality after answering questions
Refactor
- remove redundant return None
v3.29.1
Fix
- changelog: Factorized TAG_FORMAT_REGEXES
- changelog: Handle tag format without version pattern
- changelog: handle custom tag_format in changelog generation
Refactor
- Use format strings
v3.29.0
Feat
- bump: add functionality to write the next version to stdout
v3.28.0
Feat
- add argument to limit length of commit message in checks
v3.27.0
Feat
- config_files: add support for "cz.toml" config file
v3.26.2
Fix
- base.py: add encoding when open changlelog_file
v3.26.1
Fix
- cli/commands: add description for subcommands
Refactor
- KNOWN_SCHEMES: replace set comprehension for list comprehension
- tests/commands: move "other" tests for the correspondent file
v3.26.0
Feat
- ci/cd: automates the generation of CLI screenshots
v3.25.0
Feat
- add an argument to limit the length of commit message
Fix
- strip the commit message for calculating length
- resolve test error by removing defaults
Refactor
- commands/commit: replace comparison with chained comparison
- check the length in Commit instead of Commitizen
v3.24.0
Feat
v3.23.0
Feat
v3.22.0
Feat
- cli: add config option to specify config file path
v3.21.3
Refactor
- defaults: move cz_conventional_commit defaults out of defaults.py
v3.21.2
Fix
- commitizen/git.py,-tests/test_git.py: Resolve tempfile path spaces issue in git commit function
v3.21.1
Fix
- command-init: "cz init" should list existing tag in reverse order
v3.21.0
Feat
- commit: add retry_after_failure config option and --no-retry flag
Refactor
- utils: convert git project root to posix path for backup file name
- commit: use Optional[str] instead of str | None
- commit: remove unused tempfile import
- git-hooks: make git hooks use get_backup_file_path
- utils: move backup path creation to utils
v3.20.0
Feat
v3.19.0
Feat
- changelog: adds a
changelog_release_hookcalled for each release in the changelog (#1018)
v3.18.4
Fix
- changelog: include latest change when dry run and incremental
v3.18.3
Fix
- warnings: all warnings should go to
stdout
v3.18.2
Fix
- git: force the default git locale on methods relying on parsing the output (#1012)
v3.18.1
Fix
- changelog: changelog hook was not called on dry run
v3.18.0
Feat
- changelog:
changelog_message_build_hookcan now generate multiple changelog entries from a single commit (#1003)
v3.17.2
Fix
- changelog: ensure
changelog_message_builder_hookcan access and modifychange_type(#1002)
v3.17.1
Fix
- bump: pre and post bump hooks were failing when an increment was provided (fix #1004)
v3.17.0
Feat
- changelog:
changelog_message_build_hookcan remove message by returning a falsy value
v3.16.0
Feat
- commands: add bump --exact
Fix
- bump: change --exact-increment to --increment-mode
- bump: only get and validate commits if increment is not provided
- Improve type annotations
v3.15.0
Feat
- bump: functionality to add build-metadata to version string
v3.14.1
Fix
- bump: remove unused method
- scm: only search tags that are reachable by the current commit
v3.14.0
Feat
- properly bump versions between prereleases (#799)
v3.13.0
Feat
- commands-bump: automatically create annotated tag if message is given
- add tag message argument to cli
- git: add get tag message function
- add custom message to annotated git tag
Fix
- test-bump-command: typo in --annotated-tag option inside test
- commitizen-git: add quotes for tag message
Refactor
- commands-bump: make changelog variable in 1 line
- commands-bump: cast str to bool
v3.12.0
Feat
- formats: expose some new customizable changelog formats on the
commitizen.changelog_formatendpoint (Textile, AsciiDoc and RestructuredText) - template: add
changelog --export-templatecommand - template: allow to override the template from cli, configuration and plugins
- cli.py: Added support for extra git CLI args after -- separator for
cz commitcommand
Fix
- filename: ensure
file_namecan be passed tochangelogfrombumpcommand
Refactor
- git.py: Removed 'extra_args' from git.commit
- extra_args: Fixed broken code due to rebase and finalized tests
- Code Review - round 1 changes
- Commit: Added deprecation on git signoff mechanic
v3.10.1
Fix
- bump: add bump support with custom type + scope + exclamation mark
- bump: version bumping
v3.10.0
Feat
- Drop support for Python 3.7 (#858)
v3.9.1
Fix
- conf: handle parse error when init (#856)
v3.9.0
Feat
- commands: add arg of cz commit to execute git add
Fix
- tests: modify the arg of commit from add to all
- commitizen: Modify the function of the arg a of commit from git add all to git add update
Refactor
- commitizen: add return type hint of git add function
v3.8.2
Refactor
- provider: split provider code and related tests into individual files for maintainability (#830)
v3.8.1
Fix
- add sponsors to README
v3.8.0
Feat
- defaults.py: add always_signoff config option for commits
v3.7.1
Fix
- empty error on bump failure
v3.7.0
Feat
- provider: add npm2 provider to update package.json, package-lock.json, and npm-shrinkwrap.json
Fix
- provider: fix npm version provider to update package-lock.json and npm-shrinkwrap.json if they exist
- provider: fix npm provider to update package-lock.json and npm-shrinkwrap.json if they exist
- test: pass correct type to get_package_version tests
- tests: completed test coverage for npm2
v3.6.0
Feat
- changelog.py: add encoding to get_metadata
- unicode: add unicode support
Fix
- add missing
encodingparameter - out.py:
TextIOWrapper.reconfiguretyping - correct type hinting
- use base config for encoding
Refactor
- defaults.py: use variables in
DEFAULT_SETTINGS
v3.5.4
Refactor
- replace SemVer type literals by respective constants
v3.5.3
Fix
- Treat $version the same as unset tag_format in ScmProvider
Refactor
- Make tag_format properly default to $version
v3.5.2
Fix
- typing: no_raise is declared as optional
v3.5.1
Fix
- only use version tags when generating a changelog
v3.5.0
Feat
- Add option in bump command to redirect git output to stderr
v3.4.1
Fix
- veresion_schemes: import missing Self for python 3.11
v3.4.0
Feat
- version-schemes: expose
version_schemesas acommitizen.schemeendpoint.
v3.3.0
Feat
- add support for cargo workspaces
v3.2.2
Fix
- init: fix is_pre_commit_installed method
v3.2.1
Fix
- add support for importlib_metadata 6
v3.2.0
Feat
- hooks: add prepare-commit-msg and post-commit hooks
- commit: add --write-message-to-file option
Fix
- bump: better match for change_type when finding increment
- changelog: breaking change on additional types for conventional commits
- bump: breaking changes on additional types for conventional commits
- improve errors message when empty .cz.json found
- init: poetry detection
- bump decli which is type hinted
Refactor
- commit: change type of write_message_to_file to path
v3.1.1
Fix
- bump changelog for prerelease without commits
v3.1.0
Feat
- make
major_version_zerocustomizable by third parties
v3.0.1
Fix
- typo in hook
Refactor
- set default_install_hook_types
v3.0.0
BREAKING CHANGE
- Plugins are now exposed as
commitizen.pluginentrypoints - Python 3.6 is not officially supported anymore. Please migrate from 3.6 to 3.7 or greater.
Feat
- init: add new settings
- add semver support through version provider new api (#686)
- changelog: add merge_prereleases flag
- providers: add a
scmversion provider - providers: add support for some JSON-based version providers (NPM, Composer)
- providers: add support for some TOML-based versions (PEP621, Poetry, Cargo)
- providers: add a
commitizen.providerendpoint for alternative versions providers - plugins: Switch to an importlib.metadata.EntryPoint-based plugin loading
Fix
- init: welcome message
- small corrections and clean up
- major version zero message
- update dependencies
- commands/changelog: use topological order for commit ordering
- excepthook: ensure traceback can only be a
TracebackTypeorNone
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: poetry.lock
Updating dependencies
Resolving dependencies...
The current project's Python requirement (>=3.8,<4.0) is not compatible with some of the required packages Python requirement:
- commitizen requires Python >=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python >=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python >=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
- commitizen requires Python <4.0,>=3.9, so it will not be satisfied for Python >=3.8,<3.9
Because no versions of commitizen match >4.0.0,<4.1.0 || >4.1.0,<4.1.1 || >4.1.1,<4.2.0 || >4.2.0,<4.2.1 || >4.2.1,<4.2.2 || >4.2.2,<4.3.0 || >4.3.0,<4.4.0 || >4.4.0,<4.4.1 || >4.4.1,<4.5.0 || >4.5.0,<4.5.1 || >4.5.1,<4.6.0 || >4.6.0,<4.6.1 || >4.6.1,<4.6.2 || >4.6.2,<4.6.3 || >4.6.3,<4.7.0 || >4.7.0,<4.7.1 || >4.7.1,<4.7.2 || >4.7.2,<4.8.0 || >4.8.0,<4.8.1 || >4.8.1,<4.8.2 || >4.8.2,<4.8.3 || >4.8.3,<4.8.4 || >4.8.4,<4.9.1 || >4.9.1,<4.10.0 || >4.10.0,<5.0.0
and commitizen (4.0.0) requires Python >=3.9, commitizen is forbidden.
And because commitizen (4.1.0) requires Python >=3.9, commitizen is forbidden.
And because commitizen (4.1.1) requires Python >=3.9
and commitizen (4.2.0) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.2.1) requires Python <4.0,>=3.9
and commitizen (4.2.2) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.3.0) requires Python <4.0,>=3.9
and commitizen (4.4.0) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.4.1) requires Python <4.0,>=3.9
and commitizen (4.5.0) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.5.1) requires Python <4.0,>=3.9
and commitizen (4.6.0) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.6.1) requires Python <4.0,>=3.9
and commitizen (4.6.2) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.6.3) requires Python <4.0,>=3.9
and commitizen (4.7.0) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.7.1) requires Python <4.0,>=3.9
and commitizen (4.7.2) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.8.0) requires Python <4.0,>=3.9
and commitizen (4.8.1) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.8.2) requires Python <4.0,>=3.9
and commitizen (4.8.3) requires Python <4.0,>=3.9, commitizen is forbidden.
And because commitizen (4.8.4) requires Python <4.0,>=3.9
and commitizen (4.9.1) requires Python <4.0,>=3.9, commitizen is forbidden.
So, because commitizen (4.10.0) requires Python <4.0,>=3.9
and photoshop-python-api depends on commitizen (^4.0.0), version solving failed.
• Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
For commitizen, a possible solution would be to set the `python` property to ">=3.9,<4.0"
https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
https://python-poetry.org/docs/dependency-specification/#using-environment-markers