Release notes
Overview
530 Changes across 2,643 Files. Major worldstate backend refactor, RocksDB snapshots, flat storage for snap sync, block-level access lists (EIP-7928), initial zkEVM groundwork, and a large round of JSON-RPC and EVM hot-path optimizations.
Breaking changes
- eth/66 and eth/67 dropped;
eth/69is now default andeth/70added and activated (#9938, #10246) - Engine API versioning reworked (#10786)
- Vault and NDM code paths removed (#10478)
Highlights
Performance
- Tx processing via encoded-tx trie root and fast block re-encode (#10435)
KeccakCache,SeqlockCache,FastHashimprovements (#10391, #10415, #10082)- EVM hot paths:
EXP/MOD/identity precompile (#10060, #10061, #10366) - Pruning: +512MB default cache, skip GC, inline prunes (#10247, #10230, #10112)
- JSON-RPC parsing and processing optimized (#10207, #10389, #10453)
State & storage
- Worldstate backend refactor with pluggable backends (#9089)
- RocksDB and column DB snapshots (#10080, #10262)
- Flat storage for snap sync (#9854, #10426)
- Discv5 nodes moved to a separate DB (#10027)
EVM extensibility
- Policy-based gas tracking (#9846, #10068, #10692)
- External tracer registration (#10228)
- Witness generation (#9949) and zkEVM groundwork (#10561, #10773)
Consensus & EIPs
RPC & correctness
eth_estimateGasfixes (#10559);eth_getBlockByNumbercanonical enforcement (#10024)eth_getLogsfaster (#9923); log index introduced (#8464)engine_getBlobsV3(#9942);engine_getPayloadV4for Optimism (#10328)eth_subscribe transactionReceipts(#10524)debug_block field overrides (#10405);GasCapenforced on debug/trace (#10457)- Hardened RPC tx validations (#10395)
Networking
- Faster handshake parsing, Ethrex recognized (#9935)
- Discovery v5 optimized (#10081); better peer decentralization (#10090)
Chain-specific
- Taiko/Surge: Shasta changes, Hoodi activation, TDX attestation (#9998, #10406, #9954)
- XDC: P2P layer, EIP-1559, fast sync, penalty/reward handlers (#10615, #10277, #10549)
- OP Superchain: rolling updates
Flat DB (opt-in)
Nethermind 1.37.0 ships a new Flat DB state backend that stores the latest state as flat account/storage records instead of walking the Merkle-Patricia trie. Faster random reads, streaming snap serving, and per-column cache budgets. Disabled by default — opt in with --FlatDb.Enabled=true.
Activation
--FlatDb.Enabled=true
This swaps FlatWorldStateModule in for the pruning-trie wiring, disables admin_prune / admin_verifyTrie, and force-enables Sync.SnapServingEnabled=true.
Migration from an existing pruning-trie DB
Set the import flag alongside Enabled:
--FlatDb.Enabled=true
--FlatDb.ImportFromPruningTrieState=true
Run the node. On first boot the ImportFlatDb step streams the head state into the flat DB and then exits cleanly (exit code 0). Just restart the node — the flag can stay on. On subsequent boots the step detects the populated flat DB, logs Flat db already exist, and returns without exiting, so the node proceeds to normal operation. There is no automatic in-place migration without the flag: if you enable Flat DB on a node that already has pruning-trie data and don't set ImportFromPruningTrieState, the flat DB is simply empty and you'll sync from scratch.
FlatLayout.PreimageFlat cannot be the import target (the importer uses raw hash-keyed writes) — use Flat or FlatInTrie for the import run.
Layouts — -FlatDb.Layout
| Value | Notes |
|---|---|
| Flat (default) | Flat entries in a dedicated column DB with Hyper Clock caches (30% Account / 70% Storage of BlockCacheSizeBudget). |
| FlatInTrie | Entries embedded into trie leaves. FlatRocksDbConfigAdjuster adds optimize_filters_for_hits=true, partitioned filters, two-level index — lower memory, higher tail latency. |
| PreimageFlat | Preimage-DB-keyed layout. Requires a preimage DB populated via --FlatDb.EnablePreimageRecording=true on an earlier run. |
Default-value changes
- Gnosis and Gnosis-archive now ship with
Db.SkipCheckingSstFileSizesOnDbOpen=trueinconfigs/gnosis.jsonandconfigs/gnosis_archive.json, cutting archive startup time. Override tofalseto restore the old behavior.
Implicit flips
Sync.SnapServingEnabledis force-truewheneverFlatDb.Enabled=true(FlatWorldStateModuleinterceptsISyncConfig). A-Sync.SnapServingEnabled=falsepassed alongside Flat DB is silently overridden.
530 Changes across 2,643 Files. Major worldstate backend refactor, RocksDB snapshots, flat storage for snap sync, block-level access lists (EIP-7928), initial zkEVM groundwork, and a large round of JSON-RPC and EVM hot-path optimizations.
Breaking changes
- eth/66 and eth/67 dropped;
eth/69is now default andeth/70added and activated (#9938, #10246) - Engine API versioning reworked (#10786)
- Vault and NDM code paths removed (#10478)
Highlights
Performance
- Tx processing via encoded-tx trie root and fast block re-encode (#10435)
KeccakCache,SeqlockCache,FastHashimprovements (#10391, #10415, #10082)- EVM hot paths:
EXP/MOD/identity precompile (#10060, #10061, #10366) - Pruning: +512MB default cache, skip GC, inline prunes (#10247, #10230, #10112)
- JSON-RPC parsing and processing optimized (#10207, #10389, #10453)
State & storage
- Worldstate backend refactor with pluggable backends (#9089)
- RocksDB and column DB snapshots (#10080, #10262)
- Flat storage for snap sync (#9854, #10426)
- Discv5 nodes moved to a separate DB (#10027)
EVM extensibility
- Policy-based gas tracking (#9846, #10068, #10692)
- External tracer registration (#10228)
- Witness generation (#9949) and zkEVM groundwork (#10561, #10773)
Consensus & EIPs
RPC & correctness
eth_estimateGasfixes (#10559);eth_getBlockByNumbercanonical enforcement (#10024)eth_getLogsfaster (#9923); log index introduced (#8464)engine_getBlobsV3(#9942);engine_getPayloadV4for Optimism (#10328)eth_subscribe transactionReceipts(#10524)debug_block field overrides (#10405);GasCapenforced on debug/trace (#10457)- Hardened RPC tx validations (#10395)
Networking
- Faster handshake parsing, Ethrex recognized (#9935)
- Discovery v5 optimized (#10081); better peer decentralization (#10090)
Chain-specific
- Taiko/Surge: Shasta changes, Hoodi activation, TDX attestation (#9998, #10406, #9954)
- XDC: P2P layer, EIP-1559, fast sync, penalty/reward handlers (#10615, #10277, #10549)
- OP Superchain: rolling updates
Flat DB (opt-in)
Nethermind 1.37.0 ships a new Flat DB state backend that stores the latest state as flat account/storage records instead of walking the Merkle-Patricia trie. Faster random reads, streaming snap serving, and per-column cache budgets. Disabled by default — opt in with --FlatDb.Enabled=true.
Activation
--FlatDb.Enabled=true
This swaps FlatWorldStateModule in for the pruning-trie wiring, disables admin_prune / admin_verifyTrie, and force-enables Sync.SnapServingEnabled=true.
Migration from an existing pruning-trie DB
Set the import flag alongside Enabled:
--FlatDb.Enabled=true
--FlatDb.ImportFromPruningTrieState=true
Run the node. On first boot the ImportFlatDb step streams the head state into the flat DB and then exits cleanly (exit code 0). Just restart the node — the flag can stay on. On subsequent boots the step detects the populated flat DB, logs Flat db already exist, and returns without exiting, so the node proceeds to normal operation. There is no automatic in-place migration without the flag: if you enable Flat DB on a node that already has pruning-trie data and don't set ImportFromPruningTrieState, the flat DB is simply empty and you'll sync from scratch.
FlatLayout.PreimageFlat cannot be the import target (the importer uses raw hash-keyed writes) — use Flat or FlatInTrie for the import run.
Layouts — -FlatDb.Layout
| Value | Notes |
|---|---|
Flat (default)
| Flat entries in a dedicated column DB with Hyper Clock caches (30% Account / 70% Storage of BlockCacheSizeBudget).
|
FlatInTrie
| Entries embedded into trie leaves. FlatRocksDbConfigAdjuster adds optimize_filters_for_hits=true, partitioned filters, two-level index — lower memory, higher tail latency.
|
PreimageFlat
| Preimage-DB-keyed layout. Requires a preimage DB populated via --FlatDb.EnablePreimageRecording=true on an earlier run.
|
All FlatDb.* flags (defaults from FlatDbConfig.cs)
| Flag | Default | Purpose |
|---|---|---|
Enabled
| false
| Master switch. |
Layout
| Flat
| Flat / FlatInTrie / PreimageFlat.
|
ImportFromPruningTrieState
| false
| One-shot import from the pruning-trie DB; idempotent afterwards. |
EnablePreimageRecording
| false
| Mirror account/slot hashes into a preimage DB. |
VerifyWithTrie
| false
| Cross-check flat reads against a reconstructed trie. Diagnostic — slow. |
InlineCompaction
| false
| Run compaction inline on writes instead of pooled. |
CompactSize / MinCompactSize
| 32 / 2
| Snapshot-group size bounds for hierarchical compaction. |
MaxInFlightCompactJob
| 32
| Compaction parallelism. |
MinReorgDepth / MaxReorgDepth
| 128 / 256
| Reorg retention window. |
TrieWarmerWorkerCount
| -1
| -1 = CPU - 1, 0 = disable warming.
|
BlockCacheSizeBudget
| 1 GiB
| RocksDB block cache for the flat column family (split 30/70 Account/Storage). Stacks on top of Db.* budgets.
|
TrieCacheMemoryBudget
| 512 MiB
| TrieNodeCache target; 0 disables it.
|
Config flag changes
Every user-facing config movement on 1.37.0 outside the FlatDb.* namespace. Flat DB flags are covered separately.
Added
| Flag | PR | Default | Purpose |
|---|---|---|---|
Network.FilterPeersByRecentIp
| [#10090](#10090) | true
| Reject peers whose IP key was seen recently (time-windowed). |
Network.FilterPeersBySameSubnet
| [#10090](#10090) | true
| Bucket peer IPs by subnet (IPv4 /24, IPv6 /64). Set false for co-located multi-node setups.
|
Network.FilterDiscoveryNodesByRecentIp
| [#10090](#10090) | true
| Same filter for discovery. |
Network.FilterDiscoveryNodesBySameSubnet
| [#10090](#10090) | true
| Subnet bucketing for discovery. |
Removed
| Flag | PR | Notes |
|---|---|---|
Db.XdcSnapshotsDbRocksDbOptions
| [#10329](#10329) | Moved into XdcRocksDbConfigFactory in the XDC plugin.
|
Db.XdcSnapshotsDbAdditionalRocksDbOptions
| [#10329](#10329) | As above — delete from any XDC config overrides. |
Default-value changes
- Gnosis and Gnosis-archive now ship with
Db.SkipCheckingSstFileSizesOnDbOpen=truein[configs/gnosis.json](https://www.notion.so/nethermind/src/Nethermind/Nethermind.Runner/configs/gnosis.json)and[configs/gnosis_archive.json](https://www.notion.so/nethermind/src/Nethermind/Nethermind.Runner/configs/gnosis_archive.json), cutting archive startup time. Override tofalseto restore the old behavior.
Implicit flips
Sync.SnapServingEnabledis force-truewheneverFlatDb.Enabled=true(FlatWorldStateModuleinterceptsISyncConfig). A-Sync.SnapServingEnabled=falsepassed alongside Flat DB is silently overridden.
Build signatures
The packages are signed with the following OpenPGP key: AD12 7976 5093 C675 9CD8 A400 24A7 7461 6F1E 617E
What's Changed
- Disable publishing to Downloads by @stdevMac in #9910
- Fix hive getLogs by @deffrian in #9889
- fix: remove duplicate gRPC host validation in GrpcClient by @VolodymyrBg in #9922
- Move ExecutionEnvironment to Rentable sealed class by @LukaszRozmej in #9916
- fix: align BlockHashes dictionary to use nullable Hash256 by @aso20455 in #9900
- Only pool pure Transaction objects, not subclasses by @tanishqjasoria in #9884
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9933
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9932
- Adjust JOC testnet Bootnodes according to recent changes by @anhnhx131 in #9940
- fix: Remove redundant BlockHeader field reassignments in StatelessExecution by @anim001k in #9928
- test: add Eip2565Transition check for posdao chain spec by @PivasDesant in #9920
- Fixes #9606: DebugTracerTests thread synchronization issue by @igladun in #9875
- Faster protocol parsing, add Ethrex as node/brand type by @benaadams in #9935
- Precompiles names fix by @svlachakis in #9944
- Update packages by @rubo in #9907
- Fix hanging scenario if persisted node not able to be pruned by @asdacap in #9931
- Separate wrong nonce errors by @flcl42 in #9941
- Add engine_getBlobsV3 by @flcl42 in #9942
- fix: only touch coinbase after successful transaction in state tests by @bshastry in #9865
- Gnosis Balancer permanent changes by @Marchhill in #9946
- Sign release builds by @rubo in #9937
- Increase default rlp collection limit to 4MB by @LukaszRozmej in #9957
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9964
- Fix/limit get proof by @LukaszRozmej in #9967
- feat(merkle): remove unused RootOfNull to avoid dead code and startup allocation by @Forostovec in #9898
- Fix/rlp decode array checks by @LukaszRozmej in #9968
- fix: dispose IEraStore when EraImporter.Import fails early by @phrwlk in #9978
- Remove rpc from hive worflow by @deffrian in #9971
- Elevate access for ABI decode override more easily by @damian-orzechowski in #9977
- Run all tests on master by @deffrian in #9979
- Remove parsing Uint256 from statics by @LukaszRozmej in #9980
- perf: Remove redundant ToArray() allocation in TrieStore warning log by @0xxFloki in #9969
- Optimise MemDb for ZK by @LukaszRozmej in #9952
- feat(evm): generify VirtualMachine with policy-based gas tracking by @AnkushinDaniil in #9846
- refactor: Remove redundant try-catch in SszProperty.StaticLength by @Aleksandr1732 in #9976
- fix: correct NSubstitute argument types in AuraWithdrawalProcessorTests by @hawkadrian in #9966
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9989
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9988
- perf: avoid LINQ allocations in GetStorageRangesMessageSerializer by @VolodymyrBg in #9951
- refactor: cache blob and proof counts in BlobProofsManagerV1 by @marukai67 in #9983
- fix: replace unused mock logger with LimboTraceLogger in EnrDiscoveryTests by @CreeptoGengar in #9993
- fix: replace empty exception with informative BlockchainException in ExtractSigners by @mattvaux in #9986
- perf(tests): Remove redundant ToList() calls in PatriciaTreeBulkSetterTests by @0xxFloki in #9981
- Use correct HardwareAcceleration checks for Vector by @benaadams in #10007
- Optimize ColumnDb MultiGet allocations by @0xxFloki in #9908
- fix: correct type name in TimeoutDecoder error message by @reallesee in #9948
- perf: reduce allocations in TypeExtensions by @0xxFloki in #9994
- refactor(trie): remove redundant condition check in IsValidWithOneNodeLess by @0xlupin in #9982
- fix: return correct count when no peer was dropped in DropWorstPeer by @Fallengirl in #10001
- Consider type boundaries by @flcl42 in #10000
- Taiko Shasta Changes - II by @dipkakwani in #9998
- Set release target commit explicitly by @rubo in #10009
- Fix/json converters exception type by @Galoretka in #9984
- refactor(tests): Remove unused variables in Enode exception tests by @marukai67 in #9991
- test: replace Task.Delay with After() in ContractDataStoreTests by @forkfury in #9985
- fix: delegate raw converters read to base converters by @ANtutov in #10006
- fix: remove duplicate HasSignedRecently checks in sealer clique by @Bashmunta in #10011
- Make Nethermind UI SSE endpoint relative by @rubo in #10008
- fix: use IHttpClient from DI in MergePlugin instead of creating HttpClient directly by @PivasDesant in #9995
- Validate blobs lengths by @flcl42 in #9999
- refactor(AuRa): remove redundant Create override by @kurahin in #10014
- Feature/Worldstate backend by @asdacap in #9089
- fix: use ArgumentNullException for null logManager in EthStatsClient by @PivasDesant in #10018
- fix: correct BlobTxMissingBlobs error message by @eeemmmmmm in #10015
- Change KzgPolynomialCommitments.BlsModulus to new instead of parse by @LukaszRozmej in #10032
- Fix/isStorageEmpty check does not get reflected until after commit. by @asdacap in #10039
- fix: use GaugeMetric for PeerCandidateCount by @sashass1315 in #10004
- Fix IsTracing calculation by making it lazy by @LukaszRozmej in #10053
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10055
- Merge package release workflows by @rubo in #10049
- Fix/get logs optimization by @LukaszRozmej in #9923
- fix: resource cleanup in BeaconHeadersSyncFeed by @ANtutov in #10037
- perf: avoid rlp encode-decode in simulate receipt recovery by @Bashmunta in #10021
- Fix CodeQL workflow by @rubo in #10056
- Check for 0 in MOD opcode by @benaadams in #10061
- Keep EXP opcode in UInt256 domain by @benaadams in #10060
- fix: DataFeed constructor null checks by @yyhrnk in #10062
- Update schema by @flcl42 in #10035
- Remove MetricsController._metricTypes by @LukaszRozmej in #10057
- Fixes #9577: resolve race condition in StateSyncFeedTests.Big_test by @igladun in #9972
- Perf/TryGetDirtyNode by @asdacap in #10067
- Call prune persisted recursively on commit and on copy too by @asdacap in #10065
- feat(abi): add support for fixed-size array element types by @AnkushinDaniil in #10025
- XDC Reward handler by @cicr99 in #9881
- Use baseblock for tree visitor by @asdacap in #10066
- Surge: Fix Profitabilty Check Bypass by @dipkakwani in #10020
- Skip SST file size checks when MaxOpenFiles is specified by @wurdum in #10002
- Fix: Correct memory access validation in TrySaveByte for MSTORE8 operation by @0xlupin in #9970
- Update file header templates by @rubo in #10077
- Should update child if parent has empty keccak as well by @damian-orzechowski in #10073
- Improve FastHash quality by @benaadams in #10082
- refactor: replace HexConvert.ToUInt256 with UInt256.Parse by @dizer-ti in #10085
- fix: ensure eth_getBlockByNumber enforces canonical block retrieval by @smartprogrammer93 in #10024
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10089
- fix: correct assertion variables in Cleans_invalid_blocks_before_starting test by @letmehateu in #10086
- Drop eth66 and eth67 support, add eth69 as a default by @benaadams in #9938
- fix(network): shutdown rlpx executor group by @Bashmunta in #10087
- feat (gas policy): add
ConsumeCodeCopyGasmethod by @AnkushinDaniil in #10068 - Add Address recovery from PublicKey to KeccakCache by @benaadams in #10003
- refactor: remove unused Destroy change type from storage provider by @SashaMalysehko in #10106
- Update to UInt256 version 1.4.0 by @benaadams in #10107
- chore: remove debug-only keccak keys from proof call storage test by @kurahin in #10104
- fix: use parameter name in BloomStorage null check by @DeVikingMark in #10096
- fix: correct ExampleResponse for admin_importHistory method by @PivasDesant in #10097
- fix: remove redundant blockInfosDb assertions by @letmehateu in #10099
- perf: reuse SimpleConsoleLogger instance in SimpleConsoleLogManager by @PivasDesant in #10070
- optimize eth_gasPrice using kth algorithm by @cuiweixie in #10100
- Don't queue prunes by @benaadams in #10112
- refactor: simplify Avx2 branches for UInt256 shuffles by @ANtutov in #10111
- fix(kute): prevent null label crash in Prometheus metrics reporter by @Fallengirl in #10109
- Fix #10068 regression by @AnkushinDaniil in #10116
- Git/ignore claude config by @LukaszRozmej in #10118
- perf: use cached BlockInfo variable instead of redundant array access in BlockTree by @letmehateu in #10125
- Save space locally on builds by @LukaszRozmej in #10113
- Align Nethermind with the latest taiko-geth changes by @jmadibekov in #10127
- Surge TDX Attestation by @dipkakwani in #9954
- Remove redundant
File.DeleteafterFile.Moveby @eeemmmmmm in #10128 - refactor: simplify conditional returns in FeeTooLowFilter by @strmfos in #10129
- refactor: remove unused finalization manager field in Optimism plugin by @Bashmunta in #10130
- Optimize discv5 by @flcl42 in #10081
- refactor: remove unused
_pushEnabledfrom MonitoringService by @yyhrnk in #10135 - Add some guards to RetryCache by @flcl42 in #10134
- XDC save snapshot on gap block by @ak88 in #9774
- perf: Remove redundant allocations in NettyDiscoveryHandlerTests by @0xlupin in #10155
- fix: correct header range logging in PoW forward sync by @letmehateu in #10140
- fix: avoid GetReceiptData when hash lookup unsupported by @Forostovec in #10023
- fix: correct slice index in Address.TryParseVariableLength by @reject-i in #9902
- perf(facade): optimize SimulateDictionaryHeaderStore.Get for cache hits by @Snezhkko in #9903
- fix: add informative message to block processing timeout exception by @hawkadrian in #9912
- fix: Remove invalid eth_getTransactionByHash call by @phrwlk in #9784
- Fix typos 2 by @flcl42 in #10162
- fix: remove duplicate transaction processor adapter registration by @GarmashAlex in #10170
- perf: avoid extra init code allocations in CREATE/EOFCREATE by @SashaMalysehko in #10019
- Replace empty array initializations with Array.Empty() by @Copilot in #10172
- Fix disposing of a pooled array by @flcl42 in #10168
- fix(SendBlobs): add missing receiverOption to reclaim command by @reject-i in #10136
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10179
- fix(sync): use INetworkConfig constructor for SyncPeerPool DI registration by @Savid in #10158
- refactor(tools): eliminate redundant First() calls in HiveConsensusWorkflowGenerator by @maximevtush in #10182
- docs: fix dead link by @letmehateu in #10181
- Remove redundant ToArray calls in eth_accounts by @strmfos in #10185
- Override default CLI option alias by @ArtiomTr in #10148
- Add AGENTS.md by @rubo in #10177
- Fix cannot prune storage root by @asdacap in #10203
- Support CLI alias overrides in docs by @rubo in #10197
- Fast-path ConcurrentDict AddOrUpdate by @benaadams in #10220
- Reuse same nibble keys for short paths by @benaadams in #10214
- Update Dockerfiles by @core-repository-dispatch-app[bot] in #10222
- Change async capturing closures to regular async methods by @benaadams in #10221
- Reduce closure allocations in RetryCache by @benaadams in #10223
- perf: Avoid unnecessary base fee calculations by @Forostovec in #10213
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10178
- Remove redundant static metadata from
CachedPrecompilewrapper by @vtjl10 in #10225 - refactor: extract duplicate chain ID retrieval logic in SendBlobs CLI by @maximevtush in #10150
- perf: avoid eager client id formatting in ZeroNettyP2PHandler by @MoNyAvA in #10189
- fix: align storage tracing flag for ReportStorageChange by @VolodymyrBg in #10201
- fix(test-runner): Use maxPriorityFeePerGas for EIP-1559 state test parsing by @bshastry in #10205
- fix: gRPC client reconnect to shutdown previous channel by @radik878 in #10156
- perf: eliminate redundant allocations in SendData byte normalization by @0xxFloki in #10154
- refactor: split ClHealthTrackerTests into separate test methods by @DeVikingMark in #10171
- Optimize
PathUtilsby @rubo in #10219 - Use
ConcurrentDictionary.GetOrAddinSessionto avoid manual get-or-add logic by @zeevick10 in #10229 - Allow some delays to be configurable by @benaadams in #10227
- Schedule largest storage changes first by @benaadams in #10236
- fix: SyncDispatcher leak by disposing CountdownEvent by @Snezhkko in #10240
- Move default implementations out of IReleaseSpec by @LukaszRozmej in #10237
- Fix
PathUtilsfor JetBrains Rider by @rubo in #10238 - Optimize storage key handling by @benaadams in #10241
- fix: avoid mutating levels in header/body existence checks by @sashass1315 in #10157
- fix: Add missing fields to Transaction.CopyTo and PoolPolicy.Return by @Fallengirl in #9890
- Consider genesis in processing and finalization by @flcl42 in #10235
- Refactor/Allow metrics before block processing by @asdacap in #10076
- Fix maybe combine logic fetch child with wrong path. by @asdacap in #10145
- Feature/RocksDb Snapshot by @asdacap in #10080
- Bump default pruning cache by 512MB for larger mainnet blocks by @benaadams in #10247
- Fix: Change Taiko RPC Response to PascalCase by @dipkakwani in #10244
- perf(clique): eliminate redundant cache lookup in GetBlockSealer by @Aleksandr1732 in #10252
- Skip GC when pruning by @benaadams in #10230
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10260
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10261
- Fix/shared blockcache not used by @asdacap in #10263
- ColumnsDb snapshot by @asdacap in #10262
- Refactor ReleaseSpec by @LukaszRozmej in #10251
- Add taiko debug RPC for integration test support by @jmadibekov in #10211
- feat(tracing): enable external tracer registration and VM inheritance by @AnkushinDaniil in #10228
- Re-enable prewarmer tx adapter for state pre-warming by @damian-orzechowski in #10266
- Validate state test tx as part of a block by @flcl42 in #10224
- Add ProgressLogger to trie verification and full pruning operations by @asdacap in #10273
- feat: enable taiko client CI integration tests by @gehlotanish in #10043
- fix: remove unused IStateReader from SnapServer by @GarmashAlex in #10282
- StateProvider: remove redundant state-root update flag assignment in balance updates by @majtte in #10268
- refactor: eliminate delegate allocations in DbOnTheRocks iterator methods by @letmehateu in #10209
- Warmup threads should not update tx.SpentGas by @damian-orzechowski in #10267
- Remove mark persisted recursively by @asdacap in #10283
- Test project tests to be split in chunks and run in parallel by @flcl42 in #10243
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10315
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10314
- fix(chainspec): add Prague support to spaceneth dev chain by @CPerezz in #10316
- Warn when dirty prune cache is too low by @Copilot in #10143
- refactor: remove redundant null checks in SnapProviderHelper.AddAccountRange by @Aleksandr1732 in #10298
- fix(txpool): remove redundant hasBeenRemoved check in RemoveTransaction by @davidjsonn in #10319
- fix(sync,trie): Handle timeout exceptions and empty trie sealing in PoW sync by @diega in #10307
- fix(Trie): Correct log level check in PrunePersistedNodes by @andrewshab3 in #10310
- fix: correct off-by-one in ArrayPoolListCore.RemoveAt by @radik878 in #10306
- Optimization/prewarmer per sender by @LukaszRozmej in #10330
- refactor: remove duplicate GetBlockNumPrefixedKey in BlockStore by @eeemmmmmm in #10337
- Fix higher than expected pruning cache memory during forward sync. by @asdacap in #10336
- OPify engine_getPayloadV4 by @flcl42 in #10328
- Check totalPacketSize by @flcl42 in #10345
- Validate header before 4844 by @flcl42 in #10344
- Move discv5 nodes to a separate db by @flcl42 in #10027
- Add Gas Benchmark Workflow by @cbermudez97 in #10347
- XDC Subnet snapshot support by @batrr in #10287
- feat: add prewarmer get operation timing metrics by @asdacap in #10289
- fix: apply VerifyChecksum config to column families and snapshots by @MozirDmitriy in #10323
- fix(tests): add CancellationToken to SemaphoreSlim Wait calls in EngineModuleTests by @asdacap in #10318
- Remove duplicate logic in SpanSource.IsNotNullOrEmpty by @leopardracer in #10340
- Make decoders static to reduce allocations in Vote and Timeout by @M0ndarynka in #10234
- Fix race condition in ShutterBlockHandler by @davidjsonn in #10296
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10365
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10364
- Parse incoming Jsons in chunks by @LukaszRozmej in #10207
- Skip cache for identity precompile by @benaadams in #10366
- perf: eliminate List allocations in PeerManager count operations by @andrewshab3 in #10362
- Remove usings, replaced bots PR by @MarekM25 in #10372
- Improve SendBlobs tool by @flcl42 in #9872
- Move some Taiko RPC calls to auth namespace and clean up used code by @smartprogrammer93 in #10352
- Sync Taiko Geth Changes into NMC by @dipkakwani in #10377
- Xdc : SignTx Creating and Handling by @Demuirgos in #9855
- XDC Subnet block header by @batrr in #10305
- Add LINQ guideline to agents by @benaadams in #10381
- Fix static node not marked as static when added via AddAsync by @asdacap in #10390
- Fix OverridableEnvFactory.BuildAndOverride on Exception by @LukaszRozmej in #10393
- XDC Fix calculation of rewards per signer by @cicr99 in #10355
- (refactor) Make comparisons between transactions more readable by @LukaszRozmej in #10394
- Fix outdated Microsoft.Extensions.Caching.Memory by @benaadams in #10401
- Load plugins in tests properly; remove '' from test name by @flcl42 in #10400
- Add block timestamp by @flcl42 in #10333
- taiko hoodi shasta activation by @smartprogrammer93 in #10406
- Harden rpc transaction validations by @LukaszRozmej in #10395
- Optimize KeccakCache by @benaadams in #10391
- Optimize Json hex parsing by @benaadams in #10389
- Add XdcBeaconSyncStrategy to provide target block height from sync config by @cicr99 in #10411
- Fixes 4 flaky test + refactors dbs by @LukaszRozmej in #10407
- Update Dockerfiles by @core-repository-dispatch-app[bot] in #10409
- parallelize txpool test + fixes for parallel blockchain tests by @LukaszRozmej in #10418
- XDC - Add custom state sync allocation strategy by @cicr99 in #10399
- ProcessingStats Extensibility by @svlachakis in #10420
- fix: correct Bytes.BytesComparer length comparison ordering by @asdacap in #10353
- Use CodeInfo type instead of ICodeInfo by @benaadams in #10423
- Update CI workflows for Taiko/Surge integration tests by @jmadibekov in #10419
- Parallelizable does not work on all XDC tests by @ak88 in #10431
- Add JitAsm tool to be able to analyse the Jit output by @benaadams in #10432
- Update README with performance highlights of Nethermind by @MarekM25 in #10359
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10449
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10448
- Fix flaky tests: timing and race condition by @LukaszRozmej in #10455
- Metrics and BlockStatistics extension by @svlachakis in #10429
- AGENTS shouldn't be repetitive when adding code by @benaadams in #10460
- more Agents changes by @LukaszRozmej in #10461
- CodeInfo Extension by @svlachakis in #10467
- fix: add missing yield break after shutdown response in
JsonRpcProcessorby @VolodymyrBg in #10462 - Fix fuzz issue by @benaadams in #10459
- Fix flaky network test by @benaadams in #10463
- Update packages by @rubo in #10421
- Remove redundant allocation in Rlp.Encode when input is already Rlp by @splinter012 in #10468
- Add SeqlockCache by @benaadams in #10415
- Add ability to override block fields in debug_ calls by @flcl42 in #10405
- Align tx sending error code by @flcl42 in #10464
- Optimize transaction processing via encoded-tx trie root and fast block re-encode by @benaadams in #10435
- chore: Update .NET packages by @rubo in #10482
- Move tx block-format wrapping logic from BlockDecoder to TxDecoder by @benaadams in #10476
- Update Dockerfiles by @core-repository-dispatch-app[bot] in #10485
- fix: clear reference-type elements in Truncate to prevent pool memory leak by @phrwlk in #10472
- Remove Vault and NDM remnants (#5462) by @novaheic in #10478
- Faster FastHash by @benaadams in #10410
- Optimize JSON-RPC request parsing and processing by @benaadams in #10453
- Fix BackgroundTaskScheduler queue overflow during block processing by @Copilot in #10488
- Update Dockerfiles by @core-repository-dispatch-app[bot] in #10493
- fix: unsubscribe from BlocksProcessing in Dispose by @Olexandr88 in #10499
- Fix Kute Windows performance: disable proxy detection, fix file check by @kamilchodola in #10491
- chore: Remove unused code across multiple modules by @MarekM25 in #10440
- fix(network): use TrySetResult in MessageQueue.Handle to prevent race condition by @VolodymyrBg in #10486
- fix: fix operator precedence bug in VoteDecoder.GetContentLength by @andrewshab3 in #10383
- ci: add automatic PR labeling workflow by @benaadams in #10512
- Remove redundant null check and duplicate array in Program.cs by @0xxFloki in #10506
- Use copy-on-write snapshots in MetricsController by @benaadams in #10501
- chore: remove redundant AddDatabase for BlobTransactions by @Forostovec in #10510
- SyncInfo decoder for XDC p2p by @ak88 in #10509
- ci: add JsonRpc path pattern to PR labeler by @smartprogrammer93 in #10526
- Log index by @alexb5dh in #8464
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10535
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10536
- fix: fix malformed RLP encoding in L1OriginDecoder by @bobtajson in #10525
- Update SurgeGasPriceOracle for Surge Shasta by @dipkakwani in #10290
- Estimate Gas fix by @svlachakis in #10559
- XDC - Pay transaction fees to owner after TIPTRC21Fee activation by @cicr99 in #10386
- Fix XDC EpochSwitchManager TC epoch lookup loop by @batrr in #10465
- fix: avoid false overflow on modexp lengths by @eeemmmmmm in #10360
- fix(jsonrpc): include block identifier in pruned history error message by @smartprogrammer93 in #10529
- Fix inaccurate snap sync and abstract state sync operation by @asdacap in #10469
- Fix for decoding signatures in XDC decoders by @ak88 in #10511
- fix cspell "noninteractive" by @LukaszRozmej in #10573
- fix: fix StackList pool leak in PartialStorageProviderBase.Restore by @andrewshab3 in #10572
- Remove unused IsPersisted method from TrieStore by @asdacap in #10570
- fix: fix inverted condition in SimpleFilePublicKeyDb silently dropping value updates by @andrewshab3 in #10558
- fix BranchProcessorMock in BlockchainProcessorTests to support concur… by @LukaszRozmej in #10575
- Fix XDC gas limit calculation by @ak88 in #10537
- Add performance docker build trigger instead of paprika by @kamilchodola in #10569
- Feature/xdc genesis nodes by @ak88 in #10022
- XDC eip 1559 by @ak88 in #10277
- Special required XDC masternode sort by @ak88 in #10338
- Add reproducible EXPB benchmark workflow with baseline PR comparison by @kamilchodola in #10580
- fix: fix NRE in BlockCachePreWarmer on cancellation with empty system access lists by @andrewshab3 in #10576
- fix StateSyncFeedHealingTests.HealTreeWithoutBoundaryProofs flaky test by @LukaszRozmej in #10585
- fix eth_simulateV1 revert err code by @Sahil-4555 in #10498
- fix: make BuildAndOverride header parameter nullable to match interface by @avorylli in #10527
- Remove unused write batch allocation in TrieStore.PersistOnShutdown by @marukai67 in #10538
- perf: compute tokensInCallData once per transaction in intrinsic gas calculation by @LukaszRozmej in #10586
- fix(tests): cover ValueDecoderContext branch in VoteDecoderTests by @reallesee in #10589
- fix(test): fix race condition in BlockchainProcessorTests (flaky test) by @benaadams in #10513
- fix: false positive 'caches Rlp are not empty' warning on low-tx blocks by @benaadams in #10502
- Replace OS-level ManualResetEvent with async TaskCompletionSource by @benaadams in #10496
- fix: restore StrictHexFormat in BlockParameterConverterTests by @newmanifold in #10587
- Fix EXPB benchmark queueing and improve PR report quality gates by @kamilchodola in #10582
- fix flaky NonceManagerTests by @LukaszRozmej in #10592
- fix(rpc): prevent TrieException by checking BestPersistedState in HasStateForBlock by @smartprogrammer93 in #10534
- Fix flaky test: Will_Trigger_ReorgBoundaryEvent_On_Prune by @smartprogrammer93 in #10584
- fix(tests): remove redundant Union operation in WalletTests by @davidjsonn in #10597
- fix(tests): cover missing EIP1559 case in blacklist sender test by @reallesee in #10593
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10606
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10605
- chore: use in-place keccak to avoid allocations by @ANtutov in #10594
- fix(era1): correct verifyConcurrency assignment order in EraStore by @strmfos in #10609
- Fix random invalid block by @asdacap in #10613
- fix: FastHashAesArm produces constant hash for 16-byte or less inputs by @newmanifold in #10607
- fix(taiko): correct RLP buffer size in GetCompressedTxsLength by @aso20455 in #10614
- XDC FastSync by @batrr in #10549
- RLP encode decode msg code by @ak88 in #10503
- feat: zkVM compatibility by @LukaszRozmej in #10561
- fix(rlp): ULongStreamDecoder calls DecodeUInt() instead of DecodeUlong() by @andrewshab3 in #10600
- fix(xdc-tests): Ensure proper disposal of XdcTestBlockchain instances by @Copilot in #10473
- Perf/simple flat by @asdacap in #9854
- bench: add TxProcessingBenchmark and BlockProcessingBenchmark to Nethermind.Evm.Benchmark by @smartprogrammer93 in #10608
- feat: Add ClearCache() to store interfaces for testing support by @AnkushinDaniil in #10577
- XDC Fix fee calculation for EIP-1559 by @batrr in #10620
- fix: warmup transactions bypass SystemTransactionProcessor due to Warmup flag by @kamilchodola in #10628
- chore: Rename to
IStepby @rubo in #10644 - fix: update SetL1OriginSignature API to use byte[] and add validation by @smartprogrammer93 in #10625
- Update Dockerfiles by @core-repository-dispatch-app[bot] in #10634
- chore: Disable stateless executor remote build by default by @rubo in #10649
- docs: Remove duplicate word by @rubo in #10647
- feat: reproducible benchmarks with retrospective and dual payload sets by @kamilchodola in #10638
- Raw opcode benchmarks by @benaadams in #10650
- Xdc: Penalty Handler by @Demuirgos in #10274
- OpCode Benchmarks action by @benaadams in #10651
- Add pull-requests write permission to workflow by @benaadams in #10660
- bench: decrease StdDev in benchmarks to get morre reliable numbers by @smartprogrammer93 in #10641
- bench: fix block processing benchmark not running in CI by @smartprogrammer93 in #10666
- Rename RLP's [] and null by @flcl42 in #10551
- Remove spec decorators by @LukaszRozmej in #10639
- fix: use _isDisposing guard in GetAllKeys instead of _isDisposed by @bobtajson in #10617
- Fix ChannelDecoder returning garbage bytes from buffer by @strmfos in #10659
- fix: remove dead Path.Combine call in plugin loading by @zeroprooff in #10635
- fix: correct skipped counter in ReceiptsSyncFeed by @Fallengirl in #10626
- fix: fix wrong error type returned for G2 subgroup checks in BlsExtensions by @ninastef in #10636
- refactor: Remove duplicate null-check logic in ConfigSourceHelper.ParseValue by @prestoalvarez in #10566
- Fix AccountDecoder.Instance allocating a new instance per call by @benaadams in #10672
- feat: Support Witness Generation by @hudem1 in #9949
- fix: fix pending requests hanging forever on peer disconnect by @bobtajson in #10671
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #10675
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in #10674
- fix(upnp): correct port mapping lifetime calculation by @strmfos in #10677
- chore: Replace
zkVMwithzkEVMby @rubo in #10673 - fix: correct copy-paste error in SeqConfig description by @reject-i in #10682
- perf: reduce ThreadPool contention from pruning and prewarmer by @kamilchodola in #10662
- fix: swap privateOrderFlow and memPoolFlow in TxPoolFlow links by @strmfos in #10622
- refactor: Remove RlpStream decode methods, use ValueDecoderContext as sole decode path by @asdacap in #10679
- Make eth_getTransactionCount and eth_pendingTransactions overridable by @wurdum in #10693
- Add and activate eth/70 by @flcl42 in #10246
- Fix Eth62ProtocolHandler to handle NewBlockMessage in background by @batrr in #10690
- chore: Refactor
EthereumEcdsaby @rubo in #10698 - chore: Migrate to
Testably.Abstractionsby @rubo in https://github.com/NethermindEth/nethermind/pull/10684 - perf: Refactor
WitnessExtensions.DecodeHeadersmethod by @rubo in https://github.com/NethermindEth/nethermind/pull/10685 - Fix flaky ValidateSeal_SignatureIsInvalid_ReturnsFalse test by @smartprogrammer93 in https://github.com/NethermindEth/nethermind/pull/10665
- Perf/single gas spec calculations by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10591
- Improve r boundry testing by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10711
- fix(config): correct GetDefault return type by @aso20455 in https://github.com/NethermindEth/nethermind/pull/10687
- fix: fix thread safety of List in FilterManager by @letmehateu in https://github.com/NethermindEth/nethermind/pull/10588
- fix: warn and retry when external IP resolves to 0.0.0.0 by @smartprogrammer93 in https://github.com/NethermindEth/nethermind/pull/10505
- fix(evm): prevent extra bit in BitmapHelper.FlagMultipleBits for multiples of 8 by @ANtutov in https://github.com/NethermindEth/nethermind/pull/10471
- Add reflection-based tests to prevent ChainSpec configuration drift by @MarekM25 in https://github.com/NethermindEth/nethermind/pull/10450
- fixes for debug and windows Db.Tests by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10437
- fix: remove redundant SetNonce call in GeneralTestBase by @reallesee in https://github.com/NethermindEth/nethermind/pull/10695
- fix(benchmark): fix inverted CI throughput bounds in GasColumnProvider by @newmanifold in https://github.com/NethermindEth/nethermind/pull/10670
- Fix oob memory access in NibbleExtensions in certain scenarios by @Copilot in https://github.com/NethermindEth/nethermind/pull/10276
- fix: add pruned state checks to debug_standardTrace*ToFile endpoints by @smartprogrammer93 in https://github.com/NethermindEth/nethermind/pull/10508
- fix(sync): prevent negative peer count metric by @zeroprooff in https://github.com/NethermindEth/nethermind/pull/10257
- fix: correct directory path in MetaTests by @zeroprooff in https://github.com/NethermindEth/nethermind/pull/10259
- fix: add missing transient storage tracing method overrides in tracer wrappers by @GarmashAlex in https://github.com/NethermindEth/nethermind/pull/10480
- test: add gas consumption tests for data copy operations by @AnkushinDaniil in https://github.com/NethermindEth/nethermind/pull/10187
- Feature/xdc p2p by @ak88 in https://github.com/NethermindEth/nethermind/pull/10615
- fix(tests): use enableEip1559 parameter in nonce validation test by @dizer-ti in https://github.com/NethermindEth/nethermind/pull/10702
- XDC Fix Snapshot update in reorg by @batrr in https://github.com/NethermindEth/nethermind/pull/10668
- fix: resolve flaky TxPool tests and SpecGasCosts DEBUG crash by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10713
- fix: Use AND-NOT instead of XOR to clear flags in PeerInfo by @bobtajson in https://github.com/NethermindEth/nethermind/pull/10689
- Change Bytes and Wei extensions to properties by @flcl42 in https://github.com/NethermindEth/nethermind/pull/10707
- fix: widen SeqlockCache seq counter to 16 bits to prevent ABA flake by @benaadams in https://github.com/NethermindEth/nethermind/pull/10717
- fix: return InternalError instead of ParseError for unhandled exceptions in JSON-RPC by @bobtajson in https://github.com/NethermindEth/nethermind/pull/10688
- Use actual blob gas fee for any tx type by @flcl42 in https://github.com/NethermindEth/nethermind/pull/10705
- Constrain hello message by @flcl42 in https://github.com/NethermindEth/nethermind/pull/10704
- Fix StopAsync not cancelling CancellationTokenSource by @dizer-ti in https://github.com/NethermindEth/nethermind/pull/10703
- Modular Agent Rules and skill by @newmanifold in https://github.com/NethermindEth/nethermind/pull/10653
- Osaka Chiado by @Marchhill in https://github.com/NethermindEth/nethermind/pull/10727
- Perf/RlpItemList by @asdacap in https://github.com/NethermindEth/nethermind/pull/10654
- Db options for XDC removed by @ak88 in #10329
- Improve peer decentralization by @benaadams in #10090
- fix: Make method non-virtual for zkEVM by @rubo in https://github.com/NethermindEth/nethermind/pull/10741
- Fix IPC JSON-RPC framing for large payloads without delimiter by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10718
- Remove redundant wellFormed check in ShutterTxFilter by @davidjsonn in https://github.com/NethermindEth/nethermind/pull/10746
- Add PR tests concurrency rules by @rubo in https://github.com/NethermindEth/nethermind/pull/10748
- Auto-update fast sync settings by @core-repository-dispatch-app[bot] in https://github.com/NethermindEth/nethermind/pull/10750
- Update OP Superchain chains by @core-repository-dispatch-app[bot] in https://github.com/NethermindEth/nethermind/pull/10751
- Add structured logging for L1SLOAD by @jmadibekov in https://github.com/NethermindEth/nethermind/pull/10730
- fix: Flat selfdestruct critical case by @asdacap in https://github.com/NethermindEth/nethermind/pull/10699
- Consolidate RLP peek/decode logic into shared RlpHelpers by @benaadams in https://github.com/NethermindEth/nethermind/pull/10756
- feat(evm): add
ConsumeCodeDeposittoIGasPolicyby @AnkushinDaniil in https://github.com/NethermindEth/nethermind/pull/10692 - [perf] Optimize IsNonZeroAccount. by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10760
- Refactor CreateAccessList method to include stateOverride parameter by @simon-jentzsch in https://github.com/NethermindEth/nethermind/pull/10740
- Fix duplicate DB write and log in UpdateHeadBlock by @davidjsonn in https://github.com/NethermindEth/nethermind/pull/10648
- chore: Move
evm_benchmark_utils.pyto scripts by @rubo in https://github.com/NethermindEth/nethermind/pull/10732 - fix(era1): correct off-by-one error in block range validation by @MozirDmitriy in https://github.com/NethermindEth/nethermind/pull/10378
- fix(flashbots): wrong unit in withdrawal amount by @dizer-ti in https://github.com/NethermindEth/nethermind/pull/10667
- Implement Block-level access lists (EIP-7928) by @Marchhill in https://github.com/NethermindEth/nethermind/pull/10357
- Bal devnet 2 by @Marchhill in https://github.com/NethermindEth/nethermind/pull/10325
- refactor: remove NethermindConstructorFinder, use explicit factory registrations by @kamilchodola in https://github.com/NethermindEth/nethermind/pull/10745
- fix: correct RocksDB MaxOpenFiles formula to divide by DB count by @kamilchodola in https://github.com/NethermindEth/nethermind/pull/10736
- perf: eliminate CappedArraySource heap allocation in SpanSource by @kamilchodola in https://github.com/NethermindEth/nethermind/pull/10734
- Fix XDC EIP-161 by @batrr in https://github.com/NethermindEth/nethermind/pull/10621
- Fix XDC Transaction Filter by @batrr in https://github.com/NethermindEth/nethermind/pull/10716
- Eliminate per-instance ValueFactory delegate allocations in PrewarmerScopeProvider by @benaadams in https://github.com/NethermindEth/nethermind/pull/10754
- Fix assertoor workflow: bump setup-python to v6 by @stdevMac in https://github.com/NethermindEth/nethermind/pull/10645
- fix: add descriptive error message to TransactionForRpcWithTraceTypes converter by @forkfury in https://github.com/NethermindEth/nethermind/pull/10270
- feat(jsonrpc): add eth_subscribe transactionReceipts subscription by @smartprogrammer93 in https://github.com/NethermindEth/nethermind/pull/10524
- Reset GasUsed when simulating txs by @flcl42 in https://github.com/NethermindEth/nethermind/pull/10766
- docs: Clarify guideline about infra by @rubo in https://github.com/NethermindEth/nethermind/pull/10767
- Fix rare
IndexOutOfRangeExceptionineth_getLogswhen block data is missing by @alexb5dh in https://github.com/NethermindEth/nethermind/pull/10771 - fix: Add new RLP decoders for zkEVM by @rubo in https://github.com/NethermindEth/nethermind/pull/10773
- Add multi-platform CI test matrix (arm64, Windows, macOS) by @benaadams in https://github.com/NethermindEth/nethermind/pull/10761
- perf: CountZeros SIMD — fix boundary fallback and optimize ARM path by @newmanifold in https://github.com/NethermindEth/nethermind/pull/10757
- Update Dockerfiles by @core-repository-dispatch-app[bot] in https://github.com/NethermindEth/nethermind/pull/10776
- chore: Update packages by @rubo in https://github.com/NethermindEth/nethermind/pull/10774
- test: Add
ECRECprecompile tests by @rubo in https://github.com/NethermindEth/nethermind/pull/10763 - test: Slight cleanup of TestBlockchain FromContainer structure by @asdacap in https://github.com/NethermindEth/nethermind/pull/10779
- Enforce GasCap across debug and trace RPC methods by @MarekM25 in https://github.com/NethermindEth/nethermind/pull/10457
- Move eest downloads to stable location by @benaadams in https://github.com/NethermindEth/nethermind/pull/10725
- Flat/snap sync by @asdacap in https://github.com/NethermindEth/nethermind/pull/10426
- fix Can_change_branch_on_invalid_block_when_invalid_branch_is_in_the_queue() by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10799
- Fix flaky SyncDispatcher disposal race in CountdownEvent by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10804
- refactor: introduce factory pattern for protocol handlers by @asdacap in https://github.com/NethermindEth/nethermind/pull/10781
- fix: fix hardcoded PadDirection in SliceWithZeroPadding UInt256 overloads by @ninastef in https://github.com/NethermindEth/nethermind/pull/10800
- fix: background task scheduler — remove re-queue loop, add cancellation bail-outs by @kamilchodola in https://github.com/NethermindEth/nethermind/pull/10722
- ci: Add Claude review by @smartprogrammer93 in https://github.com/NethermindEth/nethermind/pull/10768
- Refactor use base class for hash comparison by @ak88 in https://github.com/NethermindEth/nethermind/pull/10785
- XDC more P2P tests by @alexb5dh in https://github.com/NethermindEth/nethermind/pull/10623
- Rework engine API versioning by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10786
- Update Dockerfiles by @core-repository-dispatch-app[bot] in https://github.com/NethermindEth/nethermind/pull/10816
- chore: Refactor and rename BLS12-381 precompiles by @rubo in https://github.com/NethermindEth/nethermind/pull/10808
- XDC Add sync support for switch boundary by @batrr in https://github.com/NethermindEth/nethermind/pull/10787
- XDC Random Value by @batrr in https://github.com/NethermindEth/nethermind/pull/10803
- fix: fix data race on _requestCount in MessageDictionary by @ninastef in https://github.com/NethermindEth/nethermind/pull/10813
- fix(simulate): correct LogIndex calculation by @zeroprooff in https://github.com/NethermindEth/nethermind/pull/10818
- chore: Clean up cspell dictionary with inline ignores and typo fixes by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/10819
- Update agent rules and review skill by @newmanifold in https://github.com/NethermindEth/nethermind/pull/10733
- fix: return NoopSnapServer instead of null for HashDB (#11116) [1.37.0-rc2] by @stdevMac in https://github.com/NethermindEth/nethermind/pull/11132
- Trace level log for retry cache by @flcl42 in https://github.com/NethermindEth/nethermind/pull/11160
- Fix limits by @flcl42 in https://github.com/NethermindEth/nethermind/pull/11155
- fix: skip AuRa finalization startup walk on post-merge chains (1.37.0-rc2 backport) by @LukaszRozmej in https://github.com/NethermindEth/nethermind/pull/11307
- Account for blob wrapper v0/v1 difference in rlp limits by @flcl42 in https://github.com/NethermindEth/nethermind/pull/11319
- fix: guard AuRa finalization wiring on head state, not config flag by @stdevMac in https://github.com/NethermindEth/nethermind/pull/11313
- fix: bump Microsoft.AspNetCore.DataProtection to 10.0.7 (GHSA-9mv3-2cwr-p262) by @stdevMac in https://github.com/NethermindEth/nethermind/pull/11331
- fix(build): copy Directory.Build.targets into release image by @stdevMac in https://github.com/NethermindEth/nethermind/pull/11333
- fix(build): enable R2R platform packs on the locked restore by @stdevMac in https://github.com/NethermindEth/nethermind/pull/11334
New Contributors
- @PivasDesant made their first contribution in #9920
- @igladun made their first contribution in #9875
- @0xxFloki made their first contribution in #9969
- @Aleksandr1732 made their first contribution in #9976
- @hawkadrian made their first contribution in #9966
- @marukai67 made their first contribution in #9983
- @CreeptoGengar made their first contribution in #9993
- @mattvaux made their first contribution in #9986
- @0xlupin made their first contribution in #9982
- @kurahin made their first contribution in #10014
- @yyhrnk made their first contribution in #10062
- @letmehateu made their first contribution in #10086
- @SashaMalysehko made their first contribution in #10106
- @cuiweixie made their first contribution in #10100
- @Savid made their first contribution in #10158
- @maximevtush made their first contribution in #10182
- @ArtiomTr made their first contribution in #10148
- @vtjl10 made their first contribution in #10225
- @MoNyAvA made their first contribution in #10189
- @zeevick10 made their first contribution in #10229
- @gehlotanish made their first contribution in #10043
- @majtte made their first contribution in #10268
- @CPerezz made their first contribution in #10316
- @diega made their first contribution in #10307
- @andrewshab3 made their first contribution in #10310
- @leopardracer made their first contribution in #10340
- @M0ndarynka made their first contribution in #10234
- @splinter012 made their first contribution in #10468
- @novaheic made their first contribution in #10478
- @Olexandr88 made their first contribution in #10499
- @Sahil-4555 made their first contribution in #10498
- @avorylli made their first contribution in #10527
Full Changelog: 1.36.2...1.37.0