Streamline (v1.8.11)
Geth v1.8.11 (Streamline) is our biweekly maintenance release, focusing mainly on performance. Overall this release is ~28% lighter on disk IO and ~23% faster on block processing:
- Reduce full-node database rate of growth by 28% (#16810).
- Speed up
ethash
verification cache generation by 24% (#16857). - Increase the Merkle trie hashing performance by 12-50% (#16896).
- Increase block processing and propagation speed by 15-25% (#16882).
- Reduce runtime complexity of retrieving pending transactions (#16958).
- Cap cache allowance to Go's GC limits and stabilize memory (#16800).
- Reduce database lookups for reverse header retrieval requests (#16946).
Not performance improvement, but nice nonetheless:
- Extend
abigen
to support binding contracts fromSTDIN
(#16683). - Extend bad block tracking and reporting to full blocks (#16902).
Beside the improvements, there are also a few bugs squashed:
- Fix invalid errors for balance retrievals of non-existing blocks (#16942).
- Enforce RPC timeouts to avoid stalling HTTP connections (#16880).
- Fix a goroutine leak in light clients for cancelled requests (#16861).
- Fix a goroutine leak in light clients for timed out requests (#16776).
- Fix an invalid header request handling in light servers (#16891).
- Fix light server tracking regression in light clients (#16947).
- Fix miner to handle side blocks more gracefully (#16751).
- Fix 4byte tracer to count external CALLs too (#16879).
- Fix shutdown hang on invalid genesis json (#16794).
For a full rundown of the changes please consult the Geth 1.8.11 release milestone.
Binaries and mobile libraries are available on our download page.