[changelog]
header = """# Changelog
All notable changes to this project will be documented in this file.
"""
body = """
{% set visible_commits = commits | filter(attribute="group", value="_ignored") | length %}\
{% set total_commits = commits | length %}\
{% set has_visible_commits = visible_commits != total_commits %}\
{% if version or has_visible_commits %}\
## {% if version %}[{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}{% else %}[unreleased]{% endif %}
{% if has_visible_commits %}\
{% for group, group_commits in commits | group_by(attribute="group") %}\
{% if group != "_ignored" %}
### {{ group | upper_first }}
{% for commit in group_commits %}
- {{ commit.message | upper_first }}
{% endfor %}
{% endif %}\
{% endfor %}\
{% else %}
No notable changes in this release.
{% endif %}\
{% endif %}\
"""
trim = false
[git]
conventional_commits = true
filter_unconventional = true
tag_pattern = "sickle-v.*"
commit_parsers = [
{ message = "^feat\\(sickle\\)", group = "Features" },
{ message = "^fix\\(sickle\\)", group = "Bug Fixes" },
{ message = "^improvement\\(sickle\\)", group = "Improvements" },
{ message = "^data\\(sickle\\)", group = "Data" },
{ message = "^docs\\(sickle\\)", group = "Documentation" },
{ message = "^perf\\(sickle\\)", group = "Performance" },
{ message = ".*", group = "_ignored" },
]