Skip to content

Releases: ChainSafe/lodestar

Release v1.17.0-rc.1

06 Mar 16:59
Compare
Choose a tag to compare
Release v1.17.0-rc.1 Pre-release
Pre-release

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

Dependencies

Continuous Integration

Tests

Maintenance

Documentation

Release v1.17.0-rc.0

05 Mar 17:09
Compare
Choose a tag to compare
Release v1.17.0-rc.0 Pre-release
Pre-release

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

Dependencies

Continuous Integration

Tests

Maintenance

Documentation

Release v1.16.0

22 Feb 14:16
14ea654
Compare
Choose a tag to compare

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

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

Continuous Integration

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

Tests

Maintenance

Documentation

Release v1.16.0-rc.1

20 Feb 18:21
fda3b19
Compare
Choose a tag to compare
Release v1.16.0-rc.1 Pre-release
Pre-release

Changelog

Full Changelog

Features

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

Continuous Integration

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

Tests

Maintenance

Documentation

Release v1.16.0-rc.0

17 Feb 18:05
04f7958
Compare
Choose a tag to compare
Release v1.16.0-rc.0 Pre-release
Pre-release

Changelog

Full Changelog

Features

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

Continuous Integration

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

Tests

Maintenance

Documentation

Release v1.15.1

07 Feb 16:01
1857a49
Compare
Choose a tag to compare

We just released v1.15.1 which includes a few hotfixes for users using Besu as their execution client, using --blindedLocal and users with .lock file issues. For those users, we highly recommend updating to v1.15.1 to address these reported issues.

  • For users running Besu, if you've received fork-choice invalidations if latestValidHash is not found, this fix more robustly handles an execution layer's return of null.
  • Included a UX improvement for users who have interruptions with their validator client (e.g. power loss) where it may not properly cleanup .lock files and requires manual intervention to remove stale files. This fix marks .lock files as stale if the process is not running for more than 10 seconds.
  • Included a fix for users using the --blindedLocal feature on their setups. This fix parses the CLI flag as boolean.

Changelog

Full Changelog

Bug Fixes

  • ignore forkchoice invalidations if latestValidHash not found (#6361) (@g11tech)
  • ignore stale keystore lockfiles (#6363) (@nflaig)
  • parse --blindedLocal flag value as boolean (#6403) (@nflaig)

Release v1.15.1-rc.0

30 Jan 17:50
Compare
Choose a tag to compare
Release v1.15.1-rc.0 Pre-release
Pre-release

Changelog

Full Changelog

Bug Fixes

  • ignore forkchoice invalidations if latestValidHash not found (#6361) (@g11tech)
  • ignore stale keystore lockfiles (#6363) (@nflaig)

Release v1.15.0

29 Jan 14:54
5d93a62
Compare
Choose a tag to compare

This update is recommended to all users of Lodestar and mandatory for those running Sepolia and Holesky testnets. This release is also ready for the Gnosis Chain Chiado fork.

This release includes some additional fixes for the Deneb hard fork, an upgrade to js-libp2p and minor fixes for UX and performance improvements.

  • js-libp2p is now updated to v1.x.
  • For DVT, multiple, and fallback node users, we've fixed some logging in relation to already known errors seen in our API.
  • By default, we've raised our nodeJS max-old-space-size option from 4096 (4GB) to 8192 (8GB) in our scripts by default so users can benefit from testnets like Holesky with larger states and to better handle periods of network turbulance like non-finality before heap memory is exceeded. This does not increase memory usage. It was done proactively to improve UX as we continue to optimize our memory footprint.
  • Improvements were made to UX for exiting batches of validators.
  • For users using builder boost factor, our error logging now indicates that this cannot be a number with decimals.

Changelog

Full Changelog

Features

Bug Fixes

  • update beacon max-old-space-size to 8192 (#6343) (@nflaig)
  • improve handling of non-integer builder boost factor values (#6332) (@nflaig)
  • correct total block value in publish block log (#6336) (@ensi321)
  • use incrementing counter for prover request ids (#6333) (@nflaig)
  • make light client events spec compliant (#6309) (@jeluard)
  • ignore already known errors in API (#6321) (@nflaig)
  • block value in produceBlockV3 should be in wei (#6286) (@ensi321)
  • do not download known block by root (#6292) (@tuyennhv)
  • correct error message if produceBlindedBlock request fails (#6299) (@nflaig)

Refactoring

Tests

Maintenance

Documentation

Release v1.15.0-rc.0

23 Jan 16:17
Compare
Choose a tag to compare
Release v1.15.0-rc.0 Pre-release
Pre-release

Changelog

Full Changelog

Features

Bug Fixes

  • update beacon max-old-space-size to 8192 (#6343) (@nflaig)
  • improve handling of non-integer builder boost factor values (#6332) (@nflaig)
  • correct total block value in publish block log (#6336) (@ensi321)
  • use incrementing counter for prover request ids (#6333) (@nflaig)
  • make light client events spec compliant (#6309) (@jeluard)
  • ignore already known errors in API (#6321) (@nflaig)
  • block value in produceBlockV3 should be in wei (#6286) (@ensi321)
  • do not download known block by root (#6292) (@tuyennhv)
  • correct error message if produceBlindedBlock request fails (#6299) (@nflaig)

Refactoring

Tests

Maintenance

Documentation

Release v1.14.0

16 Jan 04:07
5ac2fae
Compare
Choose a tag to compare

Hey everyone! We've released v1.14.0 of Lodestar which is recommended for all users on all networks. This is the same version as v1.14.0-rc.2 which was the mandatory release for Goerli users for Deneb hard fork readiness.

  • This release includes the scheduled Goerli test network fork for Deneb at epoch 231680.

  • If using Lodestar for the Ephemery testnet, this version is compatible with the Deneb fork scheduled for iteration 111 on January 18, 2024.

  • --blindedLocal is a new feature which allows local block publishing to be signed by the validator similarly to builder relays via blinded headers instead of having the full payload. For operators with their Lodestar beacon node and validator clients in separate hosts/networks, this feature will reduce block production latencies. This is only supported if it's a Lodestar beacon node using produceBlockV3.

  • Breaking change for Deneb fork: The Deneb fork epoch will trigger the migration to use produceBlockV3 on Lodestar. If you do not want this, you MUST disable it with --produceBlockV3 false. Alternatively, if you want to turn it on for testing pre-Deneb, you can enable it with --produceBlockV3 true. The automatic switch to produceBlockV3 will only affect the Goerli network (the only scheduled network to fork on this release).

  • Other block production optimizations to reduce block production latencies and likelihood of orphaning blocks due to reorgs.

  • Lodestar now supports shouldOverrideBuilder functionality where execution clients can identify censorship and force local block production irrespective of the builderBoostFactor. See ethereum/execution-apis#425 for the specification and this note on the heuristics of how the execution client determines builder censorship: https://hackmd.io/@potuz/BkpzmOgK6.

  • produceBlockV3 API now supports builder_boost_factor. Our documentation here (https://chainsafe.github.io/lodestar/validator-management/vc-configuration/#configure-your-builder-selection-andor-builder-boost-factor) includes details on how to use this with our already implemented --builder.selection feature.

Changelog

Full Changelog

Features

  • produce phase0 beacon block body once (#6270) (@nazarhussain)
  • auto use produceBlockV3 deneb+ unless specified (#6262) (@g11tech)
  • reject builder blocks if engine indicates censorship (#6258) (@g11tech)
  • prune BlsToExecutionChange opPool with head state (#6252) (@tuyennhv)
  • track prepare next epoch time (#6256) (@tuyennhv)
  • add and support builder_boost_factor query param to produceBlockV3 api (#6236) (@g11tech)
  • schedule deneb on goerli (#6254) (@g11tech)
  • implement new state caches (#6176) (@tuyennhv)
  • allow validator to request blinded versions for locally produced and selected blocks (#6227) (@g11tech)
  • add workflow_dispatch to docs (#6235) (@matthewkeil)
  • implement blob sidecars with inclusion proof instead of signtaures (#6089) (@g11tech)
  • add response headers to produceBlockV3 (#6228) (@ensi321)
  • optimistically verify blocks even before all blobs available (#6087) (@g11tech)

Bug Fixes

  • add Ephemery Deneb fork epoch (#6287) (@taxmeifyoucan)
  • use bigint to calculate max builder boost factor (#6275) (@nflaig)
  • parse --builder.boostFactor value as bigint instead of number (#6277) (@nflaig)
  • update voluntary exit block inclusion filter (#6278) (@dapplion)
  • update teku's bootnode (#6273) (@tbenr)
  • increase range for the random value of request id in prover (#6115) (@rdvorkin)
  • remove invalid workflow step (#6246) (@matthewkeil)
  • correct createFromState() with cached current shuffling (#6240) (@tuyennhv)
  • fix block value calculation in produceBlockV3 (#6207) (@ensi321)
  • track jobItemWorkReq function time (#6203) (@tuyennhv)

Refactoring

Dependencies

Continuous Integration

Tests

Maintenance

Documentation