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.IsMiningConfig.StoreReceiptsConfig.ReceiptsMigrationMining.TargetBlockGasLimitMining.MinGasPriceMining.RandomizedBlocksMining.ExtraDataMining.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.TesttoNethermind.Era1.Testby @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-pathoption 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
NetworkIdflag toInitConfigby @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
RequestPooledTransactionsgeneric parameter name by @alexb5dh in #9743 - Remove
eth_sendRawTransaction/send-blob-txas 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/checkoutto v6 by @rubo in #9754 - Fix block number format in
WaitForBlobInclusionby @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
- @mrzeszutko made their first contribution in #9428
- @DeVikingMark made their first contribution in #9438
- @derrix060 made their first contribution in #9495
- @sashaodessa made their first contribution in #9513
- @viktorking7 made their first contribution in #9543
- @prestoalvarez made their first contribution in #9544
- @GarmashAlex made their first contribution in #9566
- @strmfos made their first contribution in #9658
- @MozirDmitriy made their first contribution in #9652
- @JayeTurn made their first contribution in #9654
- @Snezhkko made their first contribution in #9672
- @maradini77 made their first contribution in #9687
- @0xLogicalx made their first contribution in #9764
- @rnkrtt made their first contribution in #9770
- @bobtajson made their first contribution in #9758
- @Fibonacci747 made their first contribution in #9670
- @reject-i made their first contribution in #9772
- @justinbay made their first contribution in #9792
- @soniseth0 made their first contribution in #9794
- @Bilogweb3 made their first contribution in #9858
- @AbolareRoheemah made their first contribution in #9696
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