Feat
- **changelog**: add support for any commit rule system
- **changelog**: add incremental flag
- **commands/changelog**: make changelog_file an option in config
- **commands/changelog**: exit when there is no commit exists
- **commands/changelog**: 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
Fix
- **git**: missing dependency removed
- **changelog**: check get_metadata for existing changelog file
- **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
Refactor
- **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