Lodestar Versions Save

🌟 TypeScript Implementation of Ethereum Consensus

v1.18.0

2 weeks ago

Our new release contains some noticable facelifts! We recommend this update to all users of Lodestar.

Our documentation located at https://chainsafe.github.io/lodestar/ is now using Docusaurus for a better experience. We've attached Plausible metrics to further help improve the contents of our documentation with minimal intrusiveness and open-source analytics. We continue to do content additions and improve our documentation for the best user and builder experience possible.

This release addresses many compatibility issues discovered from cross-client testing with Lodestar and other consensus clients. This also includes fixes for compatibility with some external DVT platforms and remote signers.

Target peers by default has been increased from 50 to 100 peers. Many users have already set this for better validator effectiveness and now we have it set by default to become a better peer on the network.

builder.selection now has a default setting that gives slightly preferential treatment to locally produced blocks via builderBoostFactor=90 . This configurable setting is set to 90 instead of 100 by default, requiring builder blocks from relays to be above ~10% profit to be selected. The previous default setting was maxprofit. This can be changed in your local configuration.

Basic devcontainer support is now integrated for easier development setups such as Github Codespaces. For more information, see https://chainsafe.github.io/lodestar/contribution/getting-started#devcontainer.

Changelog

Full Changelog

Features

  • synchronize keys between validator client and external signer (#6672) (@nflaig)
  • add basic devcontainer support (#6667) (@jeluard)
  • add POST endpoints for validators and validator_balances (#6655) (@nflaig)
  • add finalized metadata field to HTTP API responses (#6645) (@nflaig)
  • increase default target peers to 100 (#6556) (@tuyennhv)
  • track leaked libp2p connections (#6656) (@tuyennhv)
  • set default builderBoostFactor to 90 (#6568) (@fredriksvantes)
  • add token-file as an alias to configure keymanager token file (#6609) (@nflaig)
  • introduce proposer boost reorg to fork choice (#6581) (@ensi321)
  • enable gossipsub batch publish (#6597) (@tuyennhv)
  • allow to configure keymanager token file path (#6525) (@nflaig)
  • add anonymized analytics to docs (#6573) (@jeluard)
  • n-historical states feature flags (#6538) (@tuyennhv)
  • new BeaconState.balances ssz type (#6557) (@tuyennhv)
  • add endpoint for attestations reward (#6484) (@ensi321)
  • docusaurus migration (#6533) (@jeluard)
  • pull block from peers after a cutoff if corresponding gossip blobs are seen (#6534) (@g11tech)

Bug Fixes

  • convert getStateV2 response to Buffer without memory copy (#6687) (@nflaig)
  • update @libp2p/tcp (#6676) (@wemeetagain)
  • head state regen in n-historical state (#6674) (@tuyennhv)
  • prune oldest slots first in aggregator tracker (#6668) (@nflaig)
  • properly handle missing schema if route is not defined (#6650) (@nflaig)
  • return 404 error if no aggregated attestation is available (#6648) (@nflaig)
  • compute and get head once when producing block (#6617) (@tuyennhv)
  • no state in cache for finalized checkpoint state (#6620) (@tuyennhv)
  • add accept: application/json header to remote signer requests and improve invalid response handling (#6587) (@cnupy)
  • light-client start should never block (#6619) (@jeluard)
  • checkpoint state cache grafana panel labels (#6618) (@tuyennhv)
  • gossipsub seen_ttl should be in ms (#6607) (@tuyennhv)
  • n historical states metrics (#6608) (@tuyennhv)
  • no state id finalized (#6584) (@tuyennhv)
  • reject promise on file stream error when writing heap snapshot (#6603) (@nflaig)
  • improve state serialization (#6563) (@tuyennhv)
  • set Eth-Consensus-Version header in publish block requests (#6593) (@jeluard)
  • gossipsub seen_ttl for EIP-7045 (#6569) (@tuyennhv)
  • handle skip_randao_verification query param as per spec (#6576) (@nazarhussain)
  • gossipsub pre_validation metrics (#6562) (@tuyennhv)
  • use right slot number for future epoch of proposers duties (#6545) (@nazarhussain)
  • support eth_getBlockByNumber (#6442) (@jeluard)

Refactoring

  • export beacon utils to be reused by other packages (#6640) (@nazarhussain)

Dependencies

  • update fastify to v4.26.2 (#6626) (@nflaig)
  • upgrade vitest to 1.4.0 (#6570) (@nazarhussain)
  • upgrade typescript to 5.4 (#6552) (@nazarhussain)

Tests

  • improve sim tests for some remaining feedback (#6654) (@nazarhussain)
  • move 4844 tests to sim tests (#6622) (@nazarhussain)
  • add support for web3.js to simulation tests (#6641) (@nazarhussain)
  • rename all sim test files to camelCase (#6643) (@nazarhussain)
  • make sure the docker container stopped (#6642) (@nazarhussain)
  • update web3signer e2e tests to verify deneb signatures (#6630) (@nflaig)
  • add debug messages to waitForSlot helper (#6639) (@nazarhussain)
  • move syncing logic to helper functions (#6638) (@nazarhussain)
  • fix multi-fork tests (#6610) (@nazarhussain)
  • move withdrawal tests to sim tests (#6507) (@nazarhussain)
  • upgrade geth version in the sim tests (#6540) (@nazarhussain)

Maintenance

  • release v1.18.0 (#6702) (@wemeetagain)
  • revert "fix: update @libp2p/tcp (#6676)" (#6701) (@nflaig)
  • unify blockStateCache naming convention (#6695) (@tuyennhv)
  • switch from gtag to plausible (#6680) (@jeluard)
  • track leaked connections in grafana (#6675) (@tuyennhv)
  • add beacon node info log when publishing block (#6661) (@nflaig)
  • include slot in publish to topic log (#6662) (@nflaig)
  • reuse setup action (#6659) (@jeluard)
  • upgrade to maintained action (#6657) (@jeluard)
  • fix heap allocations panel in VM + host dashboard (#6647) (@nflaig)
  • upgrade docusaurus (#6623) (@jeluard)
  • refactor DLLAttnetsService to AttnetsService (#6605) (@tuyennhv)
  • remove AttnetsService (#6579) (@tuyennhv)
  • reorder block production log statements (#6601) (@jeluard)
  • allow to pass extra args to dev scripts (#6600) (@jeluard)
  • track state hash_tree_root by bucket (#6599) (@tuyennhv)
  • fix spelling in comments (#6588) (@matthewkeil)
  • fix documentation CLI (#6566) (@jeluard)
  • customize docusaurus title (#6560) (@jeluard)
  • allow to serve docs from root folder (#6571) (@jeluard)
  • use vs theme for docusaurus (#6572) (@jeluard)
  • update the website docs (#6565) (@jeluard)
  • use regular env for docs publishing (#6561) (@jeluard)
  • remove repetitive words (#6544) (@acceptacross)
  • remove now useless bls init (#6513) (@jeluard)
  • apply a small cleanup in types (#6541) (@g11tech)
  • use mitt where possible (#6535) (@jeluard)
  • track epoch transition by reason and prepare next epoch duration (#6529) (@tuyennhv)
  • release script commit update for clarity (#6526) (@philknows)
  • merge v1.17.0 stable back to unstable (#6527) (@philknows)
  • update release script to bump packages commit conventionally (#6524) (@philknows)
  • deps: bump express from 4.18.3 to 4.19.2 in /docs (#6614) (@dependabot[bot])
  • deps: bump web3-utils from 4.0.3 to 4.2.3 (#6698) (@dependabot[bot])
  • deps: bump follow-redirects from 1.15.5 to 1.15.6 in /docs (#6558) (@dependabot[bot])
  • deps: bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /docs (#6585) (@dependabot[bot])
  • deps: bump katex from 0.16.9 to 0.16.10 in /docs (#6592) (@dependabot[bot])
  • deps: bump follow-redirects from 1.15.4 to 1.15.6 (#6555) (@dependabot[bot])
  • deps: bump ip from 1.1.8 to 1.1.9 (#6461) (@dependabot[bot])
  • deps: bump vite from 5.0.12 to 5.2.10 (#6697) (@dependabot[bot])
  • deps: bump tar from 6.1.13 to 6.2.1 (#6658) (@dependabot[bot])

Documentation

  • remove description prefix from CLI options (#6682) (@nflaig)
  • add list of public endpoints to getting started page (#6644) (@wakamex)
  • review docs (#6590) (@nflaig)

v1.18.0-rc.1

2 weeks ago

Changelog

Full Changelog

Features

  • synchronize keys between validator client and external signer (#6672) (@nflaig)
  • add basic devcontainer support (#6667) (@jeluard)
  • add POST endpoints for validators and validator_balances (#6655) (@nflaig)
  • add finalized metadata field to HTTP API responses (#6645) (@nflaig)
  • increase default target peers to 100 (#6556) (@tuyennhv)
  • track leaked libp2p connections (#6656) (@tuyennhv)
  • set default builderBoostFactor to 90 (#6568) (@fredriksvantes)
  • add token-file as an alias to configure keymanager token file (#6609) (@nflaig)
  • introduce proposer boost reorg to fork choice (#6581) (@ensi321)
  • enable gossipsub batch publish (#6597) (@tuyennhv)
  • allow to configure keymanager token file path (#6525) (@nflaig)
  • add anonymized analytics to docs (#6573) (@jeluard)
  • n-historical states feature flags (#6538) (@tuyennhv)
  • new BeaconState.balances ssz type (#6557) (@tuyennhv)
  • add endpoint for attestations reward (#6484) (@ensi321)
  • docusaurus migration (#6533) (@jeluard)
  • pull block from peers after a cutoff if corresponding gossip blobs are seen (#6534) (@g11tech)

Bug Fixes

  • convert getStateV2 response to Buffer without memory copy (#6687) (@nflaig)
  • update @libp2p/tcp (#6676) (@wemeetagain)
  • head state regen in n-historical state (#6674) (@tuyennhv)
  • prune oldest slots first in aggregator tracker (#6668) (@nflaig)
  • properly handle missing schema if route is not defined (#6650) (@nflaig)
  • return 404 error if no aggregated attestation is available (#6648) (@nflaig)
  • compute and get head once when producing block (#6617) (@tuyennhv)
  • no state in cache for finalized checkpoint state (#6620) (@tuyennhv)
  • add accept: application/json header to remote signer requests and improve invalid response handling (#6587) (@cnupy)
  • light-client start should never block (#6619) (@jeluard)
  • checkpoint state cache grafana panel labels (#6618) (@tuyennhv)
  • gossipsub seen_ttl should be in ms (#6607) (@tuyennhv)
  • n historical states metrics (#6608) (@tuyennhv)
  • no state id finalized (#6584) (@tuyennhv)
  • reject promise on file stream error when writing heap snapshot (#6603) (@nflaig)
  • improve state serialization (#6563) (@tuyennhv)
  • set Eth-Consensus-Version header in publish block requests (#6593) (@jeluard)
  • gossipsub seen_ttl for EIP-7045 (#6569) (@tuyennhv)
  • handle skip_randao_verification query param as per spec (#6576) (@nazarhussain)
  • gossipsub pre_validation metrics (#6562) (@tuyennhv)
  • use right slot number for future epoch of proposers duties (#6545) (@nazarhussain)
  • support eth_getBlockByNumber (#6442) (@jeluard)

Refactoring

  • export beacon utils to be reused by other packages (#6640) (@nazarhussain)

Dependencies

  • update fastify to v4.26.2 (#6626) (@nflaig)
  • upgrade vitest to 1.4.0 (#6570) (@nazarhussain)
  • upgrade typescript to 5.4 (#6552) (@nazarhussain)

Tests

  • improve sim tests for some remaining feedback (#6654) (@nazarhussain)
  • move 4844 tests to sim tests (#6622) (@nazarhussain)
  • add support for web3.js to simulation tests (#6641) (@nazarhussain)
  • rename all sim test files to camelCase (#6643) (@nazarhussain)
  • make sure the docker container stopped (#6642) (@nazarhussain)
  • update web3signer e2e tests to verify deneb signatures (#6630) (@nflaig)
  • add debug messages to waitForSlot helper (#6639) (@nazarhussain)
  • move syncing logic to helper functions (#6638) (@nazarhussain)
  • fix multi-fork tests (#6610) (@nazarhussain)
  • move withdrawal tests to sim tests (#6507) (@nazarhussain)
  • upgrade geth version in the sim tests (#6540) (@nazarhussain)

Maintenance

  • switch from gtag to plausible (#6680) (@jeluard)
  • track leaked connections in grafana (#6675) (@tuyennhv)
  • add beacon node info log when publishing block (#6661) (@nflaig)
  • include slot in publish to topic log (#6662) (@nflaig)
  • reuse setup action (#6659) (@jeluard)
  • upgrade to maintained action (#6657) (@jeluard)
  • fix heap allocations panel in VM + host dashboard (#6647) (@nflaig)
  • upgrade docusaurus (#6623) (@jeluard)
  • refactor DLLAttnetsService to AttnetsService (#6605) (@tuyennhv)
  • remove AttnetsService (#6579) (@tuyennhv)
  • reorder block production log statements (#6601) (@jeluard)
  • allow to pass extra args to dev scripts (#6600) (@jeluard)
  • track state hash_tree_root by bucket (#6599) (@tuyennhv)
  • fix spelling in comments (#6588) (@matthewkeil)
  • fix documentation CLI (#6566) (@jeluard)
  • customize docusaurus title (#6560) (@jeluard)
  • allow to serve docs from root folder (#6571) (@jeluard)
  • use vs theme for docusaurus (#6572) (@jeluard)
  • update the website docs (#6565) (@jeluard)
  • use regular env for docs publishing (#6561) (@jeluard)
  • remove repetitive words (#6544) (@acceptacross)
  • remove now useless bls init (#6513) (@jeluard)
  • apply a small cleanup in types (#6541) (@g11tech)
  • use mitt where possible (#6535) (@jeluard)
  • track epoch transition by reason and prepare next epoch duration (#6529) (@tuyennhv)
  • release script commit update for clarity (#6526) (@philknows)
  • merge v1.17.0 stable back to unstable (#6527) (@philknows)
  • update release script to bump packages commit conventionally (#6524) (@philknows)

Documentation

  • remove description prefix from CLI options (#6682) (@nflaig)
  • add list of public endpoints to getting started page (#6644) (@wakamex)
  • review docs (#6590) (@nflaig)

v1.18.0-rc.0

3 weeks ago

Changelog

Full Changelog

Features

  • add POST endpoints for validators and validator_balances (#6655) (@nflaig)
  • add finalized metadata field to HTTP API responses (#6645) (@nflaig)
  • increase default target peers to 100 (#6556) (@tuyennhv)
  • track leaked libp2p connections (#6656) (@tuyennhv)
  • set default builderBoostFactor to 90 (#6568) (@fredriksvantes)
  • add token-file as an alias to configure keymanager token file (#6609) (@nflaig)
  • introduce proposer boost reorg to fork choice (#6581) (@ensi321)
  • enable gossipsub batch publish (#6597) (@tuyennhv)
  • allow to configure keymanager token file path (#6525) (@nflaig)
  • add anonymized analytics to docs (#6573) (@jeluard)
  • n-historical states feature flags (#6538) (@tuyennhv)
  • new BeaconState.balances ssz type (#6557) (@tuyennhv)
  • add endpoint for attestations reward (#6484) (@ensi321)
  • docusaurus migration (#6533) (@jeluard)
  • pull block from peers after a cutoff if corresponding gossip blobs are seen (#6534) (@g11tech)

Bug Fixes

  • properly handle missing schema if route is not defined (#6650) (@nflaig)
  • return 404 error if no aggregated attestation is available (#6648) (@nflaig)
  • compute and get head once when producing block (#6617) (@tuyennhv)
  • no state in cache for finalized checkpoint state (#6620) (@tuyennhv)
  • add accept: application/json header to remote signer requests and improve invalid response handling (#6587) (@cnupy)
  • light-client start should never block (#6619) (@jeluard)
  • checkpoint state cache grafana panel labels (#6618) (@tuyennhv)
  • gossipsub seen_ttl should be in ms (#6607) (@tuyennhv)
  • n historical states metrics (#6608) (@tuyennhv)
  • no state id finalized (#6584) (@tuyennhv)
  • reject promise on file stream error when writing heap snapshot (#6603) (@nflaig)
  • improve state serialization (#6563) (@tuyennhv)
  • set Eth-Consensus-Version header in publish block requests (#6593) (@jeluard)
  • gossipsub seen_ttl for EIP-7045 (#6569) (@tuyennhv)
  • handle skip_randao_verification query param as per spec (#6576) (@nazarhussain)
  • gossipsub pre_validation metrics (#6562) (@tuyennhv)
  • use right slot number for future epoch of proposers duties (#6545) (@nazarhussain)
  • support eth_getBlockByNumber (#6442) (@jeluard)

Refactoring

  • export beacon utils to be reused by other packages (#6640) (@nazarhussain)

Dependencies

  • update fastify to v4.26.2 (#6626) (@nflaig)
  • upgrade vitest to 1.4.0 (#6570) (@nazarhussain)
  • upgrade typescript to 5.4 (#6552) (@nazarhussain)

Tests

  • move 4844 tests to sim tests (#6622) (@nazarhussain)
  • add support for web3.js to simulation tests (#6641) (@nazarhussain)
  • rename all sim test files to camelCase (#6643) (@nazarhussain)
  • make sure the docker container stopped (#6642) (@nazarhussain)
  • update web3signer e2e tests to verify deneb signatures (#6630) (@nflaig)
  • add debug messages to waitForSlot helper (#6639) (@nazarhussain)
  • move syncing logic to helper functions (#6638) (@nazarhussain)
  • fix multi-fork tests (#6610) (@nazarhussain)
  • move withdrawal tests to sim tests (#6507) (@nazarhussain)
  • upgrade geth version in the sim tests (#6540) (@nazarhussain)

Maintenance

  • reuse setup action (#6659) (@jeluard)
  • upgrade to maintained action (#6657) (@jeluard)
  • fix heap allocations panel in VM + host dashboard (#6647) (@nflaig)
  • upgrade docusaurus (#6623) (@jeluard)
  • refactor DLLAttnetsService to AttnetsService (#6605) (@tuyennhv)
  • remove AttnetsService (#6579) (@tuyennhv)
  • reorder block production log statements (#6601) (@jeluard)
  • allow to pass extra args to dev scripts (#6600) (@jeluard)
  • track state hash_tree_root by bucket (#6599) (@tuyennhv)
  • fix spelling in comments (#6588) (@matthewkeil)
  • fix documentation CLI (#6566) (@jeluard)
  • customize docusaurus title (#6560) (@jeluard)
  • allow to serve docs from root folder (#6571) (@jeluard)
  • use vs theme for docusaurus (#6572) (@jeluard)
  • update the website docs (#6565) (@jeluard)
  • use regular env for docs publishing (#6561) (@jeluard)
  • remove repetitive words (#6544) (@acceptacross)
  • remove now useless bls init (#6513) (@jeluard)
  • apply a small cleanup in types (#6541) (@g11tech)
  • use mitt where possible (#6535) (@jeluard)
  • track epoch transition by reason and prepare next epoch duration (#6529) (@tuyennhv)
  • release script commit update for clarity (#6526) (@philknows)
  • merge v1.17.0 stable back to unstable (#6527) (@philknows)
  • update release script to bump packages commit conventionally (#6524) (@philknows)

Documentation

  • add list of public endpoints to getting started page (#6644) (@wakamex)
  • review docs (#6590) (@nflaig)

v1.17.0

1 month ago

Hey everyone! We have released an optimization update for Lodestar! This version is recommended for upgrade, but not required for success on the Deneb hard fork this week. Some of the optimizations include:

  • Support for the sync committee reward beacon API endpoint post-Altair
  • Deneb: Pull blobs as soon as we see a new block
  • Deneb: Increase max attestation inclusion slot for post Deneb blocks
  • Memory optimizations
  • We have stopped supporting and now restrict using anything older than nodeJS v20.1 in our package.json

See you on the other side of the fork!

Changelog

Full Changelog

Features

  • use Uint32Array for shuffling/committees (#6475) (@wemeetagain)
  • add clone option to state caches (#6512) (@tuyennhv)
  • new getCheckpointStateOrBytes() api and clone states from cache (#6504) (@tuyennhv)
  • aggressively pull blobs as soon as we see the block (#6499) (@g11tech)
  • add endpoint for sync committee reward (#6260) (@ensi321)
  • regen to consume state cache reload api (#6456) (@tuyennhv)
  • add endpoint for Altair block reward (#6178) (@ensi321)

Bug Fixes

  • increase max attestation inclusion slot for post deneb blocks (#6522) (@nflaig)
  • remove extra validation from builder response in builder proposal (#6478) (@g11tech)
  • increase bodyLimit of the beacon api server (#6476) (@g11tech)
  • request retries are abortable (#6466) (@nflaig)
  • update SSE payload attributes to be spec compliant (#6471) (@nflaig)

Refactoring

  • reuse command types/utils across packages (#6441) (@nflaig)
  • update retry function (#6451) (@FaybianB)

Dependencies

  • upgrade the lint and prettier deps (#6496) (@nazarhussain)
  • update typescript to 5.3.3 (#6491) (@nazarhussain)

Continuous Integration

  • remove duplicate debug logs upload step (#6474) (@nflaig)
  • fix chrome download in browser tests (#6473) (@nflaig)

Tests

  • update beacon api spec to v2.5.0 (#6354) (@jeluard)
  • consolidate sim-merge tests (#6344) (@nazarhussain)

Maintenance

  • release v1.17.0 (#6523) (@philknows)
  • remove state-transition dependency (#6519) (@jeluard)
  • simplify LightClient usage (#6506) (@jeluard)
  • remove lodash usage (#6501) (@HiroyukiNaito)
  • upgrade blst (#6492) (@jeluard)
  • restrict node version to 20.x (#6498) (@nflaig)
  • add eslint rule to restrict global fetch (#6500) (@nflaig)
  • improve missing docker engine detection (#6495) (@jeluard)
  • cleanup older dependencies (#6482) (@jeluard)
  • update yarn links to point to classic yarn (#6477) (@har777)
  • add eslint rule to prevent unused expressions (#6445) (@nflaig)
  • clean up prettier-ignore in tests (#6464) (@nflaig)
  • use term 'retries' instead of 'retryAttempts' consistently (#6465) (@nflaig)
  • merge v1.16.0 stable back to unstable (#6472) (@philknows)

Documentation

  • update vc-configuration md doc (#6503) (@philknows)

v1.17.0-rc.2

1 month ago

Changelog

Full Changelog

Features

  • use Uint32Array for shuffling/committees (#6475) (@wemeetagain)
  • add clone option to state caches (#6512) (@tuyennhv)
  • new getCheckpointStateOrBytes() api and clone states from cache (#6504) (@tuyennhv)
  • aggressively pull blobs as soon as we see the block (#6499) (@g11tech)
  • add endpoint for sync committee reward (#6260) (@ensi321)
  • regen to consume state cache reload api (#6456) (@tuyennhv)
  • add endpoint for Altair block reward (#6178) (@ensi321)

Bug Fixes

  • increase max attestation inclusion slot for post deneb blocks (#6522) (@nflaig)
  • remove extra validation from builder response in builder proposal (#6478) (@g11tech)
  • increase bodyLimit of the beacon api server (#6476) (@g11tech)
  • request retries are abortable (#6466) (@nflaig)
  • update SSE payload attributes to be spec compliant (#6471) (@nflaig)

Refactoring

  • reuse command types/utils across packages (#6441) (@nflaig)
  • update retry function (#6451) (@FaybianB)

Dependencies

  • upgrade the lint and prettier deps (#6496) (@nazarhussain)
  • update typescript to 5.3.3 (#6491) (@nazarhussain)

Continuous Integration

  • remove duplicate debug logs upload step (#6474) (@nflaig)
  • fix chrome download in browser tests (#6473) (@nflaig)

Tests

  • update beacon api spec to v2.5.0 (#6354) (@jeluard)
  • consolidate sim-merge tests (#6344) (@nazarhussain)

Maintenance

  • remove state-transition dependency (#6519) (@jeluard)
  • simplify LightClient usage (#6506) (@jeluard)
  • remove lodash usage (#6501) (@HiroyukiNaito)
  • upgrade blst (#6492) (@jeluard)
  • restrict node version to 20.x (#6498) (@nflaig)
  • add eslint rule to restrict global fetch (#6500) (@nflaig)
  • improve missing docker engine detection (#6495) (@jeluard)
  • cleanup older dependencies (#6482) (@jeluard)
  • update yarn links to point to classic yarn (#6477) (@har777)
  • add eslint rule to prevent unused expressions (#6445) (@nflaig)
  • clean up prettier-ignore in tests (#6464) (@nflaig)
  • use term 'retries' instead of 'retryAttempts' consistently (#6465) (@nflaig)
  • merge v1.16.0 stable back to unstable (#6472) (@philknows)

Documentation

  • update vc-configuration md doc (#6503) (@philknows)

v1.17.0-rc.1

2 months ago

Changelog

Full Changelog

Features

  • add clone option to state caches (#6512) (@tuyennhv)
  • new getCheckpointStateOrBytes() api and clone states from cache (#6504) (@tuyennhv)
  • aggressively pull blobs as soon as we see the block (#6499) (@g11tech)
  • add endpoint for sync committee reward (#6260) (@ensi321)
  • regen to consume state cache reload api (#6456) (@tuyennhv)
  • add endpoint for Altair block reward (#6178) (@ensi321)

Bug Fixes

  • remove extra validation from builder response in builder proposal (#6478) (@g11tech)
  • increase bodyLimit of the beacon api server (#6476) (@g11tech)
  • request retries are abortable (#6466) (@nflaig)
  • update SSE payload attributes to be spec compliant (#6471) (@nflaig)

Refactoring

  • reuse command types/utils across packages (#6441) (@nflaig)
  • update retry function (#6451) (@FaybianB)

Dependencies

  • upgrade the lint and prettier deps (#6496) (@nazarhussain)
  • update typescript to 5.3.3 (#6491) (@nazarhussain)

Continuous Integration

  • remove duplicate debug logs upload step (#6474) (@nflaig)
  • fix chrome download in browser tests (#6473) (@nflaig)

Tests

  • update beacon api spec to v2.5.0 (#6354) (@jeluard)
  • consolidate sim-merge tests (#6344) (@nazarhussain)

Maintenance

  • simplify LightClient usage (#6506) (@jeluard)
  • remove lodash usage (#6501) (@HiroyukiNaito)
  • upgrade blst (#6492) (@jeluard)
  • restrict node version to 20.x (#6498) (@nflaig)
  • add eslint rule to restrict global fetch (#6500) (@nflaig)
  • improve missing docker engine detection (#6495) (@jeluard)
  • cleanup older dependencies (#6482) (@jeluard)
  • update yarn links to point to classic yarn (#6477) (@har777)
  • add eslint rule to prevent unused expressions (#6445) (@nflaig)
  • clean up prettier-ignore in tests (#6464) (@nflaig)
  • use term 'retries' instead of 'retryAttempts' consistently (#6465) (@nflaig)
  • merge v1.16.0 stable back to unstable (#6472) (@philknows)

Documentation

  • update vc-configuration md doc (#6503) (@philknows)

v1.17.0-rc.0

2 months ago

Changelog

Full Changelog

Features

  • new getCheckpointStateOrBytes() api and clone states from cache (#6504) (@tuyennhv)
  • aggressively pull blobs as soon as we see the block (#6499) (@g11tech)
  • add endpoint for sync committee reward (#6260) (@ensi321)
  • regen to consume state cache reload api (#6456) (@tuyennhv)
  • add endpoint for Altair block reward (#6178) (@ensi321)

Bug Fixes

  • remove extra validation from builder response in builder proposal (#6478) (@g11tech)
  • increase bodyLimit of the beacon api server (#6476) (@g11tech)
  • request retries are abortable (#6466) (@nflaig)
  • update SSE payload attributes to be spec compliant (#6471) (@nflaig)

Refactoring

  • reuse command types/utils across packages (#6441) (@nflaig)
  • update retry function (#6451) (@FaybianB)

Dependencies

  • upgrade the lint and prettier deps (#6496) (@nazarhussain)
  • update typescript to 5.3.3 (#6491) (@nazarhussain)

Continuous Integration

  • remove duplicate debug logs upload step (#6474) (@nflaig)
  • fix chrome download in browser tests (#6473) (@nflaig)

Tests

  • update beacon api spec to v2.5.0 (#6354) (@jeluard)
  • consolidate sim-merge tests (#6344) (@nazarhussain)

Maintenance

  • remove lodash usage (#6501) (@HiroyukiNaito)
  • upgrade blst (#6492) (@jeluard)
  • restrict node version to 20.x (#6498) (@nflaig)
  • add eslint rule to restrict global fetch (#6500) (@nflaig)
  • improve missing docker engine detection (#6495) (@jeluard)
  • cleanup older dependencies (#6482) (@jeluard)
  • update yarn links to point to classic yarn (#6477) (@har777)
  • add eslint rule to prevent unused expressions (#6445) (@nflaig)
  • clean up prettier-ignore in tests (#6464) (@nflaig)
  • use term 'retries' instead of 'retryAttempts' consistently (#6465) (@nflaig)
  • merge v1.16.0 stable back to unstable (#6472) (@philknows)

Documentation

  • update vc-configuration md doc (#6503) (@philknows)

v1.16.0

2 months ago

We've just released our Deneb-ready version v1.16.0 for the mainnet upgrade! This update is mandatory for all users of Lodestar, including Gnosis users. If you fail to update to this version, you will fall off the network on the Ethereum upgrade scheduled for 2024-03-13 13:55:35 UTC and Gnosis upgrade scheduled for 2024-03-11, 18:30:20 UTC.

Minor features have been implemented such as emitting slashing events and completing our validator --builder.selection options with executionalways (alias of --builder.boostFactor=0). This setting will always return a local execution block unless it's not produced or timely. Users can also set --archiveBlobEpochs now to archive past the default blob rentention window of 4096 or set to Infinity to retain all blobs.

Minor bug fixes and improvements in logging are also included with v1.16.0. Special thanks to all the users in our Discord for contributing improvements!

Changelog

Full Changelog

Features

  • add logs to track number of http retries (#6458) (@nflaig)
  • add cli flag to ignore the wss check failure on checkpoint sync (#6453) (@g11tech)
  • track timings of various stages of block import (#6439) (@g11tech)
  • add retry functionality in the api for builder publish (#6387) (@g11tech)
  • allow blob archival for bigger time periods (#6393) (@g11tech)
  • rename prover CLI start command as proxy and make it default (#6428) (@jeluard)
  • schedule deneb on gnosis (#6423) (@nflaig)
  • add new panels to validator client dashboard (#6415) (@nflaig)
  • manually use identify protocol (#6400) (@wemeetagain)
  • schedule deneb on mainnet (#6411) (@g11tech)
  • emit slashing events (#6391) (@jeluard)
  • add ERC-55 support to ExecutionAddress (#6355) (@jeluard)
  • allow to execute lodestar script inside docker container (#6392) (@nflaig)
  • add builder selection executionalways (#6370) (@nflaig)
  • blob sidecars can be filtered by indices (#6337) (@jeluard)
  • add down-scoring for metadata ssz size error (#6366) (@matthewkeil)
  • allow builder boost factor to be configured via proposer config file (#6357) (@g11tech)

Bug Fixes

  • ignore known blocks during publishing (#6457) (@nflaig)
  • do not register libp2p handler twice for same protocol (#6455) (@nflaig)
  • improve error if lockfile exists but not a directory (#6450) (@nflaig)
  • earliest permissable slot for beacon_attestation topic post deneb (#6198) (@tuyennhv)
  • reduce verbosity of gossip block errors (#6430) (@nflaig)
  • publish blobs sooner than later (#6431) (@g11tech)
  • fix regression in getCurrentSlotAround (#6407) (@wemeetagain)
  • correct error message if produceBlockV3 request fails (#6405) (@nflaig)
  • parse --blindedLocal flag value as boolean (#6403) (@nflaig)
  • increase e2e env startup timeout (#6396) (@nazarhussain)
  • getAttestationsForBlock performance issue (#6367) (@tuyennhv)
  • log errors setting agent version as debug (#6374) (@matthewkeil)
  • skip useWorker mode for gossipsub e2e tests (#6368) (@tuyennhv)
  • add block_id schema validation to getBlobSidecars (#6377) (@nflaig)
  • stabilize unknown block sync e2e test (#6364) (@tuyennhv)
  • ignore stale keystore lockfiles (#6363) (@nflaig)
  • ignore forkchoice invalidations if latestValidHash not found (#6361) (@g11tech)

Refactoring

  • reuse utils added in block production race refactor (#6422) (@nflaig)
  • update the block production race (#6241) (@nazarhussain)

Continuous Integration

  • lint yarn lockfiles to analyze and detect security issues (#6424) (@nflaig)

Tests

  • split sim tests to multiple jobs (#6437) (@nazarhussain)
  • add a work around for range sync issue during sim tests (#6436) (@nazarhussain)
  • temporarily reduce the sync committee participation limit for sim tests (#6433) (@nazarhussain)
  • add support to dump raw simulation data for debugging (#6429) (@nazarhussain)
  • support .env.test to reuse env variables across the tests (#6408) (@nazarhussain)
  • fix code coverage (#6410) (@nazarhussain)
  • flaky unit tests (#6398) (@nazarhussain)

Maintenance

  • v1.16.0 (#6460) (@philknows)
  • fix typos in un-/subscribing attnets logs (#6454) (@nflaig)
  • remove unused eslint disable directives (#6444) (@nflaig)
  • remove not yet relevant prover options (#6440) (@jeluard)
  • fix prover README typos (#6426) (@jeluard)
  • improve type safety of CLI args (#6438) (@nflaig)
  • fixed incorrect link (#6427) (@jeluard)
  • upgrade eslint and fix the warnings (#6420) (@nazarhussain)
  • update broken links to lodestar docs (#6417) (@krauspt)
  • upgrade bls (#6413) (@jeluard)
  • remove npm badge from README (#6412) (@nflaig)
  • bump gossipsub (#6399) (@wemeetagain)
  • improve the sim tests logs (#6394) (@nazarhussain)
  • upgrade geth and nethermind for sim tests (#6395) (@nazarhussain)
  • fix failing sim tests (#6389) (@nazarhussain)
  • update funding.yml link (#6385) (@philknows)
  • improve browser support (#6384) (@jeluard)
  • update holesky.ts to include Lodestar bootnode (#6383) (@philknows)
  • update chainsafe dependencies (#6380) (@wemeetagain)
  • align vitest config filenames (#6369) (@jeluard)
  • merge v1.15 stable back to unstable (#6372) (@philknows)
  • align test scripts (#6339) (@jeluard)
  • deps: bump browserify-sign from 4.2.1 to 4.2.2 (#6071) (@dependabot[bot])

Documentation

  • initialize FAQs page with Kubernetes unknown args error (#6416) (@philknows)
  • pin dependencies, update icons, and formatting fixes (#6425) (@nflaig)
  • reflect vitest migration (#6247) (@jeluard)
  • update link to erigon jwt setup (#6375) (@activescott)
  • add comment to RequestErrorCode.SSZ_OVER_MAX_SIZE (#6373) (@matthewkeil)

v1.16.0-rc.1

2 months ago

Changelog

Full Changelog

Features

  • add logs to track number of http retries (#6458) (@nflaig)
  • add cli flag to ignore the wss check failure on checkpoint sync (#6453) (@g11tech)
  • track timings of various stages of block import (#6439) (@g11tech)
  • add retry functionality in the api for builder publish (#6387) (@g11tech)
  • allow blob archival for bigger time periods (#6393) (@g11tech)
  • rename prover CLI start command as proxy and make it default (#6428) (@jeluard)
  • schedule deneb on gnosis (#6423) (@nflaig)
  • add new panels to validator client dashboard (#6415) (@nflaig)
  • manually use identify protocol (#6400) (@wemeetagain)
  • schedule deneb on mainnet (#6411) (@g11tech)
  • emit slashing events (#6391) (@jeluard)
  • add ERC-55 support to ExecutionAddress (#6355) (@jeluard)
  • allow to execute lodestar script inside docker container (#6392) (@nflaig)
  • add builder selection executionalways (#6370) (@nflaig)
  • blob sidecars can be filtered by indices (#6337) (@jeluard)
  • add down-scoring for metadata ssz size error (#6366) (@matthewkeil)
  • allow builder boost factor to be configured via proposer config file (#6357) (@g11tech)

Bug Fixes

  • ignore known blocks during publishing (#6457) (@nflaig)
  • do not register libp2p handler twice for same protocol (#6455) (@nflaig)
  • improve error if lockfile exists but not a directory (#6450) (@nflaig)
  • earliest permissable slot for beacon_attestation topic post deneb (#6198) (@tuyennhv)
  • reduce verbosity of gossip block errors (#6430) (@nflaig)
  • publish blobs sooner than later (#6431) (@g11tech)
  • fix regression in getCurrentSlotAround (#6407) (@wemeetagain)
  • correct error message if produceBlockV3 request fails (#6405) (@nflaig)
  • parse --blindedLocal flag value as boolean (#6403) (@nflaig)
  • increase e2e env startup timeout (#6396) (@nazarhussain)
  • getAttestationsForBlock performance issue (#6367) (@tuyennhv)
  • log errors setting agent version as debug (#6374) (@matthewkeil)
  • skip useWorker mode for gossipsub e2e tests (#6368) (@tuyennhv)
  • add block_id schema validation to getBlobSidecars (#6377) (@nflaig)
  • stabilize unknown block sync e2e test (#6364) (@tuyennhv)
  • ignore stale keystore lockfiles (#6363) (@nflaig)
  • ignore forkchoice invalidations if latestValidHash not found (#6361) (@g11tech)

Refactoring

  • reuse utils added in block production race refactor (#6422) (@nflaig)
  • update the block production race (#6241) (@nazarhussain)

Continuous Integration

  • lint yarn lockfiles to analyze and detect security issues (#6424) (@nflaig)

Tests

  • split sim tests to multiple jobs (#6437) (@nazarhussain)
  • add a work around for range sync issue during sim tests (#6436) (@nazarhussain)
  • temporarily reduce the sync committee participation limit for sim tests (#6433) (@nazarhussain)
  • add support to dump raw simulation data for debugging (#6429) (@nazarhussain)
  • support .env.test to reuse env variables across the tests (#6408) (@nazarhussain)
  • fix code coverage (#6410) (@nazarhussain)
  • flaky unit tests (#6398) (@nazarhussain)

Maintenance

  • fix typos in un-/subscribing attnets logs (#6454) (@nflaig)
  • remove unused eslint disable directives (#6444) (@nflaig)
  • remove not yet relevant prover options (#6440) (@jeluard)
  • fix prover README typos (#6426) (@jeluard)
  • improve type safety of CLI args (#6438) (@nflaig)
  • fixed incorrect link (#6427) (@jeluard)
  • upgrade eslint and fix the warnings (#6420) (@nazarhussain)
  • update broken links to lodestar docs (#6417) (@krauspt)
  • upgrade bls (#6413) (@jeluard)
  • remove npm badge from README (#6412) (@nflaig)
  • bump gossipsub (#6399) (@wemeetagain)
  • improve the sim tests logs (#6394) (@nazarhussain)
  • upgrade geth and nethermind for sim tests (#6395) (@nazarhussain)
  • fix failing sim tests (#6389) (@nazarhussain)
  • update funding.yml link (#6385) (@philknows)
  • improve browser support (#6384) (@jeluard)
  • update holesky.ts to include Lodestar bootnode (#6383) (@philknows)
  • update chainsafe dependencies (#6380) (@wemeetagain)
  • align vitest config filenames (#6369) (@jeluard)
  • merge v1.15 stable back to unstable (#6372) (@philknows)
  • align test scripts (#6339) (@jeluard)
  • deps: bump browserify-sign from 4.2.1 to 4.2.2 (#6071) (@dependabot[bot])

Documentation

  • initialize FAQs page with Kubernetes unknown args error (#6416) (@philknows)
  • pin dependencies, update icons, and formatting fixes (#6425) (@nflaig)
  • reflect vitest migration (#6247) (@jeluard)
  • update link to erigon jwt setup (#6375) (@activescott)
  • add comment to RequestErrorCode.SSZ_OVER_MAX_SIZE (#6373) (@matthewkeil)

v1.16.0-rc.0

2 months ago

Changelog

Full Changelog

Features

  • track timings of various stages of block import (#6439) (@g11tech)
  • add retry functionality in the api for builder publish (#6387) (@g11tech)
  • allow blob archival for bigger time periods (#6393) (@g11tech)
  • rename prover CLI start command as proxy and make it default (#6428) (@jeluard)
  • schedule deneb on gnosis (#6423) (@nflaig)
  • add new panels to validator client dashboard (#6415) (@nflaig)
  • manually use identify protocol (#6400) (@wemeetagain)
  • schedule deneb on mainnet (#6411) (@g11tech)
  • emit slashing events (#6391) (@jeluard)
  • add ERC-55 support to ExecutionAddress (#6355) (@jeluard)
  • allow to execute lodestar script inside docker container (#6392) (@nflaig)
  • add builder selection executionalways (#6370) (@nflaig)
  • blob sidecars can be filtered by indices (#6337) (@jeluard)
  • add down-scoring for metadata ssz size error (#6366) (@matthewkeil)
  • allow builder boost factor to be configured via proposer config file (#6357) (@g11tech)

Bug Fixes

  • earliest permissable slot for beacon_attestation topic post deneb (#6198) (@tuyennhv)
  • reduce verbosity of gossip block errors (#6430) (@nflaig)
  • publish blobs sooner than later (#6431) (@g11tech)
  • fix regression in getCurrentSlotAround (#6407) (@wemeetagain)
  • correct error message if produceBlockV3 request fails (#6405) (@nflaig)
  • parse --blindedLocal flag value as boolean (#6403) (@nflaig)
  • increase e2e env startup timeout (#6396) (@nazarhussain)
  • getAttestationsForBlock performance issue (#6367) (@tuyennhv)
  • log errors setting agent version as debug (#6374) (@matthewkeil)
  • skip useWorker mode for gossipsub e2e tests (#6368) (@tuyennhv)
  • add block_id schema validation to getBlobSidecars (#6377) (@nflaig)
  • stabilize unknown block sync e2e test (#6364) (@tuyennhv)
  • ignore stale keystore lockfiles (#6363) (@nflaig)
  • ignore forkchoice invalidations if latestValidHash not found (#6361) (@g11tech)

Refactoring

  • reuse utils added in block production race refactor (#6422) (@nflaig)
  • update the block production race (#6241) (@nazarhussain)

Continuous Integration

  • lint yarn lockfiles to analyze and detect security issues (#6424) (@nflaig)

Tests

  • split sim tests to multiple jobs (#6437) (@nazarhussain)
  • add a work around for range sync issue during sim tests (#6436) (@nazarhussain)
  • temporarily reduce the sync committee participation limit for sim tests (#6433) (@nazarhussain)
  • add support to dump raw simulation data for debugging (#6429) (@nazarhussain)
  • support .env.test to reuse env variables across the tests (#6408) (@nazarhussain)
  • fix code coverage (#6410) (@nazarhussain)
  • flaky unit tests (#6398) (@nazarhussain)

Maintenance

  • remove unused eslint disable directives (#6444) (@nflaig)
  • remove not yet relevant prover options (#6440) (@jeluard)
  • fix prover README typos (#6426) (@jeluard)
  • improve type safety of CLI args (#6438) (@nflaig)
  • fixed incorrect link (#6427) (@jeluard)
  • upgrade eslint and fix the warnings (#6420) (@nazarhussain)
  • update broken links to lodestar docs (#6417) (@krauspt)
  • upgrade bls (#6413) (@jeluard)
  • remove npm badge from README (#6412) (@nflaig)
  • bump gossipsub (#6399) (@wemeetagain)
  • improve the sim tests logs (#6394) (@nazarhussain)
  • upgrade geth and nethermind for sim tests (#6395) (@nazarhussain)
  • fix failing sim tests (#6389) (@nazarhussain)
  • update funding.yml link (#6385) (@philknows)
  • improve browser support (#6384) (@jeluard)
  • update holesky.ts to include Lodestar bootnode (#6383) (@philknows)
  • update chainsafe dependencies (#6380) (@wemeetagain)
  • align vitest config filenames (#6369) (@jeluard)
  • merge v1.15 stable back to unstable (#6372) (@philknows)
  • align test scripts (#6339) (@jeluard)
  • deps: bump browserify-sign from 4.2.1 to 4.2.2 (#6071) (@dependabot[bot])

Documentation

  • initialize FAQs page with Kubernetes unknown args error (#6416) (@philknows)
  • pin dependencies, update icons, and formatting fixes (#6425) (@nflaig)
  • reflect vitest migration (#6247) (@jeluard)
  • update link to erigon jwt setup (#6375) (@activescott)
  • add comment to RequestErrorCode.SSZ_OVER_MAX_SIZE (#6373) (@matthewkeil)