Skip to content

Releases: ethereum/execution-apis

Traction control

22 Apr 03:09
7907424
Compare
Choose a tag to compare
Traction control Pre-release
Pre-release

The pre-release v1.0.0-beta.4 is a mammoth of an execution-apis release.

There are far to many changes over the last year to dive deeply into any of them, but a few highlights:

  • Proto-spec for Prague is available for devnet-0 work.
  • The test generation tooling has changed a bit, thanks to the work of @fjl. The testing chain is now created using hivechain.
  • The eth namespace endpoints were updated for Cancun.
  • mining namespace was completely removed.

Full Changelog: v1.0.0-beta.3...v1.0.0-beta.4

Clean Air

27 Mar 16:54
Compare
Choose a tag to compare
Clean Air Pre-release
Pre-release

v1.0.0-beta.3 is a pre-release of the Execution APIs.

This release finalizes the changes for the upcoming Shanghai-Capella upgrade. As mentioned in v1.0.0-beta.2, there were indeed a couple minor changes. Most relevant are #380 and #387.

In addition to the changes made to the Engine API, @mkalinin worked hard during the Edelweiss interop to develop the Open RPC schema for the Engine API. It is not currently considered authoritative, but it is a step in that direction. In the meantime, please continue referring to the markdown specifications in the case of any disagreement.

eth Namespace

engine Namespace

New Contributors

Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3

Bollard

27 Jan 14:50
Compare
Choose a tag to compare
Bollard Pre-release
Pre-release

v1.0.0-beta.2 is a pre-release of the Execution APIs.

This is the first release of the Execution APIs since the Paris-Bellatrix upgrade. Most of the changes are preparing for the upcoming Shanghai-Capella upgrade. It's possible that some small additional changes will be made before the upgrade occurs, but we anticipate this release to be quite stable. One notable change to the Engine API that we still anticipate for Shanghai is the deprecation of engine_exchangeTransitionConfiguration (#339). Please share any feedback in the outstanding PR.

Beyond support for Shanghai-Capella, a number of housekeeping PRs were merged. @mkalinin designed a new layout for the Engine API specifications based on forks. This will hopefully allow client developers to more easily understand what the API should look like for any given fork. Some early specifications for EIP-4844 were also merged.

In the eth namespace, a new Withdrawal object was defined in #334 and was added to the eth_getBlockBy* methods. A bug fix was provided via #326 and #351, which together added support for querying by block hash anywhere that previously allowed only BlockNumberOrTag. This behavior already existed in clients and was not properly specified here.

Many other small fixes by contributed by various individuals. Danke für die Hilfe!

eth Namespace

engine Namespace

Miscellaneous

New Contributors

Full Changelog: v1.0.0-beta.1...v1.0.0-beta.2

Scrutineering

22 Aug 14:57
Compare
Choose a tag to compare
Scrutineering Pre-release
Pre-release

v1.0.0-beta.1 is a pre-release of the Execution APIs.

The is a jam-packed release for execution-apis. First there were several clarifications to the engine methods in preparation for the mainnet merge. The eth namespace spec was converted to YAML for readability and many corrections were made. Some existing functionality was added to the spec scope and some was removed. The debug namespace was officially added. Tests for eth and debug now live in the /tests folder. @s1na has defined the GraphQL interface for eth-style methods. Finally, the documentation has been improved substantially. There is now a guide for making changes to the JSON-RPC. PTAL if you want to understand better how to contribute to this repository.

Now that there is some test coverage and confidence in correctness is building, we're moving out of alpha and into beta. Note that this designation is only due to the instability expected in the eth namespace. The engine namespace should be considered stable and ready for mainnet use.

eth Namespace

debug Namespace

engine Namespace

  • Auth spec shouldn't specify which methods are provided over it by @lightclient in #196
  • Engine API: respond with error if payload attributes are invalid by @mkalinin in #211
  • engine timeouts (redux) by @djrtwo in #216
  • Engine API: adjust error codes with JSON-RPC 2.0 spec by @mkalinin in #214
  • Engine API: return error if forkchoice state is inconsistent by @mkalinin in #213
  • Engine API: remove unauth port and refer to auth spec by @mkalinin in #219
  • Clarify the difference between SYNCING and ACCEPTED by @djrtwo in #215
  • Engine API: replace INVALID_TERMINAL_BLOCK with INVALID + lvh=0x00..00 by @mkalinin in #217
  • Engine API: a few clarifications by @mkalinin in #226
  • Make td optional field on block by @lightclient in #251
  • require JWT keys to be exactly 32 bytes by @tersec in #242
  • Engine API: narrow down fcU skip conditions by @mkalinin in #244
  • Engine API: recommend to retry the call after timeout by @mkalinin in #253
  • Increase JWT issued-at window to 60s by @dapplion in #256

New Contributors

Full Changelog: v1.0.0-alpha.8...v1.0.0-beta.1

Ballast

19 May 23:15
Compare
Choose a tag to compare
Ballast Pre-release
Pre-release

v1.0.0-alpha.9 is a pre-release of the Execution API.

In this release, the eth namespace saw some minor changes. The engine namespace was further refined, particularly with respect to edge cases. A new API specification was added to the repository in this release: the GraphQL spec! @s1na added this spec in #199. GraphQL is a great addition; it allows developers to make very fine-grain requests against execution clients.

eth

  • Add BlockNumberOrTag to eth_call, eth_estimateGas #129
  • Add eth_feeHistory summary, description #128

engine

  • Remove references to the interop spec #192
  • Auth spec shouldn't specify which methods are provided over it #196
  • Get rid of eth1.0 leftovers #198
  • Respond with error if payload attributes are invalid #211
  • Engine timeouts (redux) #216
  • Adjust error codes with JSON-RPC 2.0 spec #214
  • Return error if forkchoice state is inconsistent #213
  • Remove unauth port and refer to auth spec #219
  • Add finalized and safe blocks #200
  • Clarify the difference between SYNCING and ACCEPTED #215
  • Replace INVALID_TERMINAL_BLOCK with INVALID + lvh=0x00..00 #217
  • A few clarifications #226

graphql

  • Add GraphQL schema by @s1na in #199
  • graphql: add raw fields to block #220
  • README: add graphql section #221

Miscellaneous

New Contributors

Thank you and welcome to our new contributors! 🙂

Full Changelog: v1.0.0-alpha.8...v1.0.0-alpha.9

Garagiste

10 Mar 12:06
1885894
Compare
Choose a tag to compare
Garagiste Pre-release
Pre-release

v1.0.0-alpha.8 is a pre-release of the Execution API.

eth namespace

  • Add eth_chainId method #193
  • Update CI dependencies #194

engine namespace

  • Expose a subset of the eth namespace over the engine #183
  • Add QoS for transition config endpoint #189
  • Clarify terminalBlockNumber field in config ping #179

Full engine specification here.

Zylon

23 Feb 18:02
Compare
Choose a tag to compare
Zylon Pre-release
Pre-release

v1.0.0-alpha.7 is a pre-release of the Execution API.

eth Namespace

No updates in this release.

engine Namespace

  • Add engine_exchangeTransitionConfigurationV1 #172
  • Authentication for engine api #167
  • Fix forkchoiceUpdated INVALID response #173
  • Clarify validationError usage #175
  • Rename random to prevRandao #180

--

Full engine specification here.

107 Percent

28 Jan 17:53
Compare
Choose a tag to compare
107 Percent Pre-release
Pre-release

v1.0.0-alpha.6 is a pre-release of the Execution API.

eth Namespace

  • New assembled output refs-openrpc.json allows external projects to easily reference spec objects #156
  • Improve definition of log filter topic #169
    Thank you @shanejonas and @fjl for your eth API contributions.

engine Namespace

  • Stop ordering messages via the JSON-RPC id field and instead rely on the order the messages are received #148
  • Fix missed merge => bellatrix renameing #161
  • Extend semantics of executePayload and forkchoiceUpdated methods #165
  • Replace terminal block error with INVALID_TERMINAL_BLOCK status #170

Thank you @mkalinin, @djrtwo, @holiman, and @MariusVanDerWijden for your work and feedback on the engine API changes.

--

Full engine specification here.

Chicane

30 Nov 07:06
Compare
Choose a tag to compare
Chicane Pre-release
Pre-release

v1.0.0-alpha.5 is a pre-release of the Execution API.

eth Namespace

  • Add missing properties to ReceiptInfo schema #126
  • Fix eth_submitWork parameters, allow 0x0 uint

engine Namespace

  • Rename coinbase to feeRecipient in ExecutionPayloadV1 #130
  • Rename feeRecipient to suggestedFeeRecipient in PayloadAttributesV1 #130
  • Rename receiptRoot to receiptsRoot in ExecutionPayloadV1 #140
  • Respond with error code -32002 if terminal block doesn't satisfy terminal block conditions #132
  • Serve HTTP and WS over same 8550 port #134
  • Refine message ordering behavior #133
  • Rename message to validationError in engine_executePayloadV1 response #135
  • Some typos fixed #111
    --

Full specification here.

The Talladega Curse

05 Nov 14:10
Compare
Choose a tag to compare
The Talladega Curse Pre-release
Pre-release

v1.0.0-alpha.4 is a pre-release of the Execution API.

eth Namespace

  • Fixed misspelled method getStorageAt #107

engine Namespace

This replaces "Installation Lap" as the new target for the November Merge sprint.

  • Refines forkchoiceUpdated so that EL calculates and returns payloadId to CL #109

--

Full specification here.