Releases: ethereum/consensus-specs
Chanoyu
v1.1.5
-- Chanoyu -- is minor version release containing no substantive changes to mainnet released Phase 0 and Altair specs. Instead this is a minor iteration on the Kintsugi🍵 Merge specs.
PR showing full diff can be found here: #2717
Merge
Forkchoice
- [minor fix]
validate_merge_block
uses correct block hash (#2710)
Validator
- Add payload id as a return value to
notify_forkchoice_updated
(#2711) - [minor fix] Fixes TBH activation epoch check (#2712)
Testing, repo, etc
- Refine validate_merge_block unit tests (#2713)
Mushin
v1.1.4
-- Mushin -- is minor version release containing no substantive changes to mainnet released Phase 0 and Altair specs. Instead this is an iterative (and breaking) release of Merge specs.
v1.1.4
serves as the stable target for the Kintsugi🍵 Merge development sprint in November 2021.
Warning: Additional minor releases might be made throughout if/when issues are discovered during the sprint.
PR showing full diff can be found here: #2705
Merge
Beacon chain
- Add
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH
(#2682, #2707) - Remove
Union
fromExecutionPayload
transaction type (#2684) - Fix gossip and tx size limits for the merge (#2686)
- Update penalty params for Merge (#2698)
- Remove gas validations from CL (#2699)
Forkchoice
- Clarify call to pre-finalized
notify_forkchoice_updated
(#2681) - Clarify
get_pow_block
block-not-found case (#2676)
Validator
- Remove
prepare_payload
(#2683) - State that validator must consider only fully validated blocks (#2703)
- Update
pow_chain
todict
and reuse it instead of callingget_pow_block
(#2694)
Networking
Testing, repo, etc
Protect Poutu-te-rangi
Release
v1.1.3
-- Protect Poutu-te-rangi -- is minor version with additional critical Altair test vectors but with zero substantive changes to the Altair specification.
🙌 Huge shoutout to @potuz for identifying a series of critical Altair fork transition tests that were missing in the consensus vectors 🙌
All clients should run these test vectors immediately!
Additionally, there is iterative progress on Merge specifications. For current Merge interop, please continue to target v1.1.2
. We'll batch Merge changes at the end of the month for a new interop target.
PR showing full diff can be found here: #2670
Merge
- Remove
notify_consensus_validated
(#2660) - Specify format for
--terminal-total-difficulty
(#2645) base_fee_per_gas
touint256
(#2661)
Testing, repo, etc
- Add new Altair transition tests (#2664)
Astraios
Release
v1.1.2
-- Astraios -- is minor version release that fixes some of the Altair and Merge test generators. All core specifications remain stable, but due to the additional Altair test vectors, it is critical that clients build and run these additional tests as soon as possible.
PR showing full diff can be found here: #2654
Testing, repo, etc
Is it an Ocean or a Sea?
Release
v1.1.1
-- Is it an Ocean or a Sea? -- is minor version release focused on a couple of critical fixes to Merge interop specs (#2634, #2640).
Additionally, beacon state initialization for pure Altair testnets is modified with a minor fix. This does not affect Mainnet or any current testnet instantiations.
PR showing full diff can be found here: #2641
Altair
- Fix
initialize_beacon_state_from_eth1
previous_version
(#2634)
Merge
- Fix
initialize_beacon_state_from_eth1
previous_version
(#2634) initialize_beacon_state_from_eth1
for pre-transition merge #2640
Testing, repo, etc
The Great Machine
Release
v1.1.0
-- The Great Machine -- is the mainnet release of Altair specs, including the epoch chosen for the planned mainnet upgrade on Oct 27, 2021 (#2625). This marks the first major upgrade to the Great Machine since genesis in late 2020.
Merge interop specs remain stable from v1.1.0-beta.5
other than the addition of the terminal blockhash override (#2617) [not required for initial interop] and some new consensus tests (#2630). Due to the inclusion of additional consensus test vectors, we recommend targeting v1.1.0
tests prior to initial interop.
PR showing full diff can be found here: #2631
Altair
- Add
ALTAIR_FORK_EPOCH
for mainnet configuration (#2625)
Merge
- Add terminal block hash override (#2617)
Testing, repo, etc
KIC 9832227
Release
v1.1.0-beta.5
-- KIC 9832227 -- is a minor release in preparation for initial Merge interop 🏺. Although we still expect much refinement and testing of specifications in the coming months, Merge specs have matured so that client teams now have a stable target.
Huge shoutout to @mkalinin and the many other contributors that have worked so hard getting the Merge specs into clean place for the next wave of engineering 🙏
Altair specifications remain entirely stable and are slated for a mainnet release in the coming days.
PR showing full diff can be found here: #2624
Merge
- Verify terminal PoW block after call to state_transition (#2595)
- Add extra_data field to the execution payload (#2606)
- [bugfix] Fix
random
validation (#2609) - Set the value of the
random
field to the previous slotrandao_mix
(#2581) - Hardcode terminal total difficulty (#2605)
- Update execution engine calls to match EIP and engine API where possible (#2613)
- Remove extraneous merge gossip validation conditions (#2621)
Sharding
- Remove
beacon_block_root
field fromShardBlob
(#2615)
Testing, repo, etc
The Chandrasekhar Limit
Release
v1.1.0-beta.4
-- The Chandrasekhar Limit -- is a minor release that focuses on expanded test coverage (again!), along with a couple of minor iterations on the Merge spec.
Warning: To facilitate the testing of the scaled validator churn limit while avoiding the use of a >300k validator set, minimal
config has been altered to reduce the CHURN_LIMIT_QUOTIENT
. To our knowledge, minimal
is not currently used for any testnets so shouldn't cause much issue, but be careful to port the config update to your testing infrastructure.
PR showing full diff can be found here: #2592
Merge
- [non-substantive] Change transition_td to terminal_td in the merge spec (#2575)
- Add TTD override setting (#2587)
Testing, repo, etc
- Tests
- Improve performance of randomized block tests (#2572)
- Fix
test_invalid_signature_bad_domain
(#2583) - Add back in dropped eth1 voting tests (#2584)
- Fix testing helper process_and_sign_block_without_header_validations (#2579)
- Add test cases to ensure coverage with exited validators (#2580)
- Fix fork choice on_block tests and update test format (#2577)
- Add rewards spec test with exit in current epoch (#2588)
- Add churn tests for when churn limit scales with v-set size (#2586)
- Add sync committee tests with exited and withdrawable members (#2591)
- Fix sync agg test for mainnet (#2594)
- Add timing information to spec test generation (#2571)
- Fix merge_mods in test generators (#2578)
- Allow spec tests author to batch tests under one handler name (#2576)
- Create SECURITY.txt (#2574)
Moon Rock Market
Release
v1.1.0-beta.3
-- Moon Rock Market -- is a minor release that focuses on expanded Altair test coverage, along with major improvements and refinements to the Merge and Sharding specs.
Massive shout-out to @ralexstokes for creating a framework for massively increasing block transition test coverage (#2567) 🐳💪
The Merge has been rebased on both London (#2533) and Altair specifications (#2530), and is now equipped with a first iteration of the p2p spec (#2531). With these core elements in place, the consensus Merge specs are ready for their next wave of client development.
Sharding saw a major redesign in its data market through the separation of block producers and builders. This shifts the economic responsibility of network data availability into the hands of well-incentivized, specialized actors called "builders". This aids in the democratization of shard-data MEV, reduces the bandwidth of data-tx gossip, and eases networking assumptions/requirements for validators. Nice work on this @protolambda 🙌
PR showing full diff can be found here: #2561
P.S. This release also included the Great Renaming (#2555) so there is a lot of noise in the diff. Our apologies for the one-time inconvenience 🙏
Phase 0
- Fix fork choice store checkpoint inconsistency issue (#2518)
Altair
- Rename the
eth2_*
functions toeth_*
(#2536)
Merge
- Add base merge p2p spec (#2531)
- Rebase Merge spec with London (#2533)
- Change
base_fee_per_gas
type toBytes32
(#2550) - Minor typos, renames, and formatting (#2564)
Sharding
- Shard builder <> proposer separation (#2486)
- Minor typos, renames, and formatting (#2540, #2563, #2565)
Testing, repo, etc
- Great renaming (#2555, #2557)
- Rework and add some
on_block
tests (#2487) - Refactor sync committee tests (#2554)
- Extend randomized block tests to all phases (#2559)
- Add tests for the Altair BLS helpers (#2539)
- Add test for exited validators during inactivity leak (#2542)
- Add broad-spectrum randomized block tests (#2568)
- Fix test-gen skip counter (#2567)
Mach'acuay
Release
v1.1.0-beta.2
-- Mach'acuay -- is a minor iteration on beta.1
including a tightening of sync gossip validations (#2528) and some more tests for sync aggregate edge cases (#2523).
Additionally, Merge transition conditions were tightened up to reduce PoW attack surface (#2522) and the Merge core logic was rebased to Altair (#2530).
Great work on the Altair devnets to all the engineers! Shoutout to @parithosh for leading that effort 🙌
PR showing full diff can be found here: #2529
Altair
Networking
- Require sync committee contributions to have at least one participant (#2528)
Merge
- Enforce terminal PoW block to be on the cusp (#2522)
- Rebase the Merge onto Altair base functionality (#2530)
Sharding
- Simplify
get_start_shard
function (#2488)