@karalabe karalabe released this Jun 12, 2018 · 556 commits to release/1.8 since this release

Assets 2

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 from STDIN (#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.