Skip to content

Releases: ethereum/consensus-specs

A bit of gas

02 Jun 14:20
2c3a47e
Compare
Choose a tag to compare
A bit of gas Pre-release
Pre-release

v1.4.0-alpha.1 -- A bit of gas -- is the an alpha release for the coming Deneb upgrade.

PR showing full diff can be found here: #3396

It includes some ExecutionPayload field updates.

Deneb

  • Add data_gas_used field to ExecutionPayload #3391
  • Change excess_data_gas and data_gas_used type from uint256 to uint64
  • [non-substantive] Remove extraneous length check from deneb forkchoice #3368

Testing, repo, etc

  • Turn off light client tests for feature specs #3389 #3398

Big Commitments

24 May 18:30
0ffb4e0
Compare
Choose a tag to compare
Big Commitments Pre-release
Pre-release

v1.4.0-alpha.0 -- Big Commitments -- is the an alpha release for the coming Deneb upgrade.

This includes a handful of breaking changes in preparation for the next wave of testnets. Thank you for the many contributors on this front.

The attnets revamp (#3312) has been released in a backwards compatible fashion (no peer downscoring yet). Thanks @AgeManning for carrying this over the finish line!

PR showing full diff can be found here: #3380

Phase 0

  • Attnet revamp: Subnet backbone structure based on beacon nodes #3312
  • [non-substantive] Add networking configuration to config files #3375

Bellatrix

  • [non-substantive] Change process_execution_payload function signature and Execution Engine API wrapper due to #3359.
    • Note that the test format has been changed accordingly.

Capella

  • [non-substantive] Remove is_merge_transition_block check since Capella #3232
  • [non-substantive] Remove is_execution_enabled condition since Capella #3350

Deneb

  • Update the endianness of the polynomial commitments to be big endian #3354
  • Use engine_newPayloadV3 to pass versioned_hashes to EL for validation #3359
  • Update block's blob_kzg_commitments size limit to MAX_BLOB_COMMITMENTS_PER_BLOCK #3338, #3384
  • Add GetPayloadResponse dataclass for get_payload API #3341
  • Explicitly specify the number of sidecar subnets #3346 #3373
  • Add group of invalid G1 points in KZG tests #3344
  • Deneb refactoring and new tests #3340

Experimental

EIP6914

  • EIP6914 - Reuse indexes with full sweep #3307

EIP4788

  • Add EIP-4788 feature #3319

Testing, repo, etc

Gamlum

18 Apr 15:15
01b5369
Compare
Choose a tag to compare

v1.3.0 -- Gamlum -- is the mainnet release for the Capella upgrade that went live on April 12, 2023.

PR showing full diff can be found here: #3323

Deneb

  • Switch BLOB_TX_TYPE to 0x03 #3317

Testing, repo, etc

Lionel

20 Mar 16:13
e923c62
Compare
Choose a tag to compare
Lionel Pre-release
Pre-release

v1.3.0-rc.5 -- Lionel -- is the fifth release candidate for the coming Capella upgrade.

This release sets the mainnet Capella fork epoch (CAPELLA_FORK_EPOCH) value.

Note that to be cautious, we still use the rc pre-release to avoid any last-minute updates. We will bump to v1.3.0 right after the mainnet fork is activated.

PR showing full diff can be found here: #3302

Capella

  • Set mainnet Capella fork epoch #3300

Deneb

  • [Cryptography] Reject zero inputs in bls_modular_inverse() #3299

Thunder's Goat

16 Mar 14:17
df8ff7f
Compare
Choose a tag to compare
Thunder's Goat Pre-release
Pre-release

v1.3.0-rc.4 -- Thunder's Goat -- is the fourth release candidate for the coming Capella upgrade.

This release ushers in many new test generators for kzg-4844 libraries (#3274). Huge shout-out to @dankrad for driving this.

Beyond that, this includes a number of minor patches and iterative changes to Deneb in continued refinement for upcoming devnets.

This release does not change Capella consensus logic.

PR showing full diff can be found here: #3268

Phase 0

  • [non-substantive] Change get_latest_attesting_balance() to get_weight() #3250

Capella

Deneb

  • Test generators for kzg-4844 libraries #3274
  • Add blob_sidecar gossip rule for parent slot #3275
  • Remove sending empty blobs sidecar responses #3242
  • Increase Deneb crypto helpers test coverage #3283
  • Minor typos, formatting, grammar, etc #3268 #3270 #3271 #3278 #3279 #3289 #3291

Experimental

EIP 6110

  • Core implementation of in-protocol deposit receipts in CL #3177
  • Add EIP-6110 spec links to README table #3295

Light clients

  • Check correct fork version in LC sync protocol #3284

Testing, repo, etc

  • Refactor Makefile: only list the spec names once #3276
  • Update disclosure page and email for reporting bugs #3287

Bypass Capacitor

21 Feb 06:42
84fcfa8
Compare
Choose a tag to compare
Bypass Capacitor Pre-release
Pre-release

v1.3.0-rc.3 -- Bypass Capacitor -- is the fourth release candidate for the coming Capella upgrade.

This release brings one new edge-case test to Capella (#3264), migrates eip4844 references to the fork name "Deneb" (#3215), frees the Deneb blobs from block gossip (#3244) and adds new KZG API (#3236).

This release does not change Capella consensus logic.

PR showing full diff can be found here: #3263

Phase 0

  • [non-substantive] Add a note of on_attester_slashing handler to fork choice spec: #3221

Altair

  • [non-substantive] Simplify committee weight computation #3246

Capella

  • Add deposit+bls_change test #3264

Deneb

  • Migrate eip4844 references to Deneb #3215
  • Move excess data gas field to the end of execution payload #3218
  • Free the blobs -- decouple Block and Blob gossip and a minor fix of KZG specs #3244
  • Clarify the use of context bytes in all RPC methods in Deneb #3229
  • Cryptography
    • Add KZG multi-verify function #3236
    • Fix compute_quotient_eval_within_domain overflow #3256
    • Typo-fix/refactoring: #3260 #3262

Testing, repo, etc

  • Move experimental features to specs/_features folder #3248
  • Fix tests #3237
  • Typo fix #3251

Skiddo Salm

27 Jan 13:11
67c2f9e
Compare
Choose a tag to compare
Skiddo Salm Pre-release
Pre-release

v1.3.0-rc.2 --Skiddo Salm-- is the third release candidate for the coming Capella upgrade.

This release does not change Capella consensus logic.

PR showing full diff can be found here: #3234

R&D

4844

  • Polynomial commitments
    • Handle barycentric evaluation at roots of unity #3214
    • Make compute_kzg_proof() take bytes as input #3219
    • Remove mention of 0x0000 for serialised points #3223
    • All public methods take bytes as input and add explicit G1 validation #3224
  • Remove KZG point and blob validations in gossip #3217
  • Fix typo #3216

Light client

  • Add ExecutionPayloadHeader to LC data #3151

Testing, repo, etc

  • New Capella state transition tests and new Capella -> EIP-4844 fork transition tests #3227
  • Use Gwei for Withdrawal amount in mock-EE #3213
  • Fix typo #3220

Alpine Ibex

13 Jan 18:12
15eb331
Compare
Choose a tag to compare
Alpine Ibex Pre-release
Pre-release

v1.3.0-rc.1 -- Alpine Ibex -- is the second release candidate for the coming Capella upgrade.

This release contains one critical breaking change in relation to rc.0 -- use of GENESIS_FORK_VERSION in BLSToExecutionChange messages (#3206).

PR showing full diff can be found here: #3209

Capella

  • MUST use GENESIS_FORK_VERSION to sign BLSToExecutionChange message #3206

R&D

4844

  • [bugfix] Add historical_summaries setup to fork.md #3201
  • Clarify rate limit behavior for sidecar with zero blobs #3174

Light client

  • Add LightClientHeader wrapper #3190
  • minor typos, edits, etc #3198

Testing, repo, etc

  • Disable cache for CI runner and use specific mypy version #3199
  • Apply with_config_overrides to all phases #3121
  • Capella tests
    • Add BLSToExecutionChange test_invalid_previous_fork_version test case #3203
    • Add a process_bls_to_execution_change test case from staking-deposit-cli #3202

Accumulation

06 Jan 20:19
5f1b88f
Compare
Choose a tag to compare
Accumulation Pre-release
Pre-release

v1.3.0-rc.0 -- Accumulation -- is the first release candidate for the coming Capella upgrade.

Capella specs are now feature complete and expected to be stable unless an unexpected issue arises.

4844 specs have been rebased (#3181) to be built on full Capella functionality. This is reflected in the test suite.

PR showing full diff can be found here: #3192

Capella

R&D

Sharding and 4844

  • Rebase 4844 on Capella functionality #3181
  • BlobsSidecarsByRange: Change range lower bound to EIP4844_FORK_EPOCH #3163
  • Clarify BeaconBlockAndBlobsSidecarByRoot no blob available #3154
  • Handle unavailable data outside of prune window #3169
  • Signify compute_kzg_proof as a public method #3167
  • Move is_data_available check to fork-choice on_block #3185
  • minor typos, edits, etc #3188

Light client

  • Add block_to_light_client_header helper #3149

Testing, repo, etc

  • Ensure that no duplicate block hashes in sync/from_syncing_to_invalid test case #3187

Goat Star

14 Dec 19:38
faa9fea
Compare
Choose a tag to compare
Goat Star Pre-release
Pre-release

v1.3.0-alpha.2 -- Goat Star -- is an alpha pre-release containing iterative improvements to Capella and 4844 in preparation for the next wave of R&D testnets.

Note the feature addition of bounding the withdrawals sweep in Capella -- #3095. The rest is primarily config changes, clarifications, and minor fixes.

PR showing full diff can be found here: #3161

Phase 0

  • Deprecate phase 0-only versions of beacon_blocks_by_{range,root} #3014

R&D

Withdrawals

  • Clarify in docs that full withdrawals only apply to exited validators #3146
  • Bound the maximum number of validators considered for withdrawals per sweep #3095

Sharding and 4844

  • Remove optimistic sync mentions #3125
  • Update MAX_BLOBS_PER_BLOCK to 4 #3145
  • Update G2 trusted setup length to 65 #3156
  • Clarify that z should not be in the domain #3159
  • Minor typos, syntax, etc #3120, #3127, #3152, #3158

Light client

  • Pass blocks to LC data creation functions #3070

Testing, repo, etc

  • Proper EL block hash implementation in tests #3126
  • Add EIP4844 pylint and Mypy checks #3134
  • Cleanup explicit fork enumerations in tests #3107
  • Add tests to test sync aggregate's order of balance operation #3157
  • Minor formatting and other fixes