[changelog]
header = """
# `kdl` Release Changelog
"""
body = """
{% if version %}\
<a name="{{ version }}"></a>
## {{ version | replace(from="v", to="") }} ({{ timestamp | date(format="%Y-%m-%d") }})
{% else %}\
## Unreleased
{% endif %}\
{% for group, commits in commits | filter(attribute="scope") | group_by(attribute="group") %}
### {{ group | upper_first }}
{% for commit in commits %}
{% if commit.scope %}\
* **{{ commit.scope }}:** {{ commit.message }} ([{{ commit.id | truncate(length=8, end="") }}](https://github.com/kdl-org/kdl-rs/commit/{{ commit.id }}))
{%- if commit.breaking %}
* **BREAKING CHANGE**: {{ commit.breaking_description }}
{%- endif %}\
{% endif %}\
{% endfor %}
{% endfor %}
"""
trim = false
[git]
conventional_commits = true
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"},
]
filter_commits = true