[changelog]
header = """
# Changelog\n
"""
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="js-component-bindgen-v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% 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**] {% endif %}\
{{ commit.message | split(pat="\n") | first | trim }}\
{% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif %}\
{% if commit.remote.pr_number %} in #{{ commit.remote.pr_number }}{%- endif %}
{% endfor %}
{% endfor %}\n
{%- if github -%}
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
{% raw %}\n{% endraw -%}
## New Contributors
{%- endif %}\
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
* @{{ contributor.username }} made their first contribution
{%- if contributor.pr_number %} in \
[#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
{%- endif %}
{%- endfor -%}
{% raw %}\n{% endraw -%}
{% raw %}\n{% endraw -%}
{% raw %}\n{% endraw -%}
{%- endif -%}
{%- macro remote_url() -%}
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
{%- endmacro -%}
"""
trim = true
[git]
commit_parsers = [
{ message = '^feat\(bindgen\)', group = '<!-- 0 -->๐ Features' },
{ message = '^fix\(bindgen\)', group = '<!-- 1 -->๐ Bug Fixes' },
{ message = '^doc\(bindgen\)', group = '<!-- 3 -->๐ Documentation' },
{ message = '^perf\(bindgen\)', group = '<!-- 4 -->โก Performance' },
{ message = '^refactor\(bindgen\)', group = '<!-- 2 -->๐ Refactor' },
{ message = '^style\(bindgen\)', group = '<!-- 5 -->๐จ Styling' },
{ message = '^test\(bindgen\)', group = '<!-- 6 -->๐งช Testing' },
{ message = '^release', skip = true },
{ message = '^chore\(bindgen\)', group = '<!-- 7 -->โ๏ธ Miscellaneous Tasks' },
]
filter_commits = true
filter = { exclude = { scopes = ["ci", "infra", "ops"] } }
topo_order = false
sort_commits = "newest"
tag_pattern = "^js-component-bindgen-v[0-9]+.[0-9]+.[0-9]+(-beta|-rc|-alpha)?"
link_parsers = [
{ pattern = "\\(#(\\d+)\\)$", href = "https://github.com/bytecodealliance/jco/pull/$1" },
]