Skip to content

Releases: FuelLabs/fuel-core

v0.20.1

18 Jul 09:41
ccabc48
Compare
Choose a tag to compare

Release v0.20.1

The release brings a couple of new breaking changes from the fuel-vm 0.35.0 with bugfixes. Check the description of the VM release for more details.

The fuel-core release mostly improved the internal codebase but also brought some breaking changes:

  • Removed Trigger::Hybrid PoA block trigger mode. Only Trigger::Instante and Trigger::Interval are available for block production now. The main mode for testnets and mainnet will be Interval.
  • Removed support for OpaqueReceipt and the Receipt type doesn't have the raw_payload field anymore.
  • A Receipt type got two new variants: Mint and Burn. The corresponding opcodes emit these new events.
  • The AssetId is derived from ContractId and additional nonce. So the ContractId and AssetId can't be the same anymore.

What's Changed

New Contributors

Full Changelog: v0.19.1...v0.20.1

v0.17.13

21 Jun 21:48
10ec28a
Compare
Choose a tag to compare

What's Changed

  • Take into account used gas during block production and include more transactions if we can by @xgreenx in #1220
  • Bump version to 0.17.13 by @xgreenx in #1222

Full Changelog: v0.17.12...v0.17.13

v0.19.1

17 Jun 01:20
ce553b4
Compare
Choose a tag to compare

The release updates default gas prices.

What's Changed

Full Changelog: v0.19.0...v0.19.1

v0.19.0

14 Jun 00:24
94a427b
Compare
Choose a tag to compare

Overview

The release uses fuel-vm 0.34 that contains many breaking changes from v0.32, v0.33 and v0.34. Please check these releases to have a better understanding of all new features.

This release:

  • Supports a wide arithmetic operation that can be used by the sway to significantly optimize the size of the contracts.
  • Requires predicates to be estimated before submission to the blockchain. The fuel_tx::Transaction has a estiamte_predicates method that allows estimating transactions without any queries, and fuel_core_client provides and additional API endpoint, esitamte_predicates to the same thing.
  • The fuel_core_client now uses rust-based types instead of cynic GraphQL types. It should simplify the use of the client and remove work with raw strings.
  • SMT works much faster now and it improves the performance of the Create transaction with storage slots.
  • The fuel_core_client provides a new submit_and_await endpoint that submits the transaction and awaits its status. It removes the chance of missing notifications about the transaction.
  • The block producer node checks that it has the last network block height before producing blocks.

What's Changed

New Contributors

Full Changelog: v0.18.3...v0.19.0

v0.18.3

13 Jun 21:33
522dbba
Compare
Choose a tag to compare

What's Changed

  • Make FuelClient::query public and up version to 0.18.3 by @xgreenx in #1213

Full Changelog: v0.18.2...v0.18.3

v0.18.2

09 Jun 13:34
955ff5f
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.1...v0.18.2

v0.17.12

01 Jun 23:54
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.17.11...v0.17.12

v0.18.1

03 May 22:06
1272248
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.18.0...v0.18.1

v0.18.0

27 Apr 19:27
19f12ea
Compare
Choose a tag to compare

The change bumps the version to 0.18.0 and exposes sync_max_get_header and sync_max_get_txns in the helm chart.

Release 0.18.0

Overview

A new release brings:

  • Optimization for the execution based on the performance from beta 3 and on internal benchmarks. Improved metrics gathering.
  • Stabilization and better test coverage of the fuel-vm. We removed almost all unsafe code and added test cases for each opcode. Fixed some edge cases with memory in the fuel-vm.
  • Fully integrated Merkle trees and filled all malleable fields in the transactions.
  • Added retryable messages, removed redundant fields from it, and updated the API to support a new commitment schema.

What's Changed

Breaking

  • All unsafe functions were replaced with safe analog in the fuel-crypto - FuelLabs/fuel-vm#346
  • $hp holds the address of the last available byte in a heap, while previously it was $hp - 1 - FuelLabs/fuel-vm#377
  • Each variant in the fuel_tx::Input enum now has its own type - FuelLabs/fuel-vm#364
  • Message nonce is unified and now Bytes32 everywhere - FuelLabs/fuel-vm#394
  • Removed the message_id field from all places - FuelLabs/fuel-vm#397, FuelLabs/fuel-vm#373,
  • Unified the block height in all places with the introduction of a new BlockHeigh - FuelLabs/fuel-vm#410
  • Make SMO instruction take data ptr as an argument - FuelLabs/fuel-vm#404
  • Now the chain id affects the signature and predicate's owner and should be passed into the sign function - FuelLabs/fuel-vm#406
  • Updated the produce_blocks endpoint to accept the start time and the number of blocks. All new blocks will use the previous timestamp as a base - #1059
  • The fuel-core stores only unspent coins and messages, so all API that previously returned spent coins is affected - Prune owned coin idx when inputs are spent by @Voxelot in #1055
  • The message proof API has been changed to be compatible with a new version - #1071
  • The fuel-core now has retryable messages and coin messages. Retryable messages can only be consumed during successful transaction execution. The coin message acts as common coins. resouces_to_spend API was replaced with coins_to_spend that returns a new CoinType type. - #1067

All changes

Full Changelog: v0.17.3...v0.18.0

v0.17.11

25 Apr 15:41
Compare
Choose a tag to compare

What's Changed

  • Replaced combined column_key with an array of hash maps.
  • Added RocksDB LRU cache for uncompressed rows. It speeds up the loading of objects from the database two times.
  • Optimized the deserialization of the contracts via the OptimizedContract wrapper type. Instead of 53% now it takes only 10% of the time.
  • Replaced all values Vec<u8> with Arc<Vec<u8>> to avoid cloning because we use it only for deserialization, and we can't consume the actual Vec<u8>. It is helpful for MemoryStore and MemoryTransactionView.
  • Updated the MemoryStore to use BTreeMap instead of HashMap. It significantly improved the performance of the iter_all without RocksDB. Without this optimization, a new e2e failed for --no-default-features build with a timeout(but worked with RocksDB).
  • Simplified the PrometheusExtension to work without the lock.
  • Use a new fuel-vm 0.26.3 with disabled logging for instruction function.
  • Use tokio_rayon::spawn_fifo to run dry runs instead of manual semaphore and tokio::spawn_blocking.
  • Removed 5 second delay for dry runs caused by the relayer.

For more information check the #1157.

Full Changelog: v0.17.10...v0.17.11