[remote.github]
owner = "MostroP2P"
repo = "mostro-cli"
[changelog]
body = """
## Verifying the Release
In order to verify the release, you'll need to have gpg or gpg2 installed on your system. Once you've obtained a copy (and hopefully verified that as well), you'll first need to import the keys that have signed this release if you haven't done so already:
```bash
curl https://raw.githubusercontent.com/MostroP2P/mostro/main/keys/negrunch.asc | gpg --import
curl https://raw.githubusercontent.com/MostroP2P/mostro/main/keys/arkanoider.asc | gpg --import
```
Once you have the required PGP keys, you can verify the release (assuming manifest.txt.sig.negrunch, manifest.txt.sig.arkanoider and manifest.txt are in the current directory) with:
```bash
gpg --verify manifest.txt.sig.negrunch manifest.txt
gpg --verify manifest.txt.sig.arkanoider manifest.txt
gpg: Signature made fri 10 oct 2025 11:28:03 -03
gpg: using RSA key 1E41631D137BA2ADE55344F73852B843679AD6F0
gpg: Good signature from "Francisco CalderΓ³n <fjcalderon@gmail.com>" [ultimate]
gpg: Signature made fri 10 oct 2025 11:28:03 -03
gpg: using RSA key 2E986CA1C5E7EA1635CD059C4989CC7415A43AEC
gpg: Good signature from "Arkanoider <github.913zc@simplelogin.com>" [ultimate]
```
That will verify the signature of the manifest file, which ensures integrity and authenticity of the archive you've downloaded locally containing the binaries. Next, depending on your operating system, you should then re-compute the sha256 hash of the archive with `shasum -a 256 <filename>`, compare it with the corresponding one in the manifest file, and ensure they match exactly.
## What's Changed{%- if version %} in {{ version }}{%- endif -%}
{% for group, commits in commits | group_by(attribute="group") %}
{% if group != "" %}
### {{ group }}
{% endif %}
{% for commit in commits %}
{% if commit.remote.pr_title -%}
{%- set commit_message = commit.remote.pr_title -%}
{%- else -%}
{%- set commit_message = commit.message -%}
{%- endif -%}
* {{ commit_message | split(pat="\n") | first | trim }}\
{% if commit.remote.username %} by [@{{ commit.remote.username }}](https://github.com/{{ commit.remote.username }}){%- endif -%}
{% if commit.remote.pr_number %} in \
[#{{ commit.remote.pr_number }}]({{ self::remote_url() }}/pull/{{ commit.remote.pr_number }}) \
{%- endif %}
{%- endfor %}
{%- endfor -%}
{%- if github -%}
{% if github.contributors | length != 0 %}
{% raw %}\n{% endraw -%}
## Contributors
{%- endif %}\
{% for contributor in github.contributors %}
* [@{{ contributor.username }}](https://github.com/{{ contributor.username }}) made their contribution
{%- if contributor.pr_number %} in \
[#{{ contributor.pr_number }}]({{ self::remote_url() }}/pull/{{ contributor.pr_number }}) \
{%- endif %}
{%- endfor -%}
{%- endif -%}
{% if version %}
{% if previous.version %}
**Full Changelog**: {{ self::remote_url() }}/compare/{{ previous.version }}...{{ version }}
{% endif %}
{% else -%}
{% raw %}\n{% endraw %}
{% endif %}
{%- macro remote_url() -%}
https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}
{%- endmacro -%}
"""
trim = true
footer = """
<!-- generated by git-cliff -->
"""
postprocessors = [{ pattern = "<!-- \\d+ -->", replace = "" }]
commit_parsers = [
{ message = "^feat(\\(.+\\))?!?:", group = "π Features" },
{ message = "^fix(\\(.+\\))?!?:", group = "π Bug Fixes" },
{ message = "^merge(\\(.+\\))?!?:", group = "π Merges" },
{ message = "^docs(\\(.+\\))?!?:", group = "π Documentation" },
{ message = "^perf(\\(.+\\))?!?:", group = "β‘ Performance" },
{ message = "^refactor(\\(.+\\))?!?:", group = "π Refactor" },
{ message = "^style(\\(.+\\))?!?:", group = "π¨ Styling" },
{ message = "^test(\\(.+\\))?!?:", group = "π§ͺ Testing" },
{ message = "^ci(\\(.+\\))?!?:", group = "βοΈ CI/CD" },
{ message = "^build(\\(.+\\))?!?:", group = "π¨ Build" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore(\\(.+\\))?!?:", group = "βοΈ Miscellaneous Tasks" },
{ body = "(?i)security", group = "π‘οΈ Security" },
{ message = "^revert", group = "βοΈ Revert" },
{ message = ".*", group = "πΌ Other" },
]
[git]
conventional_commits = true
filter_unconventional = false
split_commits = false
commit_preprocessors = [
{ pattern = 'Merge pull request #([0-9]+)', replace = "merge: pull request #$1" },
]
filter_commits = false
topo_order = false
sort_commits = "newest"
tag_pattern = "v[0-9]+\\.[0-9]+\\.[0-9]+"
link_parsers = [
{ pattern = "Merge pull request #([0-9]+)", href = "https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}/pull/$1" },
{ pattern = "#([0-9]+)", href = "https://github.com/{{ remote.github.owner }}/{{ remote.github.repo }}/issues/$1" },
{ pattern = "@([a-zA-Z0-9_-]+(?:\\[[^\\]]+\\])?)", href = "https://github.com/$1" },
]