github ethereum/go-ethereum v1.16.4
Bioelectric Infusers (v1.16.4)

11 hours ago

This release enables the Osaka (Fusaka) fork on testnets. We also enable two blob-parameter only (BPO) forks for the testnets.

  • Holesky

    • Osaka at time 1759308480 (2025-10-01 08:48:00 UTC)
    • BPO1 at time 1759800000 (2025-10-07 01:20:00 UTC)
    • BPO2 at time 1760389824 (2025-10-13 21:10:24 UTC)
  • Sepolia

    • Osaka at time 1760427360 (2025-10-14 07:36:00 UTC)
    • BPO1 at time 1761017184 (2025-10-21 03:26:24 UTC)
    • BPO2 at time 1761607008 (2025-10-27 23:16:48 UTC)
  • Hoodi

    • Osaka at time 1761677592 (2025-10-28 18:53:12 UTC)
    • BPO1 at time 1762365720 (2025-11-05 18:02:00 UTC)
    • BPO2 at time 1762955544 (2025-11-12 13:52:24 UTC)

With BPO1 and BPO2, the blob capacity of these networks will increase as follows:

  • BPO1: max blobs/block: 15, target: 10
  • BPO2: max blobs/block: 21, target: 14

As of this release, the default block gas limit is set to 60M gas.
This is the recommended limit that we, as client authors, feel comfortable with.

CLI commands

  • geth snapshot and related commands no longer fail due to not finding the trie journal file. (#32531)
  • A regression in geth snapshot dump and geth export-preimages is resolved. (#32650)
  • We have added an experimental zkVM 'guest program', keeper, to the source tree. (#32543, #32638, #32736)

RPC

  • eth_call and related operations were fixed to not apply the EIP-7825 per-transaction gas limit when executing under Osaka fork rules. (#32641)
  • For eth_getLogs and other log filtering operations, it is now possible to configure the number of addresses allowed in the filter using the --rpc.logquerylimit flag. (#32327)
  • Starting Geth with the --state.size-tracking option enables collection of precise state size numbers, which can be read using the debug_stateSize endpoint. (#32362)
  • The new debug_executionWitness and debug_executionWitnessByHash methods create a block witness for stateless execution. (#32216)

Tracing & ABIGEN

  • There is a new CodeChangeV2 hook, with a CodeChangeReason parameter. (#32525, #32535)
  • In certain corner-cases related to SELFDESTRUCT, OnBalanceChange was not invoked. (#32526)
  • BoundContract in accounts/abi/bind/v2 now exposes an Address method. (#32559)

Core

  • The EVM MODEXP precompiled account has seen some optimizations to improve performance for worst-case inputs. We are especially grateful for @GottfriedHerold's work on improving the underlying math/big library. (#32527, #32553, #32568, #32576)
  • The blobpool will now perform a migration to the v1 blob proof format around the time of the fork. (#31966, #32577, #32534, #32656, #32716)
  • engine_getBlobs has been updated for improved spec compliance and to deal with the conversion of the blob tx proofs. (#32536, #32538, #32578)
  • The path-based state database has seen some fixes to prevent database corruption, which could sometimes occur when Geth is terminated abnormally, e.g. by a short stop timeout in Docker. (#32557, #32447)
  • All engine API operations, and eth_config, now support BPO-style forks. (#32589, #32615, #32636, #32579)
  • This release includes some work towards supporting historical state proofs in the path-based archive node implementation. (#32418, #32523, #32649)
  • Pebble stall counter are now correctly reported for each opened database. (#32563)

Networking

  • The node discovery iterator was updated to improved geth startup time and reactivity when the node table becomes empty. (#32517, #32518)
  • A hang in the 'eth' protocol test suite was resolved. (#32551)

Build

  • The KZG proof libraries have been updated to the latest release to fix a vulnerability. Fortunately, the vulnerability would only have become usable after the Osaka fork, so there is no risk for users of current versions. (#32640, #32639)
  • go-ethereum now requires Go 1.24 or later. (#32584, #32598)
  • This release is built with Go 1.25.1 (#32593)
  • execution-spec-tests has been bumped to v5.1.0 (#32592, #32742)

Don't miss a new go-ethereum release

NewReleases is sending notifications on new releases.