Releases: ChainSafe/lodestar
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)
Documentation
Release v1.10.0
It's August! And Lodestar v1.10 is here! Two words: Performance upgrades. One of the biggest changes here is the NodeJS v20 upgrade. Please update your node environments accordingly - we no longer support anything before nodeJS v18.15.0. IPv6 is now supported. Lots of bug fixes and included bandwidth optimizations that are largely beneficial to larger node operators. For users, there is a --builder.selection=builderonly
block proposal option for DVT users so you sign the same block through the relayer. If you've enabled doppelganger protection, the CLI flag has changed to --doppelgangerProtection
to better align with other implementations.
Changelog
Features
- add syncing_status query parameter to eth/v1/node/health (#5790) (@nflaig)
- enable deterministicLongLivedAttnets by default (#5822) (@tuyennhv)
- only subscribe to short lived subnets 2 slots in advanced (#5810) (@tuyennhv)
- poll proposer duties of next epoch in advance (#5794) (@tuyennhv)
- only dial subnet peers if needed (#5782) (@tuyennhv)
- code coverage for tests using c8 (#5225) (@0xTylerHolmes)
- enable commented deneb spec tests (#5789) (@g11tech)
- add verifySignatureSetsSameMessage BLS api (#5747) (@tuyennhv)
- extend attestation validity till end of next epoch - eip7045 (#5731) (@g11tech)
- add engine fcU v3 for devnet 8 (#5773) (@g11tech)
- add IPv6 support (#5758) (@wemeetagain)
- track participants of produced aggregates (#5750) (@dapplion)
- prioritize api signature sets (#5754) (@tuyennhv)
- support el_offline in eth/v1/node/syncing (#5723) (@nazarhussain)
- track attestationInBlockParticipants (#5749) (@dapplion)
- subscribe to 2 long lived subnets per node (#5704) (@tuyennhv)
- deprecate engine_exchangeTransitionConfigurationV1 (#5724) (@g11tech)
- freeze voluntary exit signature fork domain to Capella version from deneb fork onwards (#5688) (@g11tech)
- migrate to blob side cars validation from blobs side car (#5687) (@g11tech)
- emit eventstream events with incoming gossip (#5596) (@dapplion)
- implement eip 4788 for deneb (#5703) (@g11tech)
- add block proposal summary metric to validator monitor (#5603) (@dapplion)
- add EL sim utility fn to send big raw blob txs (#5661) (@g11tech)
- allow builder only proposal flow for benefit of DVT protocols (#5669) (@g11tech)
- skip serializing block after fetching from network (#5573) (@dapplion)
- publish blobsidecars instead of blobssidecar (#5662) (@g11tech)
Bug Fixes
- parse bootnode entires with IP and location information (#5834) (@nflaig)
- make SLOTS_TO_SUBSCRIBE_IN_ADVANCE as hidden cli param (#5819) (@tuyennhv)
- prevent non-local IP enr warning (#5802) (@wemeetagain)
- eventstream invalid topic error (#5787) (@nflaig)
- gracefully terminate connections when closing http server (#5786) (@nflaig)
- contract eth_call bug and made some improvements (#5785) (@nazarhussain)
- eventstream listen on socket for close/end event (#5795) (@nflaig)
- prevent eventstream errors on shutdown or client aborts (#5784) (@nflaig)
- metrics server listen on localhost by default (#5777) (@nflaig)
- prevent updating execution engine state during shutdown (#5770) (@nflaig)
- correct subscribedToNetworkEvents flag of UnknownBlockSync (#5764) (@tuyennhv)
- lower the block production wait cutoff time for timely proposal publish (#5760) (@g11tech)
- abort and headers already sent errors for the rest api (#5722) (@nazarhussain)
- improve error logging of voluntary-exit command (#5756) (@nflaig)
- fix eslint for import/no-extraneous-dependencies (#5752) (@nazarhussain)
- ignore discovered peers with no multiaddrs (#5736) (@wemeetagain)
- explicitly exit process after beacon node closed (#5716) (@nflaig)
- ignore ALREADY_KNOWN gossip block error (#5714) (@tuyennhv)
- correct subscribedToCoreTopics flag (#5715) (@tuyennhv)
- prevEpochBlockProposalSummary typo (#5707) (@dapplion)
- do not warn out-of-synced status at start up (#5708) (@tuyennhv)
- prometheus-gc-stats metrics bugfix (#5683) (@wemeetagain)
- update the rate limit quota for blobs req/resp by range/by root methods (#5682) (@g11tech)
- fix max responses that can be received by blobs side car by range (#5681) (@g11tech)
- simplify snappy frame encoding (#5617) (@wemeetagain)
- update validator liveness API to be spec compliant (#5667) (@nflaig)
- gossipsub to yield more to the macro queue (#5664) (@tuyennhv)
- prover: allow payload provider to work with no finalized block (#5820) (@nazarhussain)
- validator: close gc collection process on graceful shutdown (#5686) (@nflaig)
- validator: abortable sleep in prepareForNextEpoch (#5666) (@nflaig)
- validator: abortable doppelganger detection (#5665) (@nflaig)
Refactoring
- rename data gas to blob gas for relevant deneb fields (#5816) (@g11tech)
- switch to native fetch implementation (#5811) (@nflaig)
- update distributed aggregation selection error logs (#5780) (@nflaig)
- update execution client state change logs (#5771) (@nflaig)
- align metrics and REST API server logs (#5778) (@nflaig)
- increase batch size to get validator indices to 64 (#5743) (@nflaig)
- remove now defunct network zhejiang (#5721) (@g11tech)
- clean up validator import options (#5689) (@nflaig)
- rename CLI flag to enable doppelganger protection (#5676) (@nflaig)
- beacon-node: simplify libp2p init (#5774) (@wemeetagain)
Dependencies
- update @chainsafe/threads to 1.11.1 (#5759) (@nflaig)
- update libp2p to 0.45.x (#5506) (@wemeetagain)
- update fastify to 4.19.0 (#5726) (@nflaig)
- update typescript and related dependencies (#5720) (@nazarhussain)
Continuous Integration
- update sim tests to node v20 (#5808) (@nflaig)
- assert yarn prints no warnings (#5565) (@dapplion)
- check docs spelling (#5527) (@dapplion)
Tests
- db: add check for gdu vs du (#5788) (@matthewkeil)
- prover: improve test coverage (#5648) (@nazarhussain)
Maintenance
- release 1.10.0 (#5836) (@wemeetagain)
- add produced aggregate metrics to dashboard (#5828) (@tuyennhv)
- fix format of input in dashboard lint script (#5830) (@nflaig)
- update docker nodejs to 20 (#5825) (@wemeetagain)
- bump multiaddr dependency (#5824) (@wemeetagain)
- format inputs on all dashboards to reduce diff (#5821) (@nflaig)
- add request next epoch proposal duties panel (#5815) (@tuyennhv)
- add capella state transition perf tests (#5807) (@dapplion)
- downgrade docker nodejs to 18 (#5812) (@wemeetagain)
- downgrade cross-fetch to v3 (#5806) (@wemeetagain)
- remove redundant eventstream error listener (#5798) (@nflaig)
- bump test-utils to 1.9.2 (#5781) (@wemeetagain)
- automatic meta-bug labels for bug report issues template (#5776) (@philknows)
- use node v20 throughout monorepo (#5730) (@wemeetagain)
- publish the @lodestar/prover package (#5744) (@nazarhussain)
- re-add explicit exit after beacon node closed (#5748) (@nflaig)
- remove winston from packages other than logger (#5742) (@nflaig)
- misc dashboards update (#5738) (@dapplion)
- remove explicit exit after beacon node closed (#5735) (@nflaig)
- disable rate limiting on local testnet node (#5728) (@nflaig)
- merge branch 'stable' into unstable (#5725) (@wemeetagain)
- fix local testnet dev scripts (#5719) (@nflaig)
- fix yarn install warnings (#5711) (@nflaig)
- use availableParallelism to determine thread pool size (#5691) (@nflaig)
- set node version requirement to >=18.15.0 (#5690) (@wemeetagain)
- update prometheus-gc-stats dependency (#5677) (@wemeetagain)
- review fixes for PR-5527 (#5678) (@nflaig)
- merge stable to unstable (#5679) (@tuyennhv)
- update cpu-features subdependency (#5674) (@wemeetagain)
- fix lint-grafana-dashboard.mjs id assertion (#5673) (@nflaig)
- typesafe options and cli args (#4576) (@dapplion)
- add job names to __inputs if used by dashboard (#5672) (@nflaig)
- track block source in lodestar summary dashboard (#5668) (@tuyennhv)
- deps: bump semver from 5.7.1 to 5.7.2 (#5745) (@dependabot[bot])
Documentation
- update instructions on how to contribute to dashboards (#5832) (@nflaig)
- correction on weak subjectivity (#5712) (@matthewkeil)
Release v1.10.0-rc.1
Changelog
Features
- add syncing_status query parameter to eth/v1/node/health (#5790) (@nflaig)
- enable deterministicLongLivedAttnets by default (#5822) (@tuyennhv)
- only subscribe to short lived subnets 2 slots in advanced (#5810) (@tuyennhv)
- poll proposer duties of next epoch in advance (#5794) (@tuyennhv)
- only dial subnet peers if needed (#5782) (@tuyennhv)
- code coverage for tests using c8 (#5225) (@0xTylerHolmes)
- enable commented deneb spec tests (#5789) (@g11tech)
- add verifySignatureSetsSameMessage BLS api (#5747) (@tuyennhv)
- extend attestation validity till end of next epoch - eip7045 (#5731) (@g11tech)
- add engine fcU v3 for devnet 8 (#5773) (@g11tech)
- add IPv6 support (#5758) (@wemeetagain)
- track participants of produced aggregates (#5750) (@dapplion)
- prioritize api signature sets (#5754) (@tuyennhv)
- support el_offline in eth/v1/node/syncing (#5723) (@nazarhussain)
- track attestationInBlockParticipants (#5749) (@dapplion)
- subscribe to 2 long lived subnets per node (#5704) (@tuyennhv)
- deprecate engine_exchangeTransitionConfigurationV1 (#5724) (@g11tech)
- freeze voluntary exit signature fork domain to Capella version from deneb fork onwards (#5688) (@g11tech)
- migrate to blob side cars validation from blobs side car (#5687) (@g11tech)
- emit eventstream events with incoming gossip (#5596) (@dapplion)
- implement eip 4788 for deneb (#5703) (@g11tech)
- add block proposal summary metric to validator monitor (#5603) (@dapplion)
- add EL sim utility fn to send big raw blob txs (#5661) (@g11tech)
- allow builder only proposal flow for benefit of DVT protocols (#5669) (@g11tech)
- skip serializing block after fetching from network (#5573) (@dapplion)
- publish blobsidecars instead of blobssidecar (#5662) (@g11tech)
Bug Fixes
- parse bootnode entires with IP and location information (#5834) (@nflaig)
- make SLOTS_TO_SUBSCRIBE_IN_ADVANCE as hidden cli param (#5819) (@tuyennhv)
- prevent non-local IP enr warning (#5802) (@wemeetagain)
- eventstream invalid topic error (#5787) (@nflaig)
- gracefully terminate connections when closing http server (#5786) (@nflaig)
- contract eth_call bug and made some improvements (#5785) (@nazarhussain)
- eventstream listen on socket for close/end event (#5795) (@nflaig)
- prevent eventstream errors on shutdown or client aborts (#5784) (@nflaig)
- metrics server listen on localhost by default (#5777) (@nflaig)
- prevent updating execution engine state during shutdown (#5770) (@nflaig)
- correct subscribedToNetworkEvents flag of UnknownBlockSync (#5764) (@tuyennhv)
- lower the block production wait cutoff time for timely proposal publish (#5760) (@g11tech)
- abort and headers already sent errors for the rest api (#5722) (@nazarhussain)
- improve error logging of voluntary-exit command (#5756) (@nflaig)
- fix eslint for import/no-extraneous-dependencies (#5752) (@nazarhussain)
- ignore discovered peers with no multiaddrs (#5736) (@wemeetagain)
- explicitly exit process after beacon node closed (#5716) (@nflaig)
- ignore ALREADY_KNOWN gossip block error (#5714) (@tuyennhv)
- correct subscribedToCoreTopics flag (#5715) (@tuyennhv)
- prevEpochBlockProposalSummary typo (#5707) (@dapplion)
- do not warn out-of-synced status at start up (#5708) (@tuyennhv)
- prometheus-gc-stats metrics bugfix (#5683) (@wemeetagain)
- update the rate limit quota for blobs req/resp by range/by root methods (#5682) (@g11tech)
- fix max responses that can be received by blobs side car by range (#5681) (@g11tech)
- simplify snappy frame encoding (#5617) (@wemeetagain)
- update validator liveness API to be spec compliant (#5667) (@nflaig)
- gossipsub to yield more to the macro queue (#5664) (@tuyennhv)
- prover: allow payload provider to work with no finalized block (#5820) (@nazarhussain)
- validator: close gc collection process on graceful shutdown (#5686) (@nflaig)
- validator: abortable sleep in prepareForNextEpoch (#5666) (@nflaig)
- validator: abortable doppelganger detection (#5665) (@nflaig)
Refactoring
- rename data gas to blob gas for relevant deneb fields (#5816) (@g11tech)
- switch to native fetch implementation (#5811) (@nflaig)
- update distributed aggregation selection error logs (#5780) (@nflaig)
- update execution client state change logs (#5771) (@nflaig)
- align metrics and REST API server logs (#5778) (@nflaig)
- increase batch size to get validator indices to 64 (#5743) (@nflaig)
- remove now defunct network zhejiang (#5721) (@g11tech)
- clean up validator import options (#5689) (@nflaig)
- rename CLI flag to enable doppelganger protection (#5676) (@nflaig)
- beacon-node: simplify libp2p init (#5774) (@wemeetagain)
Dependencies
- update @chainsafe/threads to 1.11.1 (#5759) (@nflaig)
- update libp2p to 0.45.x (#5506) (@wemeetagain)
- update fastify to 4.19.0 (#5726) (@nflaig)
- update typescript and related dependencies (#5720) (@nazarhussain)
Continuous Integration
- update sim tests to node v20 (#5808) (@nflaig)
- assert yarn prints no warnings (#5565) (@dapplion)
- check docs spelling (#5527) (@dapplion)
Tests
- db: add check for gdu vs du (#5788) (@matthewkeil)
- prover: improve test coverage (#5648) (@nazarhussain)
Maintenance
- add produced aggregate metrics to dashboard (#5828) (@tuyennhv)
- fix format of input in dashboard lint script (#5830) (@nflaig)
- update docker nodejs to 20 (#5825) (@wemeetagain)
- bump multiaddr dependency (#5824) (@wemeetagain)
- format inputs on all dashboards to reduce diff (#5821) (@nflaig)
- add request next epoch proposal duties panel (#5815) (@tuyennhv)
- add capella state transition perf tests (#5807) (@dapplion)
- downgrade docker nodejs to 18 (#5812) (@wemeetagain)
- downgrade cross-fetch to v3 (#5806) (@wemeetagain)
- remove redundant eventstream error listener (#5798) (@nflaig)
- bump test-utils to 1.9.2 (#5781) (@wemeetagain)
- automatic meta-bug labels for bug report issues template (#5776) (@philknows)
- use node v20 throughout monorepo (#5730) (@wemeetagain)
- publish the @lodestar/prover package (#5744) (@nazarhussain)
- re-add explicit exit after beacon node closed (#5748) (@nflaig)
- remove winston from packages other than logger (#5742) (@nflaig)
- misc dashboards update (#5738) (@dapplion)
- remove explicit exit after beacon node closed (#5735) (@nflaig)
- disable rate limiting on local testnet node (#5728) (@nflaig)
- merge branch 'stable' into unstable (#5725) (@wemeetagain)
- fix local testnet dev scripts (#5719) (@nflaig)
- fix yarn install warnings (#5711) (@nflaig)
- use availableParallelism to determine thread pool size (#5691) (@nflaig)
- set node version requirement to >=18.15.0 (#5690) (@wemeetagain)
- update prometheus-gc-stats dependency (#5677) (@wemeetagain)
- review fixes for PR-5527 (#5678) (@nflaig)
- merge stable to unstable (#5679) (@tuyennhv)
- update cpu-features subdependency (#5674) (@wemeetagain)
- fix lint-grafana-dashboard.mjs id assertion (#5673) (@nflaig)
- typesafe options and cli args (#4576) (@dapplion)
- add job names to __inputs if used by dashboard (#5672) (@nflaig)
- track block source in lodestar summary dashboard (#5668) (@tuyennhv)
- deps: bump semver from 5.7.1 to 5.7.2 (#5745) (@dependabot[bot])
Documentation
- update instructions on how to contribute to dashboards (#5832) (@nflaig)
- correction on weak subjectivity (#5712) (@matthewkeil)
Release v1.10.0-rc.0
Changelog
Features
- only subscribe to short lived subnets 2 slots in advanced (#5810) (@tuyennhv)
- poll proposer duties of next epoch in advance (#5794) (@tuyennhv)
- only dial subnet peers if needed (#5782) (@tuyennhv)
- code coverage for tests using c8 (#5225) (@0xTylerHolmes)
- enable commented deneb spec tests (#5789) (@g11tech)
- add verifySignatureSetsSameMessage BLS api (#5747) (@tuyennhv)
- extend attestation validity till end of next epoch - eip7045 (#5731) (@g11tech)
- add engine fcU v3 for devnet 8 (#5773) (@g11tech)
- add IPv6 support (#5758) (@wemeetagain)
- track participants of produced aggregates (#5750) (@dapplion)
- prioritize api signature sets (#5754) (@tuyennhv)
- support el_offline in eth/v1/node/syncing (#5723) (@nazarhussain)
- track attestationInBlockParticipants (#5749) (@dapplion)
- subscribe to 2 long lived subnets per node (#5704) (@tuyennhv)
- deprecate engine_exchangeTransitionConfigurationV1 (#5724) (@g11tech)
- freeze voluntary exit signature fork domain to Capella version from deneb fork onwards (#5688) (@g11tech)
- migrate to blob side cars validation from blobs side car (#5687) (@g11tech)
- emit eventstream events with incoming gossip (#5596) (@dapplion)
- implement eip 4788 for deneb (#5703) (@g11tech)
- add block proposal summary metric to validator monitor (#5603) (@dapplion)
- add EL sim utility fn to send big raw blob txs (#5661) (@g11tech)
- allow builder only proposal flow for benefit of DVT protocols (#5669) (@g11tech)
- skip serializing block after fetching from network (#5573) (@dapplion)
- publish blobsidecars instead of blobssidecar (#5662) (@g11tech)
Bug Fixes
- prevent non-local IP enr warning (#5802) (@wemeetagain)
- eventstream invalid topic error (#5787) (@nflaig)
- gracefully terminate connections when closing http server (#5786) (@nflaig)
- contract eth_call bug and made some improvements (#5785) (@nazarhussain)
- eventstream listen on socket for close/end event (#5795) (@nflaig)
- prevent eventstream errors on shutdown or client aborts (#5784) (@nflaig)
- metrics server listen on localhost by default (#5777) (@nflaig)
- prevent updating execution engine state during shutdown (#5770) (@nflaig)
- correct subscribedToNetworkEvents flag of UnknownBlockSync (#5764) (@tuyennhv)
- lower the block production wait cutoff time for timely proposal publish (#5760) (@g11tech)
- abort and headers already sent errors for the rest api (#5722) (@nazarhussain)
- improve error logging of voluntary-exit command (#5756) (@nflaig)
- fix eslint for import/no-extraneous-dependencies (#5752) (@nazarhussain)
- ignore discovered peers with no multiaddrs (#5736) (@wemeetagain)
- explicitly exit process after beacon node closed (#5716) (@nflaig)
- ignore ALREADY_KNOWN gossip block error (#5714) (@tuyennhv)
- correct subscribedToCoreTopics flag (#5715) (@tuyennhv)
- prevEpochBlockProposalSummary typo (#5707) (@dapplion)
- do not warn out-of-synced status at start up (#5708) (@tuyennhv)
- prometheus-gc-stats metrics bugfix (#5683) (@wemeetagain)
- update the rate limit quota for blobs req/resp by range/by root methods (#5682) (@g11tech)
- fix max responses that can be received by blobs side car by range (#5681) (@g11tech)
- simplify snappy frame encoding (#5617) (@wemeetagain)
- update validator liveness API to be spec compliant (#5667) (@nflaig)
- gossipsub to yield more to the macro queue (#5664) (@tuyennhv)
- validator: close gc collection process on graceful shutdown (#5686) (@nflaig)
- validator: abortable sleep in prepareForNextEpoch (#5666) (@nflaig)
- validator: abortable doppelganger detection (#5665) (@nflaig)
Refactoring
- update distributed aggregation selection error logs (#5780) (@nflaig)
- update execution client state change logs (#5771) (@nflaig)
- align metrics and REST API server logs (#5778) (@nflaig)
- increase batch size to get validator indices to 64 (#5743) (@nflaig)
- remove now defunct network zhejiang (#5721) (@g11tech)
- clean up validator import options (#5689) (@nflaig)
- rename CLI flag to enable doppelganger protection (#5676) (@nflaig)
- beacon-node: simplify libp2p init (#5774) (@wemeetagain)
Dependencies
- update @chainsafe/threads to 1.11.1 (#5759) (@nflaig)
- update libp2p to 0.45.x (#5506) (@wemeetagain)
- update fastify to 4.19.0 (#5726) (@nflaig)
- update typescript and related dependencies (#5720) (@nazarhussain)
Continuous Integration
Tests
- db: add check for gdu vs du (#5788) (@matthewkeil)
- prover: improve test coverage (#5648) (@nazarhussain)
Maintenance
- add capella state transition perf tests (#5807) (@dapplion)
- downgrade docker nodejs to 18 (#5812) (@wemeetagain)
- downgrade cross-fetch to v3 (#5806) (@wemeetagain)
- remove redundant eventstream error listener (#5798) (@nflaig)
- bump test-utils to 1.9.2 (#5781) (@wemeetagain)
- automatic meta-bug labels for bug report issues template (#5776) (@philknows)
- use node v20 throughout monorepo (#5730) (@wemeetagain)
- publish the @lodestar/prover package (#5744) (@nazarhussain)
- re-add explicit exit after beacon node closed (#5748) (@nflaig)
- remove winston from packages other than logger (#5742) (@nflaig)
- misc dashboards update (#5738) (@dapplion)
- remove explicit exit after beacon node closed (#5735) (@nflaig)
- disable rate limiting on local testnet node (#5728) (@nflaig)
- merge branch 'stable' into unstable (#5725) (@wemeetagain)
- fix local testnet dev scripts (#5719) (@nflaig)
- fix yarn install warnings (#5711) (@nflaig)
- use availableParallelism to determine thread pool size (#5691) (@nflaig)
- set node version requirement to >=18.15.0 (#5690) (@wemeetagain)
- update prometheus-gc-stats dependency (#5677) (@wemeetagain)
- review fixes for PR-5527 (#5678) (@nflaig)
- merge stable to unstable (#5679) (@tuyennhv)
- update cpu-features subdependency (#5674) (@wemeetagain)
- fix lint-grafana-dashboard.mjs id assertion (#5673) (@nflaig)
- typesafe options and cli args (#4576) (@dapplion)
- add job names to __inputs if used by dashboard (#5672) (@nflaig)
- track block source in lodestar summary dashboard (#5668) (@tuyennhv)
- deps: bump semver from 5.7.1 to 5.7.2 (#5745) (@dependabot[bot])
Documentation
- correction on weak subjectivity (#5712) (@matthewkeil)
Release v1.9.2
Changelog
Features
Bug Fixes
- correct subscribedToNetworkEvents flag of UnknownBlockSync (#5764) (@tuyennhv)
- lower the block production wait cutoff time for timely proposal publish (#5760) (@g11tech)
Maintenance
- v1.9.2 release (#5767) (@philknows)
Release v1.9.2-rc.0
Release v1.9.1
We've released a hotfix patch v1.9.1
with some fixes for those who may be struggling with peering or attestations. This patch also addresses some logging UX found on v1.9.0.
For Gnosis users, we have also included scheduling the Gnosis chain Shapella fork.
This upgrade is recommended for those who may have had networking/attestation issues and for those running Lodestar on Gnosis.
Changelog
Features
Bug Fixes
- gossipsub to yield more to the macro queue (#5664) (@tuyennhv)
- explicitly exit process after beacon node closed (#5716) (@nflaig)
- ignore ALREADY_KNOWN gossip block error (#5714) (@tuyennhv)
- correct subscribedToCoreTopics flag (#5715) (@tuyennhv)
- do not warn out-of-synced status at start up (#5708) (@tuyennhv)
Maintenance
- release v1.9.1 (#5718) (@philknows)
Release v1.9.1-rc.1
Changelog
Bug Fixes
- gossipsub to yield more to the macro queue (#5664) (@tuyennhv)
- explicitly exit process after beacon node closed (#5716) (@nflaig)
- ignore ALREADY_KNOWN gossip block error (#5714) (@tuyennhv)
- correct subscribedToCoreTopics flag (#5715) (@tuyennhv)
- do not warn out-of-synced status at start up (#5708) (@tuyennhv)
Release v1.9.1-rc.0
Release v1.9.0
Good day Lodestar users! We've just released v1.9.0 after many, many commits. The most notable changes for users are covered here in our Twitter thread: https://twitter.com/lodestar_eth/status/1671757542400073728
This release is recommended to all users of Lodestar and we can't wait to show you what we have in store for the 1.10 release π . Till then! π
Changelog
Features
- update kzg to the latest decoupled and bigendian version (#5659) (@g11tech)
- add option to force checkpoint sync (#5652) (@nflaig)
- make few improvements to the prover (#5636) (@nazarhussain)
- persist network thread profile (#5628) (@tuyennhv)
- update specs to v1.4.0-alpha.2 (#5630) (@g11tech)
- decrypt keystores imported through API in thread pool (#5624) (@nflaig)
- update deneb types and spec to 1.4.0-alpha.1 (#5605) (@g11tech)
- change the blob txs encoding assumption to be opaque rlp (#5569) (@g11tech)
- add validator monitor metric for missed attestation reason (#5602) (@dapplion)
- set network.useWorker to false by default (#5600) (@wemeetagain)
- prune invalid SSZ objects (#5388) (@acuarica)
- add forkchoice data structures metrics (#5576) (@dapplion)
- add --private flag (#5568) (@dapplion)
- add option to configure REST API server header limit (#5594) (@nflaig)
- add reqresp TTFB metrics (#5589) (@dapplion)
- move to blob_sidecars_by_range/root methods (#5564) (@g11tech)
- add blowfish banner for deneb fork activation (#5578) (@g11tech)
- add forkchoice.hasBlockUnsafe() (#5575) (@tuyennhv)
- add metrics to AsyncIterableBridgeCaller (#5548) (@dapplion)
- add setHeadAfterFirstInterval metric (#5559) (@dapplion)
- trigger block search for unknown block attestations (#5485) (@tuyennhv)
- add support for eth_estimateGas (#5521) (@nazarhussain)
- enable deneb spec tests (#5523) (@g11tech)
- add hot and archive db repositories for blobSidecars (#5522) (@g11tech)
- more metrics for sync committee message validation (#5516) (@tuyennhv)
- decouple the deneb blob and block production (#5492) (@g11tech)
- batch io operations when verifying & importing block (#5473) (@tuyennhv)
- move libp2p to network worker thread (#5229) (@dapplion)
- update gnosis capella preset values (#5503) (@dapplion)
- schedule Gnosis Chiado testnet shapella fork (#5504) (@dapplion)
- worker friendly logger instances (#5490) (@dapplion)
- add call support to verified requests for prover (#5462) (@nazarhussain)
- collect and add proposal stats in grafana metrics (#5448) (@g11tech)
- track block source in BlockInput (#5486) (@tuyennhv)
- add disablePeerScoring flag (#5478) (@tuyennhv)
- add support for
justified
block id in Beacon Node API (#5459) (@acuarica) - skip serializing gossip block when persisting to db (#5426) (@tuyennhv)
- block network processor when processing current slot block (#5458) (@tuyennhv)
- prover: add whitelist unverified methods support to prover (#5614) (@nazarhussain)
- prover: add support for batch request (#5610) (@nazarhussain)
- beacon-node: add block error metric to gossip handlers (#5495) (@matthewkeil)
- cli: export slashing protection as interchange format v5 (#5472) (@nflaig)
Bug Fixes
- unknown block sync to subscribe/unsubscribe to network events (#5654) (@tuyennhv)
- ignore queue aborted errors in prepareForNextSlot (#5658) (@nflaig)
- handle only downloaded blocks in unknown block sync (#5656) (@tuyennhv)
- ignore finalized when processing downloaded unknown block (#5651) (@tuyennhv)
- correct slot and index in getEpochCommittees response (#5634) (@nflaig)
- match beacon APIs URL casing (#5643) (@dapplion)
- fix the blobs side cars by range response (#5640) (@g11tech)
- fix big decimal fomatting of zeros after '.' used for logging block reward (#5637) (@g11tech)
- handle dataGasUsed in engine for deneb payload (#5629) (@g11tech)
- prevent unhandled rejections in racePromisesWithCutoff (#5627) (@nflaig)
- write keystore cache with 600 permissions (#5622) (@nflaig)
- archive state without using batchDelete (#5607) (@tuyennhv)
- adjust decryption worker pool size based on keystore count (#5608) (@nflaig)
- use proper newlines in metrics output (#5595) (@wemeetagain)
- restore discv5 metrics (#5590) (@wemeetagain)
- revert PR-5520 (#5592) (@tuyennhv)
- deduplicate notifier log (#5545) (@tuyennhv)
- ensure benchmark workflow is not cancelled on stable/unstable consecutive pushes (#5535) (@g11tech)
- use proper state to verify attestations (#5500) (@tuyennhv)
- correct seen attestation data count per slot metric (#5509) (@tuyennhv)
- modify minimal preset's field elements per blob to mainnet for dev runs (#5484) (@g11tech)
- update builder mergemock sim with builder block assertions (#5432) (@g11tech)
- cli: consistently support URLs as comma-separated values (#5660) (@nflaig)
- logger: restore previous --logFileDailyRotate behavior (#5598) (@nflaig)
- logger: avoid creating new winston instance for each child (#5597) (@nflaig)
- logger: increase max listeners of file transports to 20 (#5537) (@nflaig)
- beacon-node: cleanly exit process on graceful shutdown (#5330) (@nflaig)
- validator: improve error handling in attestation service (#5511) (@nflaig)
- validator: lock keystores when loading from cache file (#5474) (@nflaig)
- validator: log api errors as
warn
if node is syncing (#5467) (@nflaig) - slashing-protection: resolve
minEpoch
max call stack issue (#5461) (@nflaig) - slashing-protection: filter by db bucket when loading pubkeys (#5437) (@nflaig)
- slashing-protection: limit min-max surround epoch lookback to 4096 (#5454) (@nflaig)
Refactoring
- remove intermediary not-started state from peer discovery (#5618) (@dapplion)
- class BeaconDb as close only (#5587) (@dapplion)
- reusable thread pool to decrypt keystores (#5623) (@nflaig)
- do not expose state caches outside regen (#5599) (@dapplion)
- move state getter from API impl to chain (#5572) (@dapplion)
- drop start stop pattern from Network where possible (#5588) (@dapplion)
- move block getter from API impl to chain (#5570) (@dapplion)
- class MonitoringService as close only (#5585) (@dapplion)
- class HttpMetricsServer as close only (#5586) (@dapplion)
- rename EpochContext and EpochProcess (#5558) (@dapplion)
- improve the attached validator finalized proposal stats log ux (#5538) (@g11tech)
- change archiving strategy to always store last finalized (#5520) (@g11tech)
- revise validator log to output seen instead of exists (#5507) (@philknows)
- update the execution api responses to decoupled blobs spec (#5483) (@g11tech)
- separate peer score implementation to multiple functional files (#5479) (@tuyennhv)
- simplify discv5 initialization (#5456) (@wemeetagain)
- move data availability validation out of state transition to allow optimistic sync in future (#5178) (@g11tech)
- improve jwt.ts type definition (#5464) (@trim21)
- move getNetworkIdentity to network class (#5453) (@dapplion)
- move clock events to clock class (#5446) (@dapplion)
- move network core metrics to separate file (#5445) (@dapplion)
- drop MetadataController dependency on BeaconChain (#5443) (@dapplion)
- network: move unclean disconnect log to debug (#5541) (@nflaig)
- network: add gossip publisher module (#5450) (@wemeetagain)
- network: use StatusCache in PeerManager (#5451) (@wemeetagain)
- db: improve error message if database is already used (#5533) (@nflaig)
- reqresp: support byte based handlers (#5417) (@nazarhussain)
Continuous Integration
- add support for the CI env for e2e tests (#5488) (@nazarhussain)
- assert eslintrc rules are sorted (#5567) (@dapplion)
Tests
- make results of keymanager e2e tests deterministic (#5641) (@nflaig)
- update spec tests target to v1.4.0-alpha.3 (#5635) (@g11tech)
- add fork-choice benchmark for updateHead (#5577) (@dapplion)
- remove chain mocks (#5582) (@dapplion)
- enable metrics for the sim tests (#5583) (@nazarhussain)
- add transfer / copy benchmark (#5470) (@wemeetagain)
- update the sim tests to simplify assertion logic (#5501) (@nazarhussain)
- add capella support to sim multi-fork tests (#5489) (@nazarhussain)
Styles
- fix unnecessary type casting (#5639) (@nazarhussain)
Maintenance
- release 1.9.0 (#5631) (@tuyennhv)
- replace lerna commands with yarn (#5657) (@nflaig)
- fix ens-normalize dependency resolution (#5621) (@nflaig)
- update @chainsafe/blst dependency (#5612) (@wemeetagain)
- fix typos in canonical (#5609) (@nflaig)
- update issue templates (#5606) (@philknows)
- update dashboards to support network worker (#5593) (@dapplion)
- [Snyk] Security upgrade grafana/grafana from 8.5.22 to 8.5.25 (#5571) (@snyk-bot)
- add metrics to unknown block sync panel (#5574) (@tuyennhv)
- fix dashboard job name variables (#5579) (@nflaig)
- move DB Bucket schema to consumer packages (#5560) (@dapplion)
- set graphTooltip to shared crosshair (#5563) (@dapplion)
- add rule @typescript-eslint/restrict-template-expressions (#5562) (@dapplion)
- add geth metrics (#5510) (@tuyennhv)
- add network useWorker flag (#5551) (@tuyennhv)
- remove general issue template and enable blank template (#5544) (@philknows)
- add more panels to Gossip Block Validation row (#5540) (@tuyennhv)
- update issue form templates (#5539) (@philknows)
- namespace getExpectedWithdrawals benchmark (#5530) (@dapplion)
- add script to pull dashboards from remote API (#5525) (@dapplion)
- fix build:watch scripts (#5531) (@nflaig)
- cancel previous workflows on new push to the PRs (#5232) (@g11tech)
- add test style guide for assert messages (#5528) (@dapplion)
- grafana dashboard lint rules for API exports (#5526) (@dapplion)
- update rimraf imports to fix eslint warnings (#5518) (@nflaig)
- add eslint rul...