Releases: ChainSafe/lodestar
Release v1.12.1-rc.0
Changelog
Bug Fixes
Release v1.12.0
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
Features
- implement getStateRandao (#6072) (@scorbajio)
- allow keymanager to configure a validator pubkey utf8 graffiti (#6083) (@g11tech)
- load state from Uint8Array (#6057) (@tuyennhv)
- enable builder proposals post deneb with blobs (#5933) (@g11tech)
- add ephemery network (#6054) (@atkinsonholly)
- implement produce block v3 and move builder/execution race to beacon (#5880) (@g11tech)
- add optional id and clv to JWT claims (#6052) (@naviechan)
- add blob_sidecar sse event (#6044) (@g11tech)
- update c-kzg and use official trusted setup (#6055) (@g11tech)
- restart aware doppelganger protection (#6012) (@nflaig)
- support "input" param for verifiable tx (#6019) (@rdvorkin)
- add rated.network score to validator monitor dashboard (#6027) (@nflaig)
- support qvalue weighting in Accept headers (#6014) (@jshufro)
- add option to log validator monitor events as info (#6009) (@nflaig)
- add max activation churn limit and other deneb devnet-9 spec updates (#5958) (@dapplion)
- add logs for builder validator registrations (#5986) (@nflaig)
- improve doppelganger protection logs (#5987) (@nflaig)
- add swagger ui API explorer (#5970) (@wemeetagain)
- always try to fetch optimistic update when starting lc (#5977) (@rdvorkin)
- selectively use nodejs crypto for noise (#5900) (@wemeetagain)
- add metric for slot of next scheduled attestation duty (#5954) (@nflaig)
- simplify bootnode enr initialization (#5945) (@wemeetagain)
- download blocks as ssz (#5923) (@tuyennhv)
- keymanager API to create signed voluntary exit message (#5947) (@nflaig)
- beacon-node: network worker event latency metrics (#5800) (@matthewkeil)
- logger: remove unused trace log level (#5861) (@matthewkeil)
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
- update mocha and tests related dependencies (#5997) (@nazarhussain)
- update typescript and lint dependencies (#5995) (@nazarhussain)
Continuous Integration
- set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
- enable mixed beacon-validator sim tests (#5940) (@nflaig)
Tests
- move mocha to vitest for beacon-node change (#6028) (@nazarhussain)
Maintenance
- release v1.12.0 (#6091) (@philknows)
- cleanup exchange transition remanents (#6065) (@g11tech)
- fix usage of dependant where should be dependent (#6056) (@kevinheavey)
- fix typos (#6036) (@GoodDaisy)
- bump libp2p deps (#6015) (@wemeetagain)
- update persistent-merkle-tree 0.6.1 (#5969) (@tuyennhv)
- remove unconfigured panels in dashboards (#6025) (@nflaig)
- merge stable to unstable (#5996) (@wemeetagain)
- updating teku mainnet bootnodes enrs (#6003) (@lucassaldanha)
- revert the promise catch for the indices service (#6000) (@nazarhussain)
- unrelated code cleanup (#5989) (@nflaig)
- update holesky bootnode ENRs (#5982) (@nflaig)
- remove reference to sharding (#5975) (@wemeetagain)
- update to ssz 0.13.0 (#5959) (@tuyennhv)
- avoid using bigint for metrics (#5926) (@tuyennhv)
- update ssz for optional type availability (#5948) (@g11tech)
- update testcontainers package to 10.2.1 (#5944) (@nflaig)
- benchmark bls signature deserialization (#5922) (@tuyennhv)
- render eventloop lags metrics as quantiles (#5927) (@dapplion)
- merge stable to unstable (#5931) (@wemeetagain)
- add rate() to batch histogram panel (#5921) (@tuyennhv)
- merge stable to unstable (#5920) (@wemeetagain)
- track time to stable mesh metric in Grafana (#5916) (@tuyennhv)
- deps-dev: bump electron from 26.2.2 to 26.2.4 (#6023) (@dependabot[bot])
- deps-dev: bump electron from 21.4.4 to 22.3.24 (#5983) (@dependabot[bot])
- deps: bump systeminformation from 5.17.12 to 5.21.7 (#5980) (@dependabot[bot])
- docker: security upgrade grafana/grafana from 8.5.25 to 8.5.27 (#5924) (@nazarhussain)
Documentation
- add twitter link to readme (#6051) (@philknows)
- add section about metrics to style guide (#6048) (@nflaig)
Release v1.12.0-rc.3
Changelog
Features
- implement getStateRandao (#6072) (@scorbajio)
- allow keymanager to configure a validator pubkey utf8 graffiti (#6083) (@g11tech)
- load state from Uint8Array (#6057) (@tuyennhv)
- enable builder proposals post deneb with blobs (#5933) (@g11tech)
- add ephemery network (#6054) (@atkinsonholly)
- implement produce block v3 and move builder/execution race to beacon (#5880) (@g11tech)
- add optional id and clv to JWT claims (#6052) (@naviechan)
- add blob_sidecar sse event (#6044) (@g11tech)
- update c-kzg and use official trusted setup (#6055) (@g11tech)
- restart aware doppelganger protection (#6012) (@nflaig)
- support "input" param for verifiable tx (#6019) (@rdvorkin)
- add rated.network score to validator monitor dashboard (#6027) (@nflaig)
- support qvalue weighting in Accept headers (#6014) (@jshufro)
- add option to log validator monitor events as info (#6009) (@nflaig)
- add max activation churn limit and other deneb devnet-9 spec updates (#5958) (@dapplion)
- add logs for builder validator registrations (#5986) (@nflaig)
- improve doppelganger protection logs (#5987) (@nflaig)
- add swagger ui API explorer (#5970) (@wemeetagain)
- always try to fetch optimistic update when starting lc (#5977) (@rdvorkin)
- selectively use nodejs crypto for noise (#5900) (@wemeetagain)
- add metric for slot of next scheduled attestation duty (#5954) (@nflaig)
- simplify bootnode enr initialization (#5945) (@wemeetagain)
- download blocks as ssz (#5923) (@tuyennhv)
- keymanager API to create signed voluntary exit message (#5947) (@nflaig)
- beacon-node: network worker event latency metrics (#5800) (@matthewkeil)
- logger: remove unused trace log level (#5861) (@matthewkeil)
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
- update mocha and tests related dependencies (#5997) (@nazarhussain)
- update typescript and lint dependencies (#5995) (@nazarhussain)
Continuous Integration
- set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
- enable mixed beacon-validator sim tests (#5940) (@nflaig)
Tests
- move mocha to vitest for beacon-node change (#6028) (@nazarhussain)
Maintenance
- cleanup exchange transition remanents (#6065) (@g11tech)
- fix usage of dependant where should be dependent (#6056) (@kevinheavey)
- fix typos (#6036) (@GoodDaisy)
- bump libp2p deps (#6015) (@wemeetagain)
- update persistent-merkle-tree 0.6.1 (#5969) (@tuyennhv)
- remove unconfigured panels in dashboards (#6025) (@nflaig)
- merge stable to unstable (#5996) (@wemeetagain)
- updating teku mainnet bootnodes enrs (#6003) (@lucassaldanha)
- revert the promise catch for the indices service (#6000) (@nazarhussain)
- unrelated code cleanup (#5989) (@nflaig)
- update holesky bootnode ENRs (#5982) (@nflaig)
- remove reference to sharding (#5975) (@wemeetagain)
- update to ssz 0.13.0 (#5959) (@tuyennhv)
- avoid using bigint for metrics (#5926) (@tuyennhv)
- update ssz for optional type availability (#5948) (@g11tech)
- update testcontainers package to 10.2.1 (#5944) (@nflaig)
- benchmark bls signature deserialization (#5922) (@tuyennhv)
- render eventloop lags metrics as quantiles (#5927) (@dapplion)
- merge stable to unstable (#5931) (@wemeetagain)
- add rate() to batch histogram panel (#5921) (@tuyennhv)
- merge stable to unstable (#5920) (@wemeetagain)
- track time to stable mesh metric in Grafana (#5916) (@tuyennhv)
- deps-dev: bump electron from 26.2.2 to 26.2.4 (#6023) (@dependabot[bot])
- deps-dev: bump electron from 21.4.4 to 22.3.24 (#5983) (@dependabot[bot])
- deps: bump systeminformation from 5.17.12 to 5.21.7 (#5980) (@dependabot[bot])
- docker: security upgrade grafana/grafana from 8.5.25 to 8.5.27 (#5924) (@nazarhussain)
Documentation
- add twitter link to readme (#6051) (@philknows)
- add section about metrics to style guide (#6048) (@nflaig)
Release v1.12.0-rc.2
Changelog
Features
- load state from Uint8Array (#6057) (@tuyennhv)
- enable builder proposals post deneb with blobs (#5933) (@g11tech)
- add ephemery network (#6054) (@atkinsonholly)
- implement produce block v3 and move builder/execution race to beacon (#5880) (@g11tech)
- add optional id and clv to JWT claims (#6052) (@naviechan)
- add blob_sidecar sse event (#6044) (@g11tech)
- update c-kzg and use official trusted setup (#6055) (@g11tech)
- restart aware doppelganger protection (#6012) (@nflaig)
- support "input" param for verifiable tx (#6019) (@rdvorkin)
- add rated.network score to validator monitor dashboard (#6027) (@nflaig)
- support qvalue weighting in Accept headers (#6014) (@jshufro)
- add option to log validator monitor events as info (#6009) (@nflaig)
- add max activation churn limit and other deneb devnet-9 spec updates (#5958) (@dapplion)
- add logs for builder validator registrations (#5986) (@nflaig)
- improve doppelganger protection logs (#5987) (@nflaig)
- add swagger ui API explorer (#5970) (@wemeetagain)
- always try to fetch optimistic update when starting lc (#5977) (@rdvorkin)
- selectively use nodejs crypto for noise (#5900) (@wemeetagain)
- add metric for slot of next scheduled attestation duty (#5954) (@nflaig)
- simplify bootnode enr initialization (#5945) (@wemeetagain)
- download blocks as ssz (#5923) (@tuyennhv)
- keymanager API to create signed voluntary exit message (#5947) (@nflaig)
- beacon-node: network worker event latency metrics (#5800) (@matthewkeil)
- logger: remove unused trace log level (#5861) (@matthewkeil)
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
- update mocha and tests related dependencies (#5997) (@nazarhussain)
- update typescript and lint dependencies (#5995) (@nazarhussain)
Continuous Integration
- set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
- enable mixed beacon-validator sim tests (#5940) (@nflaig)
Tests
- move mocha to vitest for beacon-node change (#6028) (@nazarhussain)
Maintenance
- cleanup exchange transition remanents (#6065) (@g11tech)
- fix usage of dependant where should be dependent (#6056) (@kevinheavey)
- fix typos (#6036) (@GoodDaisy)
- bump libp2p deps (#6015) (@wemeetagain)
- update persistent-merkle-tree 0.6.1 (#5969) (@tuyennhv)
- remove unconfigured panels in dashboards (#6025) (@nflaig)
- merge stable to unstable (#5996) (@wemeetagain)
- updating teku mainnet bootnodes enrs (#6003) (@lucassaldanha)
- revert the promise catch for the indices service (#6000) (@nazarhussain)
- unrelated code cleanup (#5989) (@nflaig)
- update holesky bootnode ENRs (#5982) (@nflaig)
- remove reference to sharding (#5975) (@wemeetagain)
- update to ssz 0.13.0 (#5959) (@tuyennhv)
- avoid using bigint for metrics (#5926) (@tuyennhv)
- update ssz for optional type availability (#5948) (@g11tech)
- update testcontainers package to 10.2.1 (#5944) (@nflaig)
- benchmark bls signature deserialization (#5922) (@tuyennhv)
- render eventloop lags metrics as quantiles (#5927) (@dapplion)
- merge stable to unstable (#5931) (@wemeetagain)
- add rate() to batch histogram panel (#5921) (@tuyennhv)
- merge stable to unstable (#5920) (@wemeetagain)
- track time to stable mesh metric in Grafana (#5916) (@tuyennhv)
- deps-dev: bump electron from 26.2.2 to 26.2.4 (#6023) (@dependabot[bot])
- deps-dev: bump electron from 21.4.4 to 22.3.24 (#5983) (@dependabot[bot])
- deps: bump systeminformation from 5.17.12 to 5.21.7 (#5980) (@dependabot[bot])
- docker: security upgrade grafana/grafana from 8.5.25 to 8.5.27 (#5924) (@nazarhussain)
Documentation
- add twitter link to readme (#6051) (@philknows)
- add section about metrics to style guide (#6048) (@nflaig)
Release v1.12.0-rc.1
Changelog
Features
- load state from Uint8Array (#6057) (@tuyennhv)
- enable builder proposals post deneb with blobs (#5933) (@g11tech)
- add ephemery network (#6054) (@atkinsonholly)
- implement produce block v3 and move builder/execution race to beacon (#5880) (@g11tech)
- add optional id and clv to JWT claims (#6052) (@naviechan)
- add blob_sidecar sse event (#6044) (@g11tech)
- update c-kzg and use official trusted setup (#6055) (@g11tech)
- restart aware doppelganger protection (#6012) (@nflaig)
- support "input" param for verifiable tx (#6019) (@rdvorkin)
- add rated.network score to validator monitor dashboard (#6027) (@nflaig)
- support qvalue weighting in Accept headers (#6014) (@jshufro)
- add option to log validator monitor events as info (#6009) (@nflaig)
- add max activation churn limit and other deneb devnet-9 spec updates (#5958) (@dapplion)
- add logs for builder validator registrations (#5986) (@nflaig)
- improve doppelganger protection logs (#5987) (@nflaig)
- add swagger ui API explorer (#5970) (@wemeetagain)
- always try to fetch optimistic update when starting lc (#5977) (@rdvorkin)
- selectively use nodejs crypto for noise (#5900) (@wemeetagain)
- add metric for slot of next scheduled attestation duty (#5954) (@nflaig)
- simplify bootnode enr initialization (#5945) (@wemeetagain)
- download blocks as ssz (#5923) (@tuyennhv)
- keymanager API to create signed voluntary exit message (#5947) (@nflaig)
- beacon-node: network worker event latency metrics (#5800) (@matthewkeil)
- logger: remove unused trace log level (#5861) (@matthewkeil)
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
- update mocha and tests related dependencies (#5997) (@nazarhussain)
- update typescript and lint dependencies (#5995) (@nazarhussain)
Continuous Integration
- set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
- enable mixed beacon-validator sim tests (#5940) (@nflaig)
Tests
- move mocha to vitest for beacon-node change (#6028) (@nazarhussain)
Maintenance
- cleanup exchange transition remanents (#6065) (@g11tech)
- fix usage of dependant where should be dependent (#6056) (@kevinheavey)
- fix typos (#6036) (@GoodDaisy)
- bump libp2p deps (#6015) (@wemeetagain)
- update persistent-merkle-tree 0.6.1 (#5969) (@tuyennhv)
- remove unconfigured panels in dashboards (#6025) (@nflaig)
- merge stable to unstable (#5996) (@wemeetagain)
- updating teku mainnet bootnodes enrs (#6003) (@lucassaldanha)
- revert the promise catch for the indices service (#6000) (@nazarhussain)
- unrelated code cleanup (#5989) (@nflaig)
- update holesky bootnode ENRs (#5982) (@nflaig)
- remove reference to sharding (#5975) (@wemeetagain)
- update to ssz 0.13.0 (#5959) (@tuyennhv)
- avoid using bigint for metrics (#5926) (@tuyennhv)
- update ssz for optional type availability (#5948) (@g11tech)
- update testcontainers package to 10.2.1 (#5944) (@nflaig)
- benchmark bls signature deserialization (#5922) (@tuyennhv)
- render eventloop lags metrics as quantiles (#5927) (@dapplion)
- merge stable to unstable (#5931) (@wemeetagain)
- add rate() to batch histogram panel (#5921) (@tuyennhv)
- merge stable to unstable (#5920) (@wemeetagain)
- track time to stable mesh metric in Grafana (#5916) (@tuyennhv)
- deps-dev: bump electron from 26.2.2 to 26.2.4 (#6023) (@dependabot[bot])
- deps-dev: bump electron from 21.4.4 to 22.3.24 (#5983) (@dependabot[bot])
- deps: bump systeminformation from 5.17.12 to 5.21.7 (#5980) (@dependabot[bot])
- docker: security upgrade grafana/grafana from 8.5.25 to 8.5.27 (#5924) (@nazarhussain)
Documentation
- add twitter link to readme (#6051) (@philknows)
- add section about metrics to style guide (#6048) (@nflaig)
Release v1.12.0-rc.0
Changelog
Features
- add optional id and clv to JWT claims (#6052) (@naviechan)
- add blob_sidecar sse event (#6044) (@g11tech)
- update c-kzg and use official trusted setup (#6055) (@g11tech)
- restart aware doppelganger protection (#6012) (@nflaig)
- support "input" param for verifiable tx (#6019) (@rdvorkin)
- add rated.network score to validator monitor dashboard (#6027) (@nflaig)
- support qvalue weighting in Accept headers (#6014) (@jshufro)
- add option to log validator monitor events as info (#6009) (@nflaig)
- add max activation churn limit and other deneb devnet-9 spec updates (#5958) (@dapplion)
- add logs for builder validator registrations (#5986) (@nflaig)
- improve doppelganger protection logs (#5987) (@nflaig)
- add swagger ui API explorer (#5970) (@wemeetagain)
- always try to fetch optimistic update when starting lc (#5977) (@rdvorkin)
- selectively use nodejs crypto for noise (#5900) (@wemeetagain)
- add metric for slot of next scheduled attestation duty (#5954) (@nflaig)
- simplify bootnode enr initialization (#5945) (@wemeetagain)
- download blocks as ssz (#5923) (@tuyennhv)
- keymanager API to create signed voluntary exit message (#5947) (@nflaig)
- beacon-node: network worker event latency metrics (#5800) (@matthewkeil)
- logger: remove unused trace log level (#5861) (@matthewkeil)
Bug Fixes
- 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
- update mocha and tests related dependencies (#5997) (@nazarhussain)
- update typescript and lint dependencies (#5995) (@nazarhussain)
Continuous Integration
- set job status of e2e tests to passed after 15m timeout (#6017) (@nflaig)
- enable mixed beacon-validator sim tests (#5940) (@nflaig)
Tests
- move mocha to vitest for beacon-node change (#6028) (@nazarhussain)
Maintenance
- cleanup exchange transition remanents (#6065) (@g11tech)
- fix usage of dependant where should be dependent (#6056) (@kevinheavey)
- fix typos (#6036) (@GoodDaisy)
- bump libp2p deps (#6015) (@wemeetagain)
- update persistent-merkle-tree 0.6.1 (#5969) (@tuyennhv)
- remove unconfigured panels in dashboards (#6025) (@nflaig)
- merge stable to unstable (#5996) (@wemeetagain)
- updating teku mainnet bootnodes enrs (#6003) (@lucassaldanha)
- revert the promise catch for the indices service (#6000) (@nazarhussain)
- unrelated code cleanup (#5989) (@nflaig)
- update holesky bootnode ENRs (#5982) (@nflaig)
- remove reference to sharding (#5975) (@wemeetagain)
- update to ssz 0.13.0 (#5959) (@tuyennhv)
- avoid using bigint for metrics (#5926) (@tuyennhv)
- update ssz for optional type availability (#5948) (@g11tech)
- update testcontainers package to 10.2.1 (#5944) (@nflaig)
- benchmark bls signature deserialization (#5922) (@tuyennhv)
- render eventloop lags metrics as quantiles (#5927) (@dapplion)
- merge stable to unstable (#5931) (@wemeetagain)
- add rate() to batch histogram panel (#5921) (@tuyennhv)
- merge stable to unstable (#5920) (@wemeetagain)
- track time to stable mesh metric in Grafana (#5916) (@tuyennhv)
- deps-dev: bump electron from 26.2.2 to 26.2.4 (#6023) (@dependabot[bot])
- deps-dev: bump electron from 21.4.4 to 22.3.24 (#5983) (@dependabot[bot])
- deps: bump systeminformation from 5.17.12 to 5.21.7 (#5980) (@dependabot[bot])
- docker: security upgrade grafana/grafana from 8.5.25 to 8.5.27 (#5924) (@nazarhussain)
Documentation
- add twitter link to readme (#6051) (@philknows)
- add section about metrics to style guide (#6048) (@nflaig)
Release v1.11.3
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
Bug Fixes
- update holesky genesis time (#5972) (@nflaig)
- update holesky config for new genesis (#5971) (@nflaig)
Maintenance
Release v1.11.1
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
Bug Fixes
Maintenance
- release v1.11.1 (#5930) (@wemeetagain)
Release v1.11.0
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
Release v1.11.0-rc.0
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
- 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)