| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # git-cliff ~ default configuration file
- # https://git-cliff.org/docs/configuration
- #
- # Lines starting with "#" are comments.
- # Configuration options are organized into tables and keys.
- # See documentation for more information on available options.
- [changelog]
- # changelog header
- header = """
- # Changelog\n
- All notable changes to this project will be documented in this file.\n
- """
- # template for the changelog body
- # https://tera.netlify.app/docs
- body = """
- {% if version %}\
- ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
- {% else %}\
- ## [unreleased]
- {% endif %}\
- {% for group, commits in commits | group_by(attribute="group") %}
- ### {{ group | upper_first }}
- {% for commit in commits %}
- - {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\
- {% endfor %}
- {% endfor %}\n
- """
- # remove the leading and trailing whitespace from the template
- trim = true
- # changelog footer
- footer = """
- <!-- generated by git-cliff -->
- """
- [git]
- # parse the commits based on https://www.conventionalcommits.org
- conventional_commits = true
- # filter out the commits that are not conventional
- filter_unconventional = true
- # process each line of a commit as an individual commit
- split_commits = false
- # regex for preprocessing the commit messages
- commit_preprocessors = [
- # { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/orhun/git-cliff/issues/${2}))"}, # replace issue numbers
- ]
- # regex for parsing and grouping commits
- commit_parsers = [
- { message = "^feat", group = "Features" },
- { message = "^fix", group = "Bug Fixes" },
- { message = "^doc", group = "Documentation" },
- { message = "^perf", group = "Performance" },
- { message = "^refactor", group = "Refactor" },
- { message = "^style", group = "Styling" },
- { message = "^test", group = "Testing" },
- { message = "^chore\\(release\\): prepare for", skip = true },
- { message = "^chore", group = "Miscellaneous Tasks" },
- { body = ".*security", group = "Security" },
- ]
- # protect breaking changes from being skipped due to matching a skipping commit_parser
- protect_breaking_commits = false
- # filter out the commits that are not matched by commit parsers
- filter_commits = false
- # glob pattern for matching git tags
- tag_pattern = "v[0-9]*"
- # regex for skipping tags
- skip_tags = "v0.1.0-beta.1"
- # regex for ignoring tags
- ignore_tags = ""
- # sort the tags topologically
- topo_order = false
- # sort the commits inside sections by oldest/newest order
- sort_commits = "oldest"
- # limit the number of commits included in the changelog.
- # limit_commits = 42
|