Geth Flexible Polymer Casing (v1.17.4)

Release

Version
v1.17.4
Repository
ethereum/go-ethereum

Release notes

This is a maintenance release with accumulated bug fixes and improvements, and is recommended for all users. It also continues the implementation work for the upcoming Amsterdam hardfork.

One thing worth highlighting:

• Clef has been removed. The standalone clef signer has moved to https://github.com/ethereum/clef (#35097).

Fork Implementation (Amsterdam)

• EIP-7928: Block-Level Access Lists: the block access list is now constructed and verified during block execution, with the serving side of the eth/71 BAL messages implemented (#34652, #34803, #34879, #34957, #34967, #34972, #34977, #35110)

• EIP-8189: snap/2, a new state-sync protocol based on block-level access lists, has been added (#34626, #34807, #35098, #35155, #35158, #35163, #35178, #35180, #35181)

• EIP-8037: state-creation gas cost increase, has been implemented (#33601)

• The tracing system provides a new OnGasChangeV2 hook for multi-dimensional gas (#34946)

• engine_newPayloadWithWitnessV5 has been added and the witness format now uses the canonical spec field ordering (#35009)

• The evm t8n tooling has been updated for Amsterdam, adding BAL and slot-number support and binary-trie leaf export (#34843, #35025)

• For EIP-7843, the slot number is now set for the pending block post-Amsterdam (#34792, #35036)

Geth

• Caches are now sized against the cgroup memory cap (e.g. Docker --memory) when one is set (#34947)

• A number of small command-line flag and logging issues have been fixed (#33880, #34732, #34943, #34948, #35011, #35104, #35116, #35136)

• A number of long-deprecated command-line flags have been removed (#35021)

RPC

eth_baseFee has been added, returning the base fee of the next block (#34904, #35023)

eth_capabilities has been added, letting clients discover which historical data a node can serve (#33886)

debug_clearTxpool has been added to clear the transaction pool (#33347, #35130)

State-reading methods (eth_getBalance, eth_getCode, eth_getStorageAt, etc.) now default the block parameter to latest when omitted (#35100)

Fixes for eth_simulateV1: an incorrect "base fee too low" error code and a pre-Shanghai withdrawal regression (#34951, #34939)

debug_setHead now propagates rewind errors instead of silently ignoring them (#35001)

EIP-7702 transactions with a nil To address are now rejected (#35094)

HTTP RPC responses now always set Content-Length, and a WebSocket handshake status-code bug was fixed (#35072, #35111)

The client can now configure trace-context propagation via the traceparent header, and response writes are now traced (#35132, #35049)

GraphQL

• GraphQL request bodies are now limited to 5 MiB (#35034)

• Log-range queries with begin > 0 and end == 0 are now rejected (#35032)

• The Block.raw resolver now returns empty bytes when the block body is missing (#35027)

Core

• A global cache for JUMPDEST bitmaps speeds up EVM execution (#34850)

• EVM stack operations are now computed in place, avoiding per-operand copies (#35156)

• New code-cache hit/miss meters have been added (#34821)

• A shutdown race in snapshot generation has been fixed (#33540)

Engine API & Blobs

• Engine API JSON encoding for large blob payloads has been optimized, and gzip is disabled on the engine API (#33969, #35057)

• engine_hasBlobs has been added, and engine_getBlobs now counts only actually-available blobs (#34859, #35028)

• A cache for GetBlobs requests reduces engine API latency, and otel tracing has been added to the GetBlobs endpoints (#35124, #35026)

• Reorged v0 blob sidecar transactions are now dropped rather than converted (#35099)

• testing_commitBlockV1 has been added as the write companion to testing_buildBlockV1 (#34995)

• New payloads are now imported at genesis regardless of sync status (#32673)

Networking

• NAT STUN discovery no longer fails on IPv6 servers (#35084)

• Several snap-sync robustness fixes: uncovered state is removed before resuming, a catch-up stall was fixed, sync restarts when the required BAL is…

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...