Skip to content

Releases: ChainSafe/lodestar

Release v1.12.1-rc.1

01 Dec 13:56
Compare
Choose a tag to compare
Release v1.12.1-rc.1 Pre-release
Pre-release

Changelog

Full Changelog

Bug Fixes

  • add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

Release v1.12.1-rc.0

30 Nov 14:44
Compare
Choose a tag to compare
Release v1.12.1-rc.0 Pre-release
Pre-release

Changelog

Full Changelog

Bug Fixes

  • logtrace produced cache population for blinded block assembly (#6131) (@g11tech)

Release v1.12.0

09 Nov 07:39
7000473
Compare
Choose a tag to compare

UPDATE (Dec 1, 2023)
Attn using Lodestar v1.12, we’ve discovered an issue with local block production seen on some validators. We recommend that you downgrade or continue using v1.11.3 until we’ve pushed out a hotfix release to address the issue. Thanks for your understanding!


Hey Lodestar users! We've just released v1.12.0 packed with a bunch of updates! We recommend all users to upgrade when possible and ensure to upgrade both your validator and beacon node clients together. More information below about notable changes:

produceBlockV2 builder/execution race moved from validator to beacon: You will have issues building blocks if you do not upgrade the Lodestar beacon and validator together to v1.12.0. You can continue using the --builder flag on your validator client, but it will default to --builder.selection maxprofit. If you do not want to use the builder on a validator that might still be hooked onto a builder enabled beacon, you may provide the --builder.selection executiononly or skip --builder. DVTs which are based off on only builder based block production can still continue using --builder.selection builderonly.

Ephemery Network: v1.12 supports using the --network ephemery flag to configure Lodestar for the Ephemery network. To see additional details, please see the PR here: #6054

IDs for JWT claims: We've added --jwtId to allow for auth + id of Lodestar being sent to execution clients. This allows for more flexibility than the 1-1 connection between the consensus and execution clients by using multiplexers such as eleel. It is now compliant with the execution spec identified here: https://github.com/ethereum/execution-apis/blob/main/src/engine/authentication.md#jwt-claims

Swagger UI on root endpoint of REST API: If you would like to enable a REST swagger API, you can now add --rest.swaggerUI to enable and it will be served under http://localhost:9596/documentation

Validator monitor logs: It is now possible to log validator monitor events on the beacon node as info to get detailed information about validator performance. This can be enabled by setting the --validatorMonitorLogs flag, please see the PR for details and log examples: #6009

For Rocket Pool users: v1.12 now supports the metric used by Rocket Pool Dashboard v1.3.0 to display the time until the next attestation duty.

Restart aware doppelganger protection: There is now almost no downside to using doppelganger protection while still getting all security benefits. The only time doppelganger detection will run is if validator is imported for the first time or has not been active for more than one epoch due to a longer downtime / maintenance.

Support for q-value weighting in Accept headers: #6014

Some additional support for keymanager-API: Added validator voluntary exit endpoint (https://github.com/ethereum/keymanager-APIs/blob/master/apis/voluntary_exit.yaml) and allow graffiti configuration per validator (ethereum/keymanager-APIs#63)

Changelog

Full Changelog

Features

Bug Fixes

  • correctly append LodestarError metadata in logs (#6086) (@nflaig)
  • handle uncaught exceptions when getting proposer duties (#6073) (@nflaig)
  • fix publishing blsToExecutionChange on post capella forks (#6070) (@g11tech)
  • wrap libp2p stop call with a timeout (#6062) (@nflaig)
  • skip only proofs validation on individually validated gossip blobs (#6066) (@g11tech)
  • close REST API server before closing network (#6061) (@nflaig)
  • remove extra white space in logs if context is empty (#6046) (@nflaig)
  • the unknown block sync timeout (#6031) (@nazarhussain)
  • chunkIntoN to chunk correctly (#6035) (@nazarhussain)
  • remove duplicate validator registration calls (#5993) (@nflaig)
  • update cache with newly discovered attester duties (#6013) (@nflaig)
  • more clearly separate log and error message (#5992) (@nflaig)
  • improve jsonRPC error UX for eth1 + execution (#5949) (@nazarhussain)
  • run sync notifier once every slot pre-genesis (#6002) (@nflaig)
  • skip validator monitoring pre-genesis (#6001) (@nflaig)
  • only check doppelganger liveness for relevant epochs (#5991) (@nflaig)
  • fix the validation of the forkchoice spec test (#6004) (@g11tech)
  • update the github workflow to work with multiple events (#6005) (@nazarhussain)
  • only concatenate non-empty api error messages (#5988) (@nflaig)
  • update engine_getPayloadBodiesByHashV1 params to pass array (#5957) (@matthewkeil)
  • correctly persist states based on archive epoch frequency (#5979) (@nflaig)
  • update holesky genesis time (#5972) (@nflaig)
  • update holesky config for new genesis (#5971) (@nflaig)
  • ignore lockfiles when loading keys for voluntary exit (#5950) (@nflaig)
  • epoch cache error should be treated with care in gossips validation (#5939) (@nazarhussain)
  • network worker not shutting down (#5946) (@nazarhussain)
  • fix breaking builder block production (#5928) (@g11tech)
  • mesh peers - inclusion and churn sum by reason metrics (#5918) (@tuyennhv)

Refactoring

  • shift usage to publishblock v2 endpoint, cleanup v1 post deneb (#6084) (@g11tech)
  • repurpose --builder flag to alias maxprofit builder.selection and turn builder off by default (#6081) (@g11tech)
  • cleanup some of the deneb todos (#6047) (@g11tech)
  • compute validator monitor log level only once (#6010) (@nflaig)
  • add type guard to builder pubkey filter (#5985) (@nflaig)
  • restructure to tests and CI workflow to reduce CI time (#5951) (@nazarhussain)
  • cleanup deneb types and use max blob commitments per block for deneb containers (#5929) (@g11tech)

Dependencies

Continuous Integration

  • set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
  • enable mixed beacon-validator sim tests (#5940) (@nflaig)

Tests

Maintenance

Documentation

Release v1.12.0-rc.3

07 Nov 15:55
Compare
Choose a tag to compare
Release v1.12.0-rc.3 Pre-release
Pre-release

Changelog

Full Changelog

Features

Bug Fixes

  • correctly append LodestarError metadata in logs (#6086) (@nflaig)
  • handle uncaught exceptions when getting proposer duties (#6073) (@nflaig)
  • fix publishing blsToExecutionChange on post capella forks (#6070) (@g11tech)
  • wrap libp2p stop call with a timeout (#6062) (@nflaig)
  • skip only proofs validation on individually validated gossip blobs (#6066) (@g11tech)
  • close REST API server before closing network (#6061) (@nflaig)
  • remove extra white space in logs if context is empty (#6046) (@nflaig)
  • the unknown block sync timeout (#6031) (@nazarhussain)
  • chunkIntoN to chunk correctly (#6035) (@nazarhussain)
  • remove duplicate validator registration calls (#5993) (@nflaig)
  • update cache with newly discovered attester duties (#6013) (@nflaig)
  • more clearly separate log and error message (#5992) (@nflaig)
  • improve jsonRPC error UX for eth1 + execution (#5949) (@nazarhussain)
  • run sync notifier once every slot pre-genesis (#6002) (@nflaig)
  • skip validator monitoring pre-genesis (#6001) (@nflaig)
  • only check doppelganger liveness for relevant epochs (#5991) (@nflaig)
  • fix the validation of the forkchoice spec test (#6004) (@g11tech)
  • update the github workflow to work with multiple events (#6005) (@nazarhussain)
  • only concatenate non-empty api error messages (#5988) (@nflaig)
  • update engine_getPayloadBodiesByHashV1 params to pass array (#5957) (@matthewkeil)
  • correctly persist states based on archive epoch frequency (#5979) (@nflaig)
  • update holesky genesis time (#5972) (@nflaig)
  • update holesky config for new genesis (#5971) (@nflaig)
  • ignore lockfiles when loading keys for voluntary exit (#5950) (@nflaig)
  • epoch cache error should be treated with care in gossips validation (#5939) (@nazarhussain)
  • network worker not shutting down (#5946) (@nazarhussain)
  • fix breaking builder block production (#5928) (@g11tech)
  • mesh peers - inclusion and churn sum by reason metrics (#5918) (@tuyennhv)

Refactoring

  • shift usage to publishblock v2 endpoint, cleanup v1 post deneb (#6084) (@g11tech)
  • repurpose --builder flag to alias maxprofit builder.selection and turn builder off by default (#6081) (@g11tech)
  • cleanup some of the deneb todos (#6047) (@g11tech)
  • compute validator monitor log level only once (#6010) (@nflaig)
  • add type guard to builder pubkey filter (#5985) (@nflaig)
  • restructure to tests and CI workflow to reduce CI time (#5951) (@nazarhussain)
  • cleanup deneb types and use max blob commitments per block for deneb containers (#5929) (@g11tech)

Dependencies

Continuous Integration

  • set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
  • enable mixed beacon-validator sim tests (#5940) (@nflaig)

Tests

Maintenance

Documentation

Release v1.12.0-rc.2

07 Nov 15:33
Compare
Choose a tag to compare
Release v1.12.0-rc.2 Pre-release
Pre-release

Changelog

Full Changelog

Features

Bug Fixes

  • handle uncaught exceptions when getting proposer duties (#6073) (@nflaig)
  • fix publishing blsToExecutionChange on post capella forks (#6070) (@g11tech)
  • wrap libp2p stop call with a timeout (#6062) (@nflaig)
  • skip only proofs validation on individually validated gossip blobs (#6066) (@g11tech)
  • close REST API server before closing network (#6061) (@nflaig)
  • remove extra white space in logs if context is empty (#6046) (@nflaig)
  • the unknown block sync timeout (#6031) (@nazarhussain)
  • chunkIntoN to chunk correctly (#6035) (@nazarhussain)
  • remove duplicate validator registration calls (#5993) (@nflaig)
  • update cache with newly discovered attester duties (#6013) (@nflaig)
  • more clearly separate log and error message (#5992) (@nflaig)
  • improve jsonRPC error UX for eth1 + execution (#5949) (@nazarhussain)
  • run sync notifier once every slot pre-genesis (#6002) (@nflaig)
  • skip validator monitoring pre-genesis (#6001) (@nflaig)
  • only check doppelganger liveness for relevant epochs (#5991) (@nflaig)
  • fix the validation of the forkchoice spec test (#6004) (@g11tech)
  • update the github workflow to work with multiple events (#6005) (@nazarhussain)
  • only concatenate non-empty api error messages (#5988) (@nflaig)
  • update engine_getPayloadBodiesByHashV1 params to pass array (#5957) (@matthewkeil)
  • correctly persist states based on archive epoch frequency (#5979) (@nflaig)
  • update holesky genesis time (#5972) (@nflaig)
  • update holesky config for new genesis (#5971) (@nflaig)
  • ignore lockfiles when loading keys for voluntary exit (#5950) (@nflaig)
  • epoch cache error should be treated with care in gossips validation (#5939) (@nazarhussain)
  • network worker not shutting down (#5946) (@nazarhussain)
  • fix breaking builder block production (#5928) (@g11tech)
  • mesh peers - inclusion and churn sum by reason metrics (#5918) (@tuyennhv)

Refactoring

  • repurpose --builder flag to alias maxprofit builder.selection and turn builder off by default (#6081) (@g11tech)
  • cleanup some of the deneb todos (#6047) (@g11tech)
  • compute validator monitor log level only once (#6010) (@nflaig)
  • add type guard to builder pubkey filter (#5985) (@nflaig)
  • restructure to tests and CI workflow to reduce CI time (#5951) (@nazarhussain)
  • cleanup deneb types and use max blob commitments per block for deneb containers (#5929) (@g11tech)

Dependencies

Continuous Integration

  • set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
  • enable mixed beacon-validator sim tests (#5940) (@nflaig)

Tests

Maintenance

Documentation

Release v1.12.0-rc.1

31 Oct 20:19
Compare
Choose a tag to compare
Release v1.12.0-rc.1 Pre-release
Pre-release

Changelog

Full Changelog

Features

Bug Fixes

  • handle uncaught exceptions when getting proposer duties (#6073) (@nflaig)
  • fix publishing blsToExecutionChange on post capella forks (#6070) (@g11tech)
  • wrap libp2p stop call with a timeout (#6062) (@nflaig)
  • skip only proofs validation on individually validated gossip blobs (#6066) (@g11tech)
  • close REST API server before closing network (#6061) (@nflaig)
  • remove extra white space in logs if context is empty (#6046) (@nflaig)
  • the unknown block sync timeout (#6031) (@nazarhussain)
  • chunkIntoN to chunk correctly (#6035) (@nazarhussain)
  • remove duplicate validator registration calls (#5993) (@nflaig)
  • update cache with newly discovered attester duties (#6013) (@nflaig)
  • more clearly separate log and error message (#5992) (@nflaig)
  • improve jsonRPC error UX for eth1 + execution (#5949) (@nazarhussain)
  • run sync notifier once every slot pre-genesis (#6002) (@nflaig)
  • skip validator monitoring pre-genesis (#6001) (@nflaig)
  • only check doppelganger liveness for relevant epochs (#5991) (@nflaig)
  • fix the validation of the forkchoice spec test (#6004) (@g11tech)
  • update the github workflow to work with multiple events (#6005) (@nazarhussain)
  • only concatenate non-empty api error messages (#5988) (@nflaig)
  • update engine_getPayloadBodiesByHashV1 params to pass array (#5957) (@matthewkeil)
  • correctly persist states based on archive epoch frequency (#5979) (@nflaig)
  • update holesky genesis time (#5972) (@nflaig)
  • update holesky config for new genesis (#5971) (@nflaig)
  • ignore lockfiles when loading keys for voluntary exit (#5950) (@nflaig)
  • epoch cache error should be treated with care in gossips validation (#5939) (@nazarhussain)
  • network worker not shutting down (#5946) (@nazarhussain)
  • fix breaking builder block production (#5928) (@g11tech)
  • mesh peers - inclusion and churn sum by reason metrics (#5918) (@tuyennhv)

Refactoring

  • cleanup some of the deneb todos (#6047) (@g11tech)
  • compute validator monitor log level only once (#6010) (@nflaig)
  • add type guard to builder pubkey filter (#5985) (@nflaig)
  • restructure to tests and CI workflow to reduce CI time (#5951) (@nazarhussain)
  • cleanup deneb types and use max blob commitments per block for deneb containers (#5929) (@g11tech)

Dependencies

Continuous Integration

  • set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
  • enable mixed beacon-validator sim tests (#5940) (@nflaig)

Tests

Maintenance

Documentation

Release v1.12.0-rc.0

26 Oct 04:10
02069b5
Compare
Choose a tag to compare
Release v1.12.0-rc.0 Pre-release
Pre-release

Changelog

Full Changelog

Features

Bug Fixes

Refactoring

  • cleanup some of the deneb todos (#6047) (@g11tech)
  • compute validator monitor log level only once (#6010) (@nflaig)
  • add type guard to builder pubkey filter (#5985) (@nflaig)
  • restructure to tests and CI workflow to reduce CI time (#5951) (@nazarhussain)
  • cleanup deneb types and use max blob commitments per block for deneb containers (#5929) (@g11tech)

Dependencies

Continuous Integration

  • set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
  • enable mixed beacon-validator sim tests (#5940) (@nflaig)

Tests

Maintenance

Documentation

Release v1.11.3

25 Sep 18:32
9ade975
Compare
Choose a tag to compare

Hey everyone! We've released Lodestar v1.11.3 with the updated configuration for the new Holesky launch on September 28th 11:55am (UTC).

Users who participated in the failed launch on the 15th of September have to make sure to delete their existing data directories (--dataDir) for both the beacon node and validator client before updating. By default, those are located in the ~/.local/share/lodestar/holesky directory.

Changelog

Full Changelog

Bug Fixes

Maintenance

Release v1.11.1

02 Sep 13:35
0c7c6a6
Compare
Choose a tag to compare

We've released Lodestar v1.11.1 which is the latest stable including an urgent fix for users using the builder API. The v1.11.1 release is a mandatory upgrade if you're using v1.11.0. For other users, v1.11.1 is highly recommended.

This release includes support for Holesky testnet configs, a CLI command to boot Lodestar as a bootnode: ./lodestar bootnode, validator client fixes for users using the --beaconNodes fallback feature, various performance related fixes and dependency upgrades including libp2p, discv5 and gossipsub. One of the largest performance features merged is the network worker which will take a load of libp2p tasks off of our main thread. Target ES version is now at ES-2021. We no longer support nodeJS <18.17.0.

Changelog

Full Changelog

Bug Fixes

Maintenance

Release v1.11.0

29 Aug 16:43
358c44d
Compare
Choose a tag to compare

Changelog

Full Changelog

Features

  • take profiles of main thread and discv5 thread (#5909) (@tuyennhv)
  • track time to stable mesh for aggregator duties (#5897) (@tuyennhv)
  • add holesky network (#5903) (@g11tech)
  • add bootnode cli command (#5876) (@wemeetagain)
  • verify gossip attestation messages in batch (#5896) (@tuyennhv)
  • add support for mixed beacon-validator sim tests (#5885) (@nazarhussain)
  • forkchoice to track head vote by proto index (#5882) (@tuyennhv)
  • update libp2p to 0.46.3 (#5869) (@wemeetagain)
  • send and use validators fee recipient for engine block production (#5831) (@g11tech)
  • implement IndexedGossipQueue (#5803) (@tuyennhv)
  • limit incoming connections to lodestar (#5860) (@tuyennhv)
  • free the blobs (#5181) (@g11tech)
  • add basic broadcast validation to the block publishing (#5762) (@g11tech)
  • beacon-node: network worker new space adjustment (#5829) (@matthewkeil)
  • dashboards: memory panel updates (#5858) (@matthewkeil)

Bug Fixes

  • improve forkchoice getBlock hasBlock (#5906) (@tuyennhv)
  • set user credentials in URL as Authorization header (#5884) (@nflaig)
  • the browser logger and improve tests for logger package (#5883) (@nazarhussain)
  • require node 18.17.0 to fix native fetch memory leak (#5873) (@matthewkeil)
  • improve forkchoice updateHead() time (#5867) (@tuyennhv)
  • reset gossipsubDHigh param to 12 (#5865) (@wemeetagain)
  • move and fix execution engine state update checks for online state (#5862) (@g11tech)
  • offline error message when node is shutting down (#5797) (@nazarhussain)
  • ensure bn Buckets are sorted and unique (#5849) (@dapplion)
  • prover: update web3_provider to detect web3.js 4x version (#5854) (@nazarhussain)

Refactoring

Continuous Integration

  • fail job to lint grafana dashboards on error (#5841) (@nflaig)
  • use stable lighthouse version in sim tests (#5843) (@nflaig)

Maintenance

  • release v1.11.0 (#5912) (@wemeetagain)
  • update Capella fork epoch on Holesky (#5911) (@philknows)
  • add batch attestation metrics to Grafana (#5910) (@tuyennhv)
  • merge if statements in isFinalizedRootOrDescendant (#5908) (@tuyennhv)
  • enable network thread (#5898) (@tuyennhv)
  • use regular for loop for forkchoice prune (#5907) (@tuyennhv)
  • update gossipsub to 10.1.0 (#5899) (@wemeetagain)
  • update discv5 and varint (#5895) (@wemeetagain)
  • handle native fetch timeout error (#5878) (@nflaig)
  • update bootnodes for all networks (#5871) (@nflaig)
  • add more forkchoice and protoarray metrics to grafana (#5870) (@tuyennhv)
  • update target to es2021 (#5866) (@wemeetagain)
  • remove codecov badge from readme (#5868) (@nflaig)
  • correct error message if state is not within ws period (#5859) (@nflaig)
  • track states used for attestation validation (#5847) (@tuyennhv)
  • add peer discovery metrics to grafana (#5827) (@tuyennhv)
  • merge stable back to unstable (#5845) (@wemeetagain)
  • ensureWithinWeakSubjectivityPeriod (#5837) (@tuyennhv)
  • clarify event loop lag metrics in grafana (#5842) (@tuyennhv)
  • dashboards: fix event loop lag panels (#5874) (@matthewkeil)

Documentation

  • remove beacon node command prefix from --monitoring flags (#5879) (@nflaig)