{% if version.tag -%}
    ## {{ version.tag }} - {{ date | date(format="%Y-%m-%d") }}

{% else -%}
    {% set from = commits | last -%}
    {% set to = version.id-%}
    {% set from_shorthand = from.id | truncate(length=7, end="") -%}
    {% set to_shorthand = to | truncate(length=7, end="") -%}
    ## Unreleased ({{ from_shorthand ~ ".." ~ to_shorthand }})

{% endif -%}

{% for type, typed_commits in commits | sort(attribute="type")| group_by(attribute="type") -%}
### {{ type | upper_first }}

    {% for scope, scoped_commits in typed_commits | group_by(attribute="scope") -%}
        {% for commit in scoped_commits | sort(attribute="scope") -%}
            {% if commit.author -%}
                {% set author = "*" ~ commit.author  ~ "*" -%}
            {% else -%}
                {% set author = commit.signature -%}
            {% endif -%}
            {% set shorthand = commit.id | truncate(length=7, end="") -%}
            - **{{ scope }}:** {{ commit.summary }} - ({{shorthand}}) - {{ author }}
        {% endfor -%}
    {% endfor -%}
    {% for commit in typed_commits | unscoped -%}
        {% if commit.author -%}
            {% set author = commit.author -%}
        {% else -%}
            {% set author = commit.signature -%}
        {% endif -%}
            {% set shorthand = commit.id | truncate(length=7, end="") -%}
        - {{ commit.summary }} - ({{ shorthand }}) - {{ author }}
    {% endfor %}
{% endfor %}