From 51e86022825be97c27cc8d12dde3a4458497ae9b Mon Sep 17 00:00:00 2001 From: ananas Date: Tue, 7 Oct 2025 18:15:52 +0100 Subject: [PATCH] chore(program-libs): bump versions --- Cargo.lock | 26 +++++----- Cargo.toml | 30 +++++------- program-libs/account-checks/Cargo.toml | 2 +- program-libs/batched-merkle-tree/Cargo.toml | 2 +- program-libs/bloom-filter/Cargo.toml | 2 +- program-libs/compressed-account/Cargo.toml | 2 +- .../concurrent-merkle-tree/Cargo.toml | 2 +- program-libs/hash-set/Cargo.toml | 2 +- program-libs/hasher/Cargo.toml | 2 +- program-libs/indexed-merkle-tree/Cargo.toml | 2 +- program-libs/merkle-tree-metadata/Cargo.toml | 2 +- program-libs/verifier/Cargo.toml | 2 +- program-libs/zero-copy-derive/Cargo.toml | 2 +- program-libs/zero-copy/Cargo.toml | 2 +- program-tests/merkle-tree/Cargo.toml | 2 +- scripts/create-release-pr.sh | 47 ++++++++++--------- scripts/validate-packages.sh | 13 +++-- 17 files changed, 71 insertions(+), 71 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b6320994c..b2ca2729da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3362,7 +3362,7 @@ dependencies = [ [[package]] name = "light-account-checks" -version = "0.3.0" +version = "0.4.0" dependencies = [ "borsh 0.10.4", "pinocchio", @@ -3377,7 +3377,7 @@ dependencies = [ [[package]] name = "light-batched-merkle-tree" -version = "0.4.2" +version = "0.5.0" dependencies = [ "aligned-sized", "borsh 0.10.4", @@ -3403,7 +3403,7 @@ dependencies = [ [[package]] name = "light-bloom-filter" -version = "0.3.0" +version = "0.4.0" dependencies = [ "bitvec", "light-hasher", @@ -3475,7 +3475,7 @@ dependencies = [ [[package]] name = "light-compressed-account" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anchor-lang", "ark-bn254 0.5.0", @@ -3521,7 +3521,7 @@ dependencies = [ [[package]] name = "light-concurrent-merkle-tree" -version = "2.1.0" +version = "3.0.0" dependencies = [ "ark-bn254 0.5.0", "ark-ff 0.5.0", @@ -3542,7 +3542,7 @@ dependencies = [ [[package]] name = "light-hash-set" -version = "2.1.0" +version = "3.0.0" dependencies = [ "ark-bn254 0.5.0", "ark-ff 0.5.0", @@ -3556,7 +3556,7 @@ dependencies = [ [[package]] name = "light-hasher" -version = "3.1.0" +version = "4.0.0" dependencies = [ "ark-bn254 0.5.0", "ark-ff 0.5.0", @@ -3595,7 +3595,7 @@ dependencies = [ [[package]] name = "light-indexed-merkle-tree" -version = "2.1.0" +version = "3.0.0" dependencies = [ "light-bounded-vec", "light-concurrent-merkle-tree", @@ -3622,7 +3622,7 @@ dependencies = [ [[package]] name = "light-merkle-tree-metadata" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anchor-lang", "borsh 0.10.4", @@ -3638,7 +3638,7 @@ dependencies = [ [[package]] name = "light-merkle-tree-reference" -version = "2.0.0" +version = "3.0.0" dependencies = [ "light-hasher", "light-indexed-array", @@ -3951,7 +3951,7 @@ dependencies = [ [[package]] name = "light-verifier" -version = "3.0.0" +version = "4.0.0" dependencies = [ "groth16-solana", "light-compressed-account", @@ -3963,7 +3963,7 @@ dependencies = [ [[package]] name = "light-zero-copy" -version = "0.3.0" +version = "0.4.0" dependencies = [ "borsh 0.10.4", "light-zero-copy-derive", @@ -3976,7 +3976,7 @@ dependencies = [ [[package]] name = "light-zero-copy-derive" -version = "0.3.0" +version = "0.4.0" dependencies = [ "lazy_static", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index f4f6241ac2..fdc108471a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -154,25 +154,25 @@ ark-std = "0.5" # Light Protocol -light-hash-set = { version = "2.1.0", path = "program-libs/hash-set" } -light-indexed-merkle-tree = { version = "2.1.0", path = "program-libs/indexed-merkle-tree" } -light-concurrent-merkle-tree = { version = "2.1.0", path = "program-libs/concurrent-merkle-tree" } +light-hash-set = { version = "3.0.0", path = "program-libs/hash-set" } +light-indexed-merkle-tree = { version = "3.0.0", path = "program-libs/indexed-merkle-tree" } +light-concurrent-merkle-tree = { version = "3.0.0", path = "program-libs/concurrent-merkle-tree" } light-sparse-merkle-tree = { version = "0.1.0", path = "sparse-merkle-tree" } light-client = { path = "sdk-libs/client", version = "0.14.0" } -light-hasher = { path = "program-libs/hasher", version = "3.1.0" } +light-hasher = { path = "program-libs/hasher", version = "4.0.0" } light-macros = { path = "program-libs/macros", version = "2.1.0" } -light-merkle-tree-reference = { path = "program-tests/merkle-tree", version = "2.0.0" } +light-merkle-tree-reference = { path = "program-tests/merkle-tree", version = "3.0.0" } light-heap = { path = "program-libs/heap", version = "2.0.0" } light-prover-client = { path = "prover/client", version = "2.0.0" } light-sdk = { path = "sdk-libs/sdk", version = "0.13.0" } light-sdk-pinocchio = { path = "sdk-libs/sdk-pinocchio", version = "0.13.0" } light-sdk-macros = { path = "sdk-libs/macros", version = "0.13.0" } light-sdk-types = { path = "sdk-libs/sdk-types", version = "0.13.0" } -light-compressed-account = { path = "program-libs/compressed-account", version = "0.4.0" } -light-account-checks = { path = "program-libs/account-checks", version = "0.3.0" } -light-verifier = { path = "program-libs/verifier", version = "3.0.0" } -light-zero-copy = { path = "program-libs/zero-copy", version = "0.3.0" } -light-zero-copy-derive = { path = "program-libs/zero-copy-derive", version = "0.3.0" } +light-compressed-account = { path = "program-libs/compressed-account", version = "0.5.0" } +light-account-checks = { path = "program-libs/account-checks", version = "0.4.0" } +light-verifier = { path = "program-libs/verifier", version = "4.0.0" } +light-zero-copy = { path = "program-libs/zero-copy", version = "0.4.0" } +light-zero-copy-derive = { path = "program-libs/zero-copy-derive", version = "0.4.0" } photon-api = { path = "sdk-libs/photon-api", version = "0.51.0" } forester-utils = { path = "forester-utils", version = "2.0.0" } account-compression = { path = "programs/account-compression", version = "2.0.0", features = [ @@ -192,10 +192,10 @@ create-address-test-program = { path = "program-tests/create-address-test-progra "cpi", ] } light-program-test = { path = "sdk-libs/program-test", version = "0.14.0" } -light-batched-merkle-tree = { path = "program-libs/batched-merkle-tree", version = "0.4.2" } -light-merkle-tree-metadata = { path = "program-libs/merkle-tree-metadata", version = "0.4.0" } +light-batched-merkle-tree = { path = "program-libs/batched-merkle-tree", version = "0.5.0" } +light-merkle-tree-metadata = { path = "program-libs/merkle-tree-metadata", version = "0.5.0" } aligned-sized = { path = "program-libs/aligned-sized", version = "1.1.0" } -light-bloom-filter = { path = "program-libs/bloom-filter", version = "0.3.0" } +light-bloom-filter = { path = "program-libs/bloom-filter", version = "0.4.0" } light-bounded-vec = { version = "2.0.0" } light-poseidon = { version = "0.3.0" } light-test-utils = { path = "program-tests/utils", version = "1.2.1" } @@ -248,7 +248,3 @@ dependent-version = "upgrade" consolidate-commits = false # Don't verify (skip tests/build checks) verify = false - -[workspace.metadata.release.rate-limit] -new-packages = 5 -existing-packages = 5 diff --git a/program-libs/account-checks/Cargo.toml b/program-libs/account-checks/Cargo.toml index 3f77092681..3812761937 100644 --- a/program-libs/account-checks/Cargo.toml +++ b/program-libs/account-checks/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-account-checks" -version = "0.3.0" +version = "0.4.0" description = "Checks for solana accounts." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/batched-merkle-tree/Cargo.toml b/program-libs/batched-merkle-tree/Cargo.toml index e52c5f0592..d6f8898c32 100644 --- a/program-libs/batched-merkle-tree/Cargo.toml +++ b/program-libs/batched-merkle-tree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-batched-merkle-tree" -version = "0.4.2" +version = "0.5.0" description = "Batch Merkle tree implementation." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/bloom-filter/Cargo.toml b/program-libs/bloom-filter/Cargo.toml index bb5ca2a093..69b9d011f5 100644 --- a/program-libs/bloom-filter/Cargo.toml +++ b/program-libs/bloom-filter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-bloom-filter" -version = "0.3.0" +version = "0.4.0" description = "Experimental bloom filter." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/compressed-account/Cargo.toml b/program-libs/compressed-account/Cargo.toml index f9a6316b60..947db87414 100644 --- a/program-libs/compressed-account/Cargo.toml +++ b/program-libs/compressed-account/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-compressed-account" -version = "0.4.0" +version = "0.5.0" description = "Compressed account struct and common utility functions used in Light Protocol." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/concurrent-merkle-tree/Cargo.toml b/program-libs/concurrent-merkle-tree/Cargo.toml index 00cf87ca9f..f8eb39f814 100644 --- a/program-libs/concurrent-merkle-tree/Cargo.toml +++ b/program-libs/concurrent-merkle-tree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-concurrent-merkle-tree" -version = "2.1.0" +version = "3.0.0" edition = "2021" description = "Concurrent Merkle tree implementation" repository = "https://github.com/Lightprotocol/light-protocol" diff --git a/program-libs/hash-set/Cargo.toml b/program-libs/hash-set/Cargo.toml index 28d121f593..099049b641 100644 --- a/program-libs/hash-set/Cargo.toml +++ b/program-libs/hash-set/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-hash-set" -version = "2.1.0" +version = "3.0.0" description = "Hash set which can be stored on a Solana account" repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/hasher/Cargo.toml b/program-libs/hasher/Cargo.toml index 6f086851ab..8fccbe472a 100644 --- a/program-libs/hasher/Cargo.toml +++ b/program-libs/hasher/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-hasher" -version = "3.1.0" +version = "4.0.0" description = "Trait for generic usage of hash functions on Solana" repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/indexed-merkle-tree/Cargo.toml b/program-libs/indexed-merkle-tree/Cargo.toml index ebbf144c2c..5dc158ed2d 100644 --- a/program-libs/indexed-merkle-tree/Cargo.toml +++ b/program-libs/indexed-merkle-tree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-indexed-merkle-tree" -version = "2.1.0" +version = "3.0.0" description = "Implementation of indexed (and concurrent) Merkle tree in Rust" repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/merkle-tree-metadata/Cargo.toml b/program-libs/merkle-tree-metadata/Cargo.toml index d43b432d2d..1244a920d5 100644 --- a/program-libs/merkle-tree-metadata/Cargo.toml +++ b/program-libs/merkle-tree-metadata/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-merkle-tree-metadata" -version = "0.4.0" +version = "0.5.0" description = "Merkle tree metadata for light-concurrent-merkle-tree, light-indexed-merkle-tree, light-batched-merkle-tree." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/verifier/Cargo.toml b/program-libs/verifier/Cargo.toml index 7e6d9fab16..f4d1c03545 100644 --- a/program-libs/verifier/Cargo.toml +++ b/program-libs/verifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-verifier" -version = "3.0.0" +version = "4.0.0" description = "ZKP proof verifier used in Light Protocol" repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-libs/zero-copy-derive/Cargo.toml b/program-libs/zero-copy-derive/Cargo.toml index ca5248e12b..5ba0d3f195 100644 --- a/program-libs/zero-copy-derive/Cargo.toml +++ b/program-libs/zero-copy-derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-zero-copy-derive" -version = "0.3.0" +version = "0.4.0" edition = "2021" license = "Apache-2.0" description = "Proc macro for zero-copy deserialization" diff --git a/program-libs/zero-copy/Cargo.toml b/program-libs/zero-copy/Cargo.toml index ba1ceb2691..078b548e25 100644 --- a/program-libs/zero-copy/Cargo.toml +++ b/program-libs/zero-copy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-zero-copy" -version = "0.3.0" +version = "0.4.0" description = "Zero copy vector and utils for Solana programs." repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/program-tests/merkle-tree/Cargo.toml b/program-tests/merkle-tree/Cargo.toml index 4d77c2f73b..0eb9ea3edf 100644 --- a/program-tests/merkle-tree/Cargo.toml +++ b/program-tests/merkle-tree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "light-merkle-tree-reference" -version = "2.0.0" +version = "3.0.0" description = "Non-sparse reference Merkle tree implementation" repository = "https://github.com/Lightprotocol/light-protocol" license = "Apache-2.0" diff --git a/scripts/create-release-pr.sh b/scripts/create-release-pr.sh index f65888274f..38eae0648c 100755 --- a/scripts/create-release-pr.sh +++ b/scripts/create-release-pr.sh @@ -103,28 +103,6 @@ VERSION_CHANGES=$(echo -e "$VERSION_CHANGES") echo "Version changes:" echo "$VERSION_CHANGES" -# Create release branch -BRANCH_NAME="release/${RELEASE_TYPE}" -PR_TITLE="chore: bump ${RELEASE_TYPE} versions" - -echo "Will create:" -echo " Branch: $BRANCH_NAME" -echo " PR: $PR_TITLE" -echo "" -read -p "Create release branch and PR with these changes? (y/N) " -n 1 -r -echo -if [[ ! $REPLY =~ ^[Yy]$ ]]; then - echo "Cancelled." - exit 1 -fi - -echo "Creating release branch..." -git checkout -b "$BRANCH_NAME" - -# Commit changes -git add -A -git commit -m "chore(${RELEASE_TYPE}): bump versions" - echo "" echo "=========================================" echo "Running cargo release dry-run validation..." @@ -132,7 +110,8 @@ echo "=========================================" echo "" # Validate packages using the validation script (comparing against target branch) -if "$SCRIPT_DIR/validate-packages.sh" "$TARGET_BRANCH" "$BRANCH_NAME"; then +# Note: Changes are in working directory but not yet committed +if "$SCRIPT_DIR/validate-packages.sh" "$TARGET_BRANCH" "HEAD"; then echo "" echo "All crates validated successfully" else @@ -150,6 +129,28 @@ else fi echo "" +# Create release branch +BRANCH_NAME="release/${RELEASE_TYPE}" +PR_TITLE="chore: bump ${RELEASE_TYPE} versions" + +echo "Will create:" +echo " Branch: $BRANCH_NAME" +echo " PR: $PR_TITLE" +echo "" +read -p "Create release branch and PR with these changes? (y/N) " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "Cancelled." + exit 1 +fi + +echo "Creating release branch..." +git checkout -b "$BRANCH_NAME" + +# Commit changes +git add -A +git commit -m "chore(${RELEASE_TYPE}): bump versions" + # Push branch echo "Pushing branch to origin..." git push -u origin "$BRANCH_NAME" diff --git a/scripts/validate-packages.sh b/scripts/validate-packages.sh index 3adad6a4de..861f63eb2f 100755 --- a/scripts/validate-packages.sh +++ b/scripts/validate-packages.sh @@ -50,17 +50,20 @@ echo "" if [ -n "$EXECUTE_FLAG" ]; then echo "Running: cargo release publish $PACKAGE_ARGS --execute --no-confirm" else - echo "Running: cargo release publish $PACKAGE_ARGS --allow-branch '*' --no-verify" + echo "Running: cargo publish $PACKAGE_ARGS --dry-run" fi echo "----------------------------------------" -# cargo-release handles dependency ordering -# Without --execute: dry-run validation (allow any branch, skip git checks for uncommitted changes) -# With --execute: actual publish to crates.io (requires main or release/* branch and clean working tree) +# Native cargo 1.90.0+ handles dependency ordering for interdependent workspace crates +# Without --execute: dry-run validation using native cargo publish +# With --execute: use cargo-release for actual publish to crates.io if [ -n "$EXECUTE_FLAG" ]; then cargo release publish $PACKAGE_ARGS --execute --no-confirm else - cargo release publish $PACKAGE_ARGS --allow-branch '*' --no-verify + # Use native cargo publish --dry-run with all packages at once + # This allows interdependent workspace crates to validate together + # Allow dirty state and skip verification due to cargo bug with unpublished dep hashes + cargo publish $PACKAGE_ARGS --dry-run --allow-dirty --no-verify fi if [ $? -eq 0 ]; then