Skip to content

v0.40.0

Compare
Choose a tag to compare
@digorithm digorithm released this 12 Apr 17:47
· 262 commits to master since this release
dc65391

What's Changed

Full Changelog: v0.39.0...v0.40.0

New Features

Add support for Bytes and RawSlice inputs (#904)

This update introduces support for Bytes and RawSlice input types, giving developers more flexibility when working with byte sequences and raw slices. Thanks to @hal3e for this contribution!

Add LogResult struct (#919)

We have added a new LogResult struct to make it easier to work with and process log results from the Fuel Virtual Machine. This new feature will improve the developer experience when working with logs. Kudos to @Salka1988 for this addition!

Improvements

Separate Contract loading and deploying (#899)

This release includes a significant refactor that separates the Contract loading and deploying process. This change aims to improve code readability and maintainability. Great work by @hal3e!

The biggest change for the user is the way to deploy contracts. Previously the user would use deploy directly:

     let contract_id = Contract::deploy(
        "tests/contracts/configurables/out/debug/configurables.bin",
        &wallet,
        DeployConfiguration::default(),
    )
    .await?;

This function did two things: Load and then deploy the contract. Now, it looks like this:

    let contract_id = Contract::load_from(
        "tests/contracts/configurables/out/debug/configurables.bin",
        LoadConfiguration::default(),
    )?
    .deploy(&wallet, TxParameters::default())
    .await?;

This makes it clear what is being done. It makes the LoadConfiguration simpler, and also, now the user can get the contract_id or state_root easily.

    let contract_id = Contract::load_from(
        "tests/contracts/configurables/out/debug/configurables.bin",
        LoadConfiguration::default(),
    )?
    .contract_id();

Bug Fixes

Fix broken doc link (#922)

A broken documentation link has been fixed, ensuring users can now access the relevant information without issues. Thanks to @sarahschwartz for the quick fix!

Fix Parameterize and Tokenizable for wasm enums (#928)

We have resolved an issue where Parameterize and Tokenizable for wasm enums were broken. This fix ensures that these traits now work as intended for wasm enums. Credit goes to @segfault-magnet for identifying and fixing the issue!

Miscellaneous

Address default-features warnings on cargo nightly (chore) (#921)

We've addressed the default-features warnings on cargo nightly builds to keep the project up-to-date and reduce warnings. Special thanks to @segfault-magnet for taking care of this!

We encourage you to update your Fuels-rs library to v0.40 and take advantage of these new features and improvements. Your feedback is invaluable, so please don't hesitate to report any issues or share your thoughts on this release!