[remote.github]
owner = "clabby"
repo = "tact"
[changelog]
body = """
{% for group, commits in commits | group_by(attribute="group") -%}
### {{ group | striptags | trim }}
{% for commit in commits -%}
- {% if commit.scope %}[{{ commit.scope }}] {% endif %}{{ commit.message | upper_first | split(pat="\n") | first }}\
{% if commit.remote.username %} by @{{ commit.remote.username }}{% endif %}\
{% if commit.remote.pr_number %} in [#{{ commit.remote.pr_number }}](https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}/pull/{{ commit.remote.pr_number }})\
{% else %} ([{{ commit.id | truncate(length=7, end="") }}](https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}/commit/{{ commit.id }}))\
{% endif %}
{% endfor %}
{% endfor -%}
{% if previous.version %}
**Full Changelog**: https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}/compare/{{ previous.version }}...{{ version }}
{% endif %}
"""
trim = true
[git]
conventional_commits = true
filter_unconventional = true
commit_preprocessors = [
{ pattern = "#(\\d+)", replace = "[#$1](https://github.com/clabby/tact/issues/$1)" },
]
commit_parsers = [
{ message = "^feat", group = "<!-- 0 --> Features" },
{ message = "^fix", group = "<!-- 1 --> Bug Fixes" },
{ message = "^perf", group = "<!-- 2 --> Performance" },
{ message = "^docs", group = "<!-- 3 --> Documentation" },
{ message = "^refactor", group = "<!-- 4 --> Refactoring" },
{ message = "^style", group = "<!-- 5 --> Styling" },
{ message = "^test", group = "<!-- 6 --> Testing" },
{ message = "^build|^chore|^ci", group = "<!-- 7 --> Maintenance" },
{ message = "^revert", group = "<!-- 8 --> Reverts" },
]
protect_breaking_commits = true
filter_commits = true
tag_pattern = "v[0-9]*"
skip_tags = "beta|alpha"
ignore_tags = "rc"
sort_commits = "newest"