## https://git-cliff.org/ [changelog] body = """ {% if version %}\ \n## [{{ version }}] {% else %}\ \n## Unreleased {% endif %}\ {% for group, commits in commits | group_by(attribute="group") %} ### {{ group | striptags | trim | upper_first }}\ {% for commit in commits %} - {{ commit.message | upper_first }}\ {% endfor %} {% endfor %}\n """ footer = "" header = "# Changelog\n\nNotable changes to Mailpit will be documented in this file." postprocessors = [ {pattern = "reponse", replace = "response"}, {pattern = "messsage", replace = "message"}, {pattern = '(?i) go modules', replace = " Go dependencies"}, {pattern = '(?i) node modules', replace = " node dependencies"}, {pattern = '#([0-9]+)', replace = "[#$1](https://github.com/axllent/mailpit/issues/$1)"}, ] trim = true [git] # HTML comments added for grouping order, stripped on generation commit_parsers = [ {body = ".*security", group = "Security"}, {message = "(?i)^security", group = "Security"}, {message = "(?i)^feat", group = "Feature"}, {message = "(?i)^chore", group = "Chore"}, {message = "(?i)^libs", group = "Chore"}, {message = "(?i)^ui", group = "Chore"}, {message = "(?i)^api", group = "API"}, {message = "(?i)^fix", group = "Fix"}, {message = "(?i)^doc", group = "Documentation", default_scope = "unscoped"}, {message = "(?i)^swagger", group = "Documentation", default_scope = "unscoped"}, {message = "(?i)^test", group = "Test"}, ] # Exclude commits that are not matched by any commit parser. # filter_commits = true # Order releases topologically instead of chronologically. # topo_order = true # Order of commits in each group/release within the changelog. # Allowed values: newest, oldest sort_commits = "oldest"