Releases: Zokrates/ZoKrates
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
This new release of ZoKrates introduces experimental assembly blocks.
For a full list of the changes, check out the changelog.
0.8.3
0.8.2
This new release of ZoKrates introduces some new language features:
- Shadowing is now allowed ✅
field a = 42;
bool a = true;
- Functions implicitly return
()
. For example, the following is now allowed without a return statement:
def main() {
}
- Casting between types is now easier by importing
cast
fromutils/casts
function
u64 a = 42;
u16[4] b = cast(42);
- A bug in the
circom
integration was fixed
For a full list of the changes, check out the changelog.
0.8.1
0.8.0
This version includes a breaking change in the specification of the ZoKrates domain-specific language:
- Due to common feedback, the new ZoKrates syntax uses curly braces and semi-colons:
// 0.7
def main():
return 1
// 0.8
def main() {
return 1;
}
- Variables are now Immutable by default. Mutable variables require usage of the new
mut
keyword. - Multi returns are not supported anymore. Tuples can be used instead.
- A new statement named
log
enables printing values at run time:
def main(field x) {
log("x is {}", x);
return
}
Other notable changes:
- The
libsnark
backend and thePGHR13
scheme are no longer supported - ZoKrates can now export snarkjs-compatible artifacts
For a full list of the changes, check out the changelog.
0.7.14
The main feature in this new release is the inclusion of the curve and the proving scheme in the proof and verification key. This removes the need to pass these parameters when creating a solidity verifier, printing the proof, and verifying it.
In addition, this release features a range of small bug fixes.
For a full list of the changes, check out the changelog.