Geth v1.10.2 is a maintenance release, containing bug fixes and a few minor new features.
Geth command changes
Mining work package notifications can now be changed to contain the complete pending block header instead of a work package array. To enable this functionality, use the --miner.notify.full flag (#22558)
Geth will now open chain databases in read-only mode when performing commands that should not modify the database. This fixes several cases where indexing operations and snapshot generation would run as part of commands like geth inspect (#22498)
Geth now supports JSON log output using the --log.json flag (#22341)
The geth copydb command has been removed because it had been broken for quite a while (#22501)
The new geth db dumptrie command shows the state tree entries of an account (#22563)
When exporting a chain segment using geth export, the end block is now validated against the chain head to prevent fatal error at the end of export (#22387)
geth snapshot commands now support setting the freezer directory using the --datadir.ancient flag (#22486)
geth snapsnot prune-state now considers pruning successful before performing a long-running leveldb compaction. This avoids issues when the compaction process is interrupted by an abnormal exit (#22579)
geth dumpgenesis and the geth db commands now support the --datadir flag and the network selection flags (--rinkeby, etc.) (#22406, #22407)
RPC/GraphQL API changes
The new eth_createAccessList RPC method allows auto-creating access lists for EIP-2718 transactions (#22604)
RPC methods ethash_submitHashrate and miner_hashrate have been renamed from their previous incorrect spelling *hashRate (#22604)
The GraphQL API now supports EIP-2718 access list transactions (#22491)
eth_chainId now supports chain IDs larger than 64 bits (#22243)
The admin_startRPC and admin_stopRPC methods have been renamed to (start|stop)HTTP (#22461)
In LES server RPC APIs, the node ID can now be supplied as an enode:// URL or 32-byte hex ID (#22423)
Several bugs related to interactions between chain tracing and the snapshot system are resolved (#22473, #22333, #22629)
Tracing now reports correct gas amounts for EIP-2718 transactions (#22480)
Go library changes
TransactOpts of accounts/abi/bind now support the NoSend option, which prevents sending the transaction. This can be used with Go contract bindings to 'dry-run' the binding (#22446)
The Ledger USB wallet backend now supports EIP-712 'typed data signing' (#22378)
Several critical issues related to state snapshot handling are fixed in this release (#22540, #22582, #22551)
Background transaction indexing no longer fails for EIP-2718 transactions (#22457)
The InfluxDB metrics reporter no longer reports spurious zero values when a histogram has not been updated since the last report (#22590)
LES metrics have been renamed to avoid issues in the Prometheus reporter (#22459)
The ethstats client no longer crashes when Geth exits immediately after starting (#22587)
A rare crash in RPC client subscription handling has been fixed (#22597)
Networking
Several bugs in the implementation of snap sync are fixed in this release, but it is still considered experimental and not yet enabled by default (#22596, #22513, #22553, #22591)
When metrics are enabled, the 'eth' protocol handler now measures the latency of message handling (#22581, #22586)
The DNS discovery client was fixed to avoid hot-spinning when a DNS node trees contains many invalid/incompatible ENRs (#22566)
The DNS discovery deployer tool has been updated to resolve some long-standing bugs. Publishing of large trees is now much more efficient because needless updates are avoided, and better batching means the deployer waits less for the server. The tool now uses the latest AWS and CloudFlare SDK versions. (#22572, #22538, #22537, #22588, #22360)
The branch factor of DNS discovery trees has been reduced to ensure that all TXT records fit into the 512-byte limit of DNS/UDP packets (#22533)
devp2p nodeset filter -les-server was fixed to deal with the new format of the "les" ENR entry (#22565)
The cross-client test suite of the 'eth' protocol has been improved a bit, and now skips eth/66 tests when the node under test does not support protocol version 66 (#22460, #22508, #22482, #22474)
LES connection pre-negotiation via UDP now works correctly (#22451)
For a full rundown of the changes please consult the Geth 1.10.2 release milestone.
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 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)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps github.com/ethereum/go-ethereum from 1.9.8 to 1.10.2.
Release notes
Sourced from github.com/ethereum/go-ethereum's releases.
... (truncated)
Commits
97d11b0
params: release go-ethereum v1.10.2 stablea665f5d
Merge pull request #22632 from karalabe/cht-1.10.2e3ff37c
params: update CHTs for v1.10.2264fff7
Merge pull request #22629 from karalabe/fix-chain-tracing-from-02a7c4b6
eth: fix tracing state retrieval if requesting the non-dirty genesis9d10856
core, eth, internal/ethapi: create access list RPC API (#22550)a600dab
eth, les: fix tracers (#22473)2d89fe0
les: move client pool to les/vflux/server (#22495)e275b1a
consensus/ethash: replace a magic number with it's constant (#22618)95219ae
cmd/utils: move cache sanity check to SetEthConfig (#22510)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 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) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)