Skip to content

Releases: starkware-libs/cairo-lang

v0.13.3

13 Nov 15:49
Compare
Choose a tag to compare

Starknet

  • OS: compress the state diff.
  • Package zip: include all OS cairo files.

v0.13.2

18 Aug 09:37
Compare
Choose a tag to compare

Starknet

  • API changes:
    • Block hash calculation has changed and is now implemented in Rust
    • Starknet block:
      • receipt_commitment, state_diff_commitment, and state_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 and get_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

16 Jul 06:58
Compare
Choose a tag to compare
v0.13.2a0 Pre-release
Pre-release

Starknet

  • API changes:
    • Block hash calculation has changed and is now implemented in Rust
    • Starknet block:
      • receipt_commitment, state_diff_commitment, and state_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 and get_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

05 Mar 19:31
Compare
Choose a tag to compare

Starknet

  • Use EIP 4844 for cheaper data availability

  • Time-related syscalls when called from account contract's __validate__:

    • timestamp will return the hour, rounded down
    • block_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 and strk_l1_gas_price were replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas price
      • execution_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 and event_commitment are added to the block (zero is returned for old blocks)
  • Infrastructure updates:

    • Support multiple L1 providers
  • CairoZero:

    • Remove 128-bit limitation from search_sorted_lower

v0.13.1a0

12 Feb 18:00
Compare
Choose a tag to compare
v0.13.1a0 Pre-release
Pre-release

Starknet

  • Use EIP 4844 for cheaper data availability

  • Time-related syscalls when called from account contract's __validate__:

    • timestamp will return the hour, rounded down
    • block_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 and strk_l1_gas_price were replaced, and the information now contains the data gas price (EIP 4844) in addition to the regular gas price
      • execution_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 and event_commitment are added to the block (zero is returned for old blocks)
  • Infrastructure updates:

    • Support multiple L1 providers

v0.13.0

12 Dec 14:21
Compare
Choose a tag to compare

Starknet

  • Add transaction v3:
    • Fee payment in STRK
    • Reserved fields for future features, such as volition and payment master
  • get_block API: Rename the gas_price field to eth_l1_gas_price and add a new field strk_l1_gas_price (this applies to old blocks as well)
  • Update Sierra version used in Starknet to 1.4.0 (introduced in crate version v2.4.0 of the cairo package)
  • Improved performance of secp256k1_mul and secp256r1_mul syscalls

v0.13.0a3

05 Dec 12:28
Compare
Choose a tag to compare
v0.13.0a3 Pre-release
Pre-release

Starknet

  • Add transaction v3:
    • Fee payment in STRK
    • Reserved fields for future features, such as volition and payment master
  • get_block API: Rename the gas_price field to eth_l1_gas_price and add a new field strk_l1_gas_price (this applies to old blocks as well)
  • Update Sierra version used in Starknet to 1.4.0 (introduced in crate version v2.4.0 of the cairo package)
  • Improved performance of secp256k1_mul and secp256r1_mul syscalls

v0.13.0a2

29 Nov 10:37
Compare
Choose a tag to compare
v0.13.0a2 Pre-release
Pre-release

Starknet

  • Add transaction v3:
    • Fee payment in STRK
    • Reserved fields for future features, such as volition and payment master
  • get_block API: Rename the gas_price field to eth_l1_gas_price and add a new field strk_l1_gas_price (this applies to old blocks as well)
  • Update Sierra version used in Starknet to 1.4.0 (introduced in crate version v2.4.0 of the cairo package)
  • Improved performance of secp256k1_mul and secp256r1_mul syscalls

v0.13.0a1

21 Nov 09:52
Compare
Choose a tag to compare
v0.13.0a1 Pre-release
Pre-release

Starknet

  • Add transaction v3:
    • Fee payment in STRK
    • Reserved fields for future features, such as volition and payment master
  • get_block API: Rename the gas_price field to eth_l1_gas_price and add a new field strk_l1_gas_price (this applies to old blocks as well)
  • Update Sierra version used in Starknet to 1.4.0 (introduced in crate version v2.4.0 of the cairo package)

v0.12.3

20 Nov 07:59
Compare
Choose a tag to compare

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 the secp256k1 code to secp256r1!
  • Restriction for __validate__ and the constructor of DeployAccount transactions:
    • Restrict access to sequencer_address in the get_execution_info syscall - return zero values
    • Restrict access to some syscalls:
      • Cairo contracts: get_block_hash
      • CairoZero contracts: get_sequencer_address

CairoZero

  • Move structs that are common to secp256k1 and secp256r1 to a separate file