This is a bug-fix release with some performance improvements.
Geth
geth import
now applies database and cache flags correctly. (#31577, #31534)- The new log indexer now exports metrics about its operation. (#31511)
- The beacon chain light client,
blsync
now has a feature to export checkpoint files. (#31469)
Core library
- Database writes have been made fully synchronous again. We disabled the use of
fsync
a while ago to improve performance on slow filesystems, but it has lead to reports of instability. The performance hit from enabling data sync is negligible. (#31519) - The transaction pool now takes pending blob transactions into account when limiting pending EIP-7702 authorizations for an account. (#31526)
- A logic race in EIP-7702 transaction validation is resolved. (#31373)
- The blob transaction pool performs less disk reads when sending transaction announcements. (#31433)
- The EVM now has a special fast-path for PUSH2, which is the most common instruction. (#31267)
- The Trezor hardware wallet implementation now supports 32-bit chain IDs. (#17439)
- Geth can now stop syncing history at the PoS merge point. This behavior is not enabled yet. (#31414)
RPC
- When trying to access pruned history, all RPC APIs now return error code 4444. (#31361)
P2P networking
- UPnP support has been improved and some bugs got fixed. (#30265, #31486, #31566)
- The discv5 'talk request' API has been changed to pass
*enode.Node
to handlers. This is a breaking change, but the only known user of this API is the shisui portal network client. (#31075) - A flaw in the recently added discv5 challenge resend logic was fixed. (#31543)
- The eth protocol now properly handles very large
skip
values when processingGetBlockHeaders
messages from peers. This is not a security fix, despite looking like one, it's more about correctness. (#31522)
Build
- This release is built with Go 1.24.2 (#31538)
- Note: due to issues with our build environment, we can no longer provide binary builds for macOS. These may be restored at a later date, hopefully soon. For now, you'll have to install from Homebrew.
- The previous release's git tag, v1.15.7, was published twice, leading to an issue with the Go module cache.
For a full rundown of the changes please consult the Geth 1.15.8 release milestone
As with all our previous releases, you can find the:
- Pre-built binaries for all platforms on our downloads page.
- Docker images published under
ethereum/client-go
. - Ubuntu packages in our Launchpad PPA repository.
- OSX packages in our Homebrew Tap repository.