- shortcuts: move check for shortcut config setting to apply to any list select
- prompt: add keyboard shortcuts with config option
- git.py: ensure signed commits in changelog when git config log.showsignature=true
- correct indentation for json config for better readability
- add support for jinja2 v3
- changelog: generating changelog after a pre-release
- changelog: annotated tags not generating proper changelog
- bump: fix error due to bumping version file without eol through regex
- bump: fix offset error due to partially match
- cz/conventional_commits: optionally expect '!' right before ':' in schema_pattern
- version update in a docker-compose.yaml file
- fix multiple versions bumps when version changes the string size
- bump: replace all occurances that match regex
- wip: add test for current breaking change
- commands/init: fix toml config format error
- Support versions on random positions
- bump: send incremental changelog to stdout and bump output to stderr
- add utf-8 encode when write toml file
- git: fix get_commits deliminator
- config: change read mode from
r
torb
- changelog: add support for multiline BREAKING paragraph
- git: handle the empty commit and empty email cases
- remove yaml warnings when using '.cz.yaml'
- #271: enable creation of annotated tags when bumping
- raise an InvalidConfigurationError
- #323: address PR feedback
- move expected COMMITS_TREE to global
- #319: add optional change_type_order
- read commit_msg_file with utf-8
- deps: Update and relax tomlkit version requirement
- commit: attach user info to backup for permission denied issue
- add yaml as a config option
- config: add support for the new class YAMLConfig at the root of the confi internal package
- commitizen/cli: add the integration with argcomplete
- json_config: fix the emtpy_config_content method
- Init: add the json config support as an option at Init
- commitizen/config/json_config: add json support for configuration
- support
!
in cz check command
- prevent prerelase from creating a bump when there are no commits
- allow files-only to set config version and create changelog
- bump: add flag
--local-version
that supports bumping only the local version instead of the public
- commands/bump: add config option to create changelog on bump
- commands/changelog: add config file options for start_rev and incremental
- init.py: mypy error (types)
- commands/bump: Add NoneIncrementExit to fix git fatal error when creating existing tag
- commands/bump: Remove comment and changed ... for pass
- cz_customize: make schema_pattern customiziable through config for cz_customize
- cz_check: cz check can read commit message from pipe
- conventional commit schema
- cli: add guideline for subject input
- cli: wrap the word enter with brackets
- cli: rewrite cli instructions to be more succinct about what they require
- cz_check: cz check can read from a string input
- cz_check: Refactor _get_commits to return GitCommit instead of dict
- cz_check: Add rev to all displayed ill-formatted commits
- cz_check: Update to show all ill-formatted commits
- git: use double quotation mark in get_tags
- commands/changelog: add exception message when failing to find an incremental revision
- commands/bump: display message variable properly
- add missing
pyyaml
dependency - cli: make command required for commitizen
- init: enable setting up pre-commit hook through "cz init"
- config: drop "files" configure support. Please use "version_files" instead
- config: remove ini configuration support
- cli: remove "--version" argument
- setup.cfg, .cz and .cz.cfg are no longer supported
- Use "cz verion" instead
- "cz --debug" will no longer work
- conventional_commits: use and proper support for conventional commits v1.0.0
- add author and author_email to git commit
- changelog: remove pkg_resources dependency
- commands/bump: use
return_code
in commands used by bump - commands/commit: use return_code to raise commit error, not stderr
- cmd: add return code to Command
- bump: add changelog file into stage when running
cz bump --changelog
- Raise NotAGitProjectError only in git related command
- exception: rename MissingConfigError as MissingCzCustomizeConfigError
- exception: Rename CommitFailedError and TagFailedError with Bump prefix
- commands/init: add test case and remove unaccessible code
- exception: move output message related to exception into exception
- exception: implement message handling mechanism for CommitizenException
- cli: do not show traceback if the raised exception is CommitizenException
- introduce DryRunExit, ExpectedExit, NoCommandFoundError, InvalidCommandArgumentError
- use custom exception for error handling
- error_codes: remove unused NO_COMMIT_MSG error code
- cli: enable displaying all traceback for CommitizenException when --debug flag is used
- changelog: empty lines at the beginning of the CHANGELOG
- templates: remove trailing space in keep_a_changelog
- changelog: rename
message_hook
->changelog_message_builder_hook
- changelog: add support for
changelog_hook
when changelog finishes the generation - changelog: add support for
message_hook
method - changelog: add support for modifying the change_type in the title of the changelog
- commands/bump: add "--check-consistency" optional
- bump: add optional --no-verify argument for bump command
- docs: change old url woile.github.io to commitizen-tools.github.io
- changelog: generate today's date when using an unreleased_version
- changelog: sort the commits properly to their version
- commands/check: Show warning if no commit to check when running
cz check --rev-range
- cli: add explicit category for deprecation warnings
- git: missing dependency removed
- changelog: check get_metadata for existing changelog file
- changelog: add support for any commit rule system
- changelog: add incremental flag
- commands/init: fix typo
- git: replace GitCommit.message code with one-liner
- changelog: use functions from changelog.py
- changelog: rename category to change_type to fit 'keep a changelog'
- templates: rename as "keep_a_changelog_template.j2"
- templates: remove unneeded init file
- cli: reorder commands
- templates: move changelog_template from cz to templates
- tests/utils: move create_file_and_commit to tests/utils
- commands/changelog: remove redundant if statement
- commands/changelog: use jinja2 template instead of string concatenation to build changelog
- git: fix returned value for GitCommit.message when body is empty
- cz/conventional_commits: fix schema_pattern break due to rebase
- changelog_template: fix list format
- commitizen/cz: set changelog_map, changelog_pattern to none as default
- commands/changelog: remove --skip-merge argument
- cli: add changelog arguments
- commands/changelog: make changelog_file an option in config
- commands/changelog: exit when there is no commit exists
- commands/changlog: add --start-rev argument to
cz changelog
- changelog: generate changelog based on git log
- commands/changelog: generate changelog_tree from all past commits
- cz/conventinal_commits: add changelog_map, changelog_pattern and implement process_commit
- cz/base: add default process_commit for processing commit message
- changelog: changelog tree generation from markdown
- config: display ini config deprecation warning only when commitizen config is inside
- cz/customize: remove unused mypy ignore
- mypy: fix mypy check by checking version.pre exists
- cz: add type annotation to registry
- commands/check: fix type annotation
- config/base: use Dict to replace dict in base_config
- cz/base: fix config type used in base cz
- cz: add type annotation for each function in cz
- config: fix mypy warning for _conf
- cz/customize: add error handling when customize detail is not set
- bump: support for ! as BREAKING change in commit message
- commands/check: add help text for check command without argument
- cli: fix typo
- tests/bump: use parameterize to group similliar tests
- cz/connventional_commit: use \S to check scope
- git: remove unnecessary dot between git range
- bump: fix bump find_increment error
- commands/check: add --rev-range argument for checking commits within some range
- commands/init: fix clean up file when initialize commitizen config
- defaults: split config files into long term support and deprecated ones
- replace README.rst with docs/README.md in config files
- docs: remove README.rst and use docs/README.md
- commands/check: add bump into valid commit message of convention commit pattern
- pre-commit: set pre-commit check stage to commit-msg
- commands/bump: rename parameter into bump_setting to distinguish bump_setting and argument
- git: rename get tag function to distinguish return str and GitTag
- cmd: reimplement how cmd is run
- git: Use GitCommit, GitTag object to store commit and git information
- git: make arguments other then start and end in get_commit keyword arguments
- git: Change get_commits into returning commits instead of lines of messsages
- git: get_commits default from first_commit
- tests/commands/bump: use tmp_dir to replace self implemented tmp dir behavior
- git: make find_git_project_root return None if it's not a git project
- config/base_config: make set_key not implemented
- error_codes: move all the error_codes to a module
- config: replace string type path with pathlib.Path
- test_bump_command: rename camel case variables
- tests/commands/check: use pytest fixture tmpdir replace self implemented contextmanager
- test/commands/other: replace unit test style mock with mocker fixture
- tests/commands: separate command unit tests into modules
- tests/commands: make commands related tests a module
- git: remove breakline in the return value of find_git_project_root
- cli: fix --version not functional
- config: look up configuration in git project root
- git: add find_git_project_root
- github_workflow/pythonpublish: use peaceiris/actions-gh-pages@v2 to publish docs
- pre-commit-hooks: add metadata for the check hook
- pre-commit-hooks: add pre-commit hook
- cli: fix the way default handled for name argument
- cli: fix name cannot be overwritten through config in newly refactored config design
- github_workflow/pythonpackage: set git config for unit testing
- scripts/test: ensure the script fails once the first failure happens
- add project version to command init
- new init command
- commands/bump: use "version_files" internally
- config: set "files" to alias of "version_files"
- new config system where each config type has its own class
- config: add type annotation to config property
- config: fix wrongly type annoated functions
- config/ini_config: move deprecation warning into class initialization
- config: use add_path instead of directly assigning _path
- all: replace all the _settings invoke with settings.update
- cz/customize: remove unnecessary statement "raise NotImplementedError("Not Implemented yet")"
- config: move default settings back to defaults
- config: Make config a class and each type of config (e.g., toml, ini) a child class
- config: handle empty config file
- config: fix load global_conf even if it doesn't exist
- config/ini_config: replase outdated _parse_ini_settings with _parse_settings
- cli: overwrite "name" only when it's not given
- config: fix typo
- support for different commitizens in
cz check
- bump: new argument --files-only
- commands/check.py: --commit-msg-file is now a required argument
- cz/exceptions: exception AnswerRequiredException not caught (#89)
- Commands/check: enforce the project to always use conventional commits
- config: add deprecation warning for loading config from ini files
- cz/customize: add jinja support to enhance template flexibility
- cz/filters: add required_validator and multiple_line_breaker
- cz/cz_customize: implement info to support info and info_path
- cz/cz_customize: enable bump_pattern bump_map customization
- cz/cz_customize: implement customizable cz
- Commands/commit: add ´--dry-run´ flag to the Commit command
- new 'git-cz' entrypoint
- config: remove has_pyproject which is no longer used
- cz/customize: make jinja2 a custom requirement. if not installed use string.Tempalte instead
- cz/utils: rename filters as utils
- cli: add back --version and remove subcommand required constraint
- commit dry-run doesnt require staging to be clean
- correct typo to spell "convention"
- removing folder in windows throwing a PermissionError
- scripts: add back the delelte poetry prefix
- test_cli: testing the version command
- commands/commit: catch exception raised by customization cz
- cli: handle the exception that command is not given
- cli: enforce subcommand as required
- cz/conventional_commit: make NoSubjectException inherit CzException and add error message
- command/version: use out.write instead of out.line
- command: make version a command instead of an argument
- cz: add a base exception for cz customization
- commands/commit: abort commit if there is nothing to commit
- git: add is_staging_clean to check if there is any file in git staging
- cz: fix bug in BaseCommitizen.style
- cz: fix merge_style usage error
- cz: remove breakpoint
- cz: change the color of default style
- config: update style instead of overwrite
- config: parse style in config
- commit: make style configurable for commit command
- commit: new retry argument to execute previous commit again
- #28 allows poetry add on py36 envs
- bump: it is now possible to specify a pattern in the files attr to replace the version
- bump: handle commit and create tag failure
- added argument yes to bump in order to accept questions
- bump: new commit message template
- bump: prefixes like docs, build, etc no longer generate a PATCH
- custom cz plugins now support bumping version
- changed stdout statements
- schema: command logic removed from commitizen base
- info: command logic removed from commitizen base
- example: command logic removed from commitizen base
- commit: moved most of the commit logic to the commit command
- bump: commit message now fits better with semver
- conventional commit 'breaking change' in body instead of title
- new working bump command
- create version tag
- update given files with new version
- config: new set key, used to set version to cfg
- support for pyproject.toml
- first semantic version bump implementaiton
- removed all from commit
- fix config file not working
- added commands folder, better integration with decli
- removed delegator, added decli and many tests
- py3 only, tests and conventional commits 1.0
- config: load config reads in order without failing if there is no commitizen section
- parse scope (this is my punishment for not having tests)
- parse scope empty
- scope: parse correctly again
- scope: parse correctly
- conventionalCommit: moved fitlers to questions instead of message
- manifest: inluded missing files
- config: home path for python versions between 3.0 and 3.5
- cli: added version
- commiter: conventional commit is a bit more intelligent now
- setup.py: future is now required for every python version
- python 2 support
- cz: jira smart commits
- cli: renamed all to ls command
- cz: renamed angular cz to conventional changelog cz
- info command for angular
- config: new loads from ~/.cz and working project .cz .cz.cfg and setup.cfg
- package discovery
- cz_angular: improved messages