ethrex v26.0.0 adds Platåberget, the first public Glamsterdam testnet, as a named network. It also ships the eth/72 sparse blobpool, a batch of sync-robustness fixes, and the eth_ RPC methods other clients serve.
⚠️ This release bumps the database schema from v3 to v4. The migration runs at startup and rewrites nothing, so upgrading is a plain restart, and no resync is needed. It is one way, though: a v26 datadir can no longer be opened by v25, so rolling back after upgrading is not supported.
Platåberget launched on 17 August and forked to Glamsterdam three days later. Ethrex already supported the spec, but joining meant hand-feeding a genesis file and bootnodes. Now --network plataberget works like hoodi or sepolia, with the genesis hash pinned in a test against the published EL genesis.
Also in v26.0.0:
- eth/72 sparse blobpool (EIP-8070): per-transaction custody columns, cell verification against EIP-7594 proofs, GetCells and Cells messages, and optional custodyColumns on forkchoiceUpdatedV4. The EIP is a draft Glamsterdam candidate rather than scheduled for inclusion, and capability negotiation leaves eth/71 peers untouched.
- Sync robustness: the syncer no longer wedges while waiting for a forkchoice head, recovers instead of stalling when the head's post-state is unreachable, stops burning full-sync cycles on the ePBS FCU and newPayload ordering race, and no longer fails a deep reorg on a missing pre-state at the pivot. Peers syncing from us can fetch their head by non-canonical hash, and are told the earliest block we can actually serve instead of block 0.
- RPC: net_listening, debug_getRawBlockAccessList, the remaining eth_ namespace methods other clients serve, and EIP-8037 two-dimensional gas in callTracer output.
- Memory: the RocksDB block cache is sized from available memory instead of a flat 12 GiB, which on a 16 GB host meant handing RocksDB 71 percent of the machine. Containers were worse, since /proc/meminfo reports the host's memory and not the container's limit. Surfaced on ethpandaops' syncoor runners.
- Database safety: a node restarted partway through a full-sync batch recovers its state instead of reporting an unrecoverable database, and a datadir last written by a newer ethrex is refused with a clear version error rather than a misleading migration failure.
- Discovery: external IP learned from discv4 PONGs, unsolicited discv5 NODES responses rejected, and the ENR fork id refreshed when the chain crosses a fork.
- Performance: cheaper cold contract-code access, which is what the schema bump is for, plus breadth-first trie-node prefetch in the storage-root path and a faster LEVM memory hot path. On the Glamsterdam BAL path, O(1) recorder checkpoints and batched code prefetch.
- Correctness fixes in eth_estimateGas, eth_getLogs, eth_getBlockByHash and receipt lookups, stateless-validator guests on ERE v0.16.2, L2 build and sequencer fixes, and EIP-8037 state-gas accounting plus undecodable block-access-list handling aligned with the devnet-8 suite (devnets only).
If you run ethrex, upgrade. No resync is needed. Check the rollback caveat above first.