# git-cliff configuration: release notes and CHANGELOG.md are generated from # Conventional Commits. See docs/versioning.md for the release procedure. [changelog] header = """ # Changelog All notable changes to this repository are documented here. Generated by git-cliff from Conventional Commits; do not edit this file by hand. """ body = """ {% if version %}\ ## [{{ version }}] - {{ 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.scope %}**{{ commit.scope }}:** {% endif %}{{ commit.message | split(pat="\n") | first | upper_first }} ({{ commit.id | truncate(length=7, end="") }}) {%- endfor %} {% endfor %}\n """ footer = "" trim = true [git] conventional_commits = true filter_unconventional = false split_commits = false commit_parsers = [ { message = "^feat", group = "Added" }, { message = "^fix", group = "Fixed" }, { message = "^perf", group = "Performance" }, { message = "^refactor", group = "Changed" }, { message = "^docs", group = "Documentation" }, { message = "^build", group = "Build" }, { message = "^ci", group = "CI" }, { message = "^test", group = "Tests" }, { message = "^chore", group = "Maintenance" }, { message = "^revert", group = "Reverted" }, { message = ".*", group = "Other" }, ] protect_breaking_commits = false filter_commits = false # Release tags are dsh-vX.Y.Z[-rN]; the single pre-scheme tag is v0.0.1. tag_pattern = "^(v|dsh-v).*$" sort_commits = "oldest"