You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a maintenance release with accumulated bug fixes and improvements, and is recommended for all users. It continues the implementation work for the upcoming Amsterdam hardfork.
A few things worth highlighting:
The default GOGC has changed from 20 to 50, trading a higher memory peak for less GC overhead. Set --gogc=20 to keep the old behavior.
Pebble v2 is now supported as a key-value store backend. Pebble v2 is used when Geth is bootstrapped from scratch, and falls back to Pebble v1 for a pre-existing database. Run geth db pebble-upgrade to explicitly upgrade a legacy Pebble v1 database to v2.
Fork Implementation
Several Amsterdam EIPs have been implemented or updated:
EIP-2780: Resource-based intrinsic transaction gas (#35212, #35318)
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.
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)
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 unavailable, and the pivot is frozen once state download completes (#35159)
For a full rundown of the changes please consult the Geth 1.17.4 release milestone.
As with all our previous releases, you can find the:
Pre-built binaries for all platforms on our downloads page.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
renovateBot
changed the title
chore(deps): update module github.com/ethereum/go-ethereum to v1.17.4
chore(deps): update module github.com/ethereum/go-ethereum to v1.17.5
Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.17.3→v1.17.5Release Notes
ethereum/go-ethereum (github.com/ethereum/go-ethereum)
v1.17.5: Grav-Torque Pad (v1.17.5)Compare Source
This is a maintenance release with accumulated bug fixes and improvements, and is recommended for all users. It continues the implementation work for the upcoming Amsterdam hardfork.
A few things worth highlighting:
GOGChas changed from 20 to 50, trading a higher memory peak for less GC overhead. Set--gogc=20to keep the old behavior.geth db pebble-upgradeto explicitly upgrade a legacy Pebble v1 database to v2.Fork Implementation
--override.amsterdamflag (#35213)Core
debug_setHeadand reject unrecoverable targets (#35252).erefiles in the era store (#34978)trie.UpdateBatchAPI (#32448)Networking
devp2p, with several related fixes (#35220, #35298, #35243, #35206)RPC
--rpc.http-body-limitflag to configure the maximum HTTP request body size (#35224)gasPricewhen combined with anauthorizationList(#35320)Tracing
callcodetransfers in the log tracer (#35248)Engine API
TargetGasLimitvia the engine API (#35372)engine_getPayloadBodiesV2(#35347)MaxBlobsPerBlockto the protocol limit (#35295)Geth & Tooling
--gogcflag and bump the defaultGOGCto 50 (#35363, #34851)geth export(#35369)=(#35168)Accounts & ABI
GetABI()method on abigen v2 generated contract bindings (#35221)Build
ckzgdependency (#35336)-dlgobootstrap Go version to 1.25.12 (#35317)For a full rundown of the changes please consult the Geth 1.17.5 release milestone.
As with all our previous releases, you can find the:
ethereum/client-go(use "stable" tag)v1.17.4: Flexible Polymer Casing (v1.17.4)Compare Source
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:
clefsigner has moved to https://github.com/ethereum/clef (#35097).Fork Implementation (Amsterdam)
OnGasChangeV2hook for multi-dimensional gas (#34946)engine_newPayloadWithWitnessV5has been added and the witness format now uses the canonical spec field ordering (#35009)evm t8ntooling has been updated for Amsterdam, adding BAL and slot-number support and binary-trie leaf export (#34843, #35025)Geth
--memory) when one is set (#34947)RPC
eth_baseFeehas been added, returning the base fee of the next block (#34904, #35023)eth_capabilitieshas been added, letting clients discover which historical data a node can serve (#33886)debug_clearTxpoolhas been added to clear the transaction pool (#33347, #35130)State-reading methods (
eth_getBalance,eth_getCode,eth_getStorageAt, etc.) now default the block parameter tolatestwhen omitted (#35100)Fixes for
eth_simulateV1: an incorrect "base fee too low" error code and a pre-Shanghai withdrawal regression (#34951, #34939)debug_setHeadnow propagates rewind errors instead of silently ignoring them (#35001)EIP-7702 transactions with a nil
Toaddress 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
traceparentheader, and response writes are now traced (#35132, #35049)GraphQL
begin > 0andend == 0are now rejected (#35032)Block.rawresolver now returns empty bytes when the block body is missing (#35027)Core
Engine API & Blobs
engine_hasBlobshas been added, andengine_getBlobsnow counts only actually-available blobs (#34859, #35028)GetBlobsrequests reduces engine API latency, and otel tracing has been added to the GetBlobs endpoints (#35124, #35026)testing_commitBlockV1has been added as the write companion totesting_buildBlockV1(#34995)Networking
For a full rundown of the changes please consult the Geth 1.17.4 release milestone.
As with all our previous releases, you can find the:
ethereum/client-go(use "stable" tag).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.