github starkware-libs/cairo v2.16.0

latest releases: v2.17.0-rc.0, sierra-v1.8.0
9 hours ago

Major Changes

  • Added placeholder error codes for all diagnostics. #9302

  • Contextualized paths for shorter and more readable diagnostics. #9265

Diagnostic messages now show shorter, context-aware paths making errors easier to understand.

  • Created a dataflow analysis framework and migrated backward analysis. #9533

Bug Fixes

  • Removed intermediate names from event generated code. #9638
  • Made formatter keep ; when it causes ambiguity. #9592
  • Fixed mishandling of Self:: in impl-const-items. #9562
  • Fixed const-impl-item type-diagnostics span. #9561
  • Avoided duplicate ClosureInGlobalScope diagnostics. #9349
  • Fixed substorage diagnostic formatting. #9242
  • Made internal version dependency fully-fixed. #9313
  • Fixed full path for functions in a generic impl. #9267

Optimizations

Compiler Runtime

  • Made casm builder build algorithm linear. #9489
  • Improved stack-tracking algorithm. #9491
  • Vastly reduced the number of clones for building a Sierra program. #9467
  • Simplified GasInfo::combine implementation. #9552
  • Replaced maps enumerating all statements with Vecs. #9545
  • Reduced many map actions by refactoring CostOps. #9536
  • Made ApplyApChange inplace. #9448
  • Simplified decompression by using bit alignment of encoding. #9607
  • Removed many interim vectors for extern fn processing. #9569
  • Made const-folding VarInfo cloning shallow by rc. #9304

Gas Usage

  • Optimized sha256 padding code. #9360
  • Used iterator and BoundedInt for generating keccak input. #9425
  • Reboxing now works recursively and applies optimization at deconstruct statement. #9338

Other Changes

  • Added cost-token for blake. #9506
  • Allow immediate consumption of ref self of temporaries. #9565
  • Made single variant matches not create branch align. #9618
  • Improved Sierra debug info serde. #9525
  • Updated salsa version to 0.25.2. #9280
  • Extensive documentation improvements across the reference docs.

New Contributors

Full Changelog: v2.15.0...v2.16.0

Don't miss a new cairo release

NewReleases is sending notifications on new releases.