# git-cliff ~ 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 """ # template for the changelog body # https://tera.netlify.app/docs/ body=""" {% if version %}\ ## Release {{ 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 }} {%forcommitincommits%} - {{ commit.message|upper_first }} ([{{commit.id|truncate(length=7,end="")}}](https://github.com/hamster1963/Speed-Cron/commit/{{commit.id}}))\ {%forfooterincommit.footers-%} , {{ footer.token }}{{ footer.separator }}{{ footer.value }}\ {%endfor%}\ {%endfor%} {%endfor%}\n """ # remove the leading and trailing whitespace from the template trim = true # changelog footer footer = """ """ [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 = true # regex for preprocessing the commit messages commit_preprocessors = [ { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/orhun/git-cliff/issues/${2}))"}, ] # regex for parsing and grouping commits commit_parsers= [ { message="^feat", group="<!-- 0 -->⛰️ Features" }, { message="^fix", group="<!-- 1 -->🐛 Bug Fixes" }, { message="^doc", group="<!-- 3 -->📚 Documentation" }, { message="^perf", group="<!-- 4 -->⚡ Performance" }, { message="^refactor", group="<!-- 2 -->🚜 Refactor" }, { message="^style", group="<!-- 5 -->🎨 Styling" }, { message="^test", group="<!-- 6 -->🧪 Testing" }, { message="^chore\\(release\\): prepare for", skip=true }, { message="^chore\\(pr\\)", skip=true }, { message="^chore\\(pull\\)", skip=true }, { message="^chore", group="<!-- 7 -->⚙️ Miscellaneous Tasks" }, { body=".*security", group="<!-- 8 -->🛡️ 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="" # regex for ignoring tags ignore_tags="v.*-beta.*" # sort the tags topologically topo_order=false # sort the commits inside sections by oldest/newest order sort_commits="oldest"