Skip to content

v1.0.0-rc0

Compare
Choose a tag to compare
@github-actions github-actions released this 02 May 11:02
· 3273 commits to main since this release
05867c8

Optimizations:

  • Sierra code size:
    • Compressed sierra code - X20 shrinking of the sent code size.
    • Removed unrequired StructDestructure commands when followed by drops.

Bug Fixes:

Breaking Changes:

  • Made Serde non owning (Kudos @wraitii)
  • Removed Sierra libfuncs that weren’t required (does not break Cairo1.0 existing code, as this just changed the underlying implementation of the code).
    • u{8,16,32,64,128}_le, u{8,16,32,64,128}_lt (replaced by using `u*_overflowing_sub)
    • felt252_dict_read, felt252_dict_write (replaced by felt252_dict_entry_*)
    • u128_wide_mul (replaced by u128_guarantee_mul and u128_mul_guarantee_verify)
    • Attribute argos are now : based instead of = based.
    • #[should_panic(expected: ('assert(false)', ))]
  • Names of parameters in impl methods are now enforced to be the same as in the trait.

New Features:

  • Only a single constructor in contract is enforced earlier (Kudos @tserg)
  • continue now supported in loop blocks (Kudos @tserg)
  • Basic Keccak support - still pending user level code of generating padding.
  • Felt252Dict now has an update option through the entry method.
  • #[test] framework now supports contract interoperability simulation.
  • Added u256_sqrt.
  • use statement aliases are now supported.
    • use some::path::to::usage as better_name;
  • use statement can now provide multiple values.
    • use some::path::to::{one, the_other};
  • New #[inline] attribute, allows inlining of functions that may call themselve.
  • Added cmp::{min, max} for PartialOrd supporting types (Kudos @bllu404)
  • Improved formatting all around
  • Additional and more efficient Integer casting (Kudos @hemantjoestar)

Additional Contributions:

  • Fix should_panic error message (Kudos @andrew-fleming)
  • Implement inline macro parsing (Kudos @tarrencev)
  • Rename test in ecdsa_completeness (Kudos @gaetbout)
  • Migrate to @types/vscode & @vscode/test-electron (Kudos @pcdotfan)
  • Refactor parser.lalrpop to remove unicode-perl regex (Kudos @tarrencev)
  • Expose test runner as lib (Kudos @ericnordelo)
  • Initialize db in TestRunner constructor (Kudos @tarrencev)
  • Expose TestRunner members (Kudos @tarrencev)
  • Restore starknet-compile (Kudos @war-in)
  • Expose more use statements in the starknet module (Kudos @taco-paco)
  • Adding u128 overflow sub (Kudos @gaetbout)
  • Displays cairo-run panic msg as string (Kudos @notV4l)
  • Fix and unify list styles (Kudos @microbecode)