{% 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 -%}