pct 4.0.1

Percent-encoded strings for URL, URI, IRI, etc.
Documentation
[changelog]
header = """
# Changelog

All notable changes to this project will be documented in this file.\n
"""
body = """
{% if version %}\
## [{{ version }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [Unreleased]
{% endif %}
{% for group, commits in commits | group_by(attribute="group") %}\
### {{ group }}
{% for commit in commits %}\
- {% if commit.scope %}`{{ commit.scope }}` โ€” {% endif %}{{ commit.message | upper_first }}{% if commit.breaking %} โš ๏ธ **BREAKING**{% endif %}
{% endfor %}
{% endfor %}\
"""
footer = """
<!-- generated by git-cliff -->
"""
trim = true

[git]
conventional_commits = true
filter_unconventional = true
filter_commits = false
tag_pattern = "v[0-9].*"
skip_tags = ""
ignore_tags = ".*-rc.*"
sort_commits = "newest"
commit_parsers = [
    { message = "^feat", group = "๐Ÿš€ Features" },
    { message = "^fix", group = "๐Ÿ› Bug Fixes" },
    { message = "^perf", group = "โšก Performance" },
    { message = "^refactor", group = "๐Ÿ”ง Refactor" },
    { message = "^style", group = "๐ŸŽจ Style" },
    { message = "^test", group = "๐Ÿงช Tests" },
    { message = "^docs?", group = "๐Ÿ“š Documentation" },
    { message = "^build", group = "๐Ÿ—๏ธ Build" },
    { message = "^ci", group = "๐Ÿ‘ท CI" },
    { message = "^chore\\(release\\)", skip = true },
    { message = "^chore", group = "๐Ÿงน Chores" },
    { message = ".*", group = "๐Ÿ’ก Other" },
]