What's Changed
- as_u128 added to U256 by @alphak3y in #3062
- Make ReturnData expecting tests check the data instead of its digest by @AlicanC in #3227
- Fix clippy issues related to appending format!-ed strings. by @tritao in #3231
- Fix bug which created dead and incorrectly typed blocks into IR, triggering a verification failure. by @otrho in #3210
- Fix broken
fuel-specs
links in the Sway book and the standard library by @homura in #3236 - Move error signals to new module by @nfurfaro in #3238
- fuel-core v0.13 upgrade by @Voxelot in #3181
- Test ec_recover using SDK + fuel-crypto by @nfurfaro in #3235
- Add intrinsics for operating on raw_ptrs by @AlicanC in #3157
- deprecate
forc-explore
by @bingcicle in #3163 - Generic trait
From<T>
in the standard library by @mohammadfawaz in #3241 - Disallow assigning to initialized registers in
asm
blocks by @mohammadfawaz in #3239 - Flatten the stdlib by @nfurfaro in #3247
- Bump to
v0.30.0
by @mohammadfawaz in #3249
Breaking Changes
- This new version of
forc
is only compatible withfuel-core v0.13
and up. - The
raw_ptr
library from the standard library has been reworked:- The methods
add
andsub
forraw_ptr
are now generic and take the offset in number of elements of their type argument. - The method
copy_to
is now generic and takes the copy size in number of elements of its type argument.
- The methods
- The
alloc
library from the standard library has been reworked:- The function
alloc
is now generic and takes the allocation size in number of elements of its type argument. - The function
realloc
is now generic and takes the previous allocation size and the reallocation size in number of elements of its type argument.
- The function
- The
forc-explore
plugin has been removed. - It is now disallow to reassign registers in an
asm
block that have initializers in the block's arguments list. - The standard library has been slightly restructured:
- The
auth
library is now instd::auth
instead ofstd::chain::auth
. - The
call_frames
library is nowstd::call_frames
instead ofstd::context::call_frames
. - The
registers
library is nowstd::registers
instead ofstd::context::registers
.
- The
- The method
from()
forstd::u128::U128
now takes a tuple of twou64
elements instead of two separateu64
s. - The method
from()
forstd::u256::U256
now takes a tuple of fouru64
elements instead of four separateu64
s. - The method
from()
forstd::b512::B512
now takes a tuple of twob256
elements instead of two separateb256
s. - The
Revert
error code forstd::revert::require
was changed from42
to0xffff_ffff_ffff_0000
. That is, when arequire
fails, theRevert
receipt will now contain0xffff_ffff_ffff_0000
instead of42
.
New Contributors
Full Changelog: v0.29.0...v0.30.0