Skip to content

Releases: starkware-libs/cairo

v2.11.2

10 Mar 15:00
Compare
Choose a tag to compare

Bug Fixes

  • Prevented code containing malformed function params from creating compiler panics.
  • Made unsupported allows be a warning instead of an error.
  • Fixed formatter panic issue with sorting usages.

Full Changelog: v2.11.1...v2.11.2

v2.11.1

06 Mar 08:18
cc6f06c
Compare
Choose a tag to compare

What's Changed

  • Downgraded SmolStr lib. #7405

Full Changelog: v2.11.0...v2.11.1

v2.11.0

05 Mar 09:58
dafcfed
Compare
Choose a tag to compare

New Features

  • Added option for gas disabling cfg. #6916
  • Allowed use of variants. Allows for matching over a short name and variant construction on the short name.
  • Added const evaluation.
    • Allows for defining const fns and calling these when defining constants or defining other const fns.
  • Finding @T impls near T definition. #7024
  • When not finding methods - compiler now suggests the missing trait.
  • Support for return and ? from inside loops.
  • Added support for using the methods of Deref::Target of a type - not just members.
  • inferring closures types within higher order functions. #7091
  • Added validations that starknet storage members are valid.
  • Printing the missed token in parser diag. #7296
  • implemented iterable squashed felt252 dict - available only for testing. #7289
  • Added support for starknet consts (ContractAddress and ClassHash). #7301

Corelib Additions

Bug Fixes

  • added validation for generic params of impl functions. #6934
  • Making _ still fully lower the relevant variable. #6984
  • Closure works in all non-generic contexts and in most generic contexts.
  • Prevent implementation of disallowed traits such as Felt252DictValue, and NumericLiteral.
  • Made all basic derives be based on members. #7321

Optimizations

  • Reduce gas usage of pow by about 15 percent. #7013
  • Made the panic functions #[inline(never)] to reduce code size. #7385
  • Added panic_with_const_felt252 function and using it where possible to reduce code size. #7386

Formatter Updates

  • Treat super and crate as top_level in use merge. #6908
  • Changed default to sort uses and mods.
  • Removing more unrequired :: in formatter. #7020

New Contributors

Read more

v2.10.1

19 Feb 13:30
Compare
Choose a tag to compare

Bug Fixes

  • Fix snapshots in loops.

Full Changelog: v2.10.0...v2.10.1

v2.9.4

19 Feb 13:31
Compare
Choose a tag to compare

Bug Fixes

  • Fix snapshots in loops.

Full Changelog: v2.9.3...v2.9.4

v2.11.0-dev.2

18 Feb 12:58
Compare
Choose a tag to compare

Cairo compiler.

v2.11.0-dev.1

17 Feb 10:06
Compare
Choose a tag to compare

Cairo compiler.

v2.11.0-dev.0

17 Feb 08:16
Compare
Choose a tag to compare

Cairo compiler.

v2.10.0

16 Feb 15:32
3d5631d
Compare
Choose a tag to compare

This is the Cairo version associated with Starknet 0.13.4. Contracts written with 2.10.0 are not declarable on Starknet until the upgrade.

What's Changed

  • Corelib documentation updates.
  • implement cfg not, and and or. #6802
  • Panic when a dependency is misconfigured. #6858
  • update error message for missing '0x' prefix by @chen-liang-CN in #6869
  • Adding the last line of a multi-line diagnostics. #6850
  • Changing the prioritization in output Diagnostics. #6884
  • Using correct type on snapshot mismatch. #6902
  • Adding redeposit gas by default. #6904
  • Refactored bounded_int_trim. #7062
  • Added const for starknet types. #6961

New Contributors

Full Changelog: v2.9.2...v2.10.0

v2.9.3

13 Feb 14:50
Compare
Choose a tag to compare

Fixing the old snapshot bug in loops: #7272.
When a generated loop function doesn't take ownership, and several snapshots of the variable exist, the latest may not be the one chosen.

Full Changelog: v2.9.2...v2.9.3