Releases: starkware-libs/cairo-lang
v0.13.3
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_length
are added to the block (only for new blocks)execution_resources
in 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_traces
andget_transaction_trace
are 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_length
are added to the block (only for new blocks)execution_resources
in 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_traces
andget_transaction_trace
are 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__
:timestamp
will return the hour, rounded downblock_number
will 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-hash
command -
API changes:
- Starknet block:
- New field
l1_da_mode
, which indicates whether EIP 4844 was used in the block eth_l1_gas_price
andstrk_l1_gas_price
were replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas priceexecution_resources
in 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_commitment
andevent_commitment
are 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__
:timestamp
will return the hour, rounded downblock_number
will 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-hash
command -
API changes:
- Starknet block:
- New field
l1_da_mode
, which indicates whether EIP 4844 was used in the block eth_l1_gas_price
andstrk_l1_gas_price
were replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas priceexecution_resources
in 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_commitment
andevent_commitment
are 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_block
API: Rename thegas_price
field toeth_l1_gas_price
and 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.0
of the cairo package) - Improved performance of
secp256k1_mul
andsecp256r1_mul
syscalls
v0.13.0a3
Starknet
- Add transaction v3:
- Fee payment in STRK
- Reserved fields for future features, such as volition and payment master
get_block
API: Rename thegas_price
field toeth_l1_gas_price
and 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.0
of the cairo package) - Improved performance of
secp256k1_mul
andsecp256r1_mul
syscalls
v0.13.0a2
Starknet
- Add transaction v3:
- Fee payment in STRK
- Reserved fields for future features, such as volition and payment master
get_block
API: Rename thegas_price
field toeth_l1_gas_price
and 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.0
of the cairo package) - Improved performance of
secp256k1_mul
andsecp256r1_mul
syscalls
v0.13.0a1
Starknet
- Add transaction v3:
- Fee payment in STRK
- Reserved fields for future features, such as volition and payment master
get_block
API: Rename thegas_price
field toeth_l1_gas_price
and 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.0
of the cairo package)
v0.12.3
Starknet
- Performance optimizations in the gateway, the computation of the Patricia storage root and block hash
- Support
secp256r1
syscalls in the Starknet OS. Thanks to Braavos for adapting thesecp256k1
code tosecp256r1
! - Restriction for
__validate__
and the constructor ofDeployAccount
transactions:- Restrict access to
sequencer_address
in theget_execution_info
syscall - return zero values - Restrict access to some syscalls:
- Cairo contracts:
get_block_hash
- CairoZero contracts:
get_sequencer_address
- Cairo contracts:
- Restrict access to
CairoZero
- Move structs that are common to
secp256k1
andsecp256r1
to a separate file