Releases: starkware-libs/cairo-lang
v0.14.1a0
Starknet
- Remove deprecated Starknet Python utils
- Move the Starknet OS to the sequencer repo
Cairo
- Implement Patrica update that is optimized for heavy read workloads
v0.14.0.1
v0.13.5
Starknet
- Fix the price of deploy syscall
- Support V1-bound accounts through V3 transactions
v0.13.4a1
Starknet
- API changes:
- Transaction:
- Support non-zero L2 bound
- Add L1 data gas to resource bounds
- Starknet block:
- Add L2 gas price to the header
- Add L2 gas to the receipt
- Transaction:
- Execution:
- Support Cairo Native
- Use Sierra Gas metering to limit execution and fee charge
- Support reverts of internal calls
- New syscall: get_class_hash_at
- Stateful compression of the data availability
- Bug fixes:
- Signature hash calculation in block hash
For more info: https://community.starknet.io/t/starknet-v0-13-4-pre-release-notes/115257
v0.13.3
Starknet
- OS: compress the state diff.
- Package zip: include all OS cairo files.
v0.13.2
Starknet
- API changes:
- Block hash calculation has changed and is now implemented in Rust
- Starknet block:
receipt_commitment,state_diff_commitment, andstate_diff_lengthare added to the block (only for new blocks)execution_resourcesin transaction receipt now contains the total gas consumed
- Block signature: sign the block hash instead of the block hash and the state diff commitment
get_block_tracesandget_transaction_traceare deprecated from version 0.13.2
- New syscall: sha256
- New builtins: add_mod, mul_mod, range_check96
- Applicative-recursion: Until now, we have had a state update on L1 for every L2 block. Applicative recursion enables breaking this coupling by aggregating block proofs offchain and sending onchain a single state update proof per many blocks
- Performance:
- Compute block commitment in Rust
- Execute transactions concurrently (implement a variant of block-STM)
- Bug fixes:
- StateUpdate: exclude empty storage diff lists
For more info: https://community.starknet.io/t/starknet-v0-13-2-pre-release-notes/114223
v0.13.2a0
Starknet
- API changes:
- Block hash calculation has changed and is now implemented in Rust
- Starknet block:
receipt_commitment,state_diff_commitment, andstate_diff_lengthare added to the block (only for new blocks)execution_resourcesin transaction receipt now contains the total gas consumed
- Block signature: sign the block hash instead of the block hash and the state diff commitment
get_block_tracesandget_transaction_traceare deprecated from version 0.13.2
- New syscall: sha256
- New builtins: add_mod, mul_mod, range_check96
- Applicative-recursion: Until now, we have had a state update on L1 for every L2 block. Applicative recursion enables breaking this coupling by aggregating block proofs offchain and sending onchain a single state update proof per many blocks
- Performance:
- Compute block commitment in Rust
- Execute transactions concurrently (implement a variant of block-STM)
- Bug fixes:
- StateUpdate: exclude empty storage diff lists
For more info: https://community.starknet.io/t/starknet-v0-13-2-pre-release-notes/114223
v0.13.1
Starknet
-
Use EIP 4844 for cheaper data availability
-
Time-related syscalls when called from account contract's
__validate__:timestampwill return the hour, rounded downblock_numberwill return the block number rounded down to the nearest multiple of 100
-
Optimization: Load only the used functions in a contract into memory when generating the proof
-
Add
starknet-compiled-class-hashcommand -
API changes:
- Starknet block:
- New field
l1_da_mode, which indicates whether EIP 4844 was used in the block eth_l1_gas_priceandstrk_l1_gas_pricewere replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas priceexecution_resourcesin transaction receipt now contains:- data availability resources
- syscall resources (which contribute to the transaction fee but were not included in the receipt until this version)
transaction_commitmentandevent_commitmentare added to the block (zero is returned for old blocks)
- New field
- Starknet block:
-
Infrastructure updates:
- Support multiple L1 providers
-
CairoZero:
- Remove 128-bit limitation from
search_sorted_lower
- Remove 128-bit limitation from
v0.13.1a0
Starknet
-
Use EIP 4844 for cheaper data availability
-
Time-related syscalls when called from account contract's
__validate__:timestampwill return the hour, rounded downblock_numberwill return the block number rounded down to the nearest multiple of 100
-
Optimization: Load only the used functions in a contract into memory when generating the proof
-
Add
starknet-compiled-class-hashcommand -
API changes:
- Starknet block:
- New field
l1_da_mode, which indicates whether EIP 4844 was used in the block eth_l1_gas_priceandstrk_l1_gas_pricewere replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas priceexecution_resourcesin transaction receipt now contains:- data availability resources
- syscall resources (which contribute to the transaction fee but were not included in the receipt until this version)
transaction_commitmentandevent_commitmentare added to the block (zero is returned for old blocks)
- New field
- Starknet block:
-
Infrastructure updates:
- Support multiple L1 providers
v0.13.0
Starknet
- Add transaction v3:
- Fee payment in STRK
- Reserved fields for future features, such as volition and payment master
get_blockAPI: Rename thegas_pricefield toeth_l1_gas_priceand add a new fieldstrk_l1_gas_price(this applies to old blocks as well)- Update Sierra version used in Starknet to
1.4.0(introduced in crate versionv2.4.0of the cairo package) - Improved performance of
secp256k1_mulandsecp256r1_mulsyscalls