Skip to content

v0.13.0

Compare
Choose a tag to compare
@flaub flaub released this 22 Feb 05:51
· 812 commits to main since this release
fceb38d

We have some breaking changes in v0.13. If you are migrating code from v0.12, please see the Breaking Changes section below for updates you will need to make to your code. We expect our APIs to continue to undergo substantial changes prior to the v1.0 release.

Thanks to community member @austinabell for their contributions to this release!

Breaking Changes

  • Receipt verification now takes a Digest reference, not a Digest.
    • Now use receipt.verify(&IMAGE_ID) where you would previously have used receipt.verify(IMAGE_ID). (Where receipt is a risc0_zkvm::receipt::Receipt.)
  • We have updated our SHA accelerator interface
    • Now use risc0_zkvm::sha::Impl instead of risc0_zkvm::sha::sha. For example, where you would previously have called risc0_zkvm::sha::sha().hash_bytes(&bytes) in v0.12, now you instead call risc0_zkvm::sha::Impl::hash_bytes(&bytes) in v0.13.
    • There are various other SHA changes, please see our reference documentation for the risc0_zkvm::sha and risc0_zkvm::guest::sha modules for details.

Changelog

  • Decrease use of hardcoded set of buffers (accum, code, data), part 1 by @shkoo in #354
  • risc0-sys crate / HAL refactor by @mothran in #348
  • Add riscv-tests and fix divide extern by @flaub in #359
  • Fix bug in decoding memory instructions by @flaub in #361
  • Improvements to SHA-256 API by @nategraf in #330
  • [NFC] Refactor code in advance of adding support for alternate hashes by @jbruestle in #367
  • Fix metal support by @jbruestle in #369
  • Reword & re-link zkvm README by @tzerrell in #370
  • Update circuit to make it small enough that Metal works. by @jbruestle in #372
  • Add GPU to CI by @flaub in #378
  • Add support for the Poseidon hash and its use by the CPU + Metal Hals for proving and verifying by @jbruestle in #379
  • Add tracing instrumentation to prover to restore granularity by @shkoo in #382
  • Migrate factors & sha examples with shared methods by @tzerrell in #374
  • Add example tests & GPU support by @tzerrell in #386
  • Add SyncSlice for safe(r) multithreading use of slices by @shkoo in #387
  • Fix for #381 by @flaub in #391
  • Add risc0-build-kernel helper crate by @flaub in #392
  • fix: remove unnecessary unsafe sync impls from Elem by @austinabell in #383

New Contributors

Full Changelog: v0.12.0...v0.13.0