Releases: lambdaclass/ethrex
ethrex: v8.0.0-rc.1
Installation and running instructions can be found in our docs
✨ New Features
2e98c07- l1: change folder for dev mode db (PR #5363 by @fedacking)da11206- l2: add optional--abiflag for contracts compilation (PR #5371 by @ilitteri)6ef14c8- l1: code cache rocksdb (PR #5307 by @pablodeymo)fa3a298- l1: add rpc error rates to metrics and panels (PR #5335 by @rodrigo-o)↘️ addresses issue #5379 opened by @rodrigo-o
d4f04f1- l1: log warning if no CL messages are received in a while (PR #5256 by @SDartayet)↘️ addresses issue #5234 opened by @MegaRedHand
7d7a6bb- l1: add target and script to run multiple benchmark runs (PR #5368 by @MegaRedHand)c68e76d- l2: add ZisK backend (PR #5392 by @xqft)d7470b7- l2: add helper functions for l2 eth client (PR #5433 by @tomip01)3f0bf4f- l2: prover backend for OpenVM (PR #5412 by @xqft)3fb2e90- l2: accelerate deployer (PR #5394 by @avilagaston9)badb617- l1,l2: allow eip 7702 on generic transactions (PR #5460 by @tomip01)0c0759e- l2: add timed prover API (PR #5478 by @ilitteri)57c98c8- l1: handle parallel merkleization edge case (PR #5389 by @MegaRedHand)↘️ addresses issue #5387 opened by @MegaRedHand
e48b55c- l1: cache block hash lookup for BLOCKHASH opcode (PR #5434 by @fmoletta)70463a1- l1: periodically fetch node records from peers. (PR #5446 by @lakshya-sky)bb1eb9e- l1: add "eth" entry to local ENR (PR #5453 by @lakshya-sky)↘️ addresses issue #5066 opened by @MegaRedHand
🐛 Bug Fixes
ba5b565- l1: make from and to optional ineth_getLogs(PR #5361 by @MegaRedHand)↘️ fixes issue #5360 opened by @ManuelBilbao
76434f3- l1, l2: fix mdbook workflow (PR #5386 by @jrchatruc)11e1072- l1: remove deprecated lighthouse flag (PR #5332 by @fmoletta)f505c00- l1: wait before retring on error in dev's block producer (PR #5391 by @ManuelBilbao)16192b4- l1: handle missing payloads in engine_getPayloadBodiesByRange (PR #5408 by @MegaRedHand)↘️ fixes issue #5403 opened by @rodrigo-o
dc83c60- l1,l2: fix encoding of nodes in witness (PR #5421 by @JereSalo)647e76f- l1: fix P256 precompile name in eth_config response (PR #5418 by @SDartayet)0773636- l2: replace ticker with sleep in dev-mode block producer (PR #5429 by @avilagaston9)44b34c8- l2: fix ZisK install (PR #5430 by @xqft)0ef3272- l1: avoid blocking during fullsync (PR #5445 by @iovoid)b67d7b2- l1: use correct block_num for base_fee in gas_tip_estimator (PR #5444 by @figtracer)e5d1bd6- l1: show proper exported number of blocks (PR #5448 by @fedacking)c00b76c- l1: validate pivot block body during snap sync (PR #5451 by @MegaRedHand)7a0ede3- l2: fix OpenVM release workflow (PR #5461 by @xqft)1bebff3- l1: revert "refactor chainconfig (#5233)" (PR #5464 by @fmoletta)2c81438- l1: sending ping to each neighbor found (PR #5481 by @ElFantasma)↘️ fixes issue #5480 opened by @lakshya-sky
⚡ Performance Improvements
06dc722- l1: avoid temporary allocations when decoding and hashing trie nodes (PR #5353 by @MegaRedHand)d3c0d11- l1,l2: parallel merkleization (top-down 16-ways) (PR #5377 by @Oppen)3e4d1e8- l1: improve rlp encoding (PR #5350 by @edg-l)fcbbbb3- l1: change encode_to_vec().len() -> length(), avoiding encoding to calc rlp length (PR #5374 by @edg-l)46096d1- l1: use our keccak implementation for receipt blooms (PR #5454 by @MegaRedHand)80ea03f- levm: use unchecked swap (PR #5439 by @iovoid)1e75cb0- l1,l2: avoid unnecessary code hashing (PR #5397 by @Oppen)
♻️ Refactors
926247b- l2: decouple guest program IO (PR #5314 by @ilitteri)c9fd96e- levm: remove unused variants from enum (PR #5427 by @iovoid)c7ec3b3- l1: refactor chainconfig (PR #5233 by @SDartayet)↘️ addresses issue #4720 opened by @SDartayet
f2b2006- l1: make improvements to public functions used by ethrex_replay (PR #5416 by @JereSalo)8fb4b27- l1: avoid recovering sender two times when txs are received (PR #5419 by @MegaRedHand)e982a7d- l2: improve SQL store initialization (PR #5479 by @ManuelBilbao)5dd2805- l1,l2,levm: remove dead code (PR #5452 by @iovoid)
✅ Tests
d69bedc- l1: verify we reject invalid iat claims. (PR #5245 by @lakshya-sky)↘️ addresses issue #5074 opened by @MegaRedHand
🔧 Chores
ab151d2- l2: implement rkyv traits forNode, serialize them directly into the prover guest program instead of its RLP encoding (PR #5224 by @xqft)a3f90a9- l1, l2: bump version for release 7.0.0 (PR #5313 by @lferrigno)1be3fe7- l2: add help for tdx failure jobs (PR #5367 by @tomip01)82d4ead- l1: remove unnecesary tx log. (PR #5381 by @mpaulucci)- [
7559ed1](https://git...
ethrex: v7.0.0
Aside from bug fixes and general QoL updates, this release introduces an array of new performance improvements, netting an increase of around 60% in execution throughput. Improvements range from optimizing vm opcodes to merkelization, better database options, and taking advantage of appropriate SIMD instruction sets on processors that support them.
NOTE: upgrading to this release requires resyncing.
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
8089824- fix jumpdests for large initcodes (PR #5254 by @iovoid):fix jumpdests for large initcodes (#5254)
-
due to
120e1c7- separate Account and storage Column families (PR #5055 by @Arkenan):separate Account and storage Column families (#5055)
-
due to
27be096- enable BlobDB for account bytecodes (PR #5300 by @MegaRedHand):enable BlobDB for account bytecodes (#5300)
✨ New Features
6e40a72- l1: omit copying bytes when encoding transactions (PR #5137 by @fmoletta)81a0cf3- l1: admin_addPeer endpoint (PR #5004 by @cdiielsi)4d99b56- l1,l2: setting avx2 flags for compilation and adding features asm to crates (PR #5189 by @pablodeymo)001e9a4- l1: named block_executor thread and subthreads (PR #5211 by @ElFantasma)3ab8004- l1: useadd_blocks_in_batchwhen importing blocks (PR #5204 by @fmoletta)↘️ addresses issue #5172 opened by @fedacking
5bbfc65- l1: upgrade execution breakdown pie chart and add new panels (PR #5220 by @rodrigo-o)↘️ addresses issue #5218 opened by @rodrigo-o
ce98532- l1,l2: name rayon threads for easier debugging (PR #5269 by @Oppen)f27da23- l1: add import-bench command for benchmarking block importing (PR #5215 by @fedacking)258982f- l2: revert current native token feature (PR #5008 by @tomip01)665a5da- l1: improve block execution aggregation logs (PR #5260 by @MegaRedHand)6fbd93b- l2: commit blocks instead of state diffs (PR #5135 by @avilagaston9)ff1442f- l1,l2: make tuple encoders single-pass to avoid double-encoding (PR #5319 by @VolodymyrBg)cea9f0c- l2: allow paying fees with custom token (PR #5024 by @tomip01)f1cfdf8- l2: add serde to AuthorizationTuple fields (PR #5339 by @damiramirez)9fc41e7- l1: rpc instrumentation and panels (PR #5311 by @rodrigo-o)4657f36- l1: add CLI flag to specify P2P listening address (PR #5297 by @MegaRedHand)
🐛 Bug Fixes
a9cd9b7- l2: setpendingPrivilegedTxIndexin initializer (PR #5161 by @ManuelBilbao)271e68a- l1, l2: tuning parameters of qfilter (PR #5166 by @pablodeymo)5b1c859- l1: unifiyfake_exponentialto a single U256 function (PR #5107 by @fedacking)5ffbd3f- l1: headers snapsync logs (PR #5082 by @fedacking)80aaef8- l1: fix queue length log (PR #5197 by @iovoid)11fe1c1- l1: have block execution stop when block's gas limit is surpassed by executing a transaction (PR #5185 by @cdiielsi)d413c55- l1: always use fullsync if db had data (PR #5196 by @fedacking)1d36a0b- l1: rlp decode impls for low size transactions (PR #5139 by @fmoletta)d280e5b- l1: fix breakdown pie chart (PR #5202 by @rodrigo-o)583914c- l1: resetctrvariable to 0 once committed (PR #5214 by @MegaRedHand)16b4297- l1: validate incoming pooled tx blobs (PR #4963 by @fmoletta)↘️ fixes issue #3745 opened by @MegaRedHand
a891b78- l2: peer table duplication (PR #5227 by @cdiielsi)f0922a0- l1: make function inner for InMemoryTrieDB (PR #5199 by @JereSalo)a6c7501- l1,l2: temporary fix for risc0 ecmul precompile (PR #5240 by @JereSalo)45a9871- l1: build initial empty block in block building (PR #5205 by @SDartayet)↘️ fixes issue #4997 opened by @MegaRedHand
47e286a- l1: revert build initial empty block in block building (#5205) (PR #5257 by @SDartayet)80be189- l1,l2: fix occasional error withdebug_executionWitness(PR #5212 by @JereSalo)fe53dcb- l2: shutdown node with ctrl+c (PR #5208 by @tomip01)8089824- levm: fix jumpdests for large initcodes (PR #5254 by @iovoid)4184393- l1,l2: make ethrex L1 + L2 + GPU build compile for ubuntu 22.04 (PR #5276 by @ilitteri)5a75700- l2: monitor does not ask for peers when node is not based (PR #5279 by @tomip01)f4905c2- l1,l2: build on ARM Linux (PR #5285 by @Oppen)cbb1fe5- l2: handle better when producing an empty batch (PR #5293 by @tomip01)e7f1385- l2: revert breaking when budget is reached for privileged txs (PR #5326 by @gianbelinche)9846e60- l1: fixed error message for gas limit (PR #5320 by @fedacking)43e64eb- l1: sleep between FCU and getPayload calls in dev-mode block producer (PR #5310 by @MegaRedHand)47a30fe- l1: do not usesecp256k1SP1 patch for the workspace (PR #5338 by @ilitteri)6e0cacd- l2: increase wake up time committer (PR #5341 by @tomip01)9143626- l2: increase L1 tx receipt retrieve retries (PR #5356 by @ilitteri)8825ef3- l2: checkpoint creation (PR #5321 by @avilagaston9)
⚡ Performance Improvements
...
ethrex: v7.0.0-rc.3
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
8089824- fix jumpdests for large initcodes (PR #5254 by @iovoid):fix jumpdests for large initcodes (#5254)
-
due to
120e1c7- separate Account and storage Column families (PR #5055 by @Arkenan):separate Account and storage Column families (#5055)
✨ New Features
6e40a72- l1: omit copying bytes when encoding transactions (PR #5137 by @fmoletta)81a0cf3- l1: admin_addPeer endpoint (PR #5004 by @cdiielsi)4d99b56- l1,l2: setting avx2 flags for compilation and adding features asm to crates (PR #5189 by @pablodeymo)001e9a4- l1: named block_executor thread and subthreads (PR #5211 by @ElFantasma)3ab8004- l1: useadd_blocks_in_batchwhen importing blocks (PR #5204 by @fmoletta)↘️ addresses issue #5172 opened by @fedacking
5bbfc65- l1: upgrade execution breakdown pie chart and add new panels (PR #5220 by @rodrigo-o)↘️ addresses issue #5218 opened by @rodrigo-o
ce98532- l1,l2: name rayon threads for easier debugging (PR #5269 by @Oppen)f27da23- l1: add import-bench command for benchmarking block importing (PR #5215 by @fedacking)258982f- l2: revert current native token feature (PR #5008 by @tomip01)665a5da- l1: improve block execution aggregation logs (PR #5260 by @MegaRedHand)6fbd93b- l2: commit blocks instead of state diffs (PR #5135 by @avilagaston9)
🐛 Bug Fixes
a9cd9b7- l2: setpendingPrivilegedTxIndexin initializer (PR #5161 by @ManuelBilbao)271e68a- l1, l2: tuning parameters of qfilter (PR #5166 by @pablodeymo)5b1c859- l1: unifiyfake_exponentialto a single U256 function (PR #5107 by @fedacking)5ffbd3f- l1: headers snapsync logs (PR #5082 by @fedacking)80aaef8- l1: fix queue length log (PR #5197 by @iovoid)11fe1c1- l1: have block execution stop when block's gas limit is surpassed by executing a transaction (PR #5185 by @cdiielsi)d413c55- l1: always use fullsync if db had data (PR #5196 by @fedacking)1d36a0b- l1: rlp decode impls for low size transactions (PR #5139 by @fmoletta)d280e5b- l1: fix breakdown pie chart (PR #5202 by @rodrigo-o)583914c- l1: resetctrvariable to 0 once committed (PR #5214 by @MegaRedHand)16b4297- l1: validate incoming pooled tx blobs (PR #4963 by @fmoletta)↘️ fixes issue #3745 opened by @MegaRedHand
a891b78- l2: peer table duplication (PR #5227 by @cdiielsi)f0922a0- l1: make function inner for InMemoryTrieDB (PR #5199 by @JereSalo)a6c7501- l1,l2: temporary fix for risc0 ecmul precompile (PR #5240 by @JereSalo)45a9871- l1: build initial empty block in block building (PR #5205 by @SDartayet)↘️ fixes issue #4997 opened by @MegaRedHand
47e286a- l1: revert build initial empty block in block building (#5205) (PR #5257 by @SDartayet)80be189- l1,l2: fix occasional error withdebug_executionWitness(PR #5212 by @JereSalo)fe53dcb- l2: shutdown node with ctrl+c (PR #5208 by @tomip01)8089824- levm: fix jumpdests for large initcodes (PR #5254 by @iovoid)4184393- l1,l2: make ethrex L1 + L2 + GPU build compile for ubuntu 22.04 (PR #5276 by @ilitteri)5a75700- l2: monitor does not ask for peers when node is not based (PR #5279 by @tomip01)f4905c2- l1,l2: build on ARM Linux (PR #5285 by @Oppen)cbb1fe5- l2: handle better when producing an empty batch (PR #5293 by @tomip01)
⚡ Performance Improvements
1130d27- l1: avoid opening tries (PR #5145 by @iovoid)9e37483- l1: validate receipts in the same thread as the execution (PR #5170 by @iovoid)05211ba- l1: avoid validating node hash (PR #5167 by @iovoid)af963e8- levm: reuse stack pool (PR #5179 by @iovoid)4e239ae- l1: disable compression of database (PR #5223 by @iovoid)49d69bd- l1: batch merkelization requests if the queue is not empty (PR #5200 by @iovoid)d04bca6- levm: fixFlatKeyValuegeneration on full sync mode (PR #5274 by @azteca1998)85ef3d3- l1: use asm ffi keccak (PR #5247 by @edg-l)f5b968f- l1: rebuild_bloom - insert instead of merge (PR #5266 by @Arkenan)b31c7a4- levm: cacheBLOBBASEFEEopcode value (PR #5288 by @azteca1998)43a743f- l1: avoid copy when reading account code (PR #5289 by @iovoid)120e1c7- l1: separate Account and storage Column families (PR #5055 by @Arkenan)d9fff5e- l1: selective dirtying of trie (PR #5282 by @iovoid)
♻️ Refactors
7ff0ff2- l1: change p2p_enabled flag to p2p_disabled flag (PR #5228 by @cdiielsi)↘️ addresses issue #4979 opened by @MegaRedHand
ee07397- l1: bring all test modules in the rpc crate into a single test_util module (PR #5213 by @cdiielsi)↘️ addresses issue #5070 opened by @ElFantasma
- [
d9cd9fd](https://github.com/la...
ethrex: v7.0.0-rc.2
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
8089824- fix jumpdests for large initcodes (PR #5254 by @iovoid):fix jumpdests for large initcodes (#5254)
✨ New Features
6e40a72- l1: omit copying bytes when encoding transactions (PR #5137 by @fmoletta)81a0cf3- l1: admin_addPeer endpoint (PR #5004 by @cdiielsi)4d99b56- l1,l2: setting avx2 flags for compilation and adding features asm to crates (PR #5189 by @pablodeymo)001e9a4- l1: named block_executor thread and subthreads (PR #5211 by @ElFantasma)3ab8004- l1: useadd_blocks_in_batchwhen importing blocks (PR #5204 by @fmoletta)↘️ addresses issue #5172 opened by @fedacking
5bbfc65- l1: upgrade execution breakdown pie chart and add new panels (PR #5220 by @rodrigo-o)↘️ addresses issue #5218 opened by @rodrigo-o
ce98532- l1,l2: name rayon threads for easier debugging (PR #5269 by @Oppen)f27da23- l1: add import-bench command for benchmarking block importing (PR #5215 by @fedacking)
🐛 Bug Fixes
a9cd9b7- l2: setpendingPrivilegedTxIndexin initializer (PR #5161 by @ManuelBilbao)271e68a- l1, l2: tuning parameters of qfilter (PR #5166 by @pablodeymo)5b1c859- l1: unifiyfake_exponentialto a single U256 function (PR #5107 by @fedacking)5ffbd3f- l1: headers snapsync logs (PR #5082 by @fedacking)80aaef8- l1: fix queue length log (PR #5197 by @iovoid)11fe1c1- l1: have block execution stop when block's gas limit is surpassed by executing a transaction (PR #5185 by @cdiielsi)d413c55- l1: always use fullsync if db had data (PR #5196 by @fedacking)1d36a0b- l1: rlp decode impls for low size transactions (PR #5139 by @fmoletta)d280e5b- l1: fix breakdown pie chart (PR #5202 by @rodrigo-o)583914c- l1: resetctrvariable to 0 once committed (PR #5214 by @MegaRedHand)16b4297- l1: validate incoming pooled tx blobs (PR #4963 by @fmoletta)↘️ fixes issue #3745 opened by @MegaRedHand
a891b78- l2: peer table duplication (PR #5227 by @cdiielsi)f0922a0- l1: make function inner for InMemoryTrieDB (PR #5199 by @JereSalo)a6c7501- l1,l2: temporary fix for risc0 ecmul precompile (PR #5240 by @JereSalo)45a9871- l1: build initial empty block in block building (PR #5205 by @SDartayet)↘️ fixes issue #4997 opened by @MegaRedHand
47e286a- l1: revert build initial empty block in block building (#5205) (PR #5257 by @SDartayet)80be189- l1,l2: fix occasional error withdebug_executionWitness(PR #5212 by @JereSalo)fe53dcb- l2: shutdown node with ctrl+c (PR #5208 by @tomip01)8089824- levm: fix jumpdests for large initcodes (PR #5254 by @iovoid)4184393- l1,l2: make ethrex L1 + L2 + GPU build compile for ubuntu 22.04 (PR #5276 by @ilitteri)
⚡ Performance Improvements
1130d27- l1: avoid opening tries (PR #5145 by @iovoid)9e37483- l1: validate receipts in the same thread as the execution (PR #5170 by @iovoid)05211ba- l1: avoid validating node hash (PR #5167 by @iovoid)af963e8- levm: reuse stack pool (PR #5179 by @iovoid)4e239ae- l1: disable compression of database (PR #5223 by @iovoid)49d69bd- l1: batch merkelization requests if the queue is not empty (PR #5200 by @iovoid)d04bca6- levm: fixFlatKeyValuegeneration on full sync mode (PR #5274 by @azteca1998)
♻️ Refactors
7ff0ff2- l1: change p2p_enabled flag to p2p_disabled flag (PR #5228 by @cdiielsi)↘️ addresses issue #4979 opened by @MegaRedHand
ee07397- l1: bring all test modules in the rpc crate into a single test_util module (PR #5213 by @cdiielsi)↘️ addresses issue #5070 opened by @ElFantasma
d9cd9fd- l2: avoid peer handler logs (PR #5253 by @avilagaston9)↘️ addresses issue #5222 opened by @avilagaston9
1438c81- l1: remove unneeded clone andArc(PR #5252 by @MegaRedHand)
🔧 Chores
c5e99e0- l1: update mainnet genesis file for fusaka (PR #5162 by @mpaulucci)f86cb00- l1: mute devp2p tests until we can fix the flaky ones (PR #5171 by @fedacking)2f3a86f- l2: use SP1 patched crate for ecmul precompile (PR #5133 by @xqft)10f5a3d- l2: improve zkVM execution and proving time logs (PR #5201 by @ilitteri)4d3eb6c- l1,l2: bump version 6.0.0 (PR #5111 by @ManuelBilbao)8627e77- l1: remove unneeded clone of key in difflayers (PR #5251 by @iovoid)ec91257- l1,l2: disable printing of log tagets depending on log level (PR #5184 by @mpaulucci)6367f53- l2: optimize trie hashing andBranchNodeencoding for zkVMs (PR #4723 by @xqft)66cd9fb- l2: include zkVM ELFs and VKs in the releases (PR #5244 by @ilitteri)07692de- levm: lambdaworks update version 0.13 (PR #5206 by @pablodeymo)
ethrex: v6.0.0 - Mach 3
This release introduces major performance optimizations across the execution pipeline, delivering up to 3× faster processing under typical workloads. Improvements span database access, caching, and background execution paths, significantly reducing block execution times.
In parallel, L2 nodes now feature complete blob support under Fusaka.
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
307d0ed- allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand):allow setting a target gas limit through CLI (#4973)
-
due to
3e9705b- unify trie node encoding (PR #4995 by @iovoid):unify trie node encoding (#4995)
✨ New Features
de0802e- l1: running some GenServers in dedicated threads (PR #4925 by @ElFantasma)307d0ed- l1: allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand)↘️ addresses issue #4482 opened by @MegaRedHand
417aafc- l2: generate batch prover input at commit and store it in db (PR #5006 by @ilitteri)db38cc9- l2: implement operator fee (PR #4725 by @avilagaston9)↘️ addresses issue #4694 opened by @avilagaston9
4514172- l1,l2: add CLI option to force color output mode (PR #5034 by @ManuelBilbao)c638968- l2: implement l1 fee (PR #4781 by @avilagaston9)↘️ addresses issue #4696 opened by @avilagaston9
4df1f44- l2: aligned mode support for multiprover (PR #3429 by @xqft)556f2de- l1,l2: support fusaka blobs cell_proofs (PR #4814 by @tomip01)c04173a- l2: reject privileged transactions in p2p messages (PR #5086 by @tomip01)084c899- l1: block size limit in building (PR #4397 by @SDartayet)5bc0f9e- l1: reintroduce ecrecover implementation usingsecp256k1for L1 (PR #4924 by @ilitteri)ac17740- l1,l2: support fusaka blobs cell_proofs (PR #5121 by @ManuelBilbao)
🐛 Bug Fixes
ed4f08c- l2: regenerate head state in node initialization (PR #4968 by @ilitteri)438fe9d- l1: remove duplicate span.entered() call in apply_updates (PR #4970 by @MegaRedHand)4daa4ab- l1,l2: update binary names (PR #4980 by @ManuelBilbao)d13c5a8- l1,l2: add feature flag to decide precompute number (PR #4893 by @tomip01)516f4b2- l1: addengine_getBlobsV2to capabilities. (PR #5007 by @mpaulucci)6c39fc2- l2: update operator fee flag on makefile (PR #5029 by @tomip01)433b74f- levm: remove unneeded clone of transaction log (PR #5028 by @iovoid)3ff58e0- l1: update capabilities to include engine_getPayloadV5 (PR #5039 by @edg-l)cf9276b- l2: committer wake up delay (PR #5033 by @ManuelBilbao)c9b0005- l1: fix big account download stopping prematurely (PR #4994 by @fedacking)992bba3- l1: retry on no peers on update pivot (PR #5002 by @fedacking)07dcec0- l1: port 30303 still used after stopping the node (PR #5041 by @edg-l)↘️ fixes issue #4895 opened by @rodrigo-o
23c14ec- l1: modify Grafana dashboards so they can be filtered by instance (PR #4831 by @klaus993)3d3e2b6- l2: use checkpoints to persist previous batch state (PR #5037 by @ilitteri)a83b959- l1: stop block building preemptively (PR #4999 by @MegaRedHand)↘️ fixes issue #4992 opened by @MegaRedHand
4324c56- l1: track requested pooled transactions (PR #4962 by @fmoletta)deb26ff- l1: remove await in now sync call in levm_runner (PR #5072 by @MegaRedHand)53711cd- l2: override execution witness endpoint (PR #5063 by @avilagaston9)bcc677c- l1: fix ef_test check not compiling (PR #5078 by @edg-l)f335294- l1: fix exponential overflow in fake exponential (PR #5093 by @fedacking)37fe8e1- l1,l2: excludeethrex-l2cratemake test(PR #5100 by @ilitteri)ee97e8e- l2: remove one-time checkpoint if already exists (PR #5083 by @ilitteri)42b32e0- l2: remove one-time checkpoint if already exists (PR #5083 by @ilitteri)c228e18- l1,l2: inaccurate block execution metrics (PR #5108 by @Oppen)4ee0a46- l1: don't trigger snap sync if fcu head is already canonical (PR #4985 by @fmoletta)↘️ fixes issue #4846 opened by @mpaulucci
fb15bd9- l2: fixethrex-l2-commoncrate compilation (PR #5106 by @ilitteri)199dc90- l2: checkpoint initialization (PR #5123 by @avilagaston9)1f422e9- l1: fix illegal instructions in certain ARM processors (PR #5143 by @fedacking)b233284- l1: exit on irrecoverable error on sync (PR #5005 by @fedacking)db22fbc- l1,l2: make l2 integration tests and lint required (PR #5142 by @gianbelinche)59d2ccb- l2: save last committed batch as current checkpoint (PR #5152 by @ManuelBilbao)02c4468- l2: remove used checkpoints (PR #5120 by @gianbelinche)e8fce20- l2: setpendingPrivilegedTxIndexin initializer (PR #5161 by @ManuelBilbao)
⚡ Performance Improvements
ethrex: v6.0.0-rc.4
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
307d0ed- allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand):allow setting a target gas limit through CLI (#4973)
-
due to
3e9705b- unify trie node encoding (PR #4995 by @iovoid):unify trie node encoding (#4995)
✨ New Features
de0802e- l1: running some GenServers in dedicated threads (PR #4925 by @ElFantasma)307d0ed- l1: allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand)↘️ addresses issue #4482 opened by @MegaRedHand
417aafc- l2: generate batch prover input at commit and store it in db (PR #5006 by @ilitteri)db38cc9- l2: implement operator fee (PR #4725 by @avilagaston9)↘️ addresses issue #4694 opened by @avilagaston9
4514172- l1,l2: add CLI option to force color output mode (PR #5034 by @ManuelBilbao)c638968- l2: implement l1 fee (PR #4781 by @avilagaston9)↘️ addresses issue #4696 opened by @avilagaston9
4df1f44- l2: aligned mode support for multiprover (PR #3429 by @xqft)556f2de- l1,l2: support fusaka blobs cell_proofs (PR #4814 by @tomip01)c04173a- l2: reject privileged transactions in p2p messages (PR #5086 by @tomip01)084c899- l1: block size limit in building (PR #4397 by @SDartayet)5bc0f9e- l1: reintroduce ecrecover implementation usingsecp256k1for L1 (PR #4924 by @ilitteri)ac17740- l1,l2: support fusaka blobs cell_proofs (PR #5121 by @ManuelBilbao)
🐛 Bug Fixes
ed4f08c- l2: regenerate head state in node initialization (PR #4968 by @ilitteri)438fe9d- l1: remove duplicate span.entered() call in apply_updates (PR #4970 by @MegaRedHand)4daa4ab- l1,l2: update binary names (PR #4980 by @ManuelBilbao)d13c5a8- l1,l2: add feature flag to decide precompute number (PR #4893 by @tomip01)516f4b2- l1: addengine_getBlobsV2to capabilities. (PR #5007 by @mpaulucci)6c39fc2- l2: update operator fee flag on makefile (PR #5029 by @tomip01)433b74f- levm: remove unneeded clone of transaction log (PR #5028 by @iovoid)3ff58e0- l1: update capabilities to include engine_getPayloadV5 (PR #5039 by @edg-l)cf9276b- l2: committer wake up delay (PR #5033 by @ManuelBilbao)c9b0005- l1: fix big account download stopping prematurely (PR #4994 by @fedacking)992bba3- l1: retry on no peers on update pivot (PR #5002 by @fedacking)07dcec0- l1: port 30303 still used after stopping the node (PR #5041 by @edg-l)↘️ fixes issue #4895 opened by @rodrigo-o
23c14ec- l1: modify Grafana dashboards so they can be filtered by instance (PR #4831 by @klaus993)3d3e2b6- l2: use checkpoints to persist previous batch state (PR #5037 by @ilitteri)a83b959- l1: stop block building preemptively (PR #4999 by @MegaRedHand)↘️ fixes issue #4992 opened by @MegaRedHand
4324c56- l1: track requested pooled transactions (PR #4962 by @fmoletta)deb26ff- l1: remove await in now sync call in levm_runner (PR #5072 by @MegaRedHand)53711cd- l2: override execution witness endpoint (PR #5063 by @avilagaston9)bcc677c- l1: fix ef_test check not compiling (PR #5078 by @edg-l)f335294- l1: fix exponential overflow in fake exponential (PR #5093 by @fedacking)37fe8e1- l1,l2: excludeethrex-l2cratemake test(PR #5100 by @ilitteri)ee97e8e- l2: remove one-time checkpoint if already exists (PR #5083 by @ilitteri)42b32e0- l2: remove one-time checkpoint if already exists (PR #5083 by @ilitteri)c228e18- l1,l2: inaccurate block execution metrics (PR #5108 by @Oppen)4ee0a46- l1: don't trigger snap sync if fcu head is already canonical (PR #4985 by @fmoletta)↘️ fixes issue #4846 opened by @mpaulucci
fb15bd9- l2: fixethrex-l2-commoncrate compilation (PR #5106 by @ilitteri)199dc90- l2: checkpoint initialization (PR #5123 by @avilagaston9)1f422e9- l1: fix illegal instructions in certain ARM processors (PR #5143 by @fedacking)b233284- l1: exit on irrecoverable error on sync (PR #5005 by @fedacking)db22fbc- l1,l2: make l2 integration tests and lint required (PR #5142 by @gianbelinche)59d2ccb- l2: save last committed batch as current checkpoint (PR #5152 by @ManuelBilbao)02c4468- l2: remove used checkpoints (PR #5120 by @gianbelinche)
⚡ Performance Improvements
f4170c7- levm: use bitmap for jumpdests (PR #4608 by @ilitteri)669700c- levm: store valid jump targets with code (PR #4961 by @jrchatruc)7a4b41b- l1, l2: use fxhash for diff layers (PR #5032 by @Oppen)8b0e2b8- l1: reusing FindNode message per lookup loop (PR #5047 by @ElFantasma)96e6433- l1, l2: move post-execution trie updates to the background *(PR #4989 by ...
ethrex: v6.0.0-rc.2
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
307d0ed- allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand):allow setting a target gas limit through CLI (#4973)
-
due to
3e9705b- unify trie node encoding (PR #4995 by @iovoid):unify trie node encoding (#4995)
✨ New Features
de0802e- l1: running some GenServers in dedicated threads (PR #4925 by @ElFantasma)307d0ed- l1: allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand)↘️ addresses issue #4482 opened by @MegaRedHand
417aafc- l2: generate batch prover input at commit and store it in db (PR #5006 by @ilitteri)db38cc9- l2: implement operator fee (PR #4725 by @avilagaston9)↘️ addresses issue #4694 opened by @avilagaston9
4514172- l1,l2: add CLI option to force color output mode (PR #5034 by @ManuelBilbao)c638968- l2: implement l1 fee (PR #4781 by @avilagaston9)↘️ addresses issue #4696 opened by @avilagaston9
🐛 Bug Fixes
ed4f08c- l2: regenerate head state in node initialization (PR #4968 by @ilitteri)438fe9d- l1: remove duplicate span.entered() call in apply_updates (PR #4970 by @MegaRedHand)4daa4ab- l1,l2: update binary names (PR #4980 by @ManuelBilbao)d13c5a8- l1,l2: add feature flag to decide precompute number (PR #4893 by @tomip01)516f4b2- l1: addengine_getBlobsV2to capabilities. (PR #5007 by @mpaulucci)6c39fc2- l2: update operator fee flag on makefile (PR #5029 by @tomip01)433b74f- levm: remove unneeded clone of transaction log (PR #5028 by @iovoid)3ff58e0- l1: update capabilities to include engine_getPayloadV5 (PR #5039 by @edg-l)cf9276b- l2: committer wake up delay (PR #5033 by @ManuelBilbao)c9b0005- l1: fix big account download stopping prematurely (PR #4994 by @fedacking)992bba3- l1: retry on no peers on update pivot (PR #5002 by @fedacking)07dcec0- l1: port 30303 still used after stopping the node (PR #5041 by @edg-l)↘️ fixes issue #4895 opened by @rodrigo-o
23c14ec- l1: modify Grafana dashboards so they can be filtered by instance (PR #4831 by @klaus993)3d3e2b6- l2: use checkpoints to persist previous batch state (PR #5037 by @ilitteri)42b32e0- l2: remove one-time checkpoint if already exists (PR #5083 by @ilitteri)
⚡ Performance Improvements
f4170c7- levm: use bitmap for jumpdests (PR #4608 by @ilitteri)669700c- levm: store valid jump targets with code (PR #4961 by @jrchatruc)7a4b41b- l1, l2: use fxhash for diff layers (PR #5032 by @Oppen)8b0e2b8- l1: reusing FindNode message per lookup loop (PR #5047 by @ElFantasma)96e6433- l1, l2: move post-execution trie updates to the background (PR #4989 by @edg-l)
♻️ Refactors
87ed562- l1,l2: remove unused dependency and import (PR #4936 by @MegaRedHand)c3e30f4- l1: make TrieError::InconsistentTree more specific (PR #4836 by @cdiielsi)↘️ addresses issue #4786 opened by @MegaRedHand
0e63e98- l1,l2: release workflow (PR #4986 by @ManuelBilbao)3e9705b- l1: unify trie node encoding (PR #4995 by @iovoid)5346ed2- l1: removeMutexfrom profiling metrics (PR #5031 by @MegaRedHand)ebb341b- l2: removeasyncfromBlockchain::new_evm(PR #5062 by @MegaRedHand)
✅ Tests
3d38558- l1: polish test reports with timestamps and formatting (PR #4770 by @Signor1)↘️ addresses issue #3886 opened by @sofiazcoaga
🔧 Chores
55be0b3- l1: change the log of target peer to debug from warn (PR #4984 by @fedacking)5f2dbf6- l2: insert placeholder proxies for system contracts (PR #4930 by @ManuelBilbao)ec56d72- l1,l2: made so that the P2P logging functions say the correct file (PR #4971 by @fedacking)b27f106- l1, l2: remove rocksdb wal TTL (PR #4966 by @jrchatruc)ebbf9c5- l1: update lighthouse to a version that supports fusaka (PR #4991 by @mpaulucci)165782c- l1,l2: bump cargo toml version for 5.0.0 release (PR #4935 by @ManuelBilbao)1136d83- l1: improved logs for engine calls (PR #4987 by @fedacking)9f7443c- l1: improved snapync logs (PR #4983 by @fedacking)
ethrex: v6.0.0-rc.1
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
-
due to
307d0ed- allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand):allow setting a target gas limit through CLI (#4973)
-
due to
3e9705b- unify trie node encoding (PR #4995 by @iovoid):unify trie node encoding (#4995)
✨ New Features
de0802e- l1: running some GenServers in dedicated threads (PR #4925 by @ElFantasma)307d0ed- l1: allow setting a target gas limit through CLI (PR #4973 by @MegaRedHand)↘️ addresses issue #4482 opened by @MegaRedHand
417aafc- l2: generate batch prover input at commit and store it in db (PR #5006 by @ilitteri)db38cc9- l2: implement operator fee (PR #4725 by @avilagaston9)↘️ addresses issue #4694 opened by @avilagaston9
4514172- l1,l2: add CLI option to force color output mode (PR #5034 by @ManuelBilbao)c638968- l2: implement l1 fee (PR #4781 by @avilagaston9)↘️ addresses issue #4696 opened by @avilagaston9
🐛 Bug Fixes
ed4f08c- l2: regenerate head state in node initialization (PR #4968 by @ilitteri)438fe9d- l1: remove duplicate span.entered() call in apply_updates (PR #4970 by @MegaRedHand)4daa4ab- l1,l2: update binary names (PR #4980 by @ManuelBilbao)d13c5a8- l1,l2: add feature flag to decide precompute number (PR #4893 by @tomip01)516f4b2- l1: addengine_getBlobsV2to capabilities. (PR #5007 by @mpaulucci)6c39fc2- l2: update operator fee flag on makefile (PR #5029 by @tomip01)433b74f- levm: remove unneeded clone of transaction log (PR #5028 by @iovoid)3ff58e0- l1: update capabilities to include engine_getPayloadV5 (PR #5039 by @edg-l)cf9276b- l2: committer wake up delay (PR #5033 by @ManuelBilbao)c9b0005- l1: fix big account download stopping prematurely (PR #4994 by @fedacking)992bba3- l1: retry on no peers on update pivot (PR #5002 by @fedacking)07dcec0- l1: port 30303 still used after stopping the node (PR #5041 by @edg-l)↘️ fixes issue #4895 opened by @rodrigo-o
23c14ec- l1: modify Grafana dashboards so they can be filtered by instance (PR #4831 by @klaus993)3d3e2b6- l2: use checkpoints to persist previous batch state (PR #5037 by @ilitteri)
⚡ Performance Improvements
f4170c7- levm: use bitmap for jumpdests (PR #4608 by @ilitteri)669700c- levm: store valid jump targets with code (PR #4961 by @jrchatruc)7a4b41b- l1, l2: use fxhash for diff layers (PR #5032 by @Oppen)8b0e2b8- l1: reusing FindNode message per lookup loop (PR #5047 by @ElFantasma)96e6433- l1, l2: move post-execution trie updates to the background (PR #4989 by @edg-l)
♻️ Refactors
87ed562- l1,l2: remove unused dependency and import (PR #4936 by @MegaRedHand)c3e30f4- l1: make TrieError::InconsistentTree more specific (PR #4836 by @cdiielsi)↘️ addresses issue #4786 opened by @MegaRedHand
0e63e98- l1,l2: release workflow (PR #4986 by @ManuelBilbao)3e9705b- l1: unify trie node encoding (PR #4995 by @iovoid)5346ed2- l1: removeMutexfrom profiling metrics (PR #5031 by @MegaRedHand)ebb341b- l2: removeasyncfromBlockchain::new_evm(PR #5062 by @MegaRedHand)
✅ Tests
3d38558- l1: polish test reports with timestamps and formatting (PR #4770 by @Signor1)↘️ addresses issue #3886 opened by @sofiazcoaga
🔧 Chores
55be0b3- l1: change the log of target peer to debug from warn (PR #4984 by @fedacking)5f2dbf6- l2: insert placeholder proxies for system contracts (PR #4930 by @ManuelBilbao)ec56d72- l1,l2: made so that the P2P logging functions say the correct file (PR #4971 by @fedacking)b27f106- l1, l2: remove rocksdb wal TTL (PR #4966 by @jrchatruc)ebbf9c5- l1: update lighthouse to a version that supports fusaka (PR #4991 by @mpaulucci)165782c- l1,l2: bump cargo toml version for 5.0.0 release (PR #4935 by @ManuelBilbao)1136d83- l1: improved logs for engine calls (PR #4987 by @fedacking)9f7443c- l1: improved snapync logs (PR #4983 by @fedacking)
ethrex: v5.0.0 - Snapshots
This release brings snapshots. AKA Flat Key Values
There are breaking changes, so you’ll need to resync.
Installation and running instructions can be found in our docs
✨ New Features
4880- l2: enable command flags forl2 --dev(by @tomip01)4896- l1: add websocket rpc (by @ManuelBilbao)4812- l1: download all headers from new to old as first step of full sync (by @fmoletta)4884- l1: implement flatkeyvalue (snapshots) (by @iovoid)
⚡ Performance Improvements
4853- l1: revert optimistic transactions in rocksdb and remove the explicit configured cache (by @rodrigo-o)
♻️ Refactors
4829- l1,l2: separate binaries (by @ManuelBilbao)4850- l1: improve the way we remove ONLY the storage of an account (by @JereSalo)
🐛 Fixes
4894- l1: show correct block height in metrics (by @MegaRedHand)4906- l2: add restart logic for contract deployer to wait for l1 start (by @tomip01)4916- l1, l2: cargo test compilation at workspace level (by @ilitteri)4915- l1,l2: don’t setlatesttag when making pre-releases (by @ManuelBilbao)
🔧 Chores
4887- l1: lower peer_table and initiator INFO messages to DEBUG (by @ElFantasma)4815- l1: remove snapshot dirs when they are no longer used (by @fedacking)4901- l1: remove wrong color codes from log (by @edg-l)4900- l1: load c-kzg trusted setup when initializing the node (by @JereSalo)4875- l1: reduce handling cast message warn spam (by @edg-l)4859- l1: restartethereum-metrics-exporterwhen starting node using tooling/sync commands (by @rodrigo-o)4809- l2: use SP1 patch for ecpairing precompile (by @xqft)4891- l1,l2: bump Cargo.toml to 4.0.0 for next release (by @jrchatruc)
📝 Documentation
🧪 Tests
ethrex: v4.0.0 - Path-based Storage
This release changes our internal trie database to be path-based as opposed to hash-based, which both increases read performance when executing and reduces database growth substantially (by about 10x).
Installation and running instructions can be found in our docs
💥 BREAKING CHANGES
✨ New Features
- feat(l1): print client version at bootup by @fedacking in #4824
- feat(l2): add WETH contract to genesis by @tomip01 in #4830
- feat(l2): custom native token by @ilitteri in #4622
- fix(l1): added error for case where system contract code is empty by @SDartayet in #4731
- docs(l1): update readme by @lferrigno in #4847
- chore(l1): move FD limit before storage initialization by @rodrigo-o in #4848
- fix(l1): fix tooling/sync sync target so it uses existing target by @cdiielsi in #4811
- fix(l2): update default bridge address by @avilagaston9 in #4851
- perf(levm): remove unnecesary mul in ecpairing by @edg-l in #4843
- refactor(l1): multiplex p2p requests by @ElFantasma in #4797
- feat(l1): add tx broadcasting time interval flag to cli by @cdiielsi in #4751
- chore(l1): move
WARNlogs toDEBUGwhen a tx is not able to be added to the mempool by @rodrigo-o in #4841 - docs(l1): add crate reviews by @mpaulucci in #4729
- feat(l2): pay base fee to fee vault by @MegaRedHand in #4536
- ci(l1): fail L1 job if hive tests fail by @mpaulucci in #4827
- perf(l1): optimize get closest nodes by @edg-l in #4838
- feat(l1): add block building metric by @edg-l in #4878
- chore(l1): register block building metric and dashboard by @edg-l in #4879
- chore(l1,l2): bump cargo toml version for 3.0.0 release by @jrchatruc in #4881
- feat(l1): match the amount of peers to target by @ElFantasma in #4866
- test(l1): fix and document tests by @JereSalo in #4820
- refactor(levm): use
AccountStatusfor managing status of accounts by @JereSalo in #4833 - ci(l1): update to
execution-spec-tests@5.3.0in daily hive tests. by @mpaulucci in #4877 - fix(levm): handle storage collisions when creating contracts by @JereSalo in #4813
- fix(l1): use 256 bits for gas price in Legacy and EIP-2930 transactions by @JereSalo in #4823
- feat(l1): add full-sync flag to server runner by @MegaRedHand in #4832
- ci(l1): use
ethereum/hiveforrpc-compatsimulation. by @mpaulucci in #4885 - docs(l1,l2): add release process to docs by @lferrigno in #4886