[changelog]
output = "CHANGELOG.md"
header = "# Changelog"
body = """
{% if version %}\
## {{ version | trim_start_matches(pat="v") }}
{% else %}\
## Unreleased
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}**BREAKING CHANGE**: {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}
"""
postprocessors = [
{ pattern = "\\(#([0-9]+)\\)", replace = "([#${1}](https://github.com/eugencowie/aptabase-rs/pull/${1}))" },
]
[git]
filter_commits = true
tag_pattern = "^v[0-9]"
commit_parsers = [
{ message = "^feat!?: .+ \\(#[0-9]+\\)", group = "<!-- 0 -->๐ Features" },
{ message = "^fix!?: .+ \\(#[0-9]+\\)", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "^docs?!?: .+ \\(#[0-9]+\\)", group = "<!-- 3 -->๐ Documentation" },
{ message = "^perf!?: .+ \\(#[0-9]+\\)", group = "<!-- 4 -->โก Performance" },
{ message = "^refactor!?: .+ \\(#[0-9]+\\)", group = "<!-- 2 -->๐ Refactor" },
{ message = "^style!?: .+ \\(#[0-9]+\\)", group = "<!-- 5 -->๐จ Styling" },
{ message = "^test!?: .+ \\(#[0-9]+\\)", group = "<!-- 6 -->๐งช Testing" },
{ message = "^chore\\(release\\)", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^(chore|ci)!?: .+ \\(#[0-9]+\\)", group = "<!-- 7 -->โ๏ธ Miscellaneous Tasks" },
{ message = "^[a-z]+!?: .+ \\(#[0-9]+\\)", body = ".*security", group = "<!-- 8 -->๐ก๏ธ Security" },
{ message = "^revert!?: .+ \\(#[0-9]+\\)", group = "<!-- 9 -->โ๏ธ Revert" },
]
[bump]
breaking_always_bump_major = false