Skip to content

Releases: FuelLabs/fuel-core

v0.41.6

05 Feb 22:32
4ff324b
Compare
Choose a tag to compare

Version 0.41.6

Added

  • 2668: Expose gas price service test helpers
  • 2621: Global merkle root storage updates process upgrade transactions.
  • 2650: Populate ProcessedTransactions table in global merkle root storage.
  • 2667: Populate Blobs table in global merkle root storage.
  • 2652: Global Merkle Root storage crate: Add Raw contract bytecode to global merkle root storage when processing Create transactions.

Fixed

  • 2673: Change read behavior on the InMemoryTransaction to use offset and allow not equal buf size (fix CCP and LDC broken from FuelLabs/fuel-vm#847)

What's Changed

  • chore(runnable_task): remove async_trait usage by @rymnc in #2660
  • Expose gas price service test helpers by @MitchTurner in #2668
  • Handle new state transition bytecode and new consensus parameter version by @acerone85 in #2621
  • fault_proving(global_roots): populate ProcessedTransactions table by @netrome in #2650
  • fault_proving(global_roots): Populate Blobs table by @netrome in #2667
  • Fault proving: Populate ContractsRawCode when processing Create Transaction in global merkle root crate by @acerone85 in #2652
  • Change read behavior on the InMemoryTransaction to use offset and allow not equal buf size by @AurelienFT in #2673
  • Release 0.41.6 by @AurelienFT in #2674

Full Changelog: v0.41.5...v0.41.6

v0.41.5

03 Feb 22:53
ea46e9f
Compare
Choose a tag to compare

Version 0.41.5

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

Changed

  • 2387: Update description tx-max-depth flag.
  • 2630: Removed some noisy tracing::info! logs
  • 2643: Before this fix when tip is zero, transactions that use 30M have the same priority as transactions with 1M gas. Now they are correctly ordered.

Added

  • 2617: Add integration skeleton of parallel-executor.
  • 2553: Scaffold global merkle root storage crate.
  • 2598: Add initial test suite for global merkle root storage updates.
  • 2635: Add metrics to gas price service

Fixed

  • 2632: Improved performance of certain async trait impls in the gas price service.
  • 2662: Fix balances query endpoint cost without indexation and behavior coins to spend with one parameter at zero.

What's Changed

  • Remove noisy logging by @MitchTurner in #2630
  • chore(gas_price_service): refactor usage of async_trait impls to improve performance by @rymnc in #2632
  • Change description flag depth in TxPool by @AurelienFT in #2387
  • Add generation of docker images on release/master push by @AurelienFT in #2631
  • chore(async_trait): reduce usage of async_trait for small types again by @rymnc in #2634
  • chore(gas_price_service): minor refactors to make the code more readable by @rymnc in #2636
  • Remove netlink proto fix by @AurelienFT in #2637
  • fault_proving(global_roots): scaffold global merkle root storage crate by @netrome in #2553
  • Add metrics to gas price service by @MitchTurner in #2635
  • chore: Add code owners for fraud proofs by @netrome in #2649
  • Patch transaction pool ordering zero tip by @AurelienFT in #2643
  • chore: Add entire team as code owners for the changelog and Cargo.lock by @netrome in #2655
  • fault_proving(global_roots): Initial test suite for merklized storage updates by @netrome in #2598
  • Add integration skeleton of parallel-executor by @AurelienFT in #2617
  • Fix balances query endpoint cost without indexation and behavior coins to spend with one parameter at zero by @AurelienFT in #2662
  • Add print of collision reason in TxPool by @AurelienFT in #2664
  • Release/v0.41.5 by @AurelienFT in #2663

Full Changelog: v0.41.4...v0.41.5

v0.40.4

28 Jan 18:12
c6216d0
Compare
Choose a tag to compare

Version 0.40.4

Changed

  • 2639: Refactor fetching latest_height from OnChainIterableKeyValueView to instead use height at the time of its creation.

Fixed

  • 2638: Optimize the cumulative_percent_change function used in estimation of gas price, convert multiple async functions to sync.
  • 2641: Remove txPoolStats requirement from fuel core client
  • 2642: Before this fix when tip is zero, transactions that use 30M have the same priority as transactions with 1M gas. Now they are correctly ordered.

What's Changed

  • backport(gas_price_service): performance improvements to estimate_gas_price by @rymnc in #2638
  • chore(storage): use the cached block height from the database at the time of creation of the view by @rymnc in #2639
  • Bump to 0.40.4 versions by @AurelienFT in #2640
  • Remove txpool request client by @AurelienFT in #2641
  • Backport: patch transaction pool ordering zero tip by @AurelienFT in #2642

Full Changelog: v0.40.3...v0.40.4

v0.41.4

24 Jan 20:32
2a45c9b
Compare
Choose a tag to compare

What's Changed

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

Full Changelog: v0.41.3...v0.41.4

v0.41.3

24 Jan 10:21
56ebfab
Compare
Choose a tag to compare

What's Changed

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

  • fix(rocksdb): import when rocksdb is enabled within local_node_with_reader fn by @rymnc in #2626
  • Release 0.41.3 by @AurelienFT in #2628

Full Changelog: v0.41.2...v0.41.3

v0.41.2

23 Jan 06:23
90fc82b
Compare
Choose a tag to compare

Version v0.41.2

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

Fixed

  • 2623: Pinned netlink-proto's version.

Full Changelog: v0.41.1...v0.41.2

v0.41.1

23 Jan 05:21
d4b2b64
Compare
Choose a tag to compare

Version v0.41.1

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

Added

  • 2551: Enhanced the DA compressed block header to include block id.
  • 2595: Added indexation field to the nodeInfo GraphQL endpoint to allow checking if a specific indexation is enabled.

Changed

  • 2603: Sets the latest recorded height on initialization, not just when DA costs are received

Fixed

  • 2612: Use latest gas price to estimate next block gas price during dry runs
  • 2612: Use latest gas price to estimate next block gas price in tx pool instead of using algorithm directly
  • 2609: Check response before trying to deserialize, return error instead
  • 2599: Use the proper url apis to construct full url path in BlockCommitterHttpApi client
  • 2593: Fixed utxo id decompression

What's Changed

  • fault_proving(compression): include block_id in da compressed block headers by @rymnc in #2551
  • chore: Add myself and Andrea as codeowner for graphql API + related crates by @netrome in #2570
  • fix(integration_tests): remove flake from produce_block__l1_committed_block_affects_gas_price by @rymnc in #2566
  • bugfix: Improve the BlockCommitterHttpApi client to use url apis better by @MitchTurner in #2599
  • Fix version compatibility error by @AurelienFT in #2608
  • Improve error messages for responses from committer by @MitchTurner in #2609
  • Update async processor tests by @rafal-ch in #2577
  • The amount of returned dust coins is limited by factor relative to the amount of selected big coins by @rafal-ch in #2610
  • fix(da_compression): invalid decompression of utxo id and CoinConfig fix by @rymnc in #2593
  • Use latest gas price to estimate next price for tx pool checks by @MitchTurner in #2612
  • Set Latest Recorded Height on startup by @MitchTurner in #2603
  • Use latest gas price to estimate next block gas price during dry runs by @MitchTurner in #2615
  • Check that fuel-core lib builds correctly without default features by @rafal-ch in #2594
  • Expose indexation status in NodeInfo endpoint by @rafal-ch in #2595
  • Release v0.41.1 by @MitchTurner in #2620

Full Changelog: v0.41.0...v0.41.1

v0.40.3

16 Jan 14:28
Compare
Choose a tag to compare

Version v0.40.3

Added

#2573: Add txpool stats to the node_info GraphQL endpoint

What's Changed

Full Changelog: v0.40.2...v0.40.3

v0.41.0

15 Jan 05:01
2287292
Compare
Choose a tag to compare

Version v0.41.0

Warning

This release has a bug while executing the LDC and CCP opcodes. It has been patched in v0.41.6, please use that version.

Added

  • 2547: Replace the old Graphql gas price provider adapter with the ArcGasPriceEstimate.
  • 2445: Added GQL endpoint for querying asset details.
  • 2442: Add uninitialized task for V1 gas price service
  • 2154: Added Unknown variant to ConsensusParameters graphql queries
  • 2154: Added Unknown variant to Block graphql queries
  • 2154: Added TransactionType type in fuel-client
  • 2321: New metrics for the TxPool:
    • The size of transactions in the txpool (txpool_tx_size)
    • The time spent by a transaction in the txpool in seconds (txpool_tx_time_in_txpool_seconds)
    • The number of transactions in the txpool (txpool_number_of_transactions)
    • The number of transactions pending verification before entering the txpool (txpool_number_of_transactions_pending_verification)
    • The number of executable transactions in the txpool (txpool_number_of_executable_transactions)
    • The time it took to select transactions for inclusion in a block in microseconds (txpool_select_transactions_time_microseconds)
    • The time it took to insert a transaction in the txpool in microseconds (transaction_insertion_time_in_thread_pool_microseconds)
  • 2385: Added new histogram buckets for some of the TxPool metrics, optimize the way they are collected.
  • 2347: Add activity concept in order to protect against infinitely increasing DA gas price scenarios
  • 2362: Added a new request_response protocol version /fuel/req_res/0.0.2. In comparison with /fuel/req/0.0.1, which returns an empty response when a request cannot be fulfilled, this version returns more meaningful error codes. Nodes still support the version 0.0.1 of the protocol to guarantee backward compatibility with fuel-core nodes. Empty responses received from nodes using the old protocol /fuel/req/0.0.1 are automatically converted into an error ProtocolV1EmptyResponse with error code 0, which is also the only error code implemented. More specific error codes will be added in the future.
  • 2386: Add a flag to define the maximum number of file descriptors that RocksDB can use. By default it's half of the OS limit.
  • 2376: Add a way to fetch transactions in P2P without specifying a peer.
  • 2361: Add caches to the sync service to not reask for data it already fetched from the network.
  • 2327: Add more services tests and more checks of the pool. Also add an high level documentation for users of the pool and contributors.
  • 2416: Define the GasPriceServiceV1 task.
  • 2447: Use new expiration policy in the transaction pool. Add a mechanism to prune the transactions when they expired.
  • 1922: Added support for posting blocks to the shared sequencer.
  • 2033: Remove Option<BlockHeight> in favor of BlockHeightQuery where applicable.
  • 2490: Added pagination support for the balances GraphQL query, available only when 'balances indexation' is enabled.
  • 2439: Add gas costs for the two new zk opcodes ecop and eadd and the benches that allow to calibrate them.
  • 2472: Added the amountU128 field to the Balance GraphQL schema, providing the total balance as a U128. The existing amount field clamps any balance exceeding U64 to u64::MAX.
  • 2526: Add possibility to not have any cache set for RocksDB. Add an option to either load the RocksDB columns families on creation of the database or when the column is used.
  • 2532: Getters for inner rocksdb database handles.
  • 2524: Adds a new lock type which is optimized for certain workloads to the txpool and p2p services.
  • 2535: Expose backup and restore APIs on the CombinedDatabase struct to create portable backups and restore from them.
  • 2550: Add statistics and more limits infos about txpool on the node_info endpoint

Fixed

  • 2560: Fix flaky test by increasing timeout
  • 2558: Rename cost and reward to remove excess wording
  • 2469: Improved the logic for syncing the gas price database with on_chain database
  • 2365: Fixed the error during dry run in the case of race condition.
  • 2366: The importer_gas_price_for_block metric is properly collected.
  • 2369: The transaction_insertion_time_in_thread_pool_milliseconds metric is properly collected.
  • 2413: block production immediately errors if unable to lock the mutex.
  • 2389: Fix construction of reverse iterator in RocksDB.
  • 2479: Fix an error on the last iteration of the read and write sequential opcodes on contract storage.
  • 2478: Fix proof created by message_receipts_proof function by ignoring the receipts from failed transactions to match message_outbox_root.
  • 2485: Hardcode the timestamp of the genesis block and version of tai64 to avoid breaking changes for us.
  • 2511: Fix backward compatibility of V0Metadata in gas price db.

Changed

  • 2469: Updated adapter for querying costs from DA Block committer API
  • 2469: Use the gas price from the latest block to estimate future gas prices
  • 2501: Use gas price from block for estimating future gas prices
  • 2468: Abstract unrecorded blocks concept for V1 algorithm, create new storage impl. Introduce TransactionableStorage trait to allow atomic changes to the storage.
  • 2295: CombinedDb::from_config now respects state_rewind_policy with tmp RocksDB.
  • 2378: Use cached hash of the topic instead of calculating it on each publishing gossip message.
  • 2438: Refactored service to use new implementation of StorageRead::read that takes an offset in input.
  • 2429: Introduce custom enum for representing result of running service tasks
  • 2377: Add more errors that can be returned as responses when using protocol /fuel/req_res/0.0.2. The errors supported are ProtocolV1EmptyResponse (status code 0) for converting empty responses sent via protocol /fuel/req_res/0.0.1, RequestedRangeTooLarge(status code 1) if the client requests a range of objects such as sealed block headers or transactions too large, Timeout (status code 2) if the remote peer takes too long to fulfill a request, or SyncProcessorOutOfCapacity if the remote peer is fulfilling too many requests concurrently.
  • 2233: Introduce a new column modification_history_v2 for storing the modification history in the historical rocksDB. Keys in this column are stored in big endian order. Changed the behaviour of the historical rocksDB to write changes for new block heights to the new column, and to perform lookup of values from the modification_history_v2 table first, and then from the modification_history table, performing a migration upon access if necessary.
  • 2383: The balance and balances GraphQL query handlers now use index to provide the response in a more performant way. As the index is not created retroactively, the client must be initialized with an empty database and synced from the genesis block to utilize it. Otherwise, the legacy way of retrieving data will be used.
  • 2463: The coinsToSpend GraphQL query handler now uses index to provide the response in a more performant way. As the index is not created retroactively, the client must be initialized with an empty database and synced from the genesis block to utilize it. Otherwise, the legacy way of retrieving data will be ...
Read more

v0.40.2

06 Dec 18:32
ab12fb6
Compare
Choose a tag to compare

Version v0.40.2

Fixed

  • 2476: Hardcode the timestamp of the genesis block.

What's Changed

Full Changelog: v0.40.1...v0.40.2