[workspace]
git_release_enable = false
[changelog]
header = """# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
"""
body = """
{% macro print_commit(commit) -%}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }} - \
([{{ commit.id | truncate(length=7, end="") }}]({{ remote.link }}/commit/{{ commit.id }}))\
{% endmacro -%}
{% if version %}\
{% if previous.version %}\
## [{{ version | trim_start_matches(pat="v") }}]({{ release_link }})
{% else %}\
## [{{ version | trim_start_matches(pat="v") }}]
{% endif %}\
{% endif %}\
{% for group, commits in commits
| filter(attribute="merge_commit", value=false)
| unique(attribute="message")
| group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits
| filter(attribute="scope")
| sort(attribute="scope") %}
{{ self::print_commit(commit=commit) }}
{%- endfor -%}
{% raw %}\n{% endraw %}\
{%- for commit in commits %}
{%- if not commit.scope -%}
{{ self::print_commit(commit=commit) }}
{% endif -%}
{% endfor -%}
{% endfor %}\n
"""
commit_parsers = [
{ message = "(?i)^feat", group = "<!-- 0 -->๐ Features" },
{ message = "(?i)^fix", group = "<!-- 1 -->๐ Bug Fixes" },
{ message = "(?i)^refactor", group = "<!-- 2 -->๐ Refactor" },
{ message = "(?i)^doc", group = "<!-- 3 -->๐ Documentation" },
{ message = "(?i)^perf", group = "<!-- 4 -->โก Performance" },
{ message = "(?i)^style", group = "<!-- 5 -->๐จ Styling" },
{ message = "(?i)^test", group = "<!-- 6 -->๐งช Testing" },
{ message = "^chore\\(release\\):", skip = true },
{ message = "^chore: release", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore\\(npm\\).*yarn\\.lock", skip = true },
{ message = "(?i)^chore", group = "<!-- 7 -->โ๏ธ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->๐ก๏ธ Security" },
{ message = "(?i)^upgrade", group = "<!-- 9 -->โฌ๏ธ Upgrades" },
{ message = "(?i)^downgrade", group = "<!-- 10 -->โฌ๏ธ Downgrades" },
{ message = "(?i)^revert", group = "<!-- 11 -->โช Reverts" },
{ message = "(?i)^bump", group = "<!-- 13 -->๐ฆ Bumps" },
{ message = "(?i)^initial", group = "<!-- 14 -->๐ Initial Commit" },
{ message = "(?i)^init", group = "<!-- 15 -->๐ Initial Commit" },
{ message = "(?i)^add", group = "<!-- 16 -->โ Add" },
{ message = "(?i)^create", group = "<!-- 16 -->โ Add" },
{ message = "(?i)^remove", group = "<!-- 17 -->โ Remove" },
{ message = "(?i)^delete", group = "<!-- 17 -->โ Remove" },
{ message = "(?i)^rename", group = "<!-- 18 -->๐ Rename" },
{ message = "(?i)^move", group = "<!-- 19 -->๐ Move" },
{ message = "(?i)^copy", group = "<!-- 20 -->๐ Copy" },
{ message = "(?i)^fixup", group = "<!-- 21 -->๐ง Fixup" },
{ message = "(?i)^wip", group = "<!-- 22 -->๐ง WIP" },
{ message = "(?i)^rework", group = "<!-- 23 -->๐จ Rework" },
{ message = "(?i)^cleanup", group = "<!-- 24 -->๐งน Cleanup" },
{ message = "(?i)^format", group = "<!-- 25 -->๐จ Format" },
{ message = "(?i)^style", group = "<!-- 25 -->๐จ Format" },
{ message = "(?i)^lint", group = "<!-- 25 -->๐จ Format" },
{ message = "(?i)^update", group = "<!-- 26 -->๐ Update" },
{ message = "(?i)^pin", group = "<!-- 27 -->๐ Pin" },
{ message = "(?i)^unpin", group = "<!-- 28 -->๐ Unpin" },
{ message = "(?i)^build|ci|cd", group = "<!-- 29 -->๐ท CI/CD" },
{ message = ".*", group = "<!-- 30 -->๐ Other" },
{ message = "(?i)^merge", group = "<!-- 31 -->๐ Merges" },
]
link_parsers = [
{ pattern = "#(\\d+)", href = "{{ remote.link }}/issues/$1" },
{ pattern = "RFC(\\d+)", text = "ietf-rfc$1", href = "https://datatracker.ietf.org/doc/html/rfc$1" },
]