dsct 0.2.8

LLM-friendly packet dissector CLI
Documentation
[workspace]
# Release PR presentation.
pr_name = "chore(release): v{{ version }}"
pr_labels = ["release"]

[[package]]
name = "dsct"
# Maintain CHANGELOG.md alongside version bumps.
changelog_update = true
# Publish to crates.io on release.
publish = true
# Create the git tag; cargo-dist (release.yml) is triggered by this tag push.
git_tag_enable = true
git_tag_name = "v{{ version }}"
# GitHub Release is created by cargo-dist, not release-plz.
git_release_enable = false
# Skip cargo-semver-checks on every run; rely on Conventional Commits.
semver_check = false

[changelog]
# A Tera template rendered for each release in the changelog.
# See https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
    ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
    ## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
    ### {{ group | striptags | trim | upper_first }}
    {% for commit in commits %}
        - {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
            {% if commit.breaking %}[**breaking**] {% endif %}\
            {{ commit.message | upper_first }}\
    {% endfor %}
{% endfor %}
"""
# Remove leading and trailing whitespace from the changelog's body.
trim = true
# Include breaking-change commits even when a parser would otherwise skip them.
protect_breaking_commits = false
# Order of commits within each group.
sort_commits = "oldest"

commit_preprocessors = [
  { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))" },
]

postprocessors = [
  { pattern = '<REPO>', replace = "https://github.com/higebu/dsct" },
]

commit_parsers = [
  { message = "^feat", group = "<!-- 0 -->๐Ÿš€ Features" },
  { message = "^fix", group = "<!-- 1 -->๐Ÿ› Bug Fixes" },
  { message = "^doc", group = "<!-- 3 -->๐Ÿ“š Documentation" },
  { message = "^perf", group = "<!-- 4 -->โšก Performance" },
  { message = "^refactor", group = "<!-- 2 -->๐Ÿšœ Refactor" },
  { message = "^style", group = "<!-- 5 -->๐ŸŽจ Styling" },
  { message = "^test", group = "<!-- 6 -->๐Ÿงช Testing" },
  { message = "^chore\\(release\\): prepare for", skip = true },
  { message = "^chore\\(deps.*\\)", skip = true },
  { message = "^chore\\(pr\\)", skip = true },
  { message = "^chore\\(pull\\)", skip = true },
  { message = "^chore|^ci", group = "<!-- 7 -->โš™๏ธ Miscellaneous Tasks" },
  { body = ".*security", group = "<!-- 8 -->๐Ÿ›ก๏ธ Security" },
  { message = "^revert", group = "<!-- 9 -->โ—€๏ธ Revert" },
  { message = ".*", group = "<!-- 10 -->๐Ÿ’ผ Other" },
]

link_parsers = []