# git-cliff configuration — see https://git-cliff.org/docs/configuration # # Commit messages in this repo aren't Conventional Commits; they're plain # imperative summaries like "Add class-balanced secondary particle-type loss # (gitea #44)". Parsing here is tuned to that convention rather than to # feat:/fix:-style prefixes. [changelog] header = "# Changelog\n\n" body = """ {% if version %}\ ## [{{ version | trim_start_matches(pat="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 %} - {{ commit.message | upper_first }} {% endfor %} {% endfor %} """ trim = true render_always = true postprocessors = [] [git] conventional_commits = false filter_unconventional = false require_conventional = false split_commits = false # Keep only the commit subject (first line), then linkify "(gitea #N)". commit_preprocessors = [ { pattern = "(?s)\n.*", replace = "" }, { pattern = "\\(gitea #(\\d+)\\)", replace = "[gitea #${1}](https://git.larsbogner.de/lars/giant/issues/${1})" }, ] protect_breaking_commits = false commit_parsers = [ { message = "^Merge ", skip = true }, { message = "\\[skip ci\\]", skip = true }, { message = "^Add", group = "Added" }, { message = "^(Fix|Clamp|Clip)", group = "Fixed" }, { message = "^(Remove|Drop|Deprecate)", group = "Removed" }, { message = ".*", group = "Changed" }, ] filter_commits = false link_parsers = [] use_branch_tags = false topo_order = false topo_order_commits = true sort_commits = "oldest" recurse_submodules = false