Releases: ethereum/go-ethereum
Gei Hinnom (v1.14.12)
This release covers quite a lot of time, and has many changes across the codebase. In particular; changes in tracing and account management, optimizations in database, trie and evm, and, as always bugfixes.
This release removes the personal
RPC namespace. It was already previously deprecated, and has not been accessible by default for nearly two years. We also removed the --unlock
command-line parameter, with a view towards removing key/account management from the geth
binary.
- Key management:
- Builds:
- Tracing:
- invoke OnCodeChange-hook on selfdestruct (#30686, #30497)
- improvements to
flatCallTracer
(#30539) - invoke tx-end hook in runtime helpers (#30711)
disableCode
anddisableStorage
options forprestateTracer
(#30648)- tracing of system calls (#30666)
- Change to how chainconfig is passed to tracers (breaking change) (#30540)
- add
GetTransientState
method to StateDB interface (#30531)
- Signing:
- Bugfixes:
- Database optimizations
- Run pebble in non-sync mode (#30573, #29792). This change makes quite a big difference on certain OS:es, particularly MacOSX/Darwin, where
it has been noted thatfsync
is notoriously slow. - Use to increasing level sizes (#30602), This change makes pebble use larger files, reducing the number of files from 160K to 10K.
- Run pebble in non-sync mode (#30573, #29792). This change makes quite a big difference on certain OS:es, particularly MacOSX/Darwin, where
- Assorted:
- Make jwtsecretflag expand tilde
- Work on verkle (#30672)
- Work on
EIP-7002
andEIP 7251
(#30571) - Implement
EIP-7685
andEIP-6110
(flat requests enconding) (#30425) - Validation of EOF containers (#30418)
- More helpful responses for rejected transactions (#30715)
- Work on cross-execution witness (#30698)
- EVM speed optimizations (#30662, #30629)
- Reduce peak memory usage during reorg (#30600)
- Speed up trie commit via concurrent workers (#30545)
- Fuzzing improvments (#30585)
- Implement new
engine_getBlobsV1
API method (#30537)
For a full rundown of the changes please consult the Geth 1.14.12 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.
Makhaira (v1.14.11)
This is a minor release, with the primary goal of publishing new stable
and latest
docker images. A problem in the CI pipeline prevented the publishing of docker images. We have now resolved the problem, and hope that the v1.14.11
-release will be published as usual on Docker hub.
We have now switched the way the docker images are built, and the -amd64
and -arm64
-tagged versions will no longer be maintained:
alltools-latest-amd64
,alltools-latest-arm64
->alltools-latest
latest-amd64
,latest-arm64
->latest
v1.14.10-amd64
,v1.14.10-arm64
->v1.14.10
NOTE: If you are a docker user on stable
/latest
, there's a high chance that you are not using any of the last two releases. If so, you are advised to look through the release-notes of those releases respectively: v1.14.10 and v1.14.9.
Other changes since v1.14.10 include
- Remove
totalDifficulty
field from RPC, in accordance with spec update, #30386 - Fix flaw in simulated backend #30465
- New method of building multi-platform docker images #30530
- Ability to disable
FINDNODE
liveness checks in tests #30512
For a full rundown of the changes please consult the Geth 1.14.11 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.
Kopis (v1.14.10)
Geth v1.14.10 is a hotfix release to fix a blob pool regression introduced in v1.14.9. Users running the previous bad version should update ASAP. That said, there is no immediate danger to these users, just to the health of blob transaction propagation and inclusion in the network.
Beside the hotfix, this release:
- Ships stateless witness production and verification into the engine API (#30069).
- Use 0 global gas cap as unlimited in simulated calls too (#30474, #30496).
For a full rundown of the changes please consult the Geth 1.14.10 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.
Aegis (v1.14.9)
This release has been nuked. It broke the blob pool, please do not use it.
This is a maintenance release, but also introduces support for the new multicall spec, which is a much anticipated feature providing a eth_simulateV1
call, that takes a list of blocks and executes them as if calling multiple eth_call
s sequentially. It accepts optional state and precompile overrides, as well as transfer log events. This release also ships with improved verkle support.
Command line
- Remove Goerli flag and config (#30289)
Pectra
- Implement EIP-6110: Supply validator deposits on chain (#29431)
- Implement EIP-2935: Serve historical block hashes from state (#29465)
Core
- Refactorings in the internal journaling (#28880)
- Fix a flaw in which the system halts if snapshot generation is stopped while it's not running (#30040)
- Fix potential out-of-bound issue in mempool (#30430)
- Add state reader abstraction (#29761)
Txpool
- Fetch transactions from a peer in the order they were announced in order to minimize nonce gap, causing blob txs to rejected. A special rule is applied to blob transactions: they are retrieved from the network upon reception of the announcement, as blob transactions are never broadcast over the p2p network (#30125)
Networking
- Add support for quic entry in ENR (#30283)
- fix Write method in metered connection (#30355)
- Enable discv5 by default (#30327)
- Proper handling for count=0 requests (#30305)
- Fix permissions for cloudflare deploy (#30326)
- Dial nodes from discv5 (#30302)
RPC / tracing
- support for
eth_simulateV1
, which allows for the simulation a chain of blocks or simply a processing a sequence of eth_calls in one go. It is the implementation of the latest multicall spec (#27720) - Add timeout to
Client.Unsubscribe
(#30318) - Add coinbase addr to js tracing context (#30231)
Misc
- Handle ABIs with
contract
type parameters (#30315) - Support fixed-size arrays in eip-712 txs (#30175)
- Fix txpool deadlock in
--dev
mode (#30264) - Use post-interop verkle costs (#30409, #30357)
- Verkle witness builder (#30129)
Build
Full Changelog: v1.14.8...v1.14.9
For a full rundown of the changes please consult the Geth 1.14.9 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.
Rayingri (v1.14.8)
This is a maintenance release with bug fixes only.
Command changes
- Blobpool related flags in Geth now actually work. (#30203)
- The
evm run
command no longer overwrites the sender account in genesis.json. (#30259) evm run
now allows configuringbaseFeePerGas
in genesis.json. (#30281)
Go API
core/types.Transaction.ChainID
had a bug where it modified the signature for very large ChainID (>= 2^64). (#30157)ethclient.Client.NetworkID
now supports values returned in hex format by the server. (#30263)ethclient/simulated.Backend.AdjustTime
was fixed to apply the correct time divison. (#30138)accounts/abi/bind.TransactOpts
now supports setting an access list for created transactions. (#30195)- The package
p2p/simulations
has been removed. (#30250)
Core
- A snap-sync database corruption related to sync restarts is fixed in this release. (#30258)
eth_call
storage overrides now work as originally intended: if a storage replacement object is specified in the call, previous storage values of the account are cleared. (#30185)- The txpool did not use the transaction's inline sender cache in some cases. (#30208)
- The performance of EVM stack swaps was improved a bit. (#30249)
Networking
- The downloader now takes withdrawals into account when sizing its queue. (#30276)
- The new discovery node revalidation could hot-spin in certain rare scenarios. (#30239)
- Configuring an external IP using
--nat=extip:...
could lead to invalid discovery packets being generated. (#30234)
Build
- github.com/btcsuite/btcd/btcec has been upgraded to resolve a build error caused by upstream API changes. (#30181)
- Previous releases will not build with Go 1.23, but this one will. (#30253)
- This release is built with Go 1.22.6. (#30273)
For a full rundown of the changes please consult the Geth 1.14.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.
Trident (v1.14.7)
This is a hot-fix release for a bug (#30139) which affects only the previous release. Users of v1.14.6 are kindly requested to update.
For a full rundown of the changes please consult the Geth 1.14.7 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.
Talaria (v1.14.6)
Geth v1.14.6 is a maintenance release, but it does ship with the experimental witness building validation code used in @karalabe's "cross validation" proposal. Note that the engine API part is not included in this release.
Shipped features:
- Add stateless witness builder and (self-)cross validator (#29719, #29807, #29970, #30024)
- Set a 2KB hard limit for p2p handshake messages (#30029)
- Improved display of database statistics (#29948)
Shipped bugfixes:
- Fix issue in which the beacon root contract balance would not be saved in developer mode, causing an error on restart (#29963)
- Fix shutdown crash when geth runs in blsync mode (#29946)
- Fix data races in snapshot access (#30001, #30011)
- Fix out of bounds access in json unmarshalling (#30014)
- Add missing lock in peer discovery (#29960)
For a full rundown of the changes please consult the Geth 1.14.6 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.
Bothros (v1.14.5)
Geth v1.14.5 is a hotfix release that addresses a regression introduced in v1.14.4, which prevented the node from discovering other peers in certain networking setups (#29944). It is otherwise identical to v1.14.4.
Geth v1.14.4 in a usual maintenance release, but it does ship a 5-7% block import speed improvement. Furthermore, v1.14.4 also finally includes an Ether supply live tracer, that you can enable via --vmtrace supply
. Also please note, the default value for miner tip enforcement was dropped from 1 gwei to 0.001 gwei (block producers can change this via --miner.gasprice
).
Shipped features:
- Reduce the default required minimum miner tip from 1 gwei to 0.001 gwei to cater better for network conditions (#29895).
- Load trie nodes concurrently with trie updates, speeding up block import by 5-7% (#29519, #29768, #29919).
- Introduce an Ether supply tracker as a live chain tracer (#29347).
- Implement Verkle stateless gas accounting (EIP-4762) (#29338).
- Optimise trie dirty tracking to reduce disk loads a bit (#29731).
- Ensure the beacon chain roots system contract is deployed in dev mode (#29655).
- Add an additional snap sync check for data validity before inserting into the database (#29485).
- Improve the discovery protocol's node revalidation (#29572, #29864, #29836).
- Continue working towards pathdb support in archive mode (#29530, #29924).
Shipped bugfixes:
- Fix a gas estimation regression that caused longer runtimes (#29738).
- Fix a potential crash in JSON logging for EVM blocktests (#29795).
- Fix utility commands to support post-merge opcodes (#29799).
- Fix a txpool synchronicity issue in simulated chains (#29876).
- Fix a iteration order when using a trie node iterator (#27838).
- Fix a TCP/UDP discovery port test in cmd/devp2p (#29879).
- Fix IPv6 endpoint determination (#29801, #29827).
For a full rundown of the changes please consult the Geth 1.14.4 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.
Triodia (v1.14.4)
Geth v1.14.4 in a usual maintenance release, but it does ship a 5-7% block import speed improvement. Furthermore, v1.14.4 also finally includes an Ether supply live tracer, that you can enable via --vmtrace supply
. Also please note, the default value for miner tip enforcement was dropped from 1 gwei to 0.001 gwei (block producers can change this via --miner.gasprice
).
Shipped features:
- Reduce the default required minimum miner tip from 1 gwei to 0.001 gwei to cater better for network conditions (#29895).
- Load trie nodes concurrently with trie updates, speeding up block import by 5-7% (#29519, #29768, #29919).
- Introduce an Ether supply tracker as a live chain tracer (#29347).
- Implement Verkle stateless gas accounting (EIP-4762) (#29338).
- Optimise trie dirty tracking to reduce disk loads a bit (#29731).
- Ensure the beacon chain roots system contract is deployed in dev mode (#29655).
- Add an additional snap sync check for data validity before inserting into the database (#29485).
- Improve the discovery protocol's node revalidation (#29572, #29864, #29836).
- Continue working towards pathdb support in archive mode (#29530, #29924).
Shipped bugfixes:
- Fix a gas estimation regression that caused longer runtimes (#29738).
- Fix a potential crash in JSON logging for EVM blocktests (#29795).
- Fix utility commands to support post-merge opcodes (#29799).
- Fix a txpool synchronicity issue in simulated chains (#29876).
- Fix a iteration order when using a trie node iterator (#27838).
- Fix a TCP/UDP discovery port test in cmd/devp2p (#29879).
- Fix IPv6 endpoint determination (#29801, #29827).
For a full rundown of the changes please consult the Geth 1.14.4 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.
Fuel Depot (v1.14.3)
We're issuing this (v1.14.3) release to finally publish v1.14 on the Ubuntu PPA. It is otherwise identical to v1.14.2.
This is a maintenance release containing bug-fixes. In case you are wondering where v1.14.1 (and v1.14.2) went, let's just say, the continuous integration gods have not been good to us.
List of changes in detail:
Geth
- When using
geth --dev
with a custom genesis block, the genesis file must now set difficulty and terminal total difficulty to zero. (#29579) - For fork scheduling errors in
geth init
, fork timestamps will now be printed correctly. (#29514) - Certain aspects of state handling are now parallelized resulting in a 5-10% speedup for block processing. (#29681)
RPC
eth_feeHistory
was changed to apply a limit on the number of requested percentiles (#29644)eth_createAccessList
now honors request cancellation and terminates background work (#29686)eth_estimateGas
takes tx blobs into account for low-balance scenarios (#29703)
Tracing
- The live tracing interface has new hooks around EVM system calls (#29355)
- flatCallTracer was fixed to return the correct error result when interrupted (#29623)
Build
- This release is built with Go 1.22.3 (#29725)
- We no longer provide deb packages for Ubunty 14.04 Trusty Tahr (#29651, #29649, #29648, #29647)
- CI builders have been updated to Ubuntu 24.04 Noble Numbat (#29723)
For a full rundown of the changes please consult the Geth 1.14.1 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.