This repository was archived by the owner on Aug 27, 2025. It is now read-only.
  
  
  - 
                Notifications
    
You must be signed in to change notification settings  - Fork 1
 
fix(deps): update module github.com/ethereum/go-ethereum to v1.16.2 #4
          
     Open
      
      
            renovate
  wants to merge
  1
  commit into
  main
  
    
      
        
          
  
    
      Choose a base branch
      
     
    
      
        
      
      
        
          
          
        
        
          
            
              
              
              
  
           
        
        
          
            
              
              
           
        
       
     
  
        
          
            
          
            
          
        
       
    
      
from
renovate/github.com-ethereum-go-ethereum-1.x
  
      
      
   
  
    
  
  
  
 
  
      
    base: main
Could not load branches
            
              
  
    Branch not found: {{ refName }}
  
            
                
      Loading
              
            Could not load tags
            
            
              Nothing to show
            
              
  
            
                
      Loading
              
            Are you sure you want to change the base?
            Some commits from the old base branch may be removed from the timeline,
            and old review comments may become outdated.
          
          Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    6b5de3f    to
    90e4fe2      
    Compare
  
    90e4fe2    to
    9dc06be      
    Compare
  
    9dc06be    to
    95001a1      
    Compare
  
    95001a1    to
    499df98      
    Compare
  
    499df98    to
    037d77e      
    Compare
  
    037d77e    to
    9f8aca0      
    Compare
  
    26aa612    to
    3bd1b59      
    Compare
  
    3bd1b59    to
    ae588d8      
    Compare
  
    ae588d8    to
    b3b6325      
    Compare
  
    b61bea2    to
    ab57063      
    Compare
  
    ab57063    to
    392dcd4      
    Compare
  
    392dcd4    to
    93e68fa      
    Compare
  
    93e68fa    to
    2a7ac9d      
    Compare
  
    5af38dd    to
    077a0b6      
    Compare
  
    077a0b6    to
    fea8013      
    Compare
  
    fea8013    to
    8e37242      
    Compare
  
    e106dfd    to
    40effe5      
    Compare
  
    40effe5    to
    d149c66      
    Compare
  
    d149c66    to
    0b8173b      
    Compare
  
    0b8173b    to
    550cad3      
    Compare
  
    550cad3    to
    39759a2      
    Compare
  
    39759a2    to
    4744723      
    Compare
  
    4744723    to
    4558c5e      
    Compare
  
    4558c5e    to
    ff881df      
    Compare
  
    ff881df    to
    2d2f6cf      
    Compare
  
    2d2f6cf    to
    3ff34f0      
    Compare
  
    3ff34f0    to
    f63c313      
    Compare
  
    f63c313    to
    1167ba2      
    Compare
  
    
  
      Sign up for free
      to subscribe to this conversation on GitHub.
      Already have an account?
      Sign in.
  
      
  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.
  
    
  
    
This PR contains the following updates:
v1.11.5->v1.16.2Release Notes
ethereum/go-ethereum (github.com/ethereum/go-ethereum)
v1.16.2: Sprouted Seed Vial (v1.16.2)Compare Source
This is a maintenance release that includes implementations of the Fusaka EIPs, along with
several new features, optimizations, and bug fixes. Upgrading to this version is optional,
but feedback from those who do is greatly appreciated.
Fusaka:
Core:
SigHashof SetCodeAuthorization for customized signing. (#32298)RPC:
eth_getLogsrequests that include both block hash and block range. (#31877)debug_traceCall. (#32183)debug_syncto perform a trusted full chain sync. (#32177,#32149)Others:
For a full rundown of the changes please consult the Geth 1.16.2 release milestone.
As with all our previous releases, you can find the:
ethereum/client-go.v1.16.1: Repair Actuals (v1.16.1)Compare Source
This is a patch release, fixing some regressions with v1.16.0.
TryPackmethods that return an error for invalid parameter values. (#31692)geth --vmtrace, enabling the live tracer, did not work due to a bug. (#32107)blockTimestampas returned byeth_getLogsis now hex-encoded. (#32129)eth_getLogsand related endpoints now limit the number of queried addresses to 1000. (#31876)eth_getTransactionReceiptshould be a bit faster. (#32021)geth --devmode related todebug_setHeadis resolved. (#31871)For a full rundown of the changes please consult the Geth 1.16.1 release milestone.
As with all our previous releases, you can find the:
ethereum/client-go.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:--history.stateflag.Notably, there is also one drawback with the new archive node:
eth_getProofis 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_syncingwhile 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:
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
geth download-erasubcommand for fetching era1 files. (#31823, #31951, #32081)Ready for fork activationmessages are now printed based on the current clock time. (#31800)geth --devnow shows a listing of pre-funded dev chain accounts and their keys. (#31898)geth --devnow always enables preimage recording. (#31821)Fusaka
We have started merging some EIP implementations for the upcoming Fusaka fork:
Core
RPC
eth_getLogsand similar requests will now return theblockTimestamp. (#31887)eth_getBlockReceiptswill now returnnullinstead of an error for blocks which are not found. (#31949)Networking
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:
ethereum/client-go.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
eth_getTransactionByHashis resolved. (#31752)eth_simulateV1now correctly returns the transaction sender (from). (#31480)eth_estimateGasrelated tofloorDataGasis resolved. (#31735)ethclient'sBlockByNumbercan now retrieve the pending block. (#31504)geth initwill once again exit in error when trying to re-initialize a database with an incompatible config. (#31743)geth --devmode 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:
ethereum/client-go.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
authorizationListto calls. (#31198)debug_setMemoryLimithas 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:
ethereum/client-go.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:MAX_EFFECTIVE_BALANCEAll changes
eth_sendRawTransactionwould always return a txhash, even if the transaction wasn't includable on chain. (#31618)eth_feeHistoryrelated to blob fees is resolved. (#31663)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:
ethereum/client-go.v1.15.8: Combatives Upgrade (v1.15.8)Compare Source
This is a bug-fix release with some performance improvements.
Geth
geth importnow applies database and cache flags correctly. (#31577, #31534)blsyncnow has a feature to export checkpoint files. (#31469)Core library
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)RPC
P2P networking
*enode.Nodeto handlers. This is a breaking change, but the only known user of this API is the shisui portal network client. (#31075)skipvalues when processingGetBlockHeadersmessages from peers. This is not a security fix, despite looking like one, it's more about correctness. (#31522)Build
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:
ethereum/client-go.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.
--state.scheme=hashwhere the log indexer would accidentally delete trie nodes. (#31525)ethclient/simulated.Backendis fixed in this release. (#31228)eth_createAccessListnow supports state overrides likeeth_call. (#31497)eth_createAccessListwill now exclude 7702 authorities from the result. (#31336)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:
ethereum/client-go.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.logscommand-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=0will 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
eth_sendRawTransaction- where transactions with too-low nonce would be accepted by the API - has been fixed. (#31473)eth_call/estimateGasRPC methods will now always return error code 3 for reverts. It previously only returned this code when the EVM produced revert data. (#31456)eth_simulateV1now returns a correct logs bloom value in the simulated block (#31411)eth_simulateV1supports block overrides for the beacon root and withdrawals (#31304)debug_traceCall: themovePrecompileTooverride feature should now work correctly (#31348)debug_traceCalland other related RPC methods now hex-encode the EVM return value. This is a breaking change. (#31216, #31445)ethclienthas a new methodEstimateGasAtBlock(#27508)Geth
geth importnow properly handles Ctrl-C interrupts (#31360)geth --devmode will now pre-fund all precompile accounts supported by the Pectra upgrade (#31342)geth --devnow respects the--miner.pending.feeRecipientflag (#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:
ethereum/client-go.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:
debug_traceTransaction, the "memory" and "storage" fields will be omitted if empty. (#31289)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:
ethereum/client-go.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).
eth_feeHistorythat caused incorrectblobGasRatioreturn values. (#31246, #31270)BlobBaseFeemethod to request the current blob basefee. (#31290)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:
ethereum/client-go.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:
eth_simulateV1RPC method was improved to match regular block processing semantics. (#31176, #31122)--discovery.dnsflag value will now cause an error at Geth startup. (#31233)--devmode can now handle custom genesis configs with forks older than the latest. (#31084)core/asm) has been removed. (#31211)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:
ethereum/client-go.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:
geth dumpconfigrelated to theP2P.NATsetting 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:
ethereum/client-go.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
3710976, timestamp: Mon, Feb 24 at 21:55:12 UTC7118848, timestamp: Wed, Mar 5 at 07:29:36 UTCOther user-facing changes in this release:
blobSchedulesetting. 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)evmcommand related to state dumps has been fixed. (#31158)debug_getRaw*RPC methods has been fixed. (#31157)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:
ethereum/client-go.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.
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.
This PR was generated by Mend Renovate. View the repository job log.