Releases: lambdaclass/cairo-vm
v2.0.0-rc3
What's Changed
- update cairo-lang dependencies to 2.10.0-rc.0 by @FrancoGiachetta in #1901
- Bump version to v2.0.0 rc3 by @FrancoGiachetta in #1902
Full Changelog: v2.0.0-rc2...v2.0.0-rc3
v2.0.0-rc2
What's Changed
- Update CODEOWNERS by @gabrielbosio in #1879
- Change macos-12 to macos-13 by @FrancoGiachetta in #1883
- Update pip cairo-lang to 0.13.3 by @whichqua in #1884
- Changes_for_using_hint_extention_feature by @YairVaknin-starkware in #1880
- Convert relocation table to HashMap<usize, MaybeRelocatable> by @notlesh in #1862
- feat: SECP related hints by @odesenfans in #1829
- (fix) Replace div_rem with div_mod_floor by @FrancoGiachetta in #1881
- Add circuits to cairo 1 README by @FrancoGiachetta in #1890
- Update cairo-lang deps to 2.9.2 by @edg-l in #1891
- Update starknet-crypto to 0.7.3 by @edg-l in #1892
- Bump version to v2.0.0-rc2 by @edg-l in #1893
New Contributors
- @gabrielbosio made their first contribution in #1879
- @whichqua made their first contribution in #1884
- @notlesh made their first contribution in #1862
Full Changelog: v2.0.0-rc1...v2.0.0-rc2
v2.0.0-rc1
What's Changed
- Update docs, cairo-lang-runner references by @pefontana in #1854
- Skip_pedersen_comparison_when_checking_pie_compatibility by @YairVaknin-starkware in #1855
- Runner: include data from constants segment to the bytecode when assembling program by @m-kus in #1864
- Add_missing_builtins_to_pie_metadata_serialization by @YairVaknin-starkware in #1868
- serde: add
size
field toIdentifier
by @tcoratger in #1861 - Sort_ecdsa_and_mod_builtins_private_inputs_by_idx by @YairVaknin-starkware in #1851
- Fix broken num-prime crate by @edg-l in #1873
- Fix scientific notation test by @FrancoGiachetta in #1878
- Implement TestLessThanOrEqualAddress y EvalCircuit Hints by @FrancoGiachetta in #1843
- Release v2.0.0-rc1 by @edg-l in #1876
New Contributors
- @m-kus made their first contribution in #1864
- @tcoratger made their first contribution in #1861
Full Changelog: v2.0.0-rc0...v2.0.0-rc1
v2.0.0-rc-0
-
chore: bump
cairo-lang-
dependencies to 2.9.0-dev.0 #1858 -
chore: update Rust required version to 1.81.0 #1857
-
- 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
andCairoRunner::new_v2
now receive anOption<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
-
fix(BREAKING): #1818:
- Fix
MemorySegmentManager::add_zero_segment
function when resizing a segment - Signature change(BREAKING):
MemorySegmentManager::get_memory_holes
now receivesbuiltin_segment_indexes: HashSet<usize>
- Fix
-
fix(BREAKING): Replace
CairoRunner
methodinitialize_all_builtins
withinitialize_program_builtins
. Now it only initializes program builtins instead of all of them
v1.0.0
-
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
methodget_memory_holes
now receives the index of the output builtin (as anOption<usize>
) instead of the boolean argumenthas_output_builtin
#1811
-
fix: ambiguous keccak module name use on external contexts #1809
v1.0.0-rc6
- 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
- fix: Fixed deserialization of negative numbers in scientific notation #1804
v1.0.0-rc4
-
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.
- Load
-
fix: Change (de)serialization of CairoPie's
OutputBuiltinAdditionalData
'sPublicMemoryPage
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 theCairo1HintProcessor
&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 ifuse_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 theCairo1HintProcessor
, which calls the aforementioned method. - Add casm instruction to call the aforementioned cheatcode in
create_entry_code
if eitherproof_mode
orappend_return_values
are set to true, and segment arena is present.
- Add the flags
-
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>>
orArray<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]]
- Checks that only
-
feat: Handle
BoundedInt
variant inserialize_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