Skip to content

fix(deps): update module github.com/ethereum/go-ethereum to v1.16.0 #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 20, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/ethereum/go-ethereum v1.11.5 -> v1.16.0 age adoption passing confidence

Release Notes

ethereum/go-ethereum (github.com/ethereum/go-ethereum)

v1.16.0: Terran Rivets (v1.16.0)

Compare Source

We are proud to present the v1.16.0 release, introducing path-based archive node and several other improvements to the state database implementation. There is also the usual amount of bug fixes and small improvements.

Archive Node

This release includes a new, experimental implementation of the archive node (--gcmode=archive). As an archive node, Geth stores all historical states, and can thus retrieve account balances, nonces and storage values at old blocks.

In previous versions of Geth, running as an archive node was only possible using the legacy 'hash-based' state storage scheme (--state.scheme=hash). When syncing mainnet the resulting database would reach sizes larger than 20TB, and it all had to be stored on a high-speed SSD.

The new implementation provides the state archive in combination with 'path-based' storage (--state.scheme=path). Comparing to hash-based storage, there are three basic advantages:

  • Geth can be configured to store historical states on a dedicated disk, and it doesn't have to be an SSD (it will be ~3x faster to access when stored on SSD though).
  • For the full state history of mainnet, the state database will have a size of ~1.9TB (this is without the tx-by-hash index and log index).
  • The amount of historical state kept by the node is configurable as well. By default, Geth will keep historical state for the last 90k blocks, and older state is pruned from disk automatically as the chain advances. You can set the number of states to keep with the --history.state flag.

Notably, there is also one drawback with the new archive node: eth_getProof is not supported for historical blocks. With --state.scheme=path, Geth can only serve state proofs for the latest 128 blocks. We believe this is an acceptable tradeoff. If you need older proofs, you can still a hash-based archive node as before, but we'd also really like to hear about your use case. Please contact us via email at [email protected] so we can learn more, and possibly find a solution that can be implemented within Geth.

How it works

With 'path-based' state storage, Geth keeps exactly one full state in the database. Specifically, the persistent state is 128 blocks in the past. For newer blocks up to the head, forward diffs are kept in memory. In order to support rolling back to blocks older than head-128, Geth also keeps 'state history' in the form of reverse key-value diffs. When the chain is reset to an old block, these diffs are applied to the persistent state, going backwards one diff at a time until the target block is reached.

A reverse state diff contains the previous values of all modified accounts and storage locations for a specific block. There is a reverse diff for each historical block. This makes reverse diffs suitable for storage into the 'freezer', i.e. they do not need to live within Pebble/LevelDB.

The new archive mode is built on the realization that reverse state diffs contain all necessary data to serve historical state queries. For example, in order to get the historical balance of an account X at block B, we can search forward through diffs starting at block B until we find a block where account X is modified. This diff will contain the balance of the account, since it stores the all modified pre-values.

To accelerate the search for a suitable diff, Geth creates a database index storing the block numbers in which an account was modified. This index is small compared to the overall state history, but it is crucial for correct operation of the archive node. The state index is stored in PebbleDB and will be generated automatically while geth is syncing the chain. It takes ~30h to build the archive state index for mainnet, and historical state will only be available when the index is fully built. Geth will report a syncing status through eth_syncing while the indexing happens.

Other state implementation changes

In v1.16.0, the implementation of the 'state snapshot' has been rewritten for improved integration with path-based state storage. As you may recall, Geth stores the state in two different ways:

  • The 'snapshot' contains the flat keys and values of the state, in a layer-based struture.
  • The trie database contains state trie nodes, necessary for the state root computation.

When the implementation of the snapshot and its layer tree was introduced in Geth v1.10.0, it was built to be entirely separate from the trie database. We added path-based state storage in v1.13.0, and that system contains a layer tree as well, with slight differences in semantics and implementation.

As of this release, the layer trees of the state snapshot and trie database have been merged into a single implementation (#​30661). In path-based mode, the trie database now holds a reference to the corresponding snapshot layer for each tree state. The new layer tree has also been enhanced with an additional index of layers in which an account was modified (#​30971). Note this is similar in spirit to the historical state index. The new index will enable us to increase the number of in-memory state layers in the future.

Full list of changes in this release
Geth
  • The default block gas limit is now 45M. (#​32087)
  • Geth can now use era1 files to access history when running with pruned history. (#​31604)
  • There is a new geth download-era subcommand for fetching era1 files. (#​31823, #​31951, #​32081)
  • When Geth is interrupted while it is syncing, pending block imports will now be canceled, leading to a quicker shutdown. (#​32062)
  • Ready for fork activation messages are now printed based on the current clock time. (#​31800)
  • Geth no longer allows setting a different network ID when running a network preset. (#​31630)
  • The beacon-chain light client, blsync, has been fixed to work correctly after Pectra. (#​31775)
  • geth --dev now shows a listing of pre-funded dev chain accounts and their keys. (#​31898)
  • geth --dev now always enables preimage recording. (#​31821)
Fusaka

We have started merging some EIP implementations for the upcoming Fusaka fork:

Core
  • There is a new archive-node implementation using path-based storage. (#​31156, #​31161, #​31725, #​31781, #​32091, #​32099)
  • The pathdb layer tree has been rewritten for tight integration with the state snapshot, and has an improved lookup structure that helps it scale to more than 128 layers. (#​30661, #​32086, #​32097)
  • The state prefetcher has been improved to run for all inserted blocks, not just during full sync. (#​31557, #​32075, #​32071)
  • Metrics for state cache utilization and the prefetcher have been added. (#​31998)
  • We have also added metrics for gas usage and mgas/s (#​31753, #​32004)
  • The Pebble database is now synced to disk at explicit safepoints. In the beginning of the v1.15.x release cycle, we added a change that disabled fsync on the database level, then spent a bunch more time throughout the cycle triaging issues related to that. We eventually had to row back and enable fsync again in v1.15.8, causing a drop in performance. The new approach of syncing explicitly gives us the ability to disable fsync for most writes, improving performance. (#​31703)
  • Pebble parameters have been tweaked to ensure better compaction behavior. Specifically, some changes were made to smooth out compaction-related CPU and I/O spikes. (#​31970, #​31988, #​31782, #​30464)
RPC
  • Logs returned by eth_getLogs and similar requests will now return the blockTimestamp. (#​31887)
  • eth_getBlockReceipts will now return null instead of an error for blocks which are not found. (#​31949)
  • The prestate tracer has seen some tweaks related to empty accounts. (#​31855, #​31427)
  • Geth now provides a built-in tracer for ERC-7562. (#​31006)
  • Geth no longer provides clique-related RPC APIs. (#​31875)
  • The ABI library has been changed to raise an error when trying to encode a negative integer as an unsigned ABI integer type. (#​31790)
Networking
  • Geth now implements p2p protocol version eth/69. (#​29158, #​31952, #​31843)
  • Peer discovery performance has been improved. (#​31944)
  • Geth will now start syncing when a ForkchoiceUpdated call is received from the consensus layer. This is a defense-in-depth measure that would've helped a bit with the recent Hoodi chain fault recovery, since we do not have to wait for the CL client to fully sync before starting sync on the EL. (#​31928)
  • Peer-to-peer connection error metrics have been improved. (#​31652)
  • The blob transaction pool now limits transactions to at most 7 blobs. Note this change has no practical impact since there was an overall size limit applied to transactions. (#​31837)

For a full rundown of the changes please consult the Geth 1.16.0 release milestone


As with all our previous releases, you can find the:

v1.15.11: Armored Compartments (v1.15.11)

Compare Source

This is a maintenance release, correcting issues with log and transaction indexing. Upgrading to this release is not required to follow the Pectra fork on mainnet, you can keep using v1.15.9 or v1.15.10, but we recommend you upgrade at your convenience to fix RPC issues.

All changes
  • A stall condition in eth_getTransactionByHash is resolved. (#​31752)
  • Two bugs in the new log indexer are resolved. Note: upon upgrading the log index will be rebuilt, expect high CPU load after startup. (#​31750, #​31734)
  • Log indexing performance has been improved. (#​31716)
  • eth_simulateV1 now correctly returns the transaction sender (from). (#​31480)
  • A corner-case in eth_estimateGas related to floorDataGas is resolved. (#​31735)
  • ethclient's BlockByNumber can now retrieve the pending block. (#​31504)
  • geth init will once again exit in error when trying to re-initialize a database with an incompatible config. (#​31743)
  • Transaction pool reorgs are slightly faster. (#​31715)
  • A transaction pool data race in geth --dev mode is resolved. (#​31758)

For a full rundown of the changes please consult the Geth 1.15.11 release milestone


As with all our previous releases, you can find the:

v1.15.10: Omni-Capacitors (v1.15.10)

Compare Source

This is a bug-fix release that corrects an issue with the new log indexer and configures the beacon chain light client for the Electra fork on mainnet (we forgot about this in v1.15.9).

This release is also suitable for following the Pectra fork on Mainnet.

All changes
  • A deadlock condition in the log indexer is resolved. This only affected deployments of Geth in archive mode, and old databases still using LevelDB. (#​31708)
  • The beacon chain light client is now configured for the Pectra fork on mainnet. (#​31706)
  • The default block gas limit has been increased to 36M. (#​31705)
  • ethclient now allows passing an EIP-7702 authorizationList to calls. (#​31198)
  • A new RPC endpoint debug_setMemoryLimit has been added for tweaking Go garbage collector behavior. We do not recommended using this, it's just a facility for debugging Geth. (#​31441)

For a full rundown of the changes please consult the Geth 1.15.10 release milestone


As with all our previous releases, you can find the:

v1.15.9: Multicapacitor (v1.15.9)

Compare Source

This release enables the Prague execution-layer fork on mainnet.

Prague

As of this release, the Prague fork is scheduled to occur on mainnet at block timestamp 1746612311 (Wed May 07 10:05:11 2025 UTC). As a reminder, the fork contains the following EIPs:

  • EIP-2537: Precompile for BLS12-381 curve operations
  • EIP-2935: Save historical block hashes in state
  • EIP-6110: Supply validator deposits on chain
  • EIP-7002: Execution layer triggerable exits
  • EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
  • EIP-7549: Move committee index outside Attestation
  • EIP-7623: Increase calldata cost
  • EIP-7685: General purpose execution layer requests
  • EIP-7691: Blob throughput increase
  • EIP-7702: Set EOA account code
  • EIP-7840: Add blob schedule to EL config files
All changes
  • The Prague fork timestamp was added for mainnet. (#​31535)
  • Transaction-sending RPCs will now add txs to the 'locals' tracker only when they have any chance of inclusion. This is a bit of a revert from the behavior we added in v1.15.4, where APIs such as eth_sendRawTransaction would always return a txhash, even if the transaction wasn't includable on chain. (#​31618)
  • If an EVM system call fails during block execution, the block is considered invalid. (#​31639)
  • An corner-case crash in eth_feeHistory related to blob fees is resolved. (#​31663)
  • Several correctness bugs in the new log indexer have been fixed. (#​31590, #​31680, #​31671, #​31668, #​31642)
  • The history pruning implementation was further improved. (#​31638, #​31636, #​31656)
  • Geth will now print periodic logs when a non-activated fork is configured. (#​31340)
  • Geth will now occasionally drop peers at random after being fully synced. (#​31476)
  • CPU usage of tx propagation has been optimized. (#​31657)
  • Peer disconnect metrics are improved. (#​31629, #​31621)

For a full rundown of the changes please consult the Geth 1.15.9 release milestone


As with all our previous releases, you can find the:

v1.15.8: Combatives Upgrade (v1.15.8)

Compare Source

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 processing GetBlockHeaders 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:

v1.15.7: Juggernaut Shield (v1.15.7)

Compare Source

This is a bug fix release. We are putting is out specifically to address a critical issue that could break archive node databases.

  • Fixed an issue for --state.scheme=hash where the log indexer would accidentally delete trie nodes. (#​31525)
  • Fixed an issue with tx submission, where the local pool didn't track pending nonces correctly. (#​31496)
  • The log indexer will now disable itself when hitting missing receipts in the database. (#​31500)
  • Another txpool issue reorg issue in ethclient/simulated.Backend is fixed in this release. (#​31228)
  • Memory allocation for trie operations has been reduced significantly. (#​30932)
  • eth_createAccessList now supports state overrides like eth_call. (#​31497)
  • eth_createAccessList will now exclude 7702 authorities from the result. (#​31336)
  • The abigen library now correctly forwards access lists to eth_estimateGas. (#​31394)

For a full rundown of the changes please consult the Geth 1.15.7 release milestone


As with all our previous releases, you can find the:

v1.15.6: Mental Focuser (v1.15.6)

Compare Source

🚧 Note: we are investigating an issue with this release that affects archive nodes (--gcmode=archive).
If you are running Geth in this mode, please hold off upgrading.
🚧

This is a feature release, with two exciting upgrades:

  • Log filtering in Geth receives a huge performance upgrade with the introduction of our new 'filtermaps' index. Unlike the previous 'bloombits' index, query performance no longer suffers as the density of logs in a block increases. The new index design is also a step towards a future where filtering results can be proven by the server. See the PR and associated design documents for more information.

    In practical terms, the new index is a bit larger than the old one. As before, you can choose the amount of historical blocks to be indexed using the --history.logs command-line flag. We have adjusted the default value of this flag to cover one year of history, and the resulting index has a size of ~10GB for Ethereum mainnnet. Indexing of the entire chain with --history.logs=0 will take up ~61GB.

    Once the index is built, searches will be fast, but note that querying outside of the indexed block range will fall back to a very slow unindexed search. We will continue optimizing log searches in future releases, and welcome your feedback and bug reports in this area. (#​31065, #​31079, #​31080, #​31081, #​31419, #​31429, #​31450, #​31463, #​31455)

  • abigen v2 is finally here. abigen is a tool for creating Go bindings for Solidity contracts. In v1, the generated bindings presented an API for sending transactions, filtering logs, and performing read-only calls as Go methods on the contract object. In the new version, we have updated the interface of the generated code to focus purely on encoding and decoding ABI payloads. Generic helper functions are provided in a library package to enable the same interactions as before, but you can also use your own custom method of signing & sending transactions. Generated bindings are also significantly smaller. (#​31379)

Other changes in this release:

RPC
  • A regression in eth_sendRawTransaction - where transactions with too-low nonce would be accepted by the API - has been fixed. (#​31473)
  • eth_call/estimateGas RPC methods will now always return error code 3 for reverts. It previously only returned this code when the EVM produced revert data. (#​31456)
  • eth_simulateV1 now returns a correct logs bloom value in the simulated block (#​31411)
  • eth_simulateV1 supports block overrides for the beacon root and withdrawals (#​31304)
  • debug_traceCall: the movePrecompileTo override feature should now work correctly (#​31348)
  • debug_traceCall and other related RPC methods now hex-encode the EVM return value. This is a breaking change. (#​31216, #​31445)
  • ethclient has a new method EstimateGasAtBlock (#​27508)
Geth
  • Support for the Hoodi testnet has been added. (#​31406)
  • The beacon chain light client has been updated to support the Electra fork. (#​31243, #​31470)
  • geth import now properly handles Ctrl-C interrupts (#​31360)
  • geth --dev mode will now pre-fund all precompile accounts supported by the Pectra upgrade (#​31342)
  • geth --dev now respects the --miner.pending.feeRecipient flag (#​31316)
Core library

For a full rundown of the changes please consult the Geth 1.15.6 release milestone


As with all our previous releases, you can find the:

v1.15.5: Stronghold Package (v1.15.5)

Compare Source

Alright 🥲 This is a hotfix release for an issue on the Sepolia testnet. Shortly after the Pectra fork activation, an issue in deposit contract logs parsing was discovered. Sepolia has a custom version of the deposit contract that also implements ERC-20, and thus unexpected log events may be created by transactions to it. This issue affects all Ethereum execution clients.

The Sepolia testnet may take a short while to recover while the update is adopted by nodes. An incident report will be published once the network has fully recovered. ❤️‍🩹

Other changes in this release:

  • In output of debug_traceTransaction, the "memory" and "storage" fields will be omitted if empty. (#​31289)
  • This release is built with Go 1.24.1 (#​31313)

For a full rundown of the changes please consult the Geth 1.15.5 release milestone


As with all our previous releases, you can find the:

v1.15.4: Commando Package (v1.15.4)

Compare Source

This is a bug fix release.

Note: you need to upgrade to v1.15.3 or this release to be compatible with the Pectra fork on the Sepolia network (activates Wed, Mar 5 at 07:29:36 UTC).

  • Fixed a v1.15.0 regression in eth_feeHistory that caused incorrect blobGasRatio return values. (#​31246, #​31270)
  • A v1.15.0 regression in RPC transaction submission has been fixed: if a transaction did not pass txpool verification (e.g. low fees), an error was returned by RPC, but the transaction would be added to the local pool anyway. This is now fixed and no error will be returned by the API in this case. (#​31202)
  • Txpool logic was reworked to avoid an error log flood about EIP-7702 authorities. (#​31249)
  • Certain invalid blob transactions no longer cause disconnect issues in the p2p layer. (#​31219)
  • ethclient now provides a BlobBaseFee method to request the current blob basefee. (#​31290)
  • The PPA package build was fixed after being broken in v1.15.3 by the upgrade to Go 1.24. (#​31282, #​31283)

For a full rundown of the changes please consult the Geth 1.15.4 release milestone


As with all our previous releases, you can find the:

v1.15.3: Expert Package (v1.15.3)

Compare Source

Oh look, another hotfix release! We are issuing this Geth release to correct the predefined fork configuration of the Holesky and Sepolia testnets. The deposit contract address was missing in the configuration for these networks, causing a chain validation failure.

This issue was discovered on the Holesky network after it had already forked into Pectra (Prague). As a reminder, the Sepolia network will fork to Pectra at slot 7118848 (Wed, Mar 5 at 07:29:36 UTC). You need to upgrade to Geth v1.15.3 until then in order to use the testnet after the fork.

All changes in this release:

  • Deposit contract addresses are now defined in testnet fork configuration. (#​31247)
  • The eth_simulateV1 RPC method was improved to match regular block processing semantics. (#​31176, #​31122)
  • A peer-finding issue with discovery v5 is fixed in this release. (#​31251)
  • An invalid --discovery.dns flag value will now cause an error at Geth startup. (#​31233)
  • Geth --dev mode can now handle custom genesis configs with forks older than the latest. (#​31084)
  • The EVM assembler/disassembler (package core/asm) has been removed. (#​31211)
  • Encoding of nested byte arrays in EIP-712 signature processing was fixed. (#​31049)
  • The cloudflare-go dependency has been updated to resolve a dependabot warning. (#​31240)
  • This release is built with Go 1.24.0 (#​31159)

For a full rundown of the changes please consult the Geth 1.15.3 release milestone


As with all our previous releases, you can find the:

v1.15.2: Survivor Loadout (v1.15.2)

Compare Source

This release fixes a few regressions. In particular, it restores block building on mainnet, which was broken in v1.15.1.

Note: a regression in the Prague fork implementation was discovered and fixed in a follow-up release. Please upgrade to at least v1.15.3 to follow the fork.

All changes in this release:

  • Block building on mainnet works again. (#​31191)
  • Discv5 and DNS peer discovery has been restored. It was accidentally disabled in v1.14.9. (#​31185)
  • An edge-case for geth dumpconfig related to the P2P.NAT setting in TOML is fixed. (#​31192)

For a full rundown of the changes please consult the Geth 1.15.2 release milestone


As with all our previous releases, you can find the:

v1.15.1: Engineering Kit (v1.15.1)

Compare Source

This release enables the Prague fork for the Holesky and Sepolia testnets. It is a required upgrade if you want to participate in these networks.

Note: a regression in the Prague fork implementation was discovered and fixed in a follow-up release. Please upgrade to at least v1.15.3 to follow the fork.

The fork is set to activate at

  • Holesky slot: 3710976, timestamp: Mon, Feb 24 at 21:55:12 UTC
  • Sepolia slot: 7118848, timestamp: Wed, Mar 5 at 07:29:36 UTC

Other user-facing changes in this release:

  • Support for EIP-7702 transactions has been enabled in the transaction pool. (#​31073)
  • A v1.15.0 regression was identified in genesis handling for custom networks, related to the new blobSchedule setting. Geth v1.15.1 has been updated no longer crash in this case, and we will have an improved fix in v1.15.2 (#​31171)
  • A v1.15.0 regression in the evm command related to state dumps has been fixed. (#​31158)
  • A v1.15.0 regression with the ancient store in read-only mode has been fixed. (#​31173)
  • A crash in debug_getRaw* RPC methods has been fixed. (#​31157)
  • The supranational/blst dependency has been upgraded to v0.3.14 in order to allow building Geth with Go 1.24. (#​31165)

For a full rundown of the changes please consult the Geth 1.15.1 release milestone


As with all our previous releases, you can find the:

v1.15.0: Operative Package (v1.15.0)

Compare Source

We are proud to announce the Geth 1.15.0 release.

This release contains some breaking changes to the database. Downgrading to v1.14.x requires re-syncing the chain.

Prague Fork

As of this release, Geth implements the Prague fork specifications up to devnet-6.

Command changes
RPC & Tracing
  • The live tracing Go API has been updated with new hooks and optional EVM revert tracking. See the tracing API changelog for more information. (#​30441, #​30786, #​30830, #​30784, #​31007)
  • RPC method eth_estimateGas now supports block overrides like eth_call. (#​30695)
  • RPC method eth_simulateV1 now advances the timestamp by 12 seconds per block. (#​30981)
  • Package accounts/abi now supports unpacking Solidity error types. (#​30738)
  • Package accounts/abi/bind has new functions WaitMinedHash, WaitDeployedHash. (#​30079)
  • Package accounts/usbwallet was updated to support new Ledger firmware and the Ledger Flex device. (#​31004)
  • In package ethclient/simulated, a bug was fixed where transactions couldn't be sent after Rollback of the simulated chain. (#​31020)
  • The struct logger reports the EVM revert reason correctly again. (#​31013)
Database

This release introduces a new database schema version. A downgrade to v1.14.x requires a resync.

  • The 'total difficulty' of the chain is no longer stored in the database. (#​30744)
  • The ancient store employs a new strategy for avoiding fsync on each update. This change should improve block import latency on some systems. (#​30392)
  • Reverse state diffs use a new encoding for future compatibility with the Verkle Tree. (#​30107, #​31060)
  • Internal handling of the SELFDESTRUCT operation has been simplified. This is possible since classic selfdestruct is no longer supported by the EVM after the Cancun fork. (#​30752, #​30802)
  • Work towards a re-implementation of the state snapshot system is ongoing. (#​30643, #​30650, #​30654)
  • Work on the Verkle Tree integration is also progressing. (#​31036, #​30856, #​30907, #​31097)
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 n


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.11.6 fix(deps): update module github.com/ethereum/go-ethereum to v1.12.0 May 25, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 6b5de3f to 90e4fe2 Compare May 25, 2023 11:38
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.12.0 fix(deps): update module github.com/ethereum/go-ethereum to v1.12.1 Aug 11, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 90e4fe2 to 9dc06be Compare August 11, 2023 08:40
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.12.1 fix(deps): update module github.com/ethereum/go-ethereum to v1.12.2 Aug 13, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 9dc06be to 95001a1 Compare August 13, 2023 01:59
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 95001a1 to 499df98 Compare September 12, 2023 23:49
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.12.2 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.0 Sep 12, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 499df98 to 037d77e Compare September 18, 2023 02:39
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.0 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.1 Sep 18, 2023
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.1 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.2 Sep 29, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 037d77e to 9f8aca0 Compare September 29, 2023 20:19
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.2 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.3 Oct 13, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch 2 times, most recently from 26aa612 to 3bd1b59 Compare October 18, 2023 20:53
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.3 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.4 Oct 18, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 3bd1b59 to ae588d8 Compare November 15, 2023 08:44
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.4 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.5 Nov 15, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from ae588d8 to b3b6325 Compare December 19, 2023 08:43
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.5 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.6 Dec 19, 2023
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.6 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.7 Dec 20, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch 2 times, most recently from b61bea2 to ab57063 Compare December 23, 2023 08:01
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.7 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.8 Dec 23, 2023
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from ab57063 to 392dcd4 Compare January 12, 2024 15:00
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.8 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.10 Jan 12, 2024
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 392dcd4 to 93e68fa Compare January 25, 2024 05:44
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.10 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.11 Jan 25, 2024
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 93e68fa to 2a7ac9d Compare February 10, 2024 05:48
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.13.11 fix(deps): update module github.com/ethereum/go-ethereum to v1.13.12 Feb 10, 2024
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from e6f2450 to 01d27d0 Compare January 31, 2025 07:30
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.14.12 fix(deps): update module github.com/ethereum/go-ethereum to v1.14.13 Jan 31, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 01d27d0 to fff46a8 Compare February 8, 2025 07:08
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.14.13 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.0 Feb 8, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from fff46a8 to 5af38dd Compare February 15, 2025 03:15
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.0 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.1 Feb 15, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 5af38dd to 077a0b6 Compare February 17, 2025 20:15
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.1 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.2 Feb 17, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 077a0b6 to fea8013 Compare February 26, 2025 00:08
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.2 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.3 Feb 26, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from fea8013 to 8e37242 Compare March 2, 2025 15:44
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.3 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.4 Mar 2, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch 2 times, most recently from e106dfd to 40effe5 Compare March 7, 2025 19:45
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.4 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.5 Mar 7, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 40effe5 to d149c66 Compare March 27, 2025 03:47
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.5 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.6 Mar 27, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from d149c66 to 0b8173b Compare April 1, 2025 23:52
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.6 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.7 Apr 1, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 0b8173b to 550cad3 Compare April 12, 2025 03:47
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.7 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.8 Apr 12, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 550cad3 to 39759a2 Compare April 23, 2025 04:12
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.8 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.9 Apr 23, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 39759a2 to 4744723 Compare April 27, 2025 03:50
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.9 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.10 Apr 27, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 4744723 to 4558c5e Compare May 10, 2025 03:59
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.10 fix(deps): update module github.com/ethereum/go-ethereum to v1.15.11 May 10, 2025
@renovate renovate bot force-pushed the renovate/github.com-ethereum-go-ethereum-1.x branch from 4558c5e to ff881df Compare June 28, 2025 12:11
@renovate renovate bot changed the title fix(deps): update module github.com/ethereum/go-ethereum to v1.15.11 fix(deps): update module github.com/ethereum/go-ethereum to v1.16.0 Jun 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants