Version v0.48.0
Breaking
- 3105: Only the first RPC Url is now used to create a provider in relayer server; others are ignored.
- 3141: Fix the index of the transaction inside the pre-confirmation during native block production.
- 3217: Bump dependencies and the rust version to 1.93.0
Added
- 3100: Add protobuf api for querying the block aggregator
- 3101: Integrate new block aggregation RPC into Fuel Core
- 3106: Add adapter for storing blocks on AWS S3 bucket
- 3115: Add quorum provider.
- 3116: Complete coverage of proto block types to cover all cases
- 3127: - Introduced
FailoverTransport, a resilient transport layer that retries GraphQL queries across multiple endpoints. - 3131: Integrated the backup tool into fuel-core as a
archivesubcommand. - 3155: Add integration tests for preconfirmation transaction indices to verify correct indexing for single and multiple transactions in a block.
- 3156: Add comprehensive integration tests for FuelClient failover functionality covering both GraphQL queries and subscriptions.
Changed
- 3105: Migrated relayer service and related tests from ethers-rs to alloy-rs.
- 3133: Include
tx_idintoSqueezedOutreason to simplify debugging. - 3134:
stageanddatafields made public inDataSourcestruct. - 3138: Migrate CI from BuildJet to WarpBuild runners, update GitHub Actions to latest versions, and use pre-built binaries for cargo-nextest and cargo-audit.
- 3182: Updated fuel-vm to 0.66 and added benchmark for the new instructions
- 3203: Add lease port for PoA adapter to allow multiple producers to be live but only one leader.
- 3225: PoA quorum and HA failover fixes: Redis leader lease adapter improvements, write_block.lua HEIGHT_EXISTS check, sub-quorum block repair, Prometheus metrics, and chaos test harness.
Fixed
- 3112: Use Protobuf types in serialization rather than opaque bytes
- 3124: Using Debian Bookworm as the runtime base image for Docker builds. This is the same base image as the Rust builder images. Keeping the images in-sync will help prevent runtime dependency mismatch issues.
- 3128: Better signal handling (SIGABRT, SIGQUIT, SIGHUP).
- 3148: Add
alocto ignored words, to fix typo errors in CI. - 3150: Ignore rustsec advisories
RUSTSEC-2025-0118 - 3159: Fix
FuelClient::with_urlsto normalize URLs with/v1/graphqlpath, matching the behavior ofFuelClient::new. - 3172: Validate TxPool transactions against next block height instead of current block height.
- 3174: Fix dry_run to get the consensus parameter version of the old block instead of current version
- 3193: Add new error type, fix error text
- 3195: Upgrade Wasmtime to fix RUSTSEC
What's Changed
- Migrate relayer from ethers-rs to alloy. by @its-saeed in #3105
- Update network versions on README by @github-actions[bot] in #3126
- Remove the curl example from the readme. Nobody should use it like this. by @Dentosal in #3129
- chore(bin): handle sigkill,sigabrt,sighup by @rymnc in #3128
- chore(ci): update nightly benchmark ci by @rymnc in #3135
- Add
alocto ignored words, to fix typo errors in CI by @its-saeed in #3148 - Update network versions on README by @github-actions[bot] in #3137
- DataSource struct attribute public visibility by @zees-dev in #3134
- Fix the index of the transaction inside of the pre confirmation during native block production by @its-saeed in #3141
- Update network versions on README by @github-actions[bot] in #3151
- Make backup tool part of the fuel-core binary. by @its-saeed in #3131
- Include tx_id into SqueezedOut reason to simplify debugging. by @its-saeed in #3133
- Add multiple RPCs support to fuel-core-client. by @its-saeed in #3127
- Refactor FuelClient::with_urls to accept a slice of string references. Add more tests. by @its-saeed in #3156
- Removed usage of Slack notifications because we don't use it by @xgreenx in #3158
- Add integration tests for preconfirmation transaction indices to verify correct indexing. by @its-saeed in #3155
- fix: normalize URLs in FuelClient::with_urls to include /v1/graphql path by @its-saeed in #3159
- Block Aggregator Protobuf API by @MitchTurner in #3100
- fix: validate txpool transactions against next block height by @its-saeed in #3172
- Fix dry_run to get the consensus parameter version of the old block by @MitchTurner in #3174
- Update Wasmtime by @MitchTurner in #3195
- chore(deps): bump lru from 0.13.0 to 0.16.3 by @dependabot[bot] in #3178
- Add new Error type for block production by @MitchTurner in #3193
- PoA Leader Lock for Block Production by @MitchTurner in #3203
- Bump rust and dependencies to 1.93 by @xgreenx in #3217
- fix: toml lint by @xgreenx in #3230
- chore: reduce log noise for high-throughput blocks by @xgreenx in #3229
- Update network versions on README by @github-actions[bot] in #3220
- chore(ci): migrate from BuildJet to WarpBuild, modernize CI by @Voxelot in #3138
- Weekly
cargo updateby @github-actions[bot] in #3235 - V0.47.3/merge master by @MitchTurner in #3241
- fuel-vm 0.66 and dynamic storage benchmarks by @Dentosal in #3182
- feat: migrate to distroless docker base images by @mchristopher in #3243
- Prepare v0.48.0 release by @Dentosal in #3242
Full Changelog: v0.47.1...v0.48.0