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.