Geth v1.9.21 is a regular maintenance release, the highlights being the removal of whisper, better call tracing and multiple memory stability fixes during fast sync to both stabilize usage as well as to fix a memory leak that lead to crashers before.
Remove Whisper as promised a couple months ago (#21487, #21526, #21527)!
Minor user experience polishes around legacy Ledger derivation paths (#21517).
Implement arbitrary call tracing via debug_traceCall on top of arbitrary blocks (#21338).
Expose internal transaction revertals and revert reason in the call_tracer tracer (#21387).
Cap the number of in-memory trie nodes during fast sync, fix crasher memory leak (#21491).
Prepare the trie syncer for path-based operation to support the upcoming snap sync (#21504).
Limit the cached data in the downloader more aggressively to avoid memory fluctuations (#21366).
Fix the simulated chain to not allow changing block timestamps if transactions were included (#21334).
Geth v1.9.20 is another maintenance release containing bug fixes and security enhancements. This update is recommended for all users.
Please note that reverting to Geth v1.9.19 or prior after upgrading to v1.9.20 is not possible without a resync because the blockchain database layout has changed.
New Features:
You can now query the Chain ID using GraphQL (#21451)
The evm command can now appends the TX hash to state transition output files (#21406)
Bug Fixes & Optimizations:
Blockchain rewinding and chain repair, i.e. using the SetHead operation, now behave
correctly in all cases. An extensive test suite for chain repair has been added. (#21409, #21409)
Discovery DHT bootstrapping now works properly in very small private networks. (#21396)
Contract code is now stored separately from state tree data in LevelDB. This change will
help with future database upgrades. (#21080)
Two additional metrics counters for blockchain reorgs have been added. (#21420)
Metrics collection is now lock-free, causing less lock contention among peer connections (#21446, #21470)
The GetNodeData operation in the eth peer-to-peer protocol now uses the fast-sync bloom filter
to speed up request processing. (#21445)
Importing block data during fast-sync now performs significantly fewer database reads. (#21468)
Build Changes:
This release is built with the new and shiny Go 1.15 compiler version (#21466)
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.9.21.
Release notes
Sourced from github.com/ethereum/go-ethereum's releases.
Commits
0287d54
params: release Geth v1.9.2124562d9
Merge pull request #21534 from karalabe/cht-1.9.21dc681fc
params: update CHTs for v1.9.21 release86bcbb0
.github: remove whisper from CODEOWNERS (#21527)066c755
build: remove wnode from the list of packages binaries (#21526)8327d1f
accounts/usbwallet, signer/core: show accounts from ledger legacy derivation ...d54f2f2
whisper: remove whisper (#21487)c5d28f0
accounts: abi/bid/backends; cleaned doc errors, camelCase refactors and anony...de971cc
eth: added trace_call to trace on top of arbitrary blocks (#21338)f86324e
Merge pull request #21504 from karalabe/trie-path-syncDependabot 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)