Releases: TaceoLabs/co-snarks
Releases · TaceoLabs/co-snarks
Release list
ultrahonk: v0.6.0
0.6.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- remove ClientIVC and Mega flavour
- add functionality to compute transcript in MPC and integrate it (#472)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443)
- add MPC version of ECCVM builder and prover (#456)
- move HonkProof and the corresponding field serde to noir-types
- co-protogalaxy prover (#422)
- move witness and input parsing/sharing to new crates for wasm comp
- plain protogalaxy prover (#410)
- grand product computation with inactive regions (#411)
- moves several components from the
ultrahonkandco-ultrahonkcrates into thecommoncrate - Add MegaFlavour to the Prover and Verifier
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- bump to Barretenberg 0.86.0 (#373)
Features
- add (co-)merge-prover and common crates (f7eea60)
- add functionality to compute transcript in MPC and integrate it (#472) (e636308)
- Add MegaFlavour to the Prover and Verifier (06ab1a9)
- add MPC version of ECCVM builder and prover (#456) (0230ccb)
- add plain ECCVM Prover (#409) (dc5f175)
- bump to Barretenberg 0.86.0 (#373) (55f4ca3)
- co-protogalaxy prover (#422) (4de48e8)
- initial MPC Translator prover and builder implementation (#467) (ff92fcb)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443) (c3104a1)
- move HonkProof and the corresponding field serde to noir-types (b9821e5)
- move witness and input parsing/sharing to new crates for wasm comp (333785e)
- plain protogalaxy prover (#410) (42d49f5)
- plain translator prover (#425) (14167b3)
- update rust edition to 2024 (6ea0ba9)
Bug Fixes
Miscellaneous Chores
Code Refactoring
- remove ClientIVC and Mega flavour (8ac7719)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-noir-common bumped from 0.1.0 to 0.2.0
- co-builder bumped from 0.4.0 to 0.5.0
- noir-types bumped from 0.1.0 to 0.1.1
- mpc-core bumped from 0.9.0 to 0.10.0
- dependencies
mpc-net: v0.5.0
0.5.0 (2025-11-06)
⚠ BREAKING CHANGES
- rework MPC trait to return unified connection stats struct
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
Features
- allow to specify timeouts for the testnetwork (e835dfc)
- dont use rayon::join for networking - added std::thread::scope based join functions (758b069)
- impl clone for NetworkConfigs (09e65bc)
- improve mpc-net usability for Network trait implementors (0f7c4ce)
- rework MPC trait to return unified connection stats struct (f24933b)
- update rust edition to 2024 (6ea0ba9)
Bug Fixes
- add feature flags to mpc-net example scripts, add rustls to quic net for installing provider in example (fd5df9b)
- setting duplicate length_field_length in LengthDelimitedCodec (070d6ec)
- sort parties in tcp and tls nets (3decee1)
Code Refactoring
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
mpc-core: v0.10.0
0.10.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- add MPC version of ECCVM builder and prover (#456)
- add u512 IntRing type (#462)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- Performance improvements and cleanup for blake2/blake3
- add BLAKE3 blackbox function to coNoir
- add BLAKE2s blackbox function to coNoir
- add Bristol Fashion parsing for GC, also adds the SHA256 blackbox (#359)
- Add the MSM blackbox function to co-noir, which allows to use pedersen hash/commitment
- rename io_mul_vec to reshare_vec
- move uncompress_shared_witness to co-circom
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- Add AES blackbox functionality (fd7cd49)
- add BLAKE2s blackbox function to coNoir (e98fb7d)
- add BLAKE3 blackbox function to coNoir (ddcb10e)
- add Bristol Fashion parsing for GC, also adds the SHA256 blackbox (#359) (f8509ef)
- add extension traits for REP3 and Shamir networks (0c15da8)
- add MAESTRO style lut protocol for curve points (4da5f74)
- add MPC version of ECCVM builder and prover (#456) (0230ccb)
- add plain ECCVM Prover (#409) (dc5f175)
- Add the MSM blackbox function to co-noir, which allows to use pedersen hash/commitment (ffeaa32)
- add u512 IntRing type (#462) (531d08c)
- add vectorized implementations of b2a and dependencies (#393) (c734b9b)
- also add send_prev and recv_next methods (bee26f0)
- derive CanonicalSerialize and CanonicalDeserialize for Rep3RingShare (3360969)
- derive Hash for rep3 PartyID (a8620e5)
- dont use rayon::join for networking - added std::thread::scope based join functions (758b069)
- initial MPC Translator prover and builder implementation (#467) (ff92fcb)
- Performance improvements and cleanup for blake2/blake3 (435fcd3)
- replace the bitinject algorithms in mpc-core (ab7e894)
- update rust edition to 2024 (6ea0ba9)
Bug Fixes
- correct limbsize calculation for biguint sampling (1b2db00)
- correct padding in aes circuit (a2226c2)
- incorrect extra multiply in pow_public for field and ring backends (#461) (7eaa830)
Miscellaneous Chores
Code Refactoring
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- move uncompress_shared_witness to co-circom (0462a2f)
- rename io_mul_vec to reshare_vec (7067486)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- mpc-net bumped from 0.4.0 to 0.5.0
- dependencies
honk-verifier: v0.1.0
0.1.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- remove ClientIVC and Mega flavour
- initial implementation of DeciderRecursiveVerifier (#464)
Features
Miscellaneous Chores
Code Refactoring
- remove ClientIVC and Mega flavour (8ac7719)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-builder bumped from 0.4.0 to 0.5.0
- co-acvm bumped from 0.6.0 to 0.7.0
- ultrahonk bumped from 0.5.0 to 0.6.0
- co-ultrahonk bumped from 0.5.0 to 0.6.0
- co-noir-common bumped from 0.1.0 to 0.2.0
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- dependencies
co-ultrahonk: v0.6.0
0.6.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- remove ClientIVC and Mega flavour
- add functionality to compute transcript in MPC and integrate it (#472)
- initial implementation of DeciderRecursiveVerifier (#464)
- initial implementation of ProtogalaxyRecursiveVerifier (#460)
- intial implementation of MergeRecursiveVerifier (#449)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443)
- add MPC version of ECCVM builder and prover (#456)
- move HonkProof and the corresponding field serde to noir-types
- co-protogalaxy prover (#422)
- move witness and input parsing/sharing to new crates for wasm comp
- plain protogalaxy prover (#410)
- grand product computation with inactive regions (#411)
- moves several components from the
ultrahonkandco-ultrahonkcrates into thecommoncrate - Add MegaFlavour to the Prover and Verifier
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- bump to Barretenberg 0.86.0 (#373)
- rename io_mul_vec to reshare_vec
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- add (co-)merge-prover and common crates (f7eea60)
- add extension traits for REP3 and Shamir networks (0c15da8)
- add functionality to compute transcript in MPC and integrate it (#472) (e636308)
- Add MegaFlavour to the Prover and Verifier (06ab1a9)
- add MPC version of ECCVM builder and prover (#456) (0230ccb)
- add plain ECCVM Prover (#409) (dc5f175)
- bump to Barretenberg 0.86.0 (#373) (55f4ca3)
- co-protogalaxy prover (#422) (4de48e8)
- initial implementation of DeciderRecursiveVerifier (#464) (74df287)
- initial implementation of ProtogalaxyRecursiveVerifier (#460) (34f38ea)
- initial MPC Translator prover and builder implementation (#467) (ff92fcb)
- intial implementation of MergeRecursiveVerifier (#449) (f7f2158)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443) (c3104a1)
- move HonkProof and the corresponding field serde to noir-types (b9821e5)
- move witness and input parsing/sharing to new crates for wasm comp (333785e)
- plain protogalaxy prover (#410) (42d49f5)
- update rust edition to 2024 (6ea0ba9)
Bug Fixes
Miscellaneous Chores
Code Refactoring
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- remove ClientIVC and Mega flavour (8ac7719)
- rename io_mul_vec to reshare_vec (7067486)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-acvm bumped from 0.6.0 to 0.7.0
- co-builder bumped from 0.4.0 to 0.5.0
- noir-types bumped from 0.1.0 to 0.1.1
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- ultrahonk bumped from 0.5.0 to 0.6.0
- co-noir-common bumped from 0.1.0 to 0.2.0
- dependencies
co-plonk: v0.7.0
0.7.0 (2025-11-06)
⚠ BREAKING CHANGES
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- rename io_mul_vec to reshare_vec
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- add extension traits for REP3 and Shamir networks (0c15da8)
- dont use rayon::join for networking - added std::thread::scope based join functions (758b069)
- update rust edition to 2024 (6ea0ba9)
Code Refactoring
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- rename io_mul_vec to reshare_vec (7067486)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-types bumped from 0.9.0 to 0.10.0
- co-circom-types bumped from 0.5.0 to 0.6.0
- mpc-net bumped from 0.4.0 to 0.5.0
- mpc-core bumped from 0.9.0 to 0.10.0
- dependencies
co-noir: v0.7.0
0.7.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- remove ClientIVC and Mega flavour
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443)
- add MPC version of ECCVM builder and prover (#456)
- move HonkProof and the corresponding field serde to noir-types
- rework co-circom input splitting (now same as co-noir)
- cleanup generics in public api of co-circom and co-noir
- move witness and input parsing/sharing to new crates for wasm comp
- moves several components from the
ultrahonkandco-ultrahonkcrates into thecommoncrate - Add MegaFlavour to the Prover and Verifier
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- bump to Barretenberg 0.86.0 (#373)
- Add support for the embedded_curve_add blackbox function to co-noir (#367)
- Performance improvements and cleanup for blake2/blake3
- add BLAKE3 blackbox function to coNoir
- add BLAKE2s blackbox function to coNoir
- add Bristol Fashion parsing for GC, also adds the SHA256 blackbox (#359)
- Add the MSM blackbox function to co-noir, which allows to use pedersen hash/commitment
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- add (co-)merge-prover and common crates (f7eea60)
- Add AES blackbox functionality (fd7cd49)
- add BLAKE2s blackbox function to coNoir (e98fb7d)
- add BLAKE3 blackbox function to coNoir (ddcb10e)
- add Bristol Fashion parsing for GC, also adds the SHA256 blackbox (#359) (f8509ef)
- Add MegaFlavour to the Prover and Verifier (06ab1a9)
- add MPC version of ECCVM builder and prover (#456) (0230ccb)
- add plain ECCVM Prover (#409) (dc5f175)
- Add support for the embedded_curve_add blackbox function to co-noir (#367) (0533f22)
- Add the MSM blackbox function to co-noir, which allows to use pedersen hash/commitment (ffeaa32)
- bump to Barretenberg 0.86.0 (#373) (55f4ca3)
- bump to noir 1.0.0-beta.6 (2de88d2)
- bump to Noir-1.0.0-beta.4 (9403dae)
- cleanup generics in public api of co-circom and co-noir (d54a8be)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443) (c3104a1)
- move HonkProof and the corresponding field serde to noir-types (b9821e5)
- move witness and input parsing/sharing to new crates for wasm comp (333785e)
- Performance improvements and cleanup for blake2/blake3 (435fcd3)
- rework co-circom input splitting (now same as co-noir) (933bead)
- update rust edition to 2024 (6ea0ba9)
Miscellaneous Chores
Code Refactoring
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- remove ClientIVC and Mega flavour (8ac7719)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-acvm bumped from 0.6.0 to 0.7.0
- co-ultrahonk bumped from 0.5.0 to 0.6.0
- co-builder bumped from 0.4.0 to 0.5.0
- co-noir-types bumped from 0.1.0 to 0.1.1
- noir-types bumped from 0.1.0 to 0.1.1
- co-noir-common bumped from 0.1.0 to 0.2.0
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- dependencies
co-noir-common: v0.2.0
0.2.0 (2025-11-06)
⚠ BREAKING CHANGES
- upgrade to Noir 1.0.0-beta.14 and BB 3.0.0-nightly.20250916 (#480)
- remove ClientIVC and Mega flavour
- add functionality to compute transcript in MPC and integrate it (#472)
- intial implementation of MergeRecursiveVerifier (#449)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443)
Features
- add functionality to compute transcript in MPC and integrate it (#472) (e636308)
- initial MPC Translator prover and builder implementation (#467) (ff92fcb)
- intial implementation of MergeRecursiveVerifier (#449) (f7f2158)
- Introduce initial implementation of MegaCircuitBuilder for construct_hiding_circuit_key (#443) (c3104a1)
Miscellaneous Chores
Code Refactoring
- remove ClientIVC and Mega flavour (8ac7719)
Dependencies
- The following workspace dependencies were updated
- dependencies
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- noir-types bumped from 0.1.0 to 0.1.1
- dev-dependencies
- mpc-net bumped from 0.4.0 to 0.5.0
- dependencies
co-groth16: v0.10.0
0.10.0 (2025-11-06)
⚠ BREAKING CHANGES
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- add extension traits for REP3 and Shamir networks (0c15da8)
- check the number of witness variables in groth16 prove_inner (2a6c0cf)
- dont use rayon::join for networking - added std::thread::scope based join functions (758b069)
- libsnark reduction multithreading (3b2b4e0)
- update rust edition to 2024 (6ea0ba9)
Bug Fixes
- align witness variable count with arkworks (only count the private ones here) (2dfd9af)
Code Refactoring
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- co-circom-types bumped from 0.5.0 to 0.6.0
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- dev-dependencies
- circom-types bumped from 0.9.0 to 0.10.0
- dependencies
co-circom: v0.10.0
0.10.0 (2025-11-06)
⚠ BREAKING CHANGES
- rework co-circom input splitting (now same as co-noir)
- cleanup generics in public api of co-circom and co-noir
- move witness and input parsing/sharing to new crates for wasm comp
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net
- co-circom split_witness_* fns now take num_inputs directly instead of r1cs
- rename io_mul_vec to reshare_vec
- move uncompress_shared_witness to co-circom
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types
Features
- add extension traits for REP3 and Shamir networks (0c15da8)
- add semaphore v3 example (#415) (7343bf6)
- cleanup generics in public api of co-circom and co-noir (d54a8be)
- move witness and input parsing/sharing to new crates for wasm comp (333785e)
- rework co-circom input splitting (now same as co-noir) (933bead)
- update rust edition to 2024 (6ea0ba9)
Code Refactoring
- co-circom split_witness_* fns now take num_inputs directly instead of r1cs (36d73df)
- move MPC types and share/combine into new mpc-types crate, rename co-circom-snarks to co-circom-types (31b773a)
- move uncompress_shared_witness to co-circom (0462a2f)
- rename io_mul_vec to reshare_vec (7067486)
- unify MPC networks, split protocol state and networking to allow fork of state without network, replace io::Error with eyre, merge mpc-core and mpc-types with feature gated mpc-net (16dbf54)
Dependencies
- The following workspace dependencies were updated
- dependencies
- circom-mpc-compiler bumped from 0.9.1 to 0.10.0
- circom-mpc-vm bumped from 0.8.0 to 0.9.0
- circom-types bumped from 0.9.0 to 0.10.0
- co-circom-types bumped from 0.5.0 to 0.6.0
- co-groth16 bumped from 0.9.0 to 0.10.0
- co-plonk bumped from 0.6.1 to 0.7.0
- mpc-core bumped from 0.9.0 to 0.10.0
- mpc-net bumped from 0.4.0 to 0.5.0
- dependencies