Geth v1.9.15 is a maintenance release containing bug fixes as well as implementations of all EIPs currently scheduled for the upcoming Berlin fork. A temporary test network for these EIPs has also been launched at https://yolonet.xyz/ and can be joined via Geth with --yolov1
flag.
The minimum Go version required to build go-ethereum
is now Go 1.13.
The eth_call
, eth_estimateGas
and eth_sendTransaction
RPC methods now return the revert reason as a JSON-RPC error when the contract executes REVERT. The returned error includes the decoded reason string in the error message, and also makes the raw REVERT data available in the error's "data"
field:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": 3,
"message": "execution reverted: some error",
"data": "0x08c379a000000000000000000..."
}
}
Other improvements and fixes in this release:
- The LES 'server pool' was rewritten and can now use DNS discovery to find light servers (#20758).
- Argument checking for natively-implemented console functions is improved (#21081, #21160).
- Geth no longer hangs during shutdown while waiting for synced blocks to import (#21114).
- The RPC client now sends WebSocket ping frames when connection is idle (#21142).
- Uses of the
gosigar
library have been replaced bygopsutil
. This restores building Geth ondarwin
without cgo and makes automatic database cache size selection work on OpenBSD (#21041). - Prometheus metrics exporting no longer sends duplicate type definitions (#21068).
- Password input prompts in Clef now work when stdin is not a TTY (#20960).
- Internal sync error reporting has been made more detailed (#21067).
- EVM JUMPDEST checks are a bit faster in certain cases (#21123).
- Fix the
puppeth
faucet's tweet retrieval endpoint (#21172).
The following core EIPs are implemented in this release:
- EIP-2537: Precompile for BLS12-381 curve operations (#21018).
- EIP-2315: JUMPSUB for the EVM (#20619).
Please note that the EIP implementations are not yet scheduled to activate and will receive further testing and development before the fork.
For a full rundown of the changes please consult the Geth 1.9.15 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.