[changelog]
body = """

## [{{ version | trim_start_matches(pat="v") }}]{%- if release_link -%}({{ release_link }}){% endif %}
_{{ timestamp | date(format="%d %B %Y") }}_
{% for group, commits in commits | group_by(attribute="group") -%}
{%- if group != "chore" %}
### {{ group | upper_first }}

{% for commit in commits -%}
{%- if commit.scope and commit.scope != package -%}
* *({{commit.scope}})* {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}{%- if commit.links %} ({% for link in commit.links %}[{{link.text}}]({{link.href}}) {% endfor -%}){% endif %}
{% else -%}
* {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}
{% endif -%}
{%- endfor %}

{%- endif %}

{%- endfor -%}
"""

commit_parsers = [
  # Changes to experimental features (scope `experimental`, see
  # docs/experimental-features.md) are grouped into their own changelog
  # section regardless of type, so consumers who opt into an `unstable_`
  # feature have a human-readable signal even though these changes don't
  # drive a minor/breaking version bump. This must stay first so it wins
  # over the type-based parsers below.
  { message = '^\w+\(experimental\)', group = "experimental" },
  { message = "^feat", group = "added" },
  { message = "^changed", group = "changed" },
  { message = "^deprecated", group = "deprecated" },
  { message = "^fix", group = "fixed" },
  { message = "^security", group = "security" },
  { message = "^chore", group = "chore" },
  { message = "^update", group = "updated dependencies" },
  { message = "^doc", group = "documented" },
  { message = "^.*", group = "other" },
]

[workspace]
dependencies_update = true
features_always_increment_minor = false
pr_labels = ["release"]
release_always = false
# Only these commit types trigger a release PR. This keeps chore-only commits
# (including chore cherry-picks brought over by the backport bot) from
# generating spurious release PRs on a release-line branch.
# TODO: Commented due to bug with release-plz, see https://github.com/contentauth/c2pa-rs/issues/2229
# release_commits = "^(feat|fix|docs|perf|refactor|revert|test|update)[!]?[(:]"

[[package]]
name = "c2pa"
version_group = "c2pa-rs"
changelog_path = "./CHANGELOG.md"
# This being the most important crate in the workspace,
# we will leave the changelog in the repo root instead
# of in the `sdk` folder (which would be the default).

[[package]]
name = "c2patool"

[[package]]
name = "c2pa-c-ffi"
version_group = "c2pa-rs"
publish_features = ["rust_native_crypto"]

[[package]]
name = "c2pa_macros"
publish = false
release = false

[[package]]
name = "export_schema"
publish = false
release = false

[[package]]
name = "make_test_images"
publish = false
release = false
