Releases: fluentlabs-xyz/fluentbase
Developer Preview – 2025-06-12
🚀 Features
Revm
- Migrated Revm to the latest v75 version (@xozzslip, @dmitry123)
- Enabled native multicall support (@dmitry123)
- Enabled BLS12-381 system precompiled contracts for Prague fork (@dmitry123)
- Integrated rWasm extension into Revm (@dmitry123)
🐞 Bug Fixes
Revm
- Fixed bug with setting init code hash; Added missing debug & clone derives into rwasm evm instance; Updated e2e testing suite and bugfixes after post-merge; Fixed Wasm deployment and SVM runtime check (@xozzslip, @dmitry123)
🛠 Refactoring
Fluentbase
- Refactored context reader for improved code structure (@dmitry123)
🧹 Chores
- CI: Added/fixed good coverage tests for Revm testing suite (@dmitry123)
- Misc: Tiny internal fixes, dependencies, test script improvements (@dmitry123)
What's Changed
- Fix rerun if changed in all build scripts by @xozzslip in #104
- Move compilation of Wasmtime modules to compile time by @xozzslip in #105
- Merge upstream revm v71 (v23.1.0) by @xozzslip in #108
Full Changelog: v0.1.0-dev...v0.2.0-dev
Developer Preview – 2025-05-15
🚀 Features
-
rwasm: Update and migrate to latest version, enable tracer, add config flags, improve compatibility and dispatching (@dmitry123)
-
sdk: Set shared context fixed size, move
EvmTestingContextand createsdk-testing, system bindings, fix exit codes (@xozzslip, @dmitry123) -
build:
- Always generate dev genesis, support backward-compatible
func_entrypoint, Makefile improvements, automatic wasm32 target addition, new build scripts for contracts/examples/genesis - Add fairblock support, handle blake2f cdylib split, include bytecode from target,
build.rsin each contract, .gitignore, and related cleanups (@xozzslip, @dmitry123) - Clean up build flags/features, move/remove obsolete or conflicting features, rework for gas/fuel, ensure correct build ordering for genesis (@xozzslip)
- Always generate dev genesis, support backward-compatible
-
runtime: Implement
SyscallResume, new rwasm executor and module parser, optimize shared memory, support resumable operations, async context executor (@dmitry123, @xozzslip) -
wasmtime:
- Support for
charge_gas, runtime selection, build optimizations, linker compatibility, feature flags, bytecode separation, logging/formatting, fuel_limit, trap mapping, system precompiles, test improvements (@xozzslip) - Integrate
webauthn,secp256r1precompiles and builtins, add read/write memory helpers,debug_log,keccak, pass/fail handling, new approach for system contracts (@xozzslip, @d1r1)
- Support for
-
evm: Extensive runtime improvements — gas model, refunds, opcode/interruption handling, precompiles, syscalls, compatibility, bugfixes, out-of-gas, e2e improvements, and proxy support (@dmitry123)
-
Add/rename
_ecrecover,secp256k1, test for secp recover, new return types, B256, bindings, use builtins for secp256k1 (@xozzslip) -
config: Config-driven rwasm compilation, injection flags for fuel procedures, support for
builtins_consume_fuel, test coverage for builtins/fuel/gas (@xozzslip) -
Prevent unnecessary rebuilding of examples/genesis, ensure correct build order (@xozzslip)
-
Add sp1-curves and feature flag for genesis compilation, adjust codebase for sp-1 zkvm (@xozzslip)
-
Integrate fairblock contract with
build.rs(@dmitry123) -
codec: Add codec for signed numbers (i128, i256, etc) (@d1r1)
🐞 Bug Fixes
- rwasm: Bugfixes for entrypoint, floats, config, malformed types, disable
builtins_consume_fuelby default, faster dispatch, new flags and adjustment methods (@dmitry123) - evm: Multiple fixes — gas/refunds/penalties, opcodes (CREATE, EXTCODE*, SSTORE, SELFDESTRUCT), precompiles, system call processing, compilation, storage, collisions, fuel, BLOBHASH, delegated storage, error codes, e2e failures, compatibility, etc. (@dmitry123)
- build: Bugfixes for RUSTC flags, stack size, cargo rerun-if-changed, dependencies, skip succinct, build order,
build_go_program_from_env, targets, igignore (@dmitry123, @xozzslip) - sdk: Remove poseidon, improve exit codes, refactor, formatting, panic handling, remove unused code, doc updates (@dmitry123)
- genesis: Refactor genesis contracts, build script, precompiled addresses (erc20, webauthn, oauth2), examples (@dmitry123)
- aot: Add/adjust atomic ops, disable fuel for wasmtime, add checks (@dmitry123)
- secp256r1: Fix running unit tests (@dmitry123)
- runtime: Change syscall handler to callback, support shared memory with Arc, capacity tweaks (@dmitry123)
- types: Fix compilation (@dmitry123)
- e2e: Fix running e2e tests (@dmitry123)
🛠 Refactoring
- Move rwasm executor and codegen, separate crate for executor, remove passing shared memory, deprecate bin crate, remove unused evm modules, consolidate build.rs usage, update contracts/examples build, enhance rwasm, move Unreachable handler (@dmitry123)
- Major contracts/examples/genesis cleanup, rewrite precompiles, refactor sdk/types/internal, new system addresses, remove unused/JZKT, replace gblend, error/exit codes, massive code cleanup, rename consts/macros, refactor e2e tests (@dmitry123)
- Implement interpreter as EVM precompile, update runtime/context handling, fix gas for resumable ops, bindings, remove ExecutionHalted, fix for nested gas calculation, sync for multiple targets (@dmitry123)
- genesis: Rename/update dynamic balance macro (@dmitry123)
🛠 Testing
- Ignore long-running nitro/verifier tests, add/fix test for secp recover, e2e, wasmtime, nitro benchmarking, solidity tests, improve test coverage (@xozzslip, @dmitry123)
🧹 Chore
- Update dependencies (
rwasm,revm,alloy-primitives), fix warnings, config updates, remove unused build deps, new genesis file config, makefile/cargo check tweaks, CI fixes, add logging (@dmitry123, @xozzslip, @d1r1)
🛠 CI
- Add/fix codecov config, badge, artifact upload, submodules, tarpaulin coverage, wasm32 toolchain/targets, recursive checkout, coverage steps, move codecov/test stages (@dmitry123)
🧹 Cleanup
- Revert/undo sp1-curves and succinct changes, remove old/failing code, optimize identity precompile (@xozzslip, @dmitry123)