Skip to content

Releases: lambdaclass/cairo-vm

v2.0.0-rc3

26 Dec 17:04
9aa0a5f
Compare
Choose a tag to compare
v2.0.0-rc3 Pre-release
Pre-release

What's Changed

Full Changelog: v2.0.0-rc2...v2.0.0-rc3

v2.0.0-rc2

12 Dec 14:45
3f3df3e
Compare
Choose a tag to compare
v2.0.0-rc2 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.0.0-rc1...v2.0.0-rc2

v2.0.0-rc1

12 Dec 14:44
388a4e5
Compare
Choose a tag to compare
v2.0.0-rc1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.0.0-rc0...v2.0.0-rc1

v2.0.0-rc-0

23 Oct 15:14
d2257d6
Compare
Choose a tag to compare
v2.0.0-rc-0 Pre-release
Pre-release
  • chore: bump cairo-lang- dependencies to 2.9.0-dev.0 #1858

  • chore: update Rust required version to 1.81.0 #1857

  • feat(BREAKING): #1824#1838:

    • Add support for dynamic layout
    • CLI change(BREAKING): The flag cairo_layout_params_file must be specified when using dynamic layout.
    • Signature change(BREAKING): Both CairoRunner::new and CairoRunner::new_v2 now receive an Option<CairoLayoutParams>, used only with dynamic layout.
  • fix: #1841:

    • Fix modulo builtin to comply with prover constraints
  • chore: bump pip cairo-lang 0.13.2 #1827

  • chore: bump cairo-lang- dependencies to 2.8.0 #1833

    • chore: update Rust required version to 1.80.0
  • fix: Added the following VM fixes: #1820

    • Fix zero segment location.
    • Fix has_zero_segment naming.
    • Fix prover input.
    • Fix version reading when no version is supplied.
  • chore: bump cairo-lang- dependencies to 2.7.1 #1823

v1.0.1

12 Aug 17:55
93f1f54
Compare
Choose a tag to compare
  • fix(BREAKING): #1818:

    • Fix MemorySegmentManager::add_zero_segment function when resizing a segment
    • Signature change(BREAKING): MemorySegmentManager::get_memory_holes now receives builtin_segment_indexes: HashSet<usize>
  • fix(BREAKING): Replace CairoRunner method initialize_all_builtins with initialize_program_builtins. Now it only initializes program builtins instead of all of them

v1.0.0

01 Aug 16:49
4147633
Compare
Choose a tag to compare
  • chore: bump cairo-lang- dependencies to 2.7.0 #1813

  • fix(BREAKING): Don't assume output builtin is first when counting memory holes

    • Logic change: Memory hole counting no longer asumes that the output builtin ocuppies the first builtin segment if present
    • Signature change: MemorySegmentManager method get_memory_holes now receives the index of the output builtin (as an Option<usize>) instead of the boolean argument has_output_builtin#1811
  • fix: ambiguous keccak module name use on external contexts #1809

v1.0.0-rc6

01 Aug 16:48
24c2349
Compare
Choose a tag to compare
v1.0.0-rc6 Pre-release
Pre-release
  • chore: bump cairo-lang- dependencies to 2.7.0-rc.3 #1807
    • chore: update Rust required version to 1.76.0

v1.0.0-rc5

13 Jul 00:17
309c8a7
Compare
Choose a tag to compare
v1.0.0-rc5 Pre-release
Pre-release
  • fix: Fixed deserialization of negative numbers in scientific notation #1804

v1.0.0-rc4

06 Jul 12:29
bb491f2
Compare
Choose a tag to compare
v1.0.0-rc4 Pre-release
Pre-release
  • chore: bump cairo-lang- dependencies to 2.6.4 #1799

    • fix: revert breaking change on public input serialization
  • fix: Remove validation of CairoPie memory values #1783

  • fix: Handle GasBuiltin in cairo1-run crate #1789

    • Load initial_gas into vm instead of creating it via instructions.
    • Fix bug affecting programs with input arguments and gas builtin.
  • fix: Change (de)serialization of CairoPie's OutputBuiltinAdditionalData's PublicMemoryPage to vectors of length 2. #1781

  • fix: Fixed deserialization issue when signature additional data is empty, and the name of the builtin range_check96 #1785

  • refactor + bugfix: Improve arg handling for cairo1-run #1782

    • Now uses ascii whitespace as separator, preventing errors when using newlines in args file
    • No longer gets stuck on improperly-formatted arrays
    • Returns an informative clap error upon invalid felt strings instead of unwrapping
  • fix: Ignore memory order when comparing instances of CairoPieMemory #1780

  • feat: Add EXCESS_BALANCE hint #1777

  • feat(BREAKING): Use a cheatcode to relocate all dicts + Make temporary segment usage configurable #1776

    • Add the flags segment_arena_validation & use_temporary_segments to the Cairo1HintProcessor & DictManagerExecScope respectively. These flags will determine if real segments or temporary segments will be used when creating dictionaries.
    • DictManagerExecScope::finalize_segment no longer performs relocation and is ignored if use_temporary_segments is set to false.
    • Add method DictManagerExecScope::relocate_all_dictionaries that adds relocation rules for all tracked dictionaries, relocating them one next to the other in a new segment.
    • Add cheatcode RelocateAllDictionaries to the Cairo1HintProcessor, which calls the aforementioned method.
    • Add casm instruction to call the aforementioned cheatcode in create_entry_code if either proof_mode or append_return_values are set to true, and segment arena is present.
  • Bump starknet-types-core version + Use the lib's pedersen hash #1734

  • refactor: Add boolean method Cairo1RunConfig::copy_to_output + Update Doc #1778

  • feat: Filter implicit arguments from return value in cairo1-run crate #1775

  • feat(BREAKING): Serialize inputs into output segment in cairo1-run crate:

    • Checks that only Array<Felt252> can be received by the program main function when running with with either --proof_mode or --append_return_values.

    • Copies the input value to the output segment right after the output in the format [array_len, arr[0], arr[1],.., arr[n]].

                * feat: specify initial value for `exec_scopes` in `cairo_run_program` [1772](https://github.com/lambdaclass/cairo-vm/pull/1772)
      
  • fix: make MemorySegmentManager.finalize() public #1771

  • feat: load Cairo PIE from bytes #1773

  • feat(BREAKING): Serialize Array<Felt252> return value into output segment in cairo1-run crate:

    • Checks that only PanicResult<Array<Felt252>> or Array<Felt252> can be returned by the program when running with either --proof_mode or --append_return_values.
    • Serializes return values into the output segment under the previous conditions following the format:
      • PanicResult<Array<Felt252>> -> [panic_flag, array_len, arr[0], arr[1],.., arr[n]]
      • <Array<Felt252> -> [array_len, arr[0], arr[1],.., arr[n]]
  • feat: Handle BoundedInt variant in serialize_output, cairo1-run crate #1768

  • fix: make OutputBuiltinState public #1769

  • feat: Load arguments into VM instead of creating them via instructions in cairo1-run #1759

v0.9.3

07 Jun 18:23
e3a244e
Compare
Choose a tag to compare
  • feat: Add EXCESS_BALANCE hint #1777