This is a maintenance release containing bug-fixes. In case you are wondering where v1.14.1 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)
Geth v1.14.0 (Asteria) is a major release with some juicy new features as well as some breaking changes. Please read through the release notes before updating to it. Whilst it should not adversely impact most users, there're always those rare occurrences.
Highlights
Geth v1.14.0 switches over the default state trie representation from hash mode to path mode (i.e. --state.scheme flipped form hash to path) (#29108). This change does not affect Geth instances with pre-existing databases, in the case of which Geth continues to use whatever the existing database's format is. If no previous database exists however, for full nodes, Geth will now default to pathdb. The main advantage is built-in, online historical state pruning; no more runaway state growth.
If you want to force the old behaviour, you can run Geth with --state.scheme=hash for now. That said, we will be dropping hash mode sooner rather than later, so we advise everyone running full nodes to gradually switch, if they haven't yet.
Archive mode support is not yet finalised for path mode, so archive nodes will still run in hash mode. Naturally, hash mode will not be dropped until a full path archive lands and people have enough time to switch to it.
Geth v1.14.0 introduces a brand new live-tracing feature, where one or more transaction tracers might be injected into the block processing pipeline, ensuring that tracing and execution happen in lockstep (#29189). Since Go does not have a cross platform, OS native plugin infrastructure, adding live tracers needs to be done at the Geth source code level, and Geth itself subsequently rebuilt. That said, the advantage is that such tracers have full execution flexibility to do whatever they like and however they like. Please see the live-tracer changelog and docs for details.
Live tracing runs in lockstep with block execution, one waiting for the other. You should never run a live tracer on a validating node, or any other where latency is important. The recommended practice is to have tracers collect and export the bare minimum data needed and do any post-processing in external systems where latency is not relevant.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/ethereum/go-ethereum from 1.13.15 to 1.14.2.
Release notes
Sourced from github.com/ethereum/go-ethereum's releases.
... (truncated)
Commits
35b2d07
params: release go-ethereum v1.14.2 stableeeb2208
.travis.yml: fix package install on PPA builder14f4228
params: begin v1.14.2 release cycledd09f7e
params: release go-ethereum v1.14.1 stable6154f87
.travis.yml: fix apt-get options (#29734)dd4afb9
.travis.yml: fix install of gcc-multilib (#29733)9ec5008
core: use in-memory freezer for tests (#29720)e96de64
build: upgrade to go 1.22.3 (#29725)71aa15c
travis: use ubuntu noble (24.04) instead of bionic (18.04) (#29723)d6e91e2
eth/gasestimator: include blobs in virtual balance computation (#29703)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show