Skip to content

Releases: openvm-org/openvm

v1.4.0

01 Sep 08:22
39ee587
Compare
Choose a tag to compare

This release focuses on performance:

  • Execution was rewritten for much better performance and to support our distributed proving architecture.
  • All proving after execution, including trace generation, is now supported on Nvidia GPUs through new CUDA kernels and Rust bindings.

Users are recommended to upgrade all guest and host crates to openvm v1.4.0.

See CHANGELOG.md for more details.

What's Changed

Read more

v1.3.0

15 Jul 16:50
5368d47
Compare
Choose a tag to compare

No circuit constraints or verifying keys were changed in this release.

A substantial refactor has been done to the guest libraries to separate the low level Rust bindings for OpenVM intrinsic instructions from the higher level user interface. For each VM extension, the openvm-$name-guest crate is now a primitives library containing only the Rust bindings for the intrinsic instructions and essential logic related to the extension (e.g., ECDSA signature verification). We introduce new guest libraries as standalone Rust crates which provide the high-level interfaces guest programs should use to interact with the associated VM extensions.

We also add a new guest library openvm-verify-stark which provides functionality to verify OpenVM STARK proofs from Rust programs using acceleration from the native field arithmetic VM extension.

Users are advised to switch to using the new guest libraries.

What's Changed

  • chore(ecc-guest): remove k256, p256 modules and fix guest-libs to allow patching (#1708) (Jonathan Wang)
  • feat: optimize Group::is_identity (#1709) (Avaneesh-axiom)
  • perf(ecc-guest): optimize setup handling in ecc guest bindings (#1706) (Jonathan Wang)
  • perf: update stark-backend commit (Jonathan Wang)
  • feat: Patch ecdsa VerifyingKey::recover_from_prehash to skip message verification (#1691) (Avaneesh-axiom)
  • refactor: guest bindings (#1613) (Jonathan Wang)
  • refactor: guest bindings (#1613) (Avaneesh-axiom)
  • feat: ensure all CLI commit outputs are in hex + fix verify STARK (#1697) (stephenh-axiom-xyz)
  • feat: CLI prove use bin name for output path + e2e stark verify (#1675) (stephenh-axiom-xyz)
  • feat: init command for cargo openvm (#1670) (stephenh-axiom-xyz)
  • feat: commit command for cargo openvm (#1667) (stephenh-axiom-xyz)
  • feat: cargo CLI update target directory (#1662) (stephenh-axiom-xyz)
  • chore: add entry point to book examples without openvm::init!() (#1663) (stephenh-axiom-xyz)
  • docs: add CHANGELOG.md (#1660) (HrikB)
  • fix: verifier read dir (#1658) (HrikB)
  • refactor: CLI Build & Setup (#1649) (Xinding Wei)
  • feat: helper functions for verify_openvm_stark (#1631) (Xinding Wei)
  • feat: Macro define_verify_openvm_stark (#1620) (Xinding Wei)
  • feat: Root Verifier ASM (#1615) (Xinding Wei)
  • feat: Add Rv32HintLoadByKey (#1606) (Xinding Wei)
  • feat: Add e2e stark proof support (#1597) (Xinding Wei)
  • feat: openvm build can build multiple targets + additional cargo options (#1647) (stephenh-axiom-xyz)
  • chore: update getrandom to v0.3 in openvm lib (#1635) (Jonathan Wang)
  • feat: Lazily call setup function for moduli and curves on first use (#1603) (Avaneesh-axiom)
  • feat: Build script for calling init macros (#1596) (Avaneesh-axiom)
  • refactor: ELF and Program (#1638) (Xinding Wei)
  • chore(ci): patch examples to use local crates by @jonathanpwang in #1712
  • chore: change to dual license by @yi-sun in #1713
  • fix(sw-macro): host set_up_once undefined by @jonathanpwang in #1717
  • docs: Add comment explaining the is_identity optimization by @Avaneesh-axiom in #1716
  • fix(cli): generate openvm_init.rs before building by @jonathanpwang in #1721
  • chore: macro crate should use workspace version by @jonathanpwang in #1723
  • docs: update division typo in ISA.md by @stephenh-axiom-xyz in #1726
  • chore(ecc-guest): placeholder trait and function implementations for patch compilation by @jonathanpwang in #1720
  • chore: fix typos and links by @jonathanpwang in #1730
  • feat: Add feature gating for halo2 imports in SDK and CLI crates by @devin-ai-integration[bot] in #1731
  • fix: use seed for deterministic re-execution by @jonathanpwang in #1741
  • docs: Add VERSIONING.md documentation by @devin-ai-integration[bot] in #1735
  • fix(ecdsa): match upstream behavior to error on overflowing add by @jonathanpwang in #1742
  • fix(ecdsa): validate public key is not identity by @jonathanpwang in #1743
  • fix(k256): ecdsa verify needs custom hook by @jonathanpwang in #1744
  • fix(ecc): checked from_be_bytes by @jonathanpwang in #1746
  • fix: from_sec1_bytes should reject identity by @jonathanpwang in #1747
  • fix: Elliptic curve point decompression doesn't check if y = 0 by @Avaneesh-axiom in #1768
  • fix: verify stark test by @HrikB in #1779
  • chore: update stark-backend to v1.1.1 tag by @jonathanpwang in #1784
  • docs: Add README.md for verify_stark by @nyunyunyunyu in #1774
  • chore: run verify-stark tests in ci by @HrikB in #1788
  • feat(toolchain): support getrandom v0.2 and v0.3 simultaneously by @jonathanpwang in #1795
  • ci: add versioning compatibility workflow for INT-4160 by @devin-ai-integration[bot] in #1753
  • fix: getrandom pulling in std by @jonathanpwang in #1804
  • feat(cli): update version command and add version tag to init by @jonathanpwang in #1820
  • docs: guest libs by @HrikB in #1805
  • docs(book): add docs on init! macro by @jonathanpwang in #1837
  • docs(book): clarify read-only reflection by @jonathanpwang in #1838
  • fix(test): use local openvm for testing cargo openvm init by @jonathanpwang in #1842
  • fix(test): CLI init test patching not triggered by @jonathanpwang in #1846
  • audit: add cantina report for v1.3.0 by @jonathanpwang in #1855
  • chore: bump workspace version to v1.3.0 by @jonathanpwang in #1854
  • docs: update CHANGELOG with breaking changes since v1.2.0 by @devin-ai-integration[bot] in #1732
  • fix(sdk): aggregate_leaf_proofs should always generate an internal proof by @jonathanpwang in #1866
  • chore: update book for v1.3.0 release by @jonathanpwang in #1865

Full Changelog: v1.2.0...v1.3.0

v1.2.1-rc.0

04 Jun 09:13
Compare
Choose a tag to compare
v1.2.1-rc.0 Pre-release
Pre-release

What's Changed

Full Changelog: v1.2.0...v1.2.1-rc.0

v1.2.0

03 Jun 02:44
bdb4831
Compare
Choose a tag to compare

Security Fix

This release makes fixes for security advisories:

See the advisories for further details as well as #1703

What's Changed

Full Changelog: v1.1.2...v1.2.0

v1.1.2

08 May 03:00
f0477ab
Compare
Choose a tag to compare

⚠️ This release has a vulnerability: GHSA-4w7p-8f9q-f4g2. All users are recommended to upgrade to v1.2.0

The solidity verifier contract generation has been changed so the version stored in the contract is {MAJOR_VERSION}.{MINOR_VERSION}. The patch version will not change the verifier contract (this will be upheld by OpenVM).

What's Changed

New Contributors

Full Changelog: v1.1.1...v1.1.2

v1.1.1

03 May 20:33
2f9bf74
Compare
Choose a tag to compare

We have added new functionality to the SDK to generate Solidity verifier contracts with better contract interfaces, intended for compatibility with the OpenVM Solidity SDK. The CLI commands related to evm have updated output formats documented in the book.

Notes

The pre-release tag v1.0.1-rc.1 (0f94c8a) was rebased on top of the security fix patched in v1.1.0. The new commit after the rebase was b4a5652 (tag v1.1.1-rc.1).

One can check via

git diff b4a565219ad808ee11cdd5f1be4a8516bb7df1ac 0f94c8a3dfa7536c1231465d1bdee5fc607a5993

that the only difference in the two commits is the fix from v1.0.0...v1.1.0.

What's Changed

New Contributors

Full Changelog: v1.1.0...v1.1.1

v1.1.0

02 May 17:07
Compare
Choose a tag to compare

Security advisory -- we found a bug in the AUIPC chip constraints in OpenVM v1.0.0:

github.com/openvm-org/openvm/security/advisories/GHSA-jf2r-x3j4-23m7

The bug has been fixed in the new OpenVM v1.1.0 release, and all known live deployments have been updated.

All users are recommended to update to OpenVM v1.1.0 immediately.

Full Changelog: v1.0.0...v1.1.0

v1.0.1-rc.1

16 Apr 07:44
0f94c8a
Compare
Choose a tag to compare
v1.0.1-rc.1 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.1-rc.0...v1.0.1-rc.1

v1.0.1-rc.0

15 Apr 19:17
467db3f
Compare
Choose a tag to compare
v1.0.1-rc.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.0.1-rc.0

v1.0.0

30 Mar 21:27
f41640c
Compare
Choose a tag to compare

OpenVM v1.0.0: Production Ready

What's Changed

New Contributors

Full Changelog: v1.0.0-rc.2...v1.0.0