v1.0.0-rc0
github-actions
released this
02 May 11:02
·
3273 commits
to main
since this release
Optimizations:
- Sierra code size:
- Compressed sierra code - X20 shrinking of the sent code size.
- Removed unrequired
StructDestructure
commands when followed by drops.
Bug Fixes:
- 2932 - Branch Alignment Issue
- 2933 - Made contract using bitwise operations compile
- 2946 - Felt252Dict works now
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 theentry
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}
forPartialOrd
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)