Skip to content

docs: record the group 0.14 / rand_core 0.10 upstream blocker#54

Open
dobby-coder[bot] wants to merge 1 commit into
mainfrom
chore/document-group-014-blocker
Open

docs: record the group 0.14 / rand_core 0.10 upstream blocker#54
dobby-coder[bot] wants to merge 1 commit into
mainfrom
chore/document-group-014-blocker

Conversation

@dobby-coder

@dobby-coder dobby-coder Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What

Records the precise, verified reason the group 0.14 / rand_core 0.10 bump cannot land yet, sharpening the existing dependency-constraint note in CLAUDE.md. No dependency change ships in this PR because none compiles today (see below).

The blocker: the pairing crate has no stable group 0.14 release

ibe passes pg-curve's curve types into group/pairing trait bounds and calls multi_miller_loop, pairing, Gt, G2Prepared throughout src/ibe/* and src/kem/*, so the pairings feature is required and pg-curve must implement the pairing crate's traits. pg-curve is a fork of bls12_381.

The current state on crates.io:

crate latest stable on rand_core note
group 0.14.0 0.10 stable, available
ff 0.14.0 0.10 stable, available
pairing 0.23.0 (group 0.13) pins group ^0.13
pairing 0.24.0-pre.0 (group 0.14.0-pre.0) pre-release only; pins group =0.14.0-pre.0, which is on rand_core 0.9, not 0.10
bls12_381 (upstream) 0.8.0 0.6 still on group 0.13

So there is no stable pairing release compatible with group 0.14.0. pg-curve cannot move to group 0.14 / rand_core 0.10 until upstream ships a stable pairing 0.24 (or bls12_381 0.9), which does not exist yet.

Verified empirically

Bumping pg-curve's Cargo.toml to pairing = "0.24" fails resolution:

error: failed to select a version for the requirement `pairing = "^0.24"`
candidate versions found which didn't match: 0.24.0-pre.0, 0.23.0, ...

Forcing the full pre-release stack (group =0.14.0-pre.0, ff =0.14.0-pre.0, pairing =0.24.0-pre.0) resolves rand_core to 0.9 (and pulls in duplicate rand_core 0.6/0.9 copies), so it does not reach rand_core 0.10 and is unsuitable for production crypto regardless.

Consequence for the chain

The chain pg-curve → ibe → ibs → postguard stays blocked at pg-curve. This confirms and refines encryption4all/ibe#41: group 0.14/ff 0.14 are now out, but pairing is the remaining gate. Nothing to pick back up on encryption4all/postguard#195 until a stable pairing 0.24 ships.

Refs #53

The bump is blocked upstream by the pairing crate: group 0.14.0 and
ff 0.14.0 are stable (on rand_core 0.10), but the only pairing 0.24 is a
pre-release pinning group =0.14.0-pre.0 (on rand_core 0.9). pg-curve must
implement the pairing traits used throughout ibe, so it cannot move to
group 0.14 until a stable pairing 0.24 (or bls12_381 0.9) ships.

Sharpens the existing "rand/getrandom bumps are blocked" note in CLAUDE.md
with the precise, empirically-verified blocker so the next attempt can
skip the crates.io investigation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@dobby-coder dobby-coder Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: approve

Rules Dobby 2 — clean sign-off (self-authored, so posted as COMMENT).

Docs-only change to CLAUDE.md recording the verified upstream blocker for the group 0.14 / rand_core 0.10 bump. Reviewed against the rules that apply to a docs/dep-investigation PR:

  • writing-rules: the added note is factual and technical, no AI-slop tells; the As of 2026-07-16 date records when crates.io state was checked and matches the file's existing style.
  • conventional-commit-pr-titles: title is compliant (pr-title.yml enforces).
  • pr-close-issue-keywords: Refs #53 is correctly non-closing — the issue stays open to track a stable pairing 0.24.
  • pr-review-assignments: reviewer @rubenhensen assigned.

No rule findings, no review findings. Approving.

@dobby-coder
dobby-coder Bot marked this pull request as ready for review July 16, 2026 09:08
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.

0 participants