@@ -5,9 +5,17 @@ body = """
55### {{ group }}
66
77{% for commit in commits %}\
8- - {% if commit.scope %}**{{ commit.scope }}**: {% endif %}{{ commit.message | split(pat="\n ") | first | trim_start_matches(pat=": ") }}
8+ - {% if commit.scope %}**{{ commit.scope }}**: {% endif %}{{ commit.message | split(pat="\n ") | first }}
99{% endfor %}
1010{% endfor %}\
11+ {% set contributors = commits | map(attribute="author.name") | unique | sort -%}
12+ {% if contributors | length > 0 %}
13+ ### π₯ Contributors
14+
15+ {% for name in contributors %}\
16+ - {{ name }}
17+ {% endfor %}
18+ {% endif %}\
1119"""
1220trim = true
1321footer = " "
@@ -16,6 +24,10 @@ footer = ""
1624conventional_commits = true
1725filter_unconventional = false
1826split_commits = false
27+ commit_preprocessors = [
28+ # Strip leading emoji from the description (after "type(scope): ")
29+ { pattern = " (\\ w+(?:\\ ([^)]*\\ ))?!?:\\ s+)[^\\ w\\ s]+\\ s*" , replace = " $1" },
30+ ]
1931commit_parsers = [
2032 { message = " ^feat" , group = " β¨ Features" },
2133 { message = " ^fix" , group = " π Bug Fixes" },
@@ -26,7 +38,7 @@ commit_parsers = [
2638 { message = " ^build" , group = " ποΈ Build" },
2739 { message = " ^ci" , group = " π· CI" },
2840 { message = " ^revert" , group = " βͺ Reverts" },
29- { message = " ^chore\\ (version\\ )|^chore: π§ bump version" , skip = true },
41+ { message = " ^chore\\ (version\\ )|^chore: bump version" , skip = true },
3042 { message = " ^chore" , group = " π§ Chores" },
3143 { message = " ^wip" , skip = true },
3244 { message = " ^style" , skip = true },
0 commit comments