Skip to content

Byzantium Revert (v1.8.21)

Compare
Choose a tag to compare
@karalabe karalabe released this 15 Jan 21:01
· 95 commits to release/1.8 since this release
9dc5d1a

Geth 1.8.21 is an emergency hotfix release to postpone the mainnet Constantinople upgrade! The reason is a last minute reentrancy vulnerability dicovered by ChainSecurity.

If you don't feel comfortable with upgrading to Geth 1.8.21, you also have the option to:

  • Downgrade to Geth 1.8.19; or
  • Continue running Geth 1.8.20 using the --override.constantinople=9999999 flag.

See details here.


Beside the emergency Constantinople delay, the release also contains some tweaks:

  • Return the pending nonce from the transaction pool, not the pending block (#15794).
  • Accept application/json-rpc too as the RPC API content type (#18310).
  • Sanitize transaction pool config to avoid invalid user settings (#17210).
  • Convert ABI names to properly camel-cased names (#16513, #18372).
  • Warn the user when the IPC path is too long for the kernel (#18330).
  • Support CALLs from the Go APIs against specific blocks (#17942).
  • Bubble up internal ABI parsing errors to the caller (#17328).
  • Support dumping the CLI configs directly to a file (#18327).
  • Switch Keccak implementation to upstream Go (#18390).
  • Add CREATE2 support to the callTracer (#18318).
  • Bump all builders to Go 1.11.4 (#18314).

And some bugfixes:

  • Fix a downloader panic caused by the side chain import rework (#18335).
  • Fix an ABI unpacking issue when parsing 2 dimensional slices (#18321, #18364).
  • Fix a discovery protocol error when looking up remote peers (#18309).
  • Fix puppeth panic when using degenerate genesis configs (#18344).
  • Fix compilation regression on PPC64 processors (#18376).
  • Fix broken database version tracking (#18429).

For a full rundown of the changes please consult the Geth 1.8.21 release milestone.

Geth binaries and mobile libraries are available on the Geth download page.