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

Published: Sep 26, 2025
TESTNET Deadline: Oct 1, 2025
TESTNET Deadline: Oct 7, 2025
TESTNET Deadline: Oct 13, 2025
TESTNET Deadline: Oct 14, 2025
TESTNET Deadline: Oct 21, 2025
TESTNET Deadline: Oct 27, 2025
TESTNET Deadline: Oct 28, 2025
TESTNET Deadline: Nov 5, 2025
TESTNET Deadline: Nov 12, 2025

Release Summary

Geth v1.16.4 (Bioelectric Infusers) is here!

This release prepares the network for the future by enabling the Osaka (Fusaka) hard fork on several testnets. It also introduces two Blob-Parameter Only (BPO) forks designed to gradually increase blob capacity.

Osaka & BPO Testnet Fork Schedule

This version activates the Osaka fork and two subsequent BPO forks on the following testnets at the specified times:

The BPO forks will increase the network's data blob capacity as follows:
- BPO1: Max blobs/block increases to 15 (target 10).
- BPO2: Max blobs/block increases to 21 (target 14).

Key Highlights & Changes

Other Notable Improvements

Release Notes

<!-- Bioelectric Infusers (v1.16.4) -->

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.getlogmaxaddrs` 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)

Links

Back to ethereum/go-ethereum releases