[changelog] header = """ # Changelog All notable changes to this project will be documented in this file.\n """ body = """ {%- macro remote_url() -%} https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }} {%- endmacro -%} {% if version %}\ # [{{ version | trim_start_matches(pat="v") }}]\ {% if previous %}\ {% if previous.version %}\ ({{ self::remote_url() }}/compare/{{ previous.version }}...{{ version }})\ {% else %}\ ({{ self::remote_url() }}/tree/{{ version }})\ {% endif %}\ {% endif %} \ - ({{ timestamp | date(format="%Y-%m-%d") }}) {% else %}\ # [unreleased] {% endif %}\ {% 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="") }}]({{ self::remote_url() }}/commit/{{ commit.id }}))\ {% if commit.github.username %} by @{{ commit.github.username }}{%- endif %}\ {% if commit.breaking %}\ {% for footer in commit.footers %}\ {% if footer.breaking %}\ \n{% raw %} {% endraw %}- **{{ footer.token }}{{ footer.separator }}** {{ footer.value }}\ {% endif %}\ {% endfor %}\ {% endif %}\ {% endfor %} {% endfor %}\ {% if github.contributors | filter(attribute="is_first_time", value=true) | length %}\ \n### New Contributors\n {% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}\ * @{{ contributor.username }} made their first contribution in #{{ contributor.pr_number }} {% endfor %}\ {% endif %}\n """ trim = true footer = "" [git] conventional_commits = true filter_unconventional = true commit_parsers = [ { message = "^feat", group = "Features"}, { message = "^fix", group = "Bug Fixes"}, { message = "^docs", group = "Documentation"}, { message = "^perf", group = "Performance"}, { message = "^refactor", group = "Refactor"}, { message = "^types", group = "Typings"}, { message = ".*deprecated", body = ".*deprecated", group = "Deprecation"}, { message = "^revert", skip = true}, { message = "^style", group = "Styling"}, { message = "^test", group = "Testing"}, { message = "^chore", skip = true}, { message = "^ci", skip = true}, { message = "^build", skip = true}, { body = ".*security", group = "Security"}, ] filter_commits = true protect_breaking_commits = true tag_pattern = "@discordjs/structures@[0-9]*" ignore_tags = "" topo_order = false sort_commits = "newest" [remote.github] owner = "discordjs" repo = "discord.js"