Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
Command changes
evm
command has seen lots of updates, improving its command-line interface and internals. (#30633, #30849, #30806, #30927, #30780, #30854, #31055, #30805, #30804, )--metrics
flag. (#30814)--nat
flag) with the config file. (#31041)geth --trace
flag is now called--go-execution-trace
to avoid confusion with EVM tracing. (#30846)bootnode
utility has been removed. (#30813)RPC & Tracing
eth_estimateGas
now supports block overrides likeeth_call
. (#30695)eth_simulateV1
now advances the timestamp by 12 seconds per block. (#30981)accounts/abi
now supports unpacking Solidity error types. (#30738)accounts/abi/bind
has new functionsWaitMinedHash
,WaitDeployedHash
. (#30079)accounts/usbwallet
was updated to support new Ledger firmware and the Ledger Flex device. (#31004)ethclient/simulated
, a bug was fixed where transactions couldn't be sent afterRollback
of the simulated chain. (#31020)Database
This release introduces a new database schema version. A downgrade to v1.14.x requires a resync.
Core Library & Networking
The fix for CVE-2025-24883 (recent v1.14.13 hotfix release) is also in v1.15.0 (#31100).
The transaction pool's notion of "locals" has been changed. This is a breaking change in some ways, and requires some explanation. Geth used to accept transactions at any fee level via RPC, storing them into the node's pool, and marking the sender as "local". When creating a new block (or the pending block), it would choose "local" transactions first. Finally, Geth tracks "local" transactions in a persistent journal file, and restores them on startup. The effect of all this is that once you had sent a transaction to Geth via RPC, it would keep prioritizing the sender account and its transactions (even ones received through p2p).
In Geth v1.15, we are changing this model to a different one. When receiving a transaction via RPC, it is stored into the pool like any other transaction, but it is also inserted into a separate "locals tracker" that keeps reinjecting the tx into the main pool periodically. When building a block, Geth no longer prefers the txpool locals, but you can configure a set of addresses that should get priority using the
--txpool.locals
CLI flag. (#30559, #31127)For static nodes (from configuration or RPC
admin_addPeer
), the node URL can contain a DNS name. Geth will now resolve these names when attempting to connect to the peer, instead of at configuration parsing time. This is useful for setting up testing networks in Docker or Kubernetes where the IP address of a node might not be known ahead of time. (#30822)Geth can now use the STUN protocol to figure out its own IP. There is a built-in list of public servers, or you can specify your own. Use
--nat=stun
to enable. (#31064)Some minor bugs in the p2p protocol implementation got fixed. (#30855, #30918)
Build
For a full rundown of the changes please consult the Geth 1.15.0 release milestone
As with all our previous releases, you can find the:
ethereum/client-go
.