Skip to content

Prepare privacy crates for crates.io publishing (v0.14.3-rust-bump snapshot)#373

Open
gilbens-starkware wants to merge 4 commits into
gil/v0.14.3-rust-bump-publish-basefrom
gil/v0.14.3-rust-bump-publish-prep
Open

Prepare privacy crates for crates.io publishing (v0.14.3-rust-bump snapshot)#373
gilbens-starkware wants to merge 4 commits into
gil/v0.14.3-rust-bump-publish-basefrom
gil/v0.14.3-rust-bump-publish-prep

Conversation

@gilbens-starkware

@gilbens-starkware gilbens-starkware commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Prepares the workspace crates for crates.io publishing at v1.0.0, based on the exact pinned commit 5ef951a1 ("Bump stwo-cairo deps to merge commit of #1787 (9b6be271)") captured by the proving-utils tag v0.14.3-rust-bump. This PR targets that pinned snapshot as its base branch (not main).

Changes

  • Add publish metadata via [workspace.package] inheritance: license = "Apache-2.0", repository, homepage.
  • Add per-crate description, keywords, and categories to all publishable crates.
  • Bump the workspace version 0.1.0 → 1.0.0 and pin internal path-dep version requirements to ~1.0.0.
  • Mark circuits-stark-verifier-examples as publish = false.
  • Add scripts/publish_workspace_crates.sh (topological publish order: circuits → circuits-stark-verifier → circuit-common → circuit-verifier → circuit-serialize → circuit-prover → circuit-cairo-verifier → circuit-multiverifier → circuit-cairo-serialize).
  • No authors field (house style).

Crate-name safety check

Compared the name = field of every crates/**/Cargo.toml at 5ef951a1 vs origin/main. All 10 crate names are identical — no crate was renamed: circuits, circuit-common, circuit-verifier, circuit-prover, circuit-serialize, circuit-cairo-serialize, circuit-cairo-verifier, circuit-multiverifier, circuits-stark-verifier, circuits-stark-verifier-examples.

Publish chain

stwo 2.3.0 → stwo-cairo 1.3.0 → stwo-circuits 1.0.0 → proving-utils.

Important: git deps unchanged in this PR

The git dependencies on stwo (rev 489a0f3e) and stwo-cairo (rev 9b6be271) are intentionally kept as-is. They must be swapped for the published crates.io versions (stwo 2.3.0 / stwo-cairo 1.3.0) at publish time — this PR will not compile against crates.io until those are released. cargo metadata --no-deps confirms all manifests parse.

Update: privacy crate rename (publish-name only)

The two privacy crates were renamed for crates.io with a stwo- prefix — published package name only; Rust code is byte-identical (no .rs files changed, no directories renamed):

  • crates/privacy_prove[package] name = "stwo-privacy-prove", with [lib] name = "privacy_prove" preserved.
  • crates/privacy_circuit_verify[package] name = "stwo-privacy-circuit-verify", with [lib] name = "privacy_circuit_verify" preserved.

Internal references keep their original keys and resolve via package = aliases (root [workspace.dependencies] for privacy-circuit-verify, the privacy-prove dev-dependency, and the [profile.witness-opt-1] package override). All existing use privacy_prove::… / use privacy_circuit_verify::… imports continue to work. cargo check passes.

🤖 Generated with Claude Code


This change is Reviewable


Version bump (update): workspace version bumped 1.2.2 → 1.3.0 to align with the stwo-cairo 1.3.0 release line; privacy crates (stwo-privacy-prove, stwo-privacy-circuit-verify) now publish as 1.3.0. Also reconciled the stale [workspace.dependencies] version pins for cairo-program-runner-lib and privacy-circuit-verify (were 1.0.0) to 1.3.0. cargo check green.

…apshot)

Based on the exact commit of tag v0.14.3-rust-bump (3035dd0).

Complete publish metadata for privacy-prove and privacy-circuit-verify
(homepage, keywords, categories), add homepage to [workspace.package],
and fix the publish script ordering so privacy-circuit-verify is
published before privacy-prove (privacy-prove depends on it; the reverse
edge is only a dev-dependency).

Keeps the existing git deps on the stwo / stwo-cairo / stwo-circuits
crate families as-is; the git->version swaps happen at publish time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cursor

cursor Bot commented Jun 25, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Manifest-only rename with preserved library crate names; no Rust source changes, though CI or docs still using old -p names would need a follow-up.

Overview
Bumps the workspace to 1.3.0 (including Cargo.lock for runner and privacy tooling crates) and adds homepage to shared [workspace.package] metadata.

Renames the two privacy crates only for crates.io (privacy-provestwo-privacy-prove, privacy-circuit-verifystwo-privacy-circuit-verify) while keeping [lib] names (privacy_prove, privacy_circuit_verify) so existing use paths stay the same. Root [workspace.dependencies] and the witness-opt-1 profile now point at the new package names via package = aliases, with internal path-dep versions set to 1.3.0.

Updates scripts/publish_workspace_crates.sh so cargo publish -p uses the new crate names in dependency order.

Reviewed by Cursor Bugbot for commit bf79d96. Bugbot is set up for automated code reviews on this repo. Configure here.

@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.68%. Comparing base (3035dd0) to head (bf79d96).

Additional details and impacted files
@@                         Coverage Diff                         @@
##           gil/v0.14.3-rust-bump-publish-base     #373   +/-   ##
===================================================================
  Coverage                               60.68%   60.68%           
===================================================================
  Files                                      36       36           
  Lines                                    5318     5318           
===================================================================
  Hits                                     3227     3227           
  Misses                                   2091     2091           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

gilbens-starkware and others added 3 commits June 25, 2026 15:08
…anged)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…line

Bumps [workspace.package] version 1.2.2 -> 1.3.0 (so privacy crates publish
as 1.3.0, matching stwo-cairo 1.3.0), and reconciles the stale
[workspace.dependencies] pins for cairo-program-runner-lib and
privacy-circuit-verify (were 1.0.0) to 1.3.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Drop the keywords/categories crates.io metadata from stwo-privacy-prove
and stwo-privacy-circuit-verify; keep description.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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