| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # git-cliff ~ configuration file |
| # https://git-cliff.org/docs/configuration |
| |
| [changelog] |
| body = """ |
| ## What's Changed |
| |
| {%- if version %} in {{ version }}{%- endif -%} |
| {% for commit in commits %} |
| {% if commit.remote.pr_title -%} |
| {%- set commit_message = commit.remote.pr_title -%} |
| {%- else -%} |
| {%- set commit_message = commit.message -%} |
| {%- endif -%} |
| * {{ commit_message | split(pat="\n") | first | trim }}\ |
| {% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif -%} |
| {% if commit.remote.pr_number %} in \ |
| [#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{ commit.remote.pr_number }}) \ |
| {%- endif %} |
| {%- endfor -%} |
| |
| {%- if github -%} |
| {% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %} |
| {% raw %}\n{% endraw -%} |
| ## New Contributors |
| {%- endif %}\ |
| {% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %} |
| * @{{ contributor.username }} made their first contribution |
| {%- if contributor.pr_number %} in \ |
| [#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \ |
| {%- endif %} |
| {%- endfor -%} |
| {%- endif -%} |
| |
| {% if version %} |
| {% if previous.version %} |
| **Full Changelog**: {{ self::remote_url() }}/compare/{{ previous.version }}...{{ version }} |
| {% endif %} |
| {% else -%} |
| {% raw %}\n{% endraw %} |
| {% endif %} |
| |
| {%- macro remote_url() -%} |
| https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }} |
| {%- endmacro -%} |
| """ |
| # remove the leading and trailing whitespace from the template |
| trim = true |
| # template for the changelog footer |
| footer = """ |
| <!-- generated by git-cliff --> |
| """ |
| # postprocessors |
| postprocessors = [] |
| |
| [git] |
| # parse the commits based on https://www.conventionalcommits.org |
| conventional_commits = true |
| # filter out the commits that are not conventional |
| filter_unconventional = false |
| # process each line of a commit as an individual commit |
| split_commits = false |
| # regex for preprocessing the commit messages |
| commit_preprocessors = [] |
| # filter out the commits that are not matched by commit parsers |
| filter_commits = false |
| # sort the tags topologically |
| topo_order = false |
| # sort the commits inside sections by oldest/newest order |
| sort_commits = "newest" |