Releases: FuelLabs/fuel-vm
Releases · FuelLabs/fuel-vm
v0.58.2
v0.58.1
Version v0.58.1
Fixed
- #852: Fixed incorrect predicate estimation when max predicate gas is less than max tx gas.
What's Changed
- Fixed incorrect predicate estimation when max predicate gas is less than max tx gas by @xgreenx in #852
- Release v0.58.1 by @xgreenx in #853
Full Changelog: v0.58.0...v0.58.1
v0.58.0
Version v0.58.0
Added
- #849: Add a new mode
2
to the LDC that allows to use the memory as a source for code. - #848: Allow usage of the blob opcode
BSIZ
,BLDD
, andLDC
with mode1
in the predicates. - #838: Implemented
AsRef<[u8]>
andTryFrom<&[u8]>
for DA compression types: ScriptCode, PredicateCode, RegistryKey. - #820: Add fuzzing in CI with ClusterFuzzLite.
Removed
Breaking
- #848: All estimation and verification of predicate functionality is reworked and now requires the instance of the storage with predicates.
- #843: Remove
serde
feature from thefuel-tx
crate. It is default behaviour now if you enablealloc
feature. - #766: Use correct gas price when validating native signatures
Changed
Breaking
- #829: Updated
add_random_fee_input()
to accept anrng
for true randomization. Introducedadd_fee_input()
to retain the previous behavior ofadd_random_fee_input()
. - #845: Removed
Default
implementation ofSecretKey
. - #844:
WDCM
andWQCM
reset$of
and$err
.
What's Changed
- Add
fn add_fee_input()
and makefn add_random_fee_input()
truly random by @rafal-ch in #829 - Add
Display
andError
impls to custom error typeSettingBlockTransactionSizeLimitNotSupported
by @rafal-ch in #833 - Fixing WASM-NPM packaging and publishing by @arboleya in #835
- Implemented
AsRef<[u8]>
andTryFrom<&[u8]>
for DA compression types by @xgreenx in #838 - Update changelog to cover breaking changes around
add_random_fee_input()
by @rafal-ch in #836 - Remove
serde
feature from thefuel-tx
crate by @xgreenx in #843 - Cherry pick Release v0.57.1 (#840) by @xgreenx in #841
- fix(SecretKey): remove Default implementation by @rymnc in #845
- WDCM and WQCM: reset $of and $err by @acerone85 in #844
- Add ClusterFuzzLite in CI featuring PR fuzzing, batch fuzzing and fuzz coverage reports by @netrome in #820
- Correct the price to verify native signatures by @Voxelot in #766
- LDC support in predicates by @Voxelot in #848
- Add a new mode
2
to the LDC that allows to use the memory as a source for code by @xgreenx in #849 - Release v0.58.0 by @xgreenx in #850
- Update CODEOWNERS by @Voxelot in #851
New Contributors
Full Changelog: v0.57.0...v0.58.0
v0.57.1
v0.57.0
Version v0.57.0
Added
- #670: Add DA compression functionality to
Transaction
and any types within - #733: Add LibAFL based fuzzer and update
secp256k1
version to 0.29.1. - #825: Avoid leaking partially allocated memory when array deserialization fails
Changed
- #824: Use
self
instead of&self
during decompression. - #823: Returned the old behaviour of the json serialization for policies.
Breaking
- #826: Skip the panic reason from canonical serialization of the panic receipt.
- #821: Added
block_transaction_size_limit
toConsensusParameters
. It adds a newConensusParametersV2
as a variant of theConsensusParameters
. - #670: The
predicate
field offuel_tx::input::Coin
is now a wrapper structPredicateCode
.
Fixed
- #822: Return recipient as an owner for the message inputs.
What's Changed
- Rust 1.79.0 by @Dentosal in #806
- chore: Add initial CODEOWNERS file by @netrome in #817
- DA compression for fuel-tx types by @Dentosal in #670
- Add advanced fuzzer (#724) by @xgreenx in #733
- Deserialize arrays: avoid leaking partially allocated memory when failing by @acerone85 in #825
- Add
block_transaction_size_limit
toConsensusParameters
by @rafal-ch in #821 - Return recipient as an owner for the message inputs by @xgreenx in #822
- Skip the panic reason from canonical serialization by @xgreenx in #826
- Returned the old behaviour of the json serialization for policies by @xgreenx in #823
- Use
self
instead of&self
during decompression by @xgreenx in #824 - Release v0.57.0 by @xgreenx in #828
New Contributors
- @netrome made their first contribution in #817
- @acerone85 made their first contribution in #825
- @rafal-ch made their first contribution in #821
Full Changelog: v0.56.0...v0.57.0
v0.56.0
v0.55.0
Version v0.55.0
Added
- #781: Added
base_asset_id
to checked metadata.
Changed
- #784: Avoid storage lookups for side nodes in the SMT.
- #787: Fixed charge functions to profile cost before charging.
Breaking
- #783: Remove unnecessary look up for old values by adding new methods to the
StorageMutate
trait. The oldinsert
andremove
are nowreplace
andtake
. The newinsert
andremove
don't return a value. - #783: Renamed methods of
StorageWrite
trait fromwrite
,replace
,take
towrite_bytes
,replace_bytes
,take_bytes
. - #788: Fix truncating
sp
toMEM_SIZE
ingrow_stack
, and allow empty writes to zero-length ranges at$hp
.
Fixed
Breaking
- #789: Avoid conversion into
usize
type and useu32
oru64
instead. The change is breaking since could return other errors for 32-bit systems. - #786: Fixed the CCP opcode to charge for the length from the input arguments.
- #785: Require
ContractCreated
output in theCreate
transaction. TheTransactionBuilder<Create>
has aadd_contract_created
method to simplify the creation of theContractCreated
output for tests.
What's Changed
- Test ALU opcodes using only the external interface by @Dentosal in #754
- Store the base asset id in the metadata by @xgreenx in #781
- Use companies fork of the
publish-crates
action by @xgreenx in #782 - Refactor coin-based contract instruction tests by @Dentosal in #779
- Require
ContractCreated
output in theCreate
transaction by @xgreenx in #785 - Fixed the CCP opcode to charge for the length of the input by @xgreenx in #786
- Remove unnecessary look up for old values by @xgreenx in #783
- Fixed charge functions to profile cost before charging by @xgreenx in #787
- grow_stack and empty $hp range write fixes by @Dentosal in #788
- Optimized storage lookups for side nodes in the SMT by @xgreenx in #784
- Avoid conversion into
usize
type and useu32
oru64
instead by @xgreenx in #789 - Release v0.55.0 by @xgreenx in #790
Full Changelog: v0.54.1...v0.55.0
v0.54.1
v0.54.0
Version v0.54.0
Added
- #770: Cache contract inputs in the VM.
Changed
-
#768: Charge for LDC opcode before loading the contract into memory.
-
#771: Take into account spent gas during synchronous predicates estimation.
Breaking
- #769: Use
DependentCost
forCFE
andCFEI
opcodes. - #767: Fixed no zeroing malleable fields for
Create
transaction. - #765: Corrected the gas units for WDOP and WQOP.
Removed
- #772: Removed redundant
self.receipts.root()
call.
What's Changed
- use the correct gas units for wdop and wqop by @Voxelot in #765
- Fixed no zeroing malleable fields for
Create
transaction by @xgreenx in #767 - Removed redundant
self.receipts.root()
call by @xgreenx in #772 - Charge for LDC opcode before loading the contract into memory by @xgreenx in #768
- Use
DependentCost
forCFE
andCFEI
opcodes by @xgreenx in #769 - Cache contract inputs in the VM by @xgreenx in #770
- Take into account spent gas during synchronous predicates estimation by @xgreenx in #771
- Removed dead code from the codebase by @xgreenx in #774
- Release v0.54.0 by @xgreenx in #775
Full Changelog: v0.53.0...v0.54.0
v0.53.0
Version v0.53.0
Added
- #751: Improve test coverage.
Changed
- #753: Fix an ownership check bug in
CCP
instruction.
What's Changed
- Generate and publish code coverage reports in the CI by @Dentosal in #750
- Add misc tests by @Dentosal in #751
- Fix a bug in CCP instruction by @Dentosal in #753
- Prepare release for v0.53.0 by @Dentosal in #755
Full Changelog: v0.52.0...v0.53.0