Skip to content

Releases: lambdaclass/cairo-vm

v0.9.2

03 Jan 21:12
8ab4471
Compare
Choose a tag to compare
  • Change ec_op_impl() to use ProjectivePoint #1534

v0.8.3

11 Dec 09:42
3e38d9e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.2...v0.8.3

v0.9.1

16 Nov 21:52
6fa38f7
Compare
Choose a tag to compare
  • chore: bump cairo-lang- dependencies to 2.3.1 #1482, #1483

  • feat: Make PublicInput fields public #1474

  • chore: bump starknet-crypto to v0.6.1 #1469

  • feat: Implement the Serialize and Deserialize methods for the Program struct #1458

  • feat: Use only program builtins when running cairo 1 programs #1457

  • feat: Use latest cairo-vm version in cairo1-run crate #1455

  • feat: Implement a CLI to run cairo 1 programs #1370

  • fix: Fix string code of BLAKE2S_ADD_UINT256 hint #1454

v0.9.0

09 Oct 16:45
v0.9.0
77f4d2c
Compare
Choose a tag to compare

[0.9.0] - 2023-10-03

  • fix: Default to empty attributes vector when the field is missing from the program JSON #1450

  • fix: Change serialization of CairoPieMemory to match Python's binary format #1447

  • fix: Remove Deserialize derive from CairoPie and fix Serialize implementation to match Python's #1444

  • fix: ec_recover hints no longer panic when divisor is 0 #1433

  • feat: Implement the Serialize and Deserialize traits for the CairoPie struct #1438

  • fix: Using UINT256_HINT no longer panics when b is greater than 2^256 #1430

  • feat: Added a differential fuzzer for programs with whitelisted hints #1358

  • fix(breaking): Change return type of get_execution_resources to RunnerError #1398

  • Don't build wasm-demo in build target + add ci job to run the wasm demo #1393

    • Adds default-members to workspace
    • Crate examples/wasm-demo is no longer built during make build
    • make check no longer compiles the cairo file used in the wasm-demo
    • Removes Makefile targets examples/wasm-demo/src/array_sum.json & example_program
    • wasm-demo now uses the compiled cairo file in cairo_programs directory instead of its own copy
  • feat: Add Program::new_for_proof #1396

v0.8.7

28 Aug 22:07
6c5bf89
Compare
Choose a tag to compare
  • Add REDUCE_V2 hint #1420:

    • Implement REDUCE_V2 hint
    • Rename hint REDUCE -> REDUCE_V1
  • BREAKING: Add disable_trace_padding to CairoRunConfig#1233

  • feat: Implement CairoRunner.get_cairo_pie#1375

  • fix: Fix SPLIT_FELT hint #1387

  • refactor: combine Program.hints and Program.hints_ranges into custom collection #1366

  • fix: Fix div_mod #1383

    • Fixes div_mod function so that it behaves like the cairo-lang version
    • Various functions in the math_utils crate can now return a MathError : div_mod, ec_add, line_slope, ec_double, ec_double_slope.
    • Fixes UINT256_MUL_INV_MOD_P hint so that it behaves like the python code.

v0.8.6

14 Aug 17:09
030b7eb
Compare
Choose a tag to compare
  • fix: Handle error in hint UINT256_MUL_DIV_MOD when divides by zero #1367

  • Add HintError::SyscallError and VmErrors::HINT_ERROR_STR constant #1357

  • feat: make arbitrary feature also enable a proptest::arbitrary::Arbitrary implementation for Felt252 #1355

  • fix: correctly display invalid signature error message #1361

v0.6.3

14 Aug 20:44
dca2e7b
Compare
Choose a tag to compare
  • fix: Handle error in hint UINT256_MUL_DIV_MOD when divides by zero #1367

v0.8.5

31 Jul 18:03
1642e70
Compare
Choose a tag to compare
  • fix: Program comparison depending on hints_ranges ordering #1351

  • feat: implement the --air_public_input flag to the runner for outputting public inputs into a file #1268

  • fix: CLI errors bad formatting and handling

  • fix: return error when a parsed hint's PC is invalid #1340

  • chore(deps): bump cairo-lang dependencies to v2.1.0-rc2 #1345

  • chore(examples): remove wee_alloc dependency from wasm-demo example and ensure-no_std dummy crate #1337

  • docs: improved crate documentation #1334

  • chore!: made deserialize_utils module private #1334
    BREAKING:

    • deserialize_utils is no longer exported
    • functions maybe_add_padding, parse_value, and take_until_unbalanced are no longer exported
    • ReferenceParseError is no more
  • perf: changed ok_or usage for ok_or_else in expensive cases #1332

  • feat: updated the old WASM example and moved it to examples/wasm-demo #1315

  • feat(fuzzing): add arbitrary feature to enable arbitrary derive in Program and CairoRunConfig #1306 #1330

  • perf: remove pointless iterator from rc limits tracking #1316

  • feat(felt): add from_bytes_le and from_bytes_ne methods to Felt252 #1326

  • perf: change Program::shared_program_data::hints from HashMap<usize, Vec<Box<dyn Any>>> to Vec<Box<dyn Any>> and refer to them as ranges stored in a Vec<_> indexed by PC with run time reductions of up to 12% #931
    BREAKING:

    • get_hint_dictionary(&self, &[HintReference], &mut dyn HintProcessor) -> Result<HashMap<usize, Vec<Box<dyn Any>>, VirtualMachineError> ->
      get_hint_data(self, &[HintReference], &mut dyn HintProcessor) -> Result<Vec<Box<dyn Any>, VirtualMachineError>
    • Hook methods receive &[Box<dyn Any>] rather than &HashMap<usize, Vec<Box<dyn Any>>>

v0.6.2

12 Jul 13:28
8b503c1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.6.1...v0.6.2

v0.8.2

10 Jul 22:54
0511b71
Compare
Choose a tag to compare
  • chore: update dependencies, particularly lamdaworks 0.1.2 -> 0.1.3 #1323

  • fix: fix UINT256_MUL_DIV_MOD hint #1320

  • feat: add dependency installation script install.sh #1298

  • fix: specify resolver version 2 in the virtual workspace's manifest #1311

  • feat: add lambdaworks-felt feature to cairo-vm-cli #1308

  • chore: update dependencies, particularly clap 3.2 -> 4.3 #1309

    • this removes dependency on atty, that's no longer mantained
  • chore: remove unused dependencies #1307

    • rand_core
    • serde_bytes
    • rusty-hook (dev-dependency)
  • chore: bump cairo-lang-starknet and cairo-lang-casm dependencies to 2.0.0 #1313