frizbee 0.13.0

Fast typo-resistant fuzzy matching via SIMD smith waterman, similar algorithm to FZF
Documentation
[remote.github]
owner = "saghen"
repo = "frizbee"

[changelog]
body = """
{% if previous.version -%}
    ## [{{ version | trim_start_matches(pat="v") }}]({{ self::remote_url() }}/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }}
{% else -%}
    ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% endif %}

{%- macro remote_url() -%}
  https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
{%- endmacro -%}

{%- macro print_commit(commit) -%}
    - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
        {{ commit.message }} \
        ([{{ commit.id | truncate(length=7, end="") }}]({{ self::remote_url() }}/commit/{{ commit.id }}))\
{%- endmacro -%}

{% for group, commits in commits | group_by(attribute="group") %}
    ### {{ group | striptags | trim | upper_first }}
    {% for commit in commits
    | filter(attribute="scope")
    | sort(attribute="scope") %}
        {{ self::print_commit(commit=commit) }}
    {%- endfor %}
    {% for commit in commits %}
        {%- if not commit.scope -%}
            {{ self::print_commit(commit=commit) }}
        {% endif -%}
    {% endfor %}
{%- endfor -%}
{% if github %}\
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
  ## New Contributors ❤︎
  {% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
    - @{{ contributor.username }} made their first contribution
      {%- if contributor.pr_number %} in \
        [#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
      {%- endif %}
  {%- endfor %}
{% endif %}\
{% endif %}

"""

[git]
commit_parsers = [
  { message = "^\\w+!:", group = "<!-- 0 -->Breaking Changes" },
  { message = "^feat", group = "<!-- 1 -->Features" },
  { message = "^fix", group = "<!-- 2 -->Bug Fixes" },
  { message = "^refactor", group = "<!-- 3 -->Refactor" },
  { message = "^doc", group = "<!-- 4 -->Documentation" },
  { message = "^perf", group = "<!-- 5 -->Performance" },
  { message = "^test", group = "<!-- 6 -->Testing" },
  { message = "^revert", group = "<!-- 7 -->Revert" },
  { message = "^.+:", skip = true }
]