Geth Inorganic Lubricant (v1.17.6)

Release

Version
v1.17.6
Repository
ethereum/go-ethereum

Release notes

This is a maintenance release with a number of performance improvements to block processing and initial sync, and is recommended for all users.

A few things worth highlighting:

• The Amsterdam hardfork is scheduled on the Sepolia testnet at timestamp 1791294816 (Oct 6, 2026, 13:53:36 UTC). Sepolia node operators must upgrade before that time.

• The Holesky testnet has been removed, as the network reached end-of-life.

• Go 1.24 is no longer supported. Release binaries and Docker images are now built with Go 1.27.

Fork Implementation

• Schedule the Amsterdam fork on Sepolia (#35734)

• Remove the EIP-7610 implementation (#35581)

• Update EIP-2780 and EIP-8038 gas parameters (#35454, #35497)

• Update EIP-7997 deterministic factory contract (#35458)

• Update EIP-8037, repaying the outstanding gas debt first after absorbing a child frame (#35633)

• Implement parallel block execution driven by the block-level access list (#35264, #35441, #35443, #35459, #35461, #35465, #35575, #35693)

• Rename "regular gas" to "execution gas" to match EIP-8037 (#35457, #35486)

Core

• Remove the Holesky testnet (#35591)

• Optimize JSON decoding of large requests such as engine_newPayload (#35518)

• Process the receipts for bloom construction and root calculation alongside execution (#35738)

• Introduce a precompile result cache shared between prefetcher, block processing and miner (#35388, #35473, #35526, #35578, #35753)

• Parallelize chain data and state writes in the post-execution commit (#35595)

• Do not seal a block if a database error occurred (#35427)

• Fix a panic in the log indexer when a reorg shortens the chain onto the rendered block (#35619)

• Honor ExecuteConfig.EnableTracer for the EVM-level tracing hooks (#35512)

• Add a metered LRU cache variant (#33719)

• Retain block-level access lists alongside bad blocks (#35423)

• Unset the block-level access list at the end of each transaction (#35498)

• Fix the blob cache initialization (#35509)

• Fix head truncation below a diverged tail group (#35551)

• Improve the blob fetcher with a few defensive operations (#35572)

• Fix deadlock when re-requesting partial receipts in eth/70 (#35537)

• Reject empty partial receipt responses in eth/70 (#35593)

• Cap the total size of blocked blob transactions in the sparse blobpool (#35367)

• Fix the Cells/GetCells RLP encoding in eth/72 (#35428)

• Cache recovered blobs in the blobpool to speed up serving pre-eth/72 peers (#35543)

• Add fork validation for transaction types in the state transition (#35588)

• Avoid announcing sparse blob txs to legacy peers (#35589)

• Add eth/71 (EIP-8159) tests (#35389)

• Fix gas tracer hooks and gas measurement (#35646)

• The eth/72 blob buffer is capped at 128 MiB total and 16 MiB per peer (#35766)

Sync

• Optimize the state sync by parallelizing response processing (#35533)

• Implement best-effort downloading of block-level access lists (#35386, #35493)

• Rework the scheduling of body and receipt retrievals during sync (#35680)

• Add metrics for chain segment downloading and snap sync progress (#35678, #35689)

• Various snap v2 fixes and improvements (#35299, #35316, #35463, #35477, #35705, #35722)

Networking

• Validate the announced blob transaction size against the announcer's protocol version (#35524)

• Add more discv5 hive coverage to devp2p (#34770)

• Add eth/72 tests and Amsterdam testdata to devp2p (#35368, #35637, #35647, #35648, #35687)

• Add devp2p discovery listen to serve discv4 and discv5 on a single UDP socket (#35254)

Cryptography

• Reconstruct blobs directly from data cells without KZG recovery (#35528)

• Recover the full cell set of a blob with a fast path for complete data cells (#35529)

• Fix G2.Neg in the bn256 library by syncing with upstream (#35686)

Engine API

• Add support for optional TargetGasLimit and enforce the system contract code check (#35514)

• Allow reorging headBlock down to finalized (#35519)

• Fix the fork gate on…

Full release on GitHub ↗

Release Polkadot SDK

Polkadot stable2606-3

This release contains the changes from polkadot-stable2606-2 to polkadot-stable2606-3. ℹ️ Please note: this is a patch release for the latest stable version stable2606. If your nodes...

Release Agave (Solana validator)

Agave (Solana validator) Release v4.5.0-alpha.2

This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host. https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel What's...

Release Hardhat

Hardhat v3.19.0

This release expands our support for the upcoming Amsterdam hardfork, including: EIP-7976, EIP-7981, EIP-7997, EIP-8024 and EIP-8037. In particular, EIP-8037's separation of execution...

Release Geth

Geth Protein Sludge Pack (v1.17.8)

This is a security-focused release, fixing several DoS risk issues ❤️‍🩹 . Note most of the the fixes related to bugs which only become possible after the activation of the Amsterdam...