# Configuration for git-cliff changelog generation # https://git-cliff.org/docs/configuration [changelog] header = "" body = """ {% for group, commits in commits | group_by(attribute="group") %} ### {{ group }} {% for commit in commits -%} - {{ commit.message | split(pat="\\n") | first | trim }} {% endfor %} {% endfor -%} """ trim = true [git] conventional_commits = true filter_unconventional = false # Only look for nightly, release and rc tags tag_pattern = "^(nightly|v[0-9]+\\.[0-9]+\\.[0-9]+(-rc[0-9]+)?)$" # Ensures it looks at the branch structure topo_order = true # Repect the nearest tag on current branch use_branch_tags = true # Ensure it sorts from the tag forward sort_commits = "oldest" # Commit parsers - order matters! More specific patterns first commit_parsers = [ # Scope-based categorization (highest priority) { message = "^feat\\(bw\\)", group = "๐Ÿ–ฅ๏ธ Black & White Radio Changes" }, { message = "^fix\\(bw\\)", group = "๐Ÿ–ฅ๏ธ Black & White Radio Changes" }, { message = "^feat\\(color\\)", group = "๐ŸŽจ Color Radio Changes" }, { message = "^fix\\(color\\)", group = "๐ŸŽจ Color Radio Changes" }, { message = "^feat\\((firmware|fw)\\)", group = "๐ŸŽฎ Firmware (All Radios Generally)" }, { message = "^fix\\((firmware|fw)\\)", group = "๐ŸŽฎ Firmware (All Radios Generally)" }, { message = "^feat\\(cpn\\)", group = "๐Ÿ’ป Companion Software Changes" }, { message = "^fix\\(cpn\\)", group = "๐Ÿ’ป Companion Software Changes" }, # Type-based categorization (fallback) { message = "^feat", group = "๐Ÿš€ Features" }, { message = "^fix", group = "๐Ÿ› Fixes" }, { message = "^docs?", group = "๐Ÿ“ Documentation" }, { message = "^perf", group = "โšก Performance" }, { message = "^refactor", group = "๐Ÿ”จ Refactoring" }, { message = "^style", group = "๐ŸŽจ Style" }, { message = "^test", group = "๐Ÿงช Tests" }, { message = "^chore", group = "๐Ÿงน Chores" }, { message = "^ci", group = "๐Ÿ”ง CI/CD" }, # Everything else { body = ".*", group = "๐Ÿ“ฆ Other" }, ]