|
1 | 1 | [changelog] |
2 | | -header = "Changelog" |
3 | | -body = """ |
| 2 | +header = """# Changelog |
| 3 | +
|
4 | 4 | All notable changes to this project will be documented in this file. |
5 | 5 | """ |
6 | 6 |
|
| 7 | +body = """ |
| 8 | +{% for group, commits in commits | group_by(attribute="group") %} |
| 9 | + ## {{ group | upper_first }} |
| 10 | + {% for commit in commits %} |
| 11 | + - {% if commit.breaking %}[**BREAKING**] {% endif %}{{ commit.message | upper_first }} ([{{ commit.id | truncate(length=7, end="") }}]({{ commit.id }})) |
| 12 | + {% endfor %} |
| 13 | +{% endfor %} |
| 14 | +""" |
| 15 | + |
| 16 | +trim = true |
| 17 | + |
7 | 18 | [git] |
8 | 19 | conventional_commits = true |
9 | 20 | filter_unconventional = false |
| 21 | +commit_parsers = [ |
| 22 | + { message = "^feat", group = "Features" }, |
| 23 | + { message = "^fix", group = "Bug Fixes" }, |
| 24 | + { message = "^doc", group = "Documentation" }, |
| 25 | + { message = "^perf", group = "Performance" }, |
| 26 | + { message = "^refactor", group = "Refactor" }, |
| 27 | + { message = "^style", group = "Styling" }, |
| 28 | + { message = "^test", group = "Testing" }, |
| 29 | + { message = "^chore\\(release\\): prepare for", skip = true }, |
| 30 | + { message = "^chore\\(deps", skip = true }, |
| 31 | + { message = "^chore\\(pr\\)", skip = true }, |
| 32 | + { message = "^chore\\(pull\\)", skip = true }, |
| 33 | + { message = "^chore", group = "Miscellaneous Tasks" }, |
| 34 | + { body = ".*security", group = "Security" }, |
| 35 | + { message = "^revert", group = "Revert" }, |
| 36 | +] |
0 commit comments