Skip to content

Releases: starkware-libs/cairo

v2.0.0-rc5

27 Jun 08:01
801265d
Compare
Choose a tag to compare

Cairo compiler.

v2.0.0-rc4

20 Jun 15:09
de46796
Compare
Choose a tag to compare

Cairo compiler.

v2.0.0-rc3

19 Jun 11:35
8c4087e
Compare
Choose a tag to compare

Cairo compiler.

v2.0.0-rc2

14 Jun 08:37
9aeaf41
Compare
Choose a tag to compare

Cairo compiler.

v2.0.0-rc1

12 Jun 09:42
135aa91
Compare
Choose a tag to compare

Cairo compiler.

v2.0.0-rc0

11 Jun 14:09
2545395
Compare
Choose a tag to compare

Cairo compiler.

Major updates

  • New contract syntax, see more details.
  • Fixed language server issues.
  • Updated docs.

Breaking Changes

  • Contract syntax changes.
  • Fix of operator precedence - note that & and | have lower precedence now than == and !=.
    • Due to added support for && and || operators.

Bug Fixes

  • Prevent formatting of files with syntax errors. #3168
  • Fixed bug when attempting to compile large amounts of code, where Sierra to CASM compilation failed. #3230
  • Added diagnostics for illegal match statement inputs. #3238
  • Fix handling of underscores in numeric literals semantic. #3314

New Features

// Foo will now be a valid type for a storage variable.
#[derive(starknet::StorageAccess)]
struct Foo {
   a: felt252,
   b: u256,
}
  • Added recover_public_key to secp256k1. #2928
  • Added Default trait for Array/Dict. By @wraitii in #3048
    • let d: Felt252Dict<Felt252> = Default::default();
  • Added U256IntoEthAddress. #3244
  • Added verify_eth_signature to secp256k1. #2929
  • Derive StorageAccess for EthAddress and abi Dispatcher builtin types. By @maciejka in #3247
  • Derive Serde for dispatchers. By @ftupas in #3241
  • Added support for secp256r1 in Cairo. #3269
  • Added SpanSerde implementation. By @milancermak in #3145
  • Add support for logical operators with short circuiting. #3323
if cond1 && (cond2 || cond3) {
    ...
}
  • Major type and Inference runtime improvements. #3347
  • #[generate_trait] attribute - to write just an impl for creating methods for a type.
  #[generate_trait]
  impl AddMethods for AddMethodsTrait {
      fn method(self: TypeWithNewMethods) -> u32 { ... }
  }

New Contributors

Full Changelog: v1.1.0...v2.0.0-rc0

v1.1.0

28 May 07:05
1003d5d
Compare
Choose a tag to compare

Bug Fixes:

  • Added diagnostics for if cond not bool. #3027
  • Added diagnostics for multiple definitions of fns in impls and traits. #3033
  • Fixed debug print python hint. #3115

New Features:

  • feat: Support generic types in Derive statements by @wraitii in #2964
  • Add keccak_uint256s_be. #3006
  • Add tx_info context setters for testing by @ericnordelo in #3005
  • Added panic reasons to revert-reason in interoperabily sim. #3007
  • feat: impl Into<T,T> by @greged93 in #3036
  • Added BitNot operation. #3021
  • Formatter Improvements.
  • feat: u256 literal by @greged93 in #3038
  • Add a .nvmrc file and update the README with info about NVM by @stefanalfbo in #3012
  • Add u128_byte_reverse. #2839
  • Added u256 try_into felt252. #3055
  • Added print function for u256 to debug by @robertkodra in #3047
  • Fixed casm test for pythonic print. #3116
  • Added widemul for u256. #3108
  • Add starknet::get_block_number by @tensojka in #2838
  • Added u512_divmod_by_u256. #3112
  • Add member completions for the language server.

New Contributors

Full Changelog: v1.0.0...v1.1.0

v1.1.0-rc0

22 May 09:15
82f8c2b
Compare
Choose a tag to compare

Cairo compiler.

Bump version to v1.1.0-alpha0

16 May 10:13
Compare
Choose a tag to compare

V1.0.0

15 May 15:53
4e32aa5
Compare
Choose a tag to compare

Minor visibility changes.