# git-cliff configuration — generates the body of each Gitea Release from # Conventional Commits accumulated since the previous tag. Invoked in CI by # orhun/git-cliff-action with --latest so only the current tag's section is # emitted (no full history, no header — the Gitea Release title is the tag). # Docs: https://git-cliff.org/docs/configuration [changelog] header = "" body = """ {% for group, commits in commits | group_by(attribute="group") %}\ ### {{ group | upper_first }} {% for commit in commits %}\ - {% if commit.scope %}*({{ commit.scope }})* {% endif %}{{ commit.message | upper_first }} ({{ commit.id | truncate(length=7, end="") }}) {% endfor %}\ {% endfor %}\ """ trim = true footer = "" [git] conventional_commits = true filter_unconventional = false require_conventional = false split_commits = false commit_parsers = [ { message = "^feat", group = "Features" }, { message = "^fix", group = "Bug Fixes" }, { message = "^perf", group = "Performance" }, { message = "^refactor", group = "Refactor" }, { message = "^docs", group = "Documentation" }, { message = "^test", group = "Tests" }, { message = "^chore|^ci", group = "Miscellaneous Tasks" }, { message = ".*", group = "Other" }, ] filter_commits = false tag_pattern = "v[0-9].*" sort_commits = "oldest"