e2024bcab1
The body=".*security" parser ran before the docs/chore skip rules, so any commit merely mentioning security in its body landed in the Security section (e.g. a docs commit and the CalVer->SemVer ci commit). Real security fixes never reached it — ^fix matches first — so the rule only ever produced miscategorized entries. Removed. polish(...) commits had no parser, and git-cliff defaults the group to the raw type — rendering a stray lowercase "polish" section. Mapped to Changed.
52 lines
1.7 KiB
TOML
52 lines
1.7 KiB
TOML
[changelog]
|
|
header = """
|
|
# Changelog\n
|
|
"""
|
|
body = """
|
|
{% if version %}\
|
|
## [{{ version }}] — {{ timestamp | date(format="%Y-%m-%d") }}
|
|
{% else %}\
|
|
## [Unreleased]
|
|
{% endif %}\
|
|
{% for group, commits in commits | group_by(attribute="group") %}
|
|
### {{ group | striptags | trim }}
|
|
{% for commit in commits %}
|
|
- {{ commit.message | split(pat="\n") | first | trim }}\
|
|
{% endfor %}
|
|
{% endfor %}\n
|
|
"""
|
|
trim = true
|
|
|
|
[git]
|
|
conventional_commits = true
|
|
filter_unconventional = true
|
|
split_commits = false
|
|
protect_breaking_commits = false
|
|
filter_commits = false
|
|
# Only final tags count as releases — rc rehearsal tags must not become
|
|
# section boundaries, or the final tag's notes would cover only
|
|
# commits-since-last-rc (v0.1.0 rendered 0 commits with ignore_tags, which
|
|
# drops rc-tagged commits instead of folding them forward). With rc tags
|
|
# outside the pattern, finals render the full span and rc tags render
|
|
# [Unreleased] with everything pending. Verified empirically on both.
|
|
tag_pattern = 'v[0-9]+\.[0-9]+\.[0-9]+$'
|
|
topo_order = false
|
|
sort_commits = "oldest"
|
|
|
|
commit_parsers = [
|
|
{ message = "^feat", group = "Added" },
|
|
{ message = "^fix", group = "Fixed" },
|
|
{ message = "^perf", group = "Changed" },
|
|
{ message = "^refactor", group = "Changed" },
|
|
{ message = "^security", group = "Security" },
|
|
{ message = "^polish", group = "Changed" },
|
|
{ body = "BREAKING", group = "Breaking" },
|
|
{ footer = "BREAKING.CHANGE", group = "Breaking" },
|
|
{ message = "^docs", skip = true },
|
|
{ message = "^style", skip = true },
|
|
{ message = "^chore", skip = true },
|
|
{ message = "^ci", skip = true },
|
|
{ message = "^test", skip = true },
|
|
{ message = "^build", skip = true },
|
|
]
|