github NethermindEth/nethermind 1.36.0
v1.36.0

14 hours ago

Release notes

This release brings over 416 improvements across 1821 files; focusing on operator ergonomics, and RPC / execution correctness hardening, plus a steady stream of performance improvements. It also includes a couple of intentional breaking changes via the removal of obsolete configs/modules.

Breaking changes

Config migrations removed (obsolete config cleanup)

The old config-migration path was removed as part of an “obsolete config” cleanup (#9435):

  • Config.IsMining
  • Config.StoreReceipts
  • Config.ReceiptsMigration
  • Mining.TargetBlockGasLimit
  • Mining.MinGasPrice
  • Mining.RandomizedBlocks
  • Mining.ExtraData
  • Mining.BlocksConfig

Nethermind.Analytics removed

The obsolete Nethermind.Analytics component was removed (#9683)

Highlights

Build & release engineering

.NET 10 migration

This version of Nethermind runs on .NET 10. If you build it from source, you need to update your build configuration accordingly (#9391)

Safer failure mode on database corruption

A node crash path was adjusted from Environment.FailFast to Environment.Exit when encountering DB corruption scenarios, to avoid “hard failfast” behavior (#9365)

Execution, RPC & correctness hardening

estimateGas compatibility adjustments

eth_estimateGas behavior was adjusted to better match Geth response patterns.

What's Changed

  • XDC : QuorumCertificate Manager by @Demuirgos in #9294
  • Reset code filter per block by @benaadams in #9415
  • Update Surge Hoodi Chainspec by @dipkakwani in #9420
  • Refactor RPC comparison workflow for clarity and efficiency by @kamilchodola in #9418
  • Add timestamp to simulate logs & blob gas & remove total difficulty by @deffrian in #9406
  • Remove quick fail when running Hive tests by @deffrian in #9426
  • Enable Osaka on Chiado by @Marchhill in #9395
  • Add interval for history pruning by @Marchhill in #9424
  • Use proper blob proofs version by @flcl42 in #9423
  • Update OP Superchain chains by @emlautarom1 in #9422
  • Fix excess blob gas by @deffrian in #9429
  • Make builds reproducible by @rubo in #9365
  • Fix/Era import by @asdacap in #9431
  • Fix bulkset edge case by @asdacap in #9430
  • Xdc TimeoutCertificateManager - Timeout Certificate Validation by @cicr99 in #9381
  • Feature/sorted key value store by @asdacap in #9434
  • Remove Config migrations by @LukaszRozmej in #9435
  • Fix logs in eth_simulate by @deffrian in #9437
  • Rename Nethermind.Era.Test to Nethermind.Era1.Test by @rubo in #9444
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9446
  • Fix concurrent tree read by @asdacap in #9447
  • Should correctly broadcast light transactions by @LukaszRozmej in #9448
  • Set Ethereum mainnet default gaslimit to 60M by @benaadams in #9132
  • Adjusting execution reverted code. Fixes #9329 by @mrzeszutko in #9428
  • Remove redundant -lock-file-path option by @rubo in #9455
  • Kute code quality cleanup by @emlautarom1 in #9317
  • Add ChainId to legacy transactions in RPC responses derived from signature by @Copilot in #9453
  • Better message when eth_getFilterChanges is out of bounds by @LukaszRozmej in #9451
  • Add Blocktest Tracing Support to nethtest Tool by @LukaszRozmej in #9432
  • Update Dockerfiles automatically by @rubo in #9445
  • Disable IIS assets by @rubo in #9464
  • Change Environment.FailFast -> Environment.Exit for db corruption by @LukaszRozmej in #9469
  • Fix/hunting flaky tests by @LukaszRozmej in #9470
  • Place access list deserialization guards by @LukaszRozmej in #9466
  • Adding [CLAUDE.md](http://claude.md/) based on [copilot-instructions.md](http://copilot-instructions.md/) by @mrzeszutko in #9468
  • Update Dockerfiles by @github-actions[bot] in #9467
  • Fix/more flaky tests by @LukaszRozmej in #9474
  • Update packages by @rubo in #9478
  • Try fixing leak in ProtocolsManager._sessions by @LukaszRozmej in #9410
  • Move Claude instructions by @rubo in #9480
  • Update System.CommandLine package by @rubo in #9479
  • Use RawTrieStore in StatelessEnv by @asdacap in #9471
  • Fix MovePrecompile in eth_simulate by @deffrian in #9452
  • Revert "Move Claude instructions (#9480)" by @mrzeszutko in #9482
  • Harden RLP limits on allocations by @LukaszRozmej in #9465
  • Adjusting estimateGas response to match geth responses for execution … by @mrzeszutko in #9485
  • Check bytes left before checking the limit by @LukaszRozmej in #9483
  • Fix: do not decompress keys in CompressingDb.GetAllKeys by @phrwlk in #9487
  • Fix genesis post processor have no allocations by @asdacap in #9488
  • feat: implement proper block validation in BlockchainTestBase to mimic sync manager behavior by @DeVikingMark in #9438
  • Fix delegation in eth_simulate by @deffrian in #9490
  • Remove passing eth_getBlockByNumber hive tests by @MarekM25 in #9462
  • fix: Use correct Docker Hub secrets across workflows by @derrix060 in #9495
  • Fix batched trie visitor missed storage by @asdacap in #9496
  • Move static/trusted nodes file to the data dir by @rubo in #9477
  • Update Dockerfiles by @github-actions[bot] in #9497
  • Fix: Blocktest exception handling logic by @LukaszRozmej in #9491
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9500
  • Improve Hive RPC compat. by @smartprogrammer93 in #9489
  • Update send blobs tool by @flcl42 in #9472
  • Make AuthorizationListForRpc.JsonConverter public for attribute-based activation by @Galoretka in #9506
  • Add CancelAfter to Maintain_correct_pointers_for_beacon_sync_in_archi… by @LukaszRozmej in #9507
  • Disable osaka chiado hardfork by @Marchhill in #9486
  • Feature/xdc block sealer by @ak88 in #9505
  • Use correct Bmi2 intrinsic support check by @benaadams in #9510
  • Fix nonce handling in eth_simulate by @deffrian in #9499
  • Replace GitHub token by @rubo in #9515
  • Fix fast sync settings workflow by @rubo in #9519
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9522
  • fix/crypto-random-secure-rng by @sashaodessa in #9513
  • Slight logging change by @asdacap in #9520
  • Remove overseer tests by @rubo in #9527
  • fix: CompositeTxTracer aggregates IsTracingLogs and gates ReportLog correctly by @Forostovec in #9511
  • Log index (preparation) by @alexb5dh in #9481
  • Persist genesis state after genesis loader to prevent unclean shutdown issues by @Copilot in #9536
  • Fix Leading Zero Issue for taiko by @dipkakwani in #9538
  • Fix incorrect BlockRangeUpdateMessage.EarliestBlock in some edge cases by @LukaszRozmej in #9542
  • Add support for block producer based on global world state instance. by @damian-orzechowski in #9388
  • Remove Holesky by @stdevMac in #9525
  • Retry requesting pooled transactions by @flcl42 in #9128
  • fix culture-dependent metric name generation by @viktorking7 in #9543
  • Fix: Include exception details in SimpleConsoleLogger.Error() by @prestoalvarez in #9544
  • Perf/Add ArrayPoolListRef to avoid some allocations by @LukaszRozmej in #9537
  • [WIP] Automatically lower max open file limit to prevent crashes by @Copilot in #9504
  • Fix IndexOutOfRangeException on missing or mismatched receipts in BlockValidator by @Copilot in #9534
  • Handle static/trusted nodes old location by @rubo in #9545
  • Improve build version handling by @rubo in #9547
  • XDC : Add Header and Block Stores by @Demuirgos in #9528
  • proper fix for key property in storage proof for rpc-compat by @smartprogrammer93 in #9551
  • Xdc timeout handler by @cicr99 in #9475
  • Xdc Pool for timeouts and votes by @cicr99 in #9521
  • XDC : EpochSwitchInfo Manager by @Demuirgos in #9299
  • Update CODEOWNERS with project owners by @LukaszRozmej in #9552
  • bump: nethermind version on props to 1.36.0 by @stdevMac in #9556
  • Changes for Arbitrum mainnet by @svlachakis in #9473
  • XDC block producer by @ak88 in #9512
  • Validate sizes and types by @flcl42 in #9546
  • Use trace instead of warn by @deffrian in #9563
  • Validate sizes and types by @flcl42 in #9564
  • XDC : Votes Manager by @Demuirgos in #9296
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9568
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9567
  • Fix simulate errors by @deffrian in #9565
  • Fix flaky test in SimpleRetryCacheTests by pooling instead of delay by @LukaszRozmej in #9574
  • Allow longer state check by @asdacap in #9570
  • feat: add fuzzing test for pruning scenarios with fixed seed by @forkfury in #9548
  • Fix Arb TrieException by @asdacap in #9555
  • Optimise CREATE(2) by removing redundant check by @Marchhill in #9580
  • Use description of error instead of enum value by @flcl42 in #9583
  • Deserializes block parameter from json object by @LukaszRozmej in #9573
  • Fix simulate internal error by @deffrian in #9579
  • Improve Block related caching by @benaadams in #9571
  • Fix StatelessExecution tool build by @deffrian in #9586
  • Add field support to ExpressionExtensions.GetSetter by @radik878 in #9587
  • Remove redundant JsonConstructor ctors and make default ctors private with safe initialization by @sashass1315 in #9590
  • Reduce peer logging by @benaadams in #9591
  • Cancel timeout in NewPayload fast-path by @benaadams in #9597
  • Refactor JsonRpcService.ExecuteAsync by @benaadams in #9600
  • Optimise CREATE(2) remove redundant account creation by @Marchhill in #9585
  • Replace Task.Delay/Thread.Sleep with NUnit .After() in tests by @Copilot in #9576
  • Arbitrum - Refund on contract creation failure by @svlachakis in #9610
  • Fix eth_sumulate defaults by @deffrian in #9529
  • Extra peers reporting for supported chains runs by @benaadams in #9612
  • Fix StatelessExecution tool build by @rubo in #9613
  • Fix/pow forward header provider cache ownership by @radik878 in #9614
  • Update EthereumTests by @flcl42 in #9225
  • Remove redundant length==1 special-case in SliceWithZeroPadding by @GarmashAlex in #9566
  • Catch index exceptions in RlpDecoders and pack it in RlpException by @LukaszRozmej in #9603
  • Add more logging in MultiSyncModeSelector by @LukaszRozmej in #9616
  • feat: Add configurable EIP-2935 ring buffer size by @AnkushinDaniil in #9611
  • Blockchain Engine Tests support by @Marchhill in #9394
  • use zero address when from address not specified in rpc calls by @tanishqjasoria in #9578
  • Allow serving snap requests for more than 128 blocks by @Copilot in #9602
  • Remove console log from FileTestsSource by @LukaszRozmej in #9622
  • Correct docs value for Blocks.BlockProductionMaxTxKilobytes by @benaadams in #9620
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9629
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9628
  • feat: write AckMessage directly to IByteBuffer without temp array by @VolodymyrBg in #9623
  • Optimize Ripemd by @benaadams in #9627
  • Allow precompile cache to be switched off by config by @benaadams in #9633
  • Mainnet Osaka, BPO1, BPO2 forks by @Marchhill in #9615
  • Change rlp limits and add logs by @LukaszRozmej in #9631
  • Optimise CALL by throwing stack underflow earlier by @Marchhill in #9581
  • Optimize BN254Pairing call by @benaadams in #9621
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9643
  • Log/decrease noise by @LukaszRozmej in #9642
  • Update X handle by @rubo in #9634
  • Better logs on invalid orphan by @LukaszRozmej in #9641
  • Update all op chain configs by @tanishqjasoria in #9645
  • Add NetworkId flag to InitConfig by @marcindsobczak in #9476
  • Replace Taiko Hekla with Taiko Hoodi by @rubo in #9592
  • Remove duplicated log by @marcindsobczak in #9653
  • Block producer runner for XDC running hotstuff by @ak88 in #9524
  • chore: remove unused code in SendBlobs tool by @strmfos in #9658
  • fix: RlpStream.WriteZero to honor length and zero-fill by @MozirDmitriy in #9652
  • Fix gas limit calculation in eth simulate by @deffrian in #9663
  • Fix/rlp receipt limits by @LukaszRozmej in #9667
  • chore(sync): remove redundant Task.Run by @phrwlk in #9662
  • TestBlockchainUtil return block instead by @ak88 in #9673
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9674
  • Change IPrecompile to use Result<byte[]> allowing to return errors from precompiles by @flcl42 in #9561
  • Update outdated link by @JayeTurn in #9654
  • Feature/xdc prevent finalized reorg by @ak88 in #9655
  • fix: DynamicCallWithInput to skip value for DELEGATECALL/STATICCALL by @Snezhkko in #9672
  • Route ColumnDb.Remove through Set(null) to use wrapper semantics by @radik878 in #9636
  • Changes for test blockchain by @ak88 in #9680
  • Improve diag Docker container by @rubo in #9635
  • Fix bump-version action and adds reviewers as default by @stdevMac in #9557
  • Fix free disk space check for non existent directories (HealthChecks) by @damian-orzechowski in #9666
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9675
  • Remove Nethermind.Analytics by @rubo in #9683
  • Feature/block production blob limit by @LukaszRozmej in #9686
  • Fix resource leak in HttpJsonRpcSubmitter by @maradini77 in #9687
  • Remove unused BlockFilter.StartBlockNumber and simplify CreateBlockFilter by @GarmashAlex in #9630
  • Revert "Improve Block related caching (#9571)" by @benaadams in #9688
  • Update Dockerfiles by @core-repository-dispatch-app[bot] in #9689
  • Fix Chainspec for Taiko-Hoodi by @dipkakwani in #9699
  • Xdc : Add XdcTestBlockchain for Module testing by @Demuirgos in #9596
  • XDC - Snapshot Manager refactor by @cicr99 in #9695
  • Xdc : Port BlockInfoValidator Module Tests by @Demuirgos in #9650
  • Unit tests for commit in XDC QC manager by @ak88 in #9700
  • Xdc : Port HeaderValidator Module Tests by @Demuirgos in #9617
  • Update base-sepolia testnet matrix by @stdevMac in #9705
  • Comment out Linea in workflows by @stdevMac in #9706
  • Remove redundant WithAttributeFiltering() in PseudoNetworkModule by @phrwlk in #9618
  • feat: Avoid allocating SlicedReadOnlyList when using full request range by @Bashmunta in #9702
  • Propose tests for XDC by @ak88 in #9694
  • XDC- Timeout Tests by @cicr99 in #9698
  • Xdc: Vote Module tests by @cicr99 in #9690
  • XDC [README.md](http://readme.md/) by @ak88 in #9710
  • fix: Align BasicJsonRpcClient nullability with IJsonRpcClient by @sashass1315 in #9692
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9720
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9721
  • Harden Abi parsing, always throw AbiException from AbiDecoder by @LukaszRozmej in #9716
  • fix: unsubscribe from IHistoryPruner.NewOldestBlock in SyncServer.Dispose by @radik878 in #9719
  • Perf/StateSync/Cache node between state root change by @asdacap in #9607
  • perf: avoid redundant Hash256 allocation by @VolodymyrBg in #9724
  • Revert "Optimise CREATE(2) by removing redundant check" by @asdacap in #9726
  • Xdc: Mine Module Tests by @Demuirgos in #9704
  • Run Xdc tests in parallel and general cleanup by @ak88 in #9712
  • fix missing dispose in HandleMessage(PooledTransactionRequestMessage) by @LukaszRozmej in #9729
  • fix: remove redundant ExtraData assignment by @Forostovec in #9733
  • XDC: enforce end-of-sequence checks by @phrwlk in #9722
  • XDC readme update by @ak88 in #9730
  • fix: use IN tag for incoming trace logs by @sashass1315 in #9727
  • Make blob tx min priority fee configurable by @flcl42 in #9736
  • Revise hive test scripts by @rubo in #9671
  • Migrate to .NET 10 by @rubo in #9391
  • Call Result - Should Revert by @svlachakis in #9737
  • Fix RequestPooledTransactions generic parameter name by @alexb5dh in #9743
  • Remove eth_sendRawTransaction/send-blob-tx as passing by @rubo in #9745
  • Arbitrum - Separate Gas Prices by @svlachakis in #9742
  • Fix simulate gas defaults by @deffrian in #9723
  • Return error inside AccessList by @deffrian in #9748
  • Embed Nethermind UI into its assembly by @rubo in #9751
  • Update RocksDB package by @rubo in #9691
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9756
  • fix: END 3 assertion index in GethLikeTxMemoryTracerTests by @sashass1315 in #9755
  • Update actions/checkout to v6 by @rubo in #9754
  • Fix block number format in WaitForBlobInclusion by @maradini77 in #9752
  • State related suggestions by @flcl42 in #9651
  • Feature/blockhash cache by @LukaszRozmej in #9725
  • Feature/triestore respect finalized block marker by @asdacap in #9588
  • Fix disk space errors on GitHub runners by @rubo in #9753
  • fix master build by @asdacap in #9769
  • Add OP Jovian fork by @alexb5dh in #9560
  • fix: remove redundant LINQ sorting and enforce ordinal key ordering by @Galoretka in #9762
  • Remove unused SendNewCapability from protocols manager by @0xLogicalx in #9764
  • Fix progress tracker nan by @deffrian in #9768
  • fix: remove unused variable in BlobSender.SendData by @rnkrtt in #9770
  • Remove unneded casts in precompiles by @LukaszRozmej in #9771
  • refactor: Remove duplicate genesis preallocation code by @bobtajson in #9758
  • Enforce span-batch non-empty and element-count limits per OP spec by @Fibonacci747 in #9670
  • Use ReadOnlySpan for receipts rather than IReadOnlyList by @benaadams in #9776
  • Remove redundant ToArray() call in EngineModuleTests.V4 by @0xLogicalx in #9777
  • Retry flaky shutter test by @LukaszRozmej in #9778
  • Propagate cancellation through DNS lookups in ENR discovery by @Forostovec in #9747
  • Guard SendBlobs fund distribution against zero key count by @anim001k in #9763
  • Add Microsoft.NET.Test.Sdk for Rider by @rubo in #9780
  • fix(blockchain): avoid per-node allocation by @phrwlk in #9773
  • fix(t8n): use EIP flags instead of type checks in validator by @rnkrtt in #9775
  • EVM tool fix build by @LukaszRozmej in #9782
  • fix: await KZG initialization in T8nExecutor by @reject-i in #9772
  • chore: remove dead zero-length key check in RocksDbExtensions.GetSpan by @ANtutov in #9781
  • Add minimal fee per blob gas requirement by @marcindsobczak in #9740
  • Feature/xdc state reader by @ak88 in #9732
  • Fix history prune scheduling by @LukaszRozmej in #9677
  • Add test for modexp empty and zero values by @marcindsobczak in #9785
  • Skip creating precompile error string if no error by @benaadams in #9795
  • chore(sync): remove redundant await in peer refresh loop by @justinbay in #9792
  • fix: Correct NullSigner.CanSign to return false by @strmfos in #9788
  • Optimize CacheBenchmark empty byte allocations by @0xLogicalx in #9791
  • fix: NodeKey.GetHashCode() violates Equals/GetHashCode contract by @aso20455 in #9744
  • chore: remove dead IsSyncing field and its assignment by @ANtutov in #9790
  • Move engaging NoGC out of hot path by @benaadams in #9799
  • chore: remove duplicate AddDatabase registrations in DbModule by @Fibonacci747 in #9802
  • chore: streamline nullability suppression in LruCache by @justinbay in #9796
  • Remove unused transaction hash collections in SendBlobs CLI by @justinbay in #9798
  • Reduce storage tracking allocations by @benaadams in #9664
  • Devirtualize filter{store | manager} by @benaadams in #9779
  • Cache masternode quorum math in VotesManager by @soniseth0 in #9794
  • fix: RlpxHost.Init guard to reference RlpxHost instead of PeerManager by @Snezhkko in #9805
  • chore: remove unused block parameter by @MozirDmitriy in #9814
  • Remove defensive copies from SecP256k1 by @benaadams in #9817
  • Allow Inner Reverts for eth_gasEstimate by @dipkakwani in #9822
  • fix: mismatches in error messages by @Bashmunta in #9823
  • fix: avoid allocation in PutSpan by throwing immediately by @Fibonacci747 in #9819
  • Fix merge issue by @benaadams in #9824
  • Fix ColumnsDb constructor recursion and reuse resolved keys by @soniseth0 in #9818
  • Resolve Transitive dependency warnings by @benaadams in #9827
  • Fix buyGas in simulate by @deffrian in #9761
  • Remove redundant Math.Min call in SnapServer storage guard by @soniseth0 in #9828
  • Remove unnecessary pragma suppression from SortedPool events by @soniseth0 in #9830
  • Shrink ReadToEndAsync async machine by @benaadams in #9831
  • Optimize BlockParameter parsing by @benaadams in #9835
  • fix: correct EOFCREATE error message by @VolodymyrBg in #9836
  • chore: remove unused ShouldSerialize hooks and fix nullable properties by @sashass1315 in #9820
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9840
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9841
  • fix: keep PeerPool commit loop running when no pending changes by @Forostovec in #9839
  • chore(init): remove unused StateReader assignment in InitializeBlockchain by @Bashmunta in #9843
  • Increase precision of gas price logging by @benaadams in #9845
  • Fast path JwtAuthentication by @benaadams in #9837
  • fix: add missing string interpolation by @rnkrtt in #9851
  • fix: dispose automatic pruning triggers to stop background timers by @MozirDmitriy in #9847
  • fix: remove unused IHttpContextFactory resolution in StartAsync by @phrwlk in #9857
  • fix: use ArgumentNullException for ecdsa parameter by @Bilogweb3 in #9858
  • Fix some spelling, add dictionary by @flcl42 in #9850
  • Fail fast for missing precompile by @benaadams in #9862
  • fix(txpool): race condition in NonceManager.TxWithNonceReceived by @aso20455 in #9861
  • Dispose plugins when supported by @flcl42 in #9848
  • Fix redundant allocation in IXdcHeaderStore.BulkInsert by @soniseth0 in #9829
  • perf: avoid extra allocation by iterating snapshot by @Fibonacci747 in #9842
  • Adjust JOC Bootnodes according to recent changes by @anhnhx131 in #9869
  • fix leak in NettyDiscoveryBaseHandler by @LukaszRozmej in #9873
  • Don't cache current block cache by @LukaszRozmej in #9852
  • Reduce Evm Exceptions by @benaadams in #9808
  • Bump up the version to 1.37.0-unstable by @core-repository-dispatch-app[bot] in #9871
  • Taiko Shasta Changes by @dipkakwani in #9709
  • fix: invert post-merge difficulty validation logic in T8n tool by @aso20455 in #9880
  • Changed default PublicKey serialization to use hash format by @AbolareRoheemah in #9696
  • Fix Jovian fork id by @LukaszRozmej in #9877
  • fix: tie readonly DB provider to env lifetime and clear per-scope buffers by @Fibonacci747 in #9883
  • fix: remove duplicate EIP-7702 transaction counting in TxPool by @rnkrtt in #9885
  • fix: prevent EVM memory size overflow crash for extreme memory requests by @bshastry in #9887
  • Auto-update fast sync settings by @core-repository-dispatch-app[bot] in #9893
  • fix: map InvalidBlockRangeUpdate to BreachOfProtocol by @Snezhkko in #9891
  • Update OP Superchain chains by @core-repository-dispatch-app[bot] in #9892
  • Run taiko nodes on latest version by @stdevMac in #9899
  • Update Dockerfiles by @core-repository-dispatch-app[bot] in #9909
  • 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 in #9989
  • Update OP Superchain chains by @core-repository-dispatch-app 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
  • Taiko Shasta Changes - II by @dipkakwani in #9998
  • 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
  • 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 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
  • 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 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 ConsumeCodeCopyGas method 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
  • Fix #10068 regression by @AnkushinDaniil in #10116
  • Optimize discv5 by @flcl42 in #10081
  • Add some guards to RetryCache by @flcl42 in #10134

New Contributors

Full Changelog: 1.35.8...1.36.0

Build signatures

The packages are signed with the following OpenPGP key: AD12 7976 5093 C675 9CD8 A400 24A7 7461 6F1E 617E

Don't miss a new nethermind release

NewReleases is sending notifications on new releases.