Skip to content

release: v0.8.0 — receipt spec, policy registry, open core - #110

Merged
bkd-dotcom merged 1 commit into
mainfrom
release-v0.8.0
Sep 1, 2026
Merged

release: v0.8.0 — receipt spec, policy registry, open core#110
bkd-dotcom merged 1 commit into
mainfrom
release-v0.8.0

Conversation

@bkd-dotcom

Copy link
Copy Markdown
Member

Cuts signetry-core v0.8.0: the published receipt spec, the policy registry, the
open-core licence change, and the placeholder-provenance fix.

CHANGELOG.md's Unreleased section becomes [0.8.0] — 2026-09-01 and
pyproject.toml moves to 0.8.0. The Release workflow refuses to cut anything if
those two disagree, and it extracts the release notes from that heading — verified
locally: 23 bullets extract, uv build + twine check pass on
signetry_core-0.8.0.

Three stale claims this surfaced

Cutting the release meant sweeping every version string, which is how these turned up:

  • install.sh defaulted to 0.6.0 — two releases behind, while its own comment
    promised "the latest hardened tag". The one-line installer was handing people older
    code than every other install path advertised. It escaped the pin sweep because it
    interpolates v${VERSION} instead of spelling the version out, which is exactly why
    it drifted unnoticed.
  • docs/RELEASING.md documented a release that cannot happen. Step 3 was
    git push origin main --tags; main is protected with required status checks, so
    that push is rejected. The doc also never said to move the CHANGELOG heading — even
    though the release notes are extracted from it, so a release cut by following the
    doc would have shipped the fallback text instead of its own changelog.
  • CONTRIBUTING.md never mentioned policies. This release ships a six-policy
    registry and a docs page, and there was no contribution path pointing at either.

Pins

15 core@v0.7.0core@v0.8.0. The @v0.5.3 or later and @v0.1.3+ floors are
left alone on purpose — they state a minimum supported version, not the current release.

Integrations bump their signetry-core pin after this lands, per the release train in
Signetry/signetry.

Rolls the Unreleased section into 0.8.0 and bumps pyproject to match, which is
what the Release workflow verifies before it will cut anything.

Three corrections came out of doing it, all of them cases of a version claim that
had stopped being true:

- install.sh still defaulted to 0.6.0, two releases behind, while its own comment
  promised "the latest hardened tag". The one-line installer was quietly handing
  people older code than every other install path on the project advertised. It
  escaped the pin sweep because it interpolates v${VERSION} rather than spelling
  the version out.
- docs/RELEASING.md told you to `git push origin main --tags`. main is protected
  and requires its status checks, so that step cannot succeed — the documented
  release process did not work. It now goes through a PR, and it says to move the
  CHANGELOG heading, which the old text omitted even though the release notes are
  extracted from it (a release cut without that step silently ships fallback text).
- CONTRIBUTING.md never mentioned policies, so the registry this release ships
  had no contribution path pointing at it. Adding one is a single YAML file with
  no test to write, because tests/test_policy_registry.py is parametrized over
  every entry.

The 15 core@v0.7.0 pins move to v0.8.0. The `@v0.5.3 or later` and `@v0.1.3+`
floors are deliberately left alone — those state a minimum, not the current release.
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Signetry Reviewer — 🟡 Needs human review

A human should decide — the required check is pending; 1 advisory finding(s) to weigh.

Deterministic gates (the authority)

Gate Status
Required status check ⏳ pending
Secret scan ✅ clean
CI permission / OIDC ✅ no forbidden change
Dependency skew ✅ ok
All green

Findings (1, 0 blocking)

  • 🟡 Change touches a protected path: pyproject.toml pyproject.toml (via cross-check)
    • pyproject.toml matches a protected pattern (pyproject.toml). Changes here alter shared/foundational surface and warrant a designated reviewer.
    • Fix: Route to a code owner / architecture reviewer.

Merge

A human should review and merge.

This review is advisory. It never merges on its own judgement — the deterministic gates + a human are the authority. Findings can have false negatives; a green bot verdict is not a guarantee.

@bkd-dotcom
bkd-dotcom merged commit ee974f3 into main Sep 1, 2026
8 checks passed
@bkd-dotcom
bkd-dotcom deleted the release-v0.8.0 branch September 1, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant