Repository navigation
Expand file tree
/
Copy pathcliff.toml
More file actions
65 lines (57 loc) · 2.96 KB
/
Copy pathcliff.toml
File metadata and controls
65 lines (57 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[changelog]
header = """
# Changelog
All notable changes to the Security Frameworks are documented here.
"""
# PR titles are contributor input and are published in the GitHub Release and on the
# site's /changelog page, so they are rendered as plain text. The template escapes < and
# > to prevent HTML tags, escapes [ and ] as entities to prevent markdown links and
# images (entities, unlike backslashes, cannot be undone by a preceding backslash), and
# inserts a zero-width space (\u200B) after @ to prevent mentions. The "-%}" markers
# produce a single blank line around headings.
body = """
{% macro remote_url() %}https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}{% endmacro -%}
{% if version -%}
## {{ version | trim_start_matches(pat="v") }} ({{ timestamp | date(format="%Y-%m-%d") }})
{% else -%}
## Unreleased
{% endif -%}
{% for group, commits in commits | filter(attribute="merge_commit", value=false) | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
{%- if commit.remote.pr_title -%}
{%- set entry = commit.remote.pr_title -%}
{%- else -%}
{%- set entry = commit.message | split(pat="\n") | first -%}
{%- endif %}
{%- set entry = entry | trim | replace(from="<", to="<") | replace(from=">", to=">") | replace(from="[", to="[") | replace(from="]", to="]") | replace(from="@", to="@\u200B") %}
- {{ entry }}{% if commit.remote.pr_number %} ([#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{ commit.remote.pr_number }})){% endif %}{% if commit.remote.username %} by @{{ commit.remote.username }}{% endif %}
{%- endfor %}
{% endfor %}
"""
trim = true
[git]
# Each run renders a single release from an explicit range. Older release tags inside
# the range, introduced by main -> develop syncs, must not split it into sections.
ignore_tags = ".*"
conventional_commits = false
filter_unconventional = false
filter_commits = false
sort_commits = "oldest"
commit_parsers = [
{ message = "^Merge pull request", skip = true },
{ message = "^Merge branch", skip = true },
{ message = "^chore\\(release\\)", skip = true },
# Excluded from the changelog:
# release - the chore(release) PR.
# skip-changelog - any PR that should not be listed.
{ field = "github.pr_labels", pattern = "^(release|skip-changelog)$", skip = true },
{ field = "github.pr_labels", pattern = "^dependencies$", skip = true },
{ field = "github.pr_labels", pattern = "content:add", group = "<!-- 0 --> New content" },
{ field = "github.pr_labels", pattern = "content:update", group = "<!-- 1 --> Updated content" },
{ field = "github.pr_labels", pattern = "enhancement", group = "<!-- 2 --> Enhancements" },
# Anchored so that it does not match "wontfix".
{ field = "github.pr_labels", pattern = "^fix$", group = "<!-- 3 --> Fixes" },
{ field = "github.pr_labels", pattern = "certifications", group = "<!-- 4 --> Certifications" },
{ message = ".*", group = "<!-- 9 --> Other" },
]