zc2 0.0.26

P2P compute broker with credit-based billing, WAL, and broker mesh support
# git-cliff configuration — generates CHANGELOG.md from Conventional Commits.
# Docs: https://git-cliff.org/docs/configuration
#
# Used both locally (`git-cliff -o CHANGELOG.md`) and by the auto-release
# workflow, which regenerates the changelog at each tag and feeds the newest
# section to the GitHub release notes (replacing `gh release --generate-notes`).

[changelog]
header = """
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and entries are generated from [Conventional Commits](https://www.conventionalcommits.org/).
"""
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 | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}**{{ commit.scope }}:** {% endif %}{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}
"""
footer = ""
trim = true
# Keep a Changelog readability: guarantee a blank line before every version
# heading (per-release trimming would otherwise butt them against the prior bullet).
postprocessors = [
  { pattern = '(?m)^## \[', replace = "\n## [" },
]

[git]
conventional_commits = true
filter_unconventional = true
split_commits = false

# Strip the trailing " (#123)" PR-number suffix from titles for cleaner notes.
# (?m) so `$` anchors to the end of the subject line, not the whole message.
commit_preprocessors = [
  { pattern = '(?m)(\s*\(#[0-9]+\))+$', replace = "" },
]

commit_parsers = [
  { message = "^chore\\(release\\)", skip = true },
  { message = "^Merge ", skip = true },
  { message = "^feat", group = "Features" },
  { message = "^fix", group = "Bug Fixes" },
  { message = "^perf", group = "Performance" },
  { message = "^refactor", group = "Refactor" },
  { message = "^docs", group = "Documentation" },
  { message = "^test", group = "Testing" },
  { message = "^(ci|build)\\(deps\\)", group = "Dependencies" },
  { message = "^chore\\(deps\\)", group = "Dependencies" },
  { message = "^(ci|build)", group = "CI / Build" },
  { message = "^style", group = "Styling" },
  { message = "^chore", group = "Miscellaneous" },
  { message = ".*", group = "Other" },
]

protect_breaking_commits = true
filter_commits = false
tag_pattern = "v[0-9]*"
topo_order = false
sort_commits = "oldest"