Major release centered on the integration of the IETF BLS standards into the eth2 spec (#1532). Thank you to everyone across many teams that worked on formalizing these standards, and special thanks to @CarlBeek and @kirk-baird for representing Ethereum's interests in the process.
This release also contains a deep and much needed reorganization of files/directories. The previous spec file groupings using phase number prefixes was unsustainable. Now files are nicely grouped into fork-based directories. Although the spec is internally consistent, we do expect this to break some links found in external resources. Sorry! If you find one, be a good citizen and patch it or contact the maintainer. You can read more about this change and the new directory organization here: #1564
The rest of the changes are some minor optimizations and cleanups Most of these are generally backward compatible, and all should be very straight forward to integrate.
v0.10.0 marks a stable target for Phase 0 for multi-client testnets and security reviews. We expect some revisions in February/March pending the results from each.
PR showing full diff can be found here: #1561Phase 0 Beacon chain Be more explicit with some bytes-type constants (#1551) Allow configuration of genesis fork version to more easily separate testnets (#1554 [note two bugs to this feature fixed in #1556 and #1562]) Make genesis delay configurable for ease of setting up testnets (#1557) Move GENESIS_SLOT/GENESIS_EPOCH to constants as they were not truly configurable in the first place (#1556) Add additional Deposit test cases (#1558) Very minor cosmetic cleanups. No breaking changes and no renamings! (#1525) Fork choice
Stable!Validator Use timestamp instead of block height in eth1 voting to allow for simpler caching (#1553) Add eager attestation broadcasting to optimize attestation propagation in the normal case (#1555) Networking Allow empty l...