Releases: ethereum/consensus-specs
v1.6.0-alpha.6
Phase0
Fulu
- Enforce blob schedule entry's epoch to be post-fulu (#4523)
- Ensure cell indices are sorted in
recover_cells_and_kzg_proofs
(#4519)
Gloas
- eip7928: introduce specs for block access lists (#4526)
Testing
- Add tests with validator set changes at forks (#4439)
- Update
randomize_state
to include pending operations (#4531) - Add reference tests for KZG compute challenge functions (#4516)
- Fix Gloas self build test to use correct proposer (#4537)
- Do not run KZG compute challenge tests in the collection phase (#4546)
- Enable payload attestation tests for mainnet (#4544)
- In randomized tests, only do voluntary exit if no pending withdrawals (#4553)
Other
- Add pull request template (#4517)
- Include pre-releases in release drafter & update labels (#4518)
- Generate spec index pages in mkdocs (#4514)
- Improve mkdocs documentation page (#4521)
- Fix some typo / grammatical errors in Fulu specs (#4533)
- Bump the actions group with 3 updates (#4534)
- Simplify p2p-interface specs for handling ForkDigest (#4491)
- Bump version to v1.6.0-alpha.6 (#4540)
- Add extended help option in Makefile (#4547)
- Remove unnecessary make rules (#4548)
- Clean up old references to make pyspec (#4549)
v1.6.0-alpha.5
Phase0
- Replace
INTERVALS_PER_SLOT
with explicit slot component times (#4476)
Deneb
- Set
MAX_BLOB_COMMITMENTS_PER_BLOCK
minimal preset to 4096 (#4508)
Gloas
- eip7732: do not deduplicate
indexed_payload_attestations
(#4496) - eip7732: rebase spec onto fulu (#4503)
- eip7732: add tests for builder pending payments processing (#4475)
- Rename eip7732 specs to gloas (#4506)
EIP-7805
Testing
- eip7732: use correct late block cutoff time in proposer boost tests (#4501)
- eip7732: add process execution payload envelope tests (#4458)
- Remove early return statement in KZG test (#4510)
Other
v1.6.0-alpha.4
Fulu
- Make commitment deduplication in
verify_cell_kzg_proof_batch
deterministic (#4447) - In
get_custody_groups
, skip computation if all groups are custodied (#4459) - Make
NUMBER_OF_COLUMNS
a preset (#4485)
EIP-7732
- eip7732: make several updates to spec (#4438)
- eip7732: fix inclusion proof depth (#4451)
- eip7732: update fork-choice (#4450)
- eip7732: clarify payload envelope construction (#4454)
- eip7732: add missing new/modified prefixes to functions (#4455)
- eip7732: fix duplicate function call (#4460)
- eip7732: update self build condition (#4464)
- eip7732: fix builder pending withdrawals processing (#4470)
- eip7732: add boolean to PayloadAttestationData (#4473)
- eip7732: improve some p2p gossip validations (#4474)
- eip7732: add process payload att tests (#4463)
- eip7732: fix a typo in builder.md (#4483)
- eip7732: fix quorum calc to avoid double-counting (#4481)
- eip7732: make PTC selection balance-weighted (#4488)
EIP-7805
- eip7805: resolve TODOs and improve spec (#4351)
- eip7805: move inclusion list specs to new inclusion-list.md file (#4446)
- eip7805: align section headers in fork-choice.md (#4449)
- eip7805: remove unnecessary equivocation filter (#4492)
- eip7805: fix cutoff config typo (#4490)
EIP-7916
- eip7916: add
ProgressiveList
specs and tests (#4445) - eip7916: add
ProgressiveBitlist
specs and tests (#4480)
Testing
- eip7805: add IL committee assignment and IL signature tests (#4435)
- Fix mutable default argument anti-pattern for
Random
objects (#4433) - eip7732: add becoming builder section (#4456)
- Make
test_full_attestations_one_validator_one_gwei
faster (#4462) - eip7732: remove duplicate merge transition complete testing section (#4478)
- eip7732: add process execution payload header tests (#4457)
- eip7732: disable payload attestation tests on mainnet (#4495)
Other
- Remove broken link from README (#4431)
- Remove duplicate "the" words in comments (#4430)
- Remove empty sections and unify Protocols section name (#4436)
- Improve the release action (#4432)
- Bump the actions group across 1 directory with 3 updates (#4434)
- Make updates to reflect default master branch (#4437)
- Replace outdated instance of csc with cgc (#4444)
- Bump the actions group with 2 updates (#4442)
- Fix broken links in markdown files (#4441)
- Add script to check for inconsistent fork comments (#4448)
- Store blob schedule as a
VariableDefinition
in the pyspec (#4469) - Bump the actions group with 3 updates (#4471)
- Use
frozendict
with list-of-records (#4486) - Bump the actions group with 2 updates (#4487)
- Bump version to v1.6.0-alpha.4 (#4494)
v1.6.0-alpha.3
Fulu
- Add
execution_requests
tofulu.GetPayloadResponse
(#4389) - Remove peer sampling in Fulu (#4393)
- Serve
DataColumnSidecarsByRoot
for finalized epochs (#4394) - Use
get_blob_parameters
in gossip block validation (#4401) - Add some clarifications around new ENR changes (#4406)
- Clarify peering expectations when
nfd
values are different (#4407) - Convert DAS providers section to supernodes section (#4415)
Testing
- Add fork choice compliance test generator (#3831)
- Add more proposer lookahead tests (#4375)
- Add fork version to compute fork digest test cases (#4376)
- Add test for proposer lookahead excluding exited validators (#4380)
- Fix yields in new proposer lookahead test (#4386)
- Add fork choice tests for PeerDAS (#4391)
- Fix
test_effective_decrease_balance_updates_lookahead
reftest (#4395) - Correct the docstrings for
process_execution_payload
tests with blobs (#4408) - Remove unnecessary config overrides in test (#4410)
- Test proposer lookahead initialization uses active validator set at fork (#4413)
- Remove blobs/proofs from new PeerDAS forkchoice tests (#4421)
Other
- Do not wrap long lines in
config.yaml
files (#4379) - Bump the actions group with 4 updates (#4385)
- Combine helpers into
compute_time_at_slot
(#4388) - Replace
ast.unparse()
with custom parsing (#4387) - Add jtraglia's spec viewer to resource list (#4392)
- Remove dead attestation generation code (#4396)
- Add nightly workflow to deal with stale issues/PRs (#4403)
- Bump the actions group with 2 updates (#4405)
- Add support for automated releases (#4409)
- Fix formatting for Capella preset (#4411)
- Update release documentation (#4416)
- Run mdformat on all markdown files (#4417)
- Fix sanity test steps in release action (#4418)
- In the release action, set timeout to 24 hours (#4423)
- In the release action, disable sanity checks & remove sudo (#4425)
- In the release action, add back sudo (#4428)
Arcanine
v1.6.0-alpha.2
-- Arcanine -- is an alpha release for the upcoming Fulu upgrade.
PR showing full diff can be found here: #4367
Fulu
- Modify fork digest to distinguish BPO forks + add entry to ENR #4354
- EIP-7917: Refactor return types from
List
toVector
#4361 - Define requirements for the blob schedule #4370
- Suggest using
getPayloadV5
to get blobs/proofs #4371 - Update CGC before Fulu #4373
- Introduce Status v2 with
earliest_available_slot
#4374
Testing
- Increase mainnet tests timeout to 12 hours #4362
- Fix epoch processing tests for proposer lookahead #4364
- Alias new test to blocks handler #4365
- Detect errors in reference test generator action #4366
Other
Ninetales
v1.6.0-alpha.1
-- Ninetales -- is an alpha release for the upcoming Fulu upgrade.
PR showing full diff can be found here: #4346
Fulu
- Add EIP-7917: Deterministic proposer lookahead #4190
- Remove Deneb/Electra from blob schedule and default to Electra limit #4341
- Set blob schedule to an empty list #4342
- Make validator custody increase only and backfill optional #4357
Testing
- Allow custom CLI argument parser in test generator #4339
- Add repository input to reftest generator action #4356
Other
- Refactor pyspec generator code #4330
- Bump the actions group with 3 updates #4334
- Run linting on pysetup directory #4335
- Delete unnecessary
eth2spec/eip7732/__init__.py
file #4336 - Bump the actions group with 4 updates #4338
- Fix handling of multiple Python definitions in code blocks #4344
- Update minimum python version to 3.10 #4345
- Run linter on
setup.py
#4348 - Update default shell to bail on error #4349
- Replace black/pylint/isort with ruff #4350
- Bump the actions group with 4 updates #4355
Charmander
v1.6.0-alpha.0
-- Charmander -- is an alpha release for the upcoming Fulu upgrade.
PR showing full diff can be found here: #4316
Fulu
- Clarification on custody sampling #4251
- Introduce blob schedule #4277
- Fix typos in blob configuration comments for fulu presets #4311
- Clarify node behavior when validator custody changes #4320
- State that reconstructed sidecars which are not custodied may be deleted #4332
Testing
- Add full epoch processing tests #4155
- Refactor bls generator #4304
- Improve generator UX #4309
- Refactor
gen_runner
#4310 - Improve
run_get_committee_assignment
#4315 - Simplify reference test generators #4317
- Generate reference tests for EIP7732 & EIP7805 #4319
- Fix phase run decorator to skip EIP-7732 as intended #4326
- Bind inputs in
ssz_generic
reftests #4333
Other
Pikachu
v1.5.0
-- Pikachu -- is the mainnet release for the Electra upgrade that went live on May 7, 2025.
PR showing full diff can be found here: #4298
Electra
- Add various tests cases for Electra #4265
- Fix bug in Electra withdrawals processing #4281
- Mark Electra as stable #4285
- Make
*_REQUESTS_PER_PAYLOAD
the same for mainnet/minimal #4291 - Update
ELECTRA_FORK_EPOCH
in fork.md #4295
Fulu
- Allow skipping verification for blobs from EL #4262
- Improve
DataColumnSidecarsByRoot
request #4284 - Deprecate
BlobSidecarsByRangeRange/Root
in Fulu #4286 - Remove unnecessary sort in
compute_columns_for_custody_group
#4289
EIP-7732 (ePBS)
- Fix KZG commitment inclusion proof depth #4264
EIP-7805 (FOCIL)
- Use
MAX_TRANSACTIONS_PER_PAYLOAD
forInclusionList
transactions size #4220 - Update config/preset files #4268
- Make IL committee domain a constant #4276
Testing
- Disable parallelism with
make test
if a test name is specified #4270 - Add workflow to run nightly mainnet tests #4280
- Add ability to run generators for specific tests #4288
- Add two new custody group tests #4290
- Remove deprecated testing infrastructure #4294
- Refactor
kzg_7594
generator #4296 - Refactor
kzg_4844
generator #4300 - Clean up generator runner #4301
- Fix two mistakes when refactoring the
kzg_4844
generator #4302
Other
- Cleanup presets and configs #4256
- Remove unused
is_previous_epoch_justified
function #4269 - Simplify specification tables in main readme #4271
- Do a major clean up of the main readme #4272
- Bump the actions group with 2 updates #4273
- Fix a couple broken links #4279
- Bump the actions group with 3 updates #4282
- Bump setuptools from 79.0.0 to 80.0.0 in the actions group #4292
- Bump actions/setup-python from 5.5.0 to 5.6.0 in the actions group #4293
- Ensure presets/configs for yaml/spec match #4297
- Bump the actions group with 2 updates #4299
Plusle
v1.5.0-beta.5
-- Plusle -- is a beta release for the upcoming Electra upgrade.
PR showing full diff can be found here: #4261
Electra
- Update weak subjectivity period computation #4179
- Clean up electra presets #4254
- Schedule electra fork epoch for mainnet #4258
EIP-7805 (FOCIL)
- Add EIP-7805 fork version/epoch to the configs #4250
Testing
- Add test that affects the proposer selection #4230
- Add two consolidation request processing edge case tests #4246
- Fix the full consolidation queue test #4248
- Add test for withdrawal requests when pending queue is full #4252
- Add consolidation test with same source and target #4259
Other
Zapdos
v1.5.0-beta.4
-- Zapdos -- is a beta release for the upcoming Electra upgrade.
PR showing full diff can be found here: #4235
Electra
Fulu
- Create honest validator specifications #4135
- Add Distributed Blob Publishing to networking specifications #4183
- Update BlobsBundle #4187
- Clarify validator custody updates #4188
- Use finalized state for validator custody #4211
- Use effective balances to determine column custody #4218
- Add missing section headers in specifications #4223
EIP-7732 (ePBS)
- Run existing spec tests with EIP-7732 #3854
EIP-7805 (FOCIL)
- Add fork specifications for EIP-7805 #4191
Testing
- Test
blob_kzg_commitments_merkle_proof
with different blob counts #4161 - Fix a small bug in a pending consolidation test #4217
- Round down value when setting validator's effective balance #4229
- Add
full_pending_withdrawals_but_first_skipped_*
tests #4237 - Add
multiple_pending_deposits_same_pubkey_different_signature
test #4238 - Add
withdrawal_and_consolidation_effective_balance_updates
test #4239
Other
- Add weekly dependabot check for python dependencies #4110
- Update canonical network names for Hoodi #4166
- Improve readme and remove docker on tests #4178
- Remove CircleCI checks #4192
- Pin GitHub actions versions #4193
- Bump the actions group with 3 updates #4194
- Bump mkdocs-awesome-pages-plugin from 2.8.0 to 2.10.1 #4196
- Bump pytest from 8.3.4 to 8.3.5 #4197
- Bump mkdocs from 1.4.2 to 1.6.1 #4198
- Bump trie from 3.0.1 to 3.1.0 #4201
- Bump py-ecc from 6.0.0 to 7.0.1 #4202
- Group all dependabot python upgrades #4204
- Bump the actions group with 11 updates #4207
- Fix some typos in comments #4209
- Use consistent note style #4224
- Replace some instances of "extended" with "modified" #4225