docs(changelog): update cliff config and regenerate changelog

merge commit filtering, deduplication, granular chore parsing, and regenerate CHANGELOG.md using git-cliff.
This commit is contained in:
Andy
2026-02-07 18:46:43 -07:00
parent 62aa85c666
commit 6f3aafebc5
2 changed files with 397 additions and 698 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
# git-cliff ~ default configuration file
# git-cliff ~ configuration file
# https://git-cliff.org/docs/configuration
[changelog]
@@ -8,8 +8,7 @@ All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Versions [3.0.0] and older use a format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
but versions thereafter use a custom changelog format using [git-cliff](https://git-cliff.org).\n
This changelog is automatically generated using [git-cliff](https://git-cliff.org).\n
"""
body = """
{% if version -%}
@@ -17,9 +16,11 @@ body = """
{% else -%}
## [Unreleased]
{% endif -%}
{% for group, commits in commits | group_by(attribute="group") %}
{% for group, commits in commits
| filter(attribute="merge_commit", value=false)
| group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
{% for commit in commits | unique(attribute="message") %}
- {% if commit.scope %}*{{ commit.scope }}*: {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
@@ -38,34 +39,39 @@ footer = """
[unreleased]: https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}\
/compare/{{ release.previous.version }}..HEAD
{% endif -%}
{% endfor %}
{% endfor -%}
"""
trim = true
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
postprocessors = []
[git]
conventional_commits = true
filter_unconventional = true
split_commits = false
commit_preprocessors = []
commit_preprocessors = [
# Strip emoji (both UTF-8 and :shortcode: styles) from commit messages
{ pattern = ' *(:\w+:|[\p{Emoji_Presentation}\p{Extended_Pictographic}]\x{FE0F}?\x{200D}?) *', replace = "" },
# Remove trailing PR/issue numbers like (#123) from commit messages
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "" },
]
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->Features" },
{ message = "^fix|revert", group = "<!-- 1 -->Bug Fixes" },
{ message = "^docs", group = "<!-- 2 -->Documentation" },
{ message = "^style", skip = true },
{ message = "^refactor", group = "<!-- 3 -->Changes" },
{ message = "^fix", group = "<!-- 1 -->Bug Fixes" },
{ message = "^revert", group = "<!-- 2 -->Reverts" },
{ message = "^docs", group = "<!-- 3 -->Documentation" },
{ message = "^perf", group = "<!-- 4 -->Performance Improvements" },
{ message = "^refactor", group = "<!-- 5 -->Changes" },
{ message = "^style", skip = true },
{ message = "^test", skip = true },
{ message = "^build", group = "<!-- 5 -->Builds" },
{ message = "^chore\\(release\\)", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore", group = "<!-- 6 -->Maintenance" },
{ message = "^ci", skip = true },
{ message = "^chore", skip = true },
{ message = "^build", group = "<!-- 7 -->Builds" },
{ body = ".*security", group = "<!-- 8 -->Security" },
]
protect_breaking_commits = false
filter_commits = false
# tag_pattern = "v[0-9].*"
# skip_tags = ""
# ignore_tags = ""
protect_breaking_commits = true
filter_commits = true
topo_order = false
sort_commits = "oldest"