Geth v1.9.8 is yet another biweekly maintenance release, but that does mean it only contains fixes! Two highlights of the release are switching the entire code base over to Go modules (#20311); and replacing the trie cacher, slashing memory consumption on mainnet - using default configs - by 1GB (#19971).
Note: Go modules were introduced in Go 1.11 and greatly polished throughout Go 1.13. Although Geth builds fine with Go 1.11 and Go 1.12 too, we recommend running at least Go 1.13 as it is more flexible in handling various circumstances. If you are using
go-ethereum as a library, converting your project to Go modules via
go mod init will make dependency management a lot less of a hassle than the vendor approach. Be aware, however, that Go modules require network access if the dependencies aren't yet cached locally.
Other notable changes:
- Switch the deprecated web socket library to
- Deprecate the
gometalinterin favor of
golangci-lint(#20295 + dozens of linter fixes).
- Support aliases to manually resolve name clashes in
abigengenerated code (#20244).
clique_statusAPI to quickly glance the health of Clique networks (#20103).
- Initial version of a light server priority API to allow incentivized services (#20070).
puppethSSH key confirmation friendlier with bad user input (#20350).
- Support loading transaction input from files in the
- Allow digits inside of labels for the internal assembler (#20362).
For a full rundown of the changes please consult the Geth 1.9.8 release milestone.
As with all our previous releases, you can find the: