This is a bug-fix release with some performance improvements.
Geth
geth importnow applies database and cache flags correctly. (#31577, #31534)- The new log indexer now exports metrics about its operation. (#31511)
- The beacon chain light client,
blsyncnow has a feature to export checkpoint files. (#31469)
Core library
- Database writes have been made fully synchronous again. We disabled the use of
fsynca 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.Nodeto 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
skipvalues when processingGetBlockHeadersmessages 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.