Skip to content

Releases: ChainSafe/lodestar

Release v1.44.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 16:23
Immutable release. Only release title and notes can be modified.
e3d733b

Hey there Lodestar operators!! We've just released v1.44.0 and recommend you upgrade for all testnet and mainnet nodes. This release continues our progress towards the Glamsterdam (ePBS) fork and there has been a lot of development in that direction. We also made some incremental performance improvements and updated our APIs. We have also added a new experimental feature, Fast Confirmation Rule. There are two major notes that we want to highlight for you.

FCR is a relatively new feature for Ethereum, and allows for confirming blocks much, much faster than is traditionally possible. However, there are a couple of small caveats that need to be pointed out. While the spec has been thoroughly tested, the feature is still new. We recommend rigor in testing before relying on it for any substantial economic security. It is pretty good at predicting the canonical chain correctly, but there are still some kinks that are being worked out. We have some performance updates that will follow in a future release. This will help make the guarantees even more secure.

FCR is a fairly performance intensive workload. We do not recommend running this feature on production nodes. As we, and other clients, further optimize for network conditions this stipulation might no longer apply, but for now we recommend experimenting with this on nodes without mainnet validators, as there may be effectiveness degradation.

Breaking Change: The deprecated v1 block-publishing and attestation-submission beacon API endpoints have been removed (#9531, #9532). Standard validator clients already use v2, but if you run custom tooling against these v1 endpoints, migrate to v2 before upgrading Lodestar.

For the full changelog, please see:
Full Changelog

Features

Bug Fixes

  • check for slot > 0 in missedSlotVote (#9556) (@spiral-ladder)
  • forward broadcast_validation in publishBlindedBlockV2 (#9535) (@markolazic01)
  • reject bids with invalid prev_randao during gossip validation (#9533) (@nflaig)
  • clamp pivotSlot calculation to GENESIS_SLOT (#9521) (@spiral-ladder)
  • defer using proposer duties v2 to gloas (#9519) (@nflaig)
  • add fallback handler for getProposerDuties (#9518) (@twoeths)
  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@ensi321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • skip equivocation participant set when there are no equivocators (#9553) (@lodekeeper)
  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Refactoring

  • use number representation for Gloas ExecutionPayloadBid's gasLimit (#9528) (@markolazic01)

Continuous Integration

Tests

Maintenance

Documentation

Release v1.44.0-rc.3

Release v1.44.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Jun 20:33
Immutable release. Only release title and notes can be modified.
a8cc331

Changelog

Full Changelog

Features

Bug Fixes

  • check for slot > 0 in missedSlotVote (#9556) (@spiral-ladder)
  • forward broadcast_validation in publishBlindedBlockV2 (#9535) (@markolazic01)
  • reject bids with invalid prev_randao during gossip validation (#9533) (@nflaig)
  • clamp pivotSlot calculation to GENESIS_SLOT (#9521) (@spiral-ladder)
  • defer using proposer duties v2 to gloas (#9519) (@nflaig)
  • add fallback handler for getProposerDuties (#9518) (@twoeths)
  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@ensi321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • skip equivocation participant set when there are no equivocators (#9553) (@lodekeeper)
  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Refactoring

  • use number representation for Gloas ExecutionPayloadBid's gasLimit (#9528) (@markolazic01)

Continuous Integration

Tests

Maintenance

Documentation

Release v1.44.0-rc.2

Release v1.44.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Jun 11:36
Immutable release. Only release title and notes can be modified.
a3e7366

Changelog

Full Changelog

Features

Bug Fixes

  • check for slot > 0 in missedSlotVote (#9556) (@spiral-ladder)
  • forward broadcast_validation in publishBlindedBlockV2 (#9535) (@markolazic01)
  • reject bids with invalid prev_randao during gossip validation (#9533) (@nflaig)
  • clamp pivotSlot calculation to GENESIS_SLOT (#9521) (@spiral-ladder)
  • defer using proposer duties v2 to gloas (#9519) (@nflaig)
  • add fallback handler for getProposerDuties (#9518) (@twoeths)
  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@ensi321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • skip equivocation participant set when there are no equivocators (#9553) (@lodekeeper)
  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Refactoring

  • use number representation for Gloas ExecutionPayloadBid's gasLimit (#9528) (@markolazic01)

Continuous Integration

Tests

Maintenance

Documentation

Release v1.44.0-rc.1

Release v1.44.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Jun 10:18
Immutable release. Only release title and notes can be modified.
1da22a3

Changelog

Full Changelog

Features

Bug Fixes

  • defer using proposer duties v2 to gloas (#9519) (@nflaig)
  • add fallback handler for getProposerDuties (#9518) (@twoeths)
  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@ensi321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Continuous Integration

Tests

Maintenance

Documentation

Release v1.44.0-rc.0

Release v1.44.0-rc.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jun 17:36
Immutable release. Only release title and notes can be modified.
58314f9

Changelog

Full Changelog

Features

Bug Fixes

  • ensure block in forkchoice before validate by_root payload (#9479) (@twoeths)
  • remove TOO_MANY_SKIPPED_SLOTS block error (#9484) (@twoeths)
  • ignore repeat proposal during block publishing (#9235) (@lodekeeper)
  • publish only subscribed columns from reconstruction (#9464) (@lodekeeper)
  • return resource_unavailable if requested range is before earliest_available_slot (#9454) (@twoeths)
  • prune finalized checkpoint state per processState() (#9463) (@twoeths)
  • continue past non-custody column requests in DataColumnSidecarsByRoot (#9456) (@lodekeeper)
  • use finalized block slot as envelope by range archive boundary (#9432) (@nflaig)
  • gate builder bid lookup on shouldBuildOnFull in produceBlockV4 (#9442) (@ensi321)
  • handle post-gloas empty blocks in data columns by range (#9433) (@nflaig)
  • validate execution payload bids against parent branch state (#9409) (@nflaig)
  • ignore PTC attestations for empty assigned slots (#9427) (@nflaig)
  • limit shouldBuildOnFull() checks to the previous slot (#9428) (@nflaig)
  • skip casting payload attestation when there is no block at slot (#9406) (@ensi321)
  • resolve PTC committee against the referenced block state (#9426) (@nflaig)
  • ignore PTC votes whose slot does not match the referenced block (#9425) (@nflaig)
  • introduce NativeBeaconStateView and simplify bindings (#9412) (@twoeths)
  • use correct regen caller for execution payload import (#9421) (@nflaig)
  • include payload_data_availability in shouldExtendPayload (#9416) (@twoeths)
  • ensure bids are for a higher slot than their parent (#9414) (@nflaig)
  • upgrade playwright to 1.60.0 to unblock browser tests CI (#9420) (@ensi321)
  • include ethrex EX client code and restore CL commit suffix in gloas graffiti (#9381) (@barnabasbusa)
  • download proposer duties for the next epoch post-fulu (#9380) (@twoeths)
  • cache pending deposit signature verifications (#9374) (@twoeths)
  • handle ptc votes from same duplicated validators (#9369) (@twoeths)

Performance

  • replace O(N) gossip message count getters with maintained counters (#9170) (@lodekeeper)
  • use custodyColumnsIndex for O(1) custody lookup in column reqresp (#9457) (@lodekeeper)

Continuous Integration

Tests

Maintenance

Documentation

Release v1.43.0

Choose a tag to compare

@github-actions github-actions released this 20 May 09:04
Immutable release. Only release title and notes can be modified.
5cb87b7

Good day Lodestar operators! We've just released v1.43.0 and recommend users upgrade for the latest features and best performance. This release has an important fix or self rate-limiting so that we are better peers, and thus have better peering and syncing. We also fixed a bug in block-import performance, as well as another substantial wave of ePBS / Gloas progress.

Operational Note: Internal tooling moved to pnpm v11. There will be no action required for operators running via Docker, however if you are building from source you will need to update your version of pnpm.

Changelog

Full Changelog

Features

Bug Fixes

  • improve error handling for invalid execution payloads from gossip (#9363) (@nflaig)
  • do not range sync the same peer again (#9360) (@twoeths)
  • dedupe persistent-merkle-tree to recover hashtree hasher (#9352) (@twoeths)
  • checkpoint sync for skipped slot (#9329) (@twoeths)
  • prevent seed state cache poisoning in loadState clone (#9246) (@lodekeeper)
  • include latest payload bid in gloas genesis block (#9336) (@nflaig)
  • only trigger gloas blobs tracker in gossip (#9322) (@wemeetagain)
  • prune PayloadEnvelopeInput on the same branch (#9317) (@twoeths)
  • range sync mismarks partial batches as fully downloaded (#9311) (@twoeths)
  • gloas checkpoint sync (#9293) (@twoeths)
  • remove gloas genesis workarounds (#9308) (@nflaig)
  • allow known PayloadEnvelopeInput (#9307) (@twoeths)
  • queue payload envelopes in network processor (#9300) (@wemeetagain)
  • drop voluntary exits invalidated by parent execution requests (#9292) (@nflaig)
  • correct DA status for payload (#9278) (@twoeths)
  • call fcu in importExecutionPayload (#9285) (@wemeetagain)
  • avoid metrics crash on payload envelope publish (#9279) (@lodekeeper)
  • clone block header during payload envelope verification (#9277) (@nflaig)
  • properly handle starting from gloas at genesis (#9273) (@nflaig)
  • emit payload_attributes for local proposals by default (#9258) (@eth2353)
  • revert anchor block PTC vote override (#9264) (@lodekeeper)
  • add check on bid gossip for blob kzg commitment len (#9261) (@nflaig)
  • drop payloadStatus from Checkpoint (#9259) (@twoeths)
  • gate loadOtherState validators/balances preload behind opt-in (#9245) (@twoeths)
  • use fork choice for parent payload status in block production (#9209) (@nflaig)
  • correct proposer boost logic and getParentNodeIndex for gloas (#9165) (@twoeths)
  • reject same-slot full attestation votes for gloas (#9205) (@nflaig)
  • check if pending deposit exists before applying to builder (#9180) (@nflaig)
  • validate MIN_EPOCHS for blob/data column by range/root requests (#9173) (@nflaig)
  • initialize anchor block PTC votes to all-true (#9188) (@lodekeeper)
  • ignore beacon block if parent payload unknown (#9178) (@nflaig)
  • use expected withdrawals from state when parent is empty (#9189) (@nflaig)
  • skip light client processing for gloas blocks (#9191) (@nflaig)
  • only allow attestations for known payload statuses (#9177) (@nflaig)
  • ci: set registry-url for OIDC publish under pnpm v11 (#9368) (@lodekeeper)
  • ci: install caxa via npx to unblock binary release under pnpm v11 (#9367) (@lodekeeper)
  • sync: use rate-limit backoff metadata (#9354) (@wemeetagain)
  • docs: allow core-js postinstall scripts under pnpm v11 (#9356) (@lodekeeper)
  • cli: skip backtick code spans in docs sanitizer (#9334) (@lodekeeper)

Refactoring

  • revert dual-state from regen, block production, and metrics (#9218) (@ensi321)
  • revert dual-state cache architecture from ePBS (#9215) (@ensi321)
  • use consistent names for state after payload is applied (#9175) (@nflaig)
  • align bid filtering with consensus spec (#9182) (@nflaig)

Continuous Integration

Tests

  • fix unknownBlockSync e2e assertions for gloas (#9276) (@nflaig)
  • add bellatrix and capella gossip validation spec tests (#9192) (@nflaig)

Maintenance

Documentation

Release v1.43.0-rc.5

Release v1.43.0-rc.5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 May 21:05
Immutable release. Only release title and notes can be modified.
8f35ec6

Changelog

Full Changelog

Features

Bug Fixes

  • improve error handling for invalid execution payloads from gossip (#9363) (@nflaig)
  • do not range sync the same peer again (#9360) (@twoeths)
  • dedupe persistent-merkle-tree to recover hashtree hasher (#9352) (@twoeths)
  • checkpoint sync for skipped slot (#9329) (@twoeths)
  • prevent seed state cache poisoning in loadState clone (#9246) (@lodekeeper)
  • include latest payload bid in gloas genesis block (#9336) (@nflaig)
  • only trigger gloas blobs tracker in gossip (#9322) (@wemeetagain)
  • prune PayloadEnvelopeInput on the same branch (#9317) (@twoeths)
  • range sync mismarks partial batches as fully downloaded (#9311) (@twoeths)
  • gloas checkpoint sync (#9293) (@twoeths)
  • remove gloas genesis workarounds (#9308) (@nflaig)
  • allow known PayloadEnvelopeInput (#9307) (@twoeths)
  • queue payload envelopes in network processor (#9300) (@wemeetagain)
  • drop voluntary exits invalidated by parent execution requests (#9292) (@nflaig)
  • correct DA status for payload (#9278) (@twoeths)
  • call fcu in importExecutionPayload (#9285) (@wemeetagain)
  • avoid metrics crash on payload envelope publish (#9279) (@lodekeeper)
  • clone block header during payload envelope verification (#9277) (@nflaig)
  • properly handle starting from gloas at genesis (#9273) (@nflaig)
  • emit payload_attributes for local proposals by default (#9258) (@eth2353)
  • revert anchor block PTC vote override (#9264) (@lodekeeper)
  • add check on bid gossip for blob kzg commitment len (#9261) (@nflaig)
  • drop payloadStatus from Checkpoint (#9259) (@twoeths)
  • gate loadOtherState validators/balances preload behind opt-in (#9245) (@twoeths)
  • use fork choice for parent payload status in block production (#9209) (@nflaig)
  • correct proposer boost logic and getParentNodeIndex for gloas (#9165) (@twoeths)
  • reject same-slot full attestation votes for gloas (#9205) (@nflaig)
  • check if pending deposit exists before applying to builder (#9180) (@nflaig)
  • validate MIN_EPOCHS for blob/data column by range/root requests (#9173) (@nflaig)
  • initialize anchor block PTC votes to all-true (#9188) (@lodekeeper)
  • ignore beacon block if parent payload unknown (#9178) (@nflaig)
  • use expected withdrawals from state when parent is empty (#9189) (@nflaig)
  • skip light client processing for gloas blocks (#9191) (@nflaig)
  • only allow attestations for known payload statuses (#9177) (@nflaig)
  • ci: set registry-url for OIDC publish under pnpm v11 (#9368) (@lodekeeper)
  • ci: install caxa via npx to unblock binary release under pnpm v11 (#9367) (@lodekeeper)
  • sync: use rate-limit backoff metadata (#9354) (@wemeetagain)
  • docs: allow core-js postinstall scripts under pnpm v11 (#9356) (@lodekeeper)
  • cli: skip backtick code spans in docs sanitizer (#9334) (@lodekeeper)

Refactoring

  • revert dual-state from regen, block production, and metrics (#9218) (@ensi321)
  • revert dual-state cache architecture from ePBS (#9215) (@ensi321)
  • use consistent names for state after payload is applied (#9175) (@nflaig)
  • align bid filtering with consensus spec (#9182) (@nflaig)

Continuous Integration

Tests

  • fix unknownBlockSync e2e assertions for gloas (#9276) (@nflaig)
  • add bellatrix and capella gossip validation spec tests (#9192) (@nflaig)

Maintenance

Documentation

Release v1.43.0-rc.2

Release v1.43.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 May 08:00
Immutable release. Only release title and notes can be modified.
7b40592

Changelog

Full Changelog

Features

Bug Fixes

  • dedupe persistent-merkle-tree to recover hashtree hasher (#9352) (@twoeths)
  • checkpoint sync for skipped slot (#9329) (@twoeths)
  • prevent seed state cache poisoning in loadState clone (#9246) (@lodekeeper)
  • include latest payload bid in gloas genesis block (#9336) (@nflaig)
  • only trigger gloas blobs tracker in gossip (#9322) (@wemeetagain)
  • prune PayloadEnvelopeInput on the same branch (#9317) (@twoeths)
  • range sync mismarks partial batches as fully downloaded (#9311) (@twoeths)
  • gloas checkpoint sync (#9293) (@twoeths)
  • remove gloas genesis workarounds (#9308) (@nflaig)
  • allow known PayloadEnvelopeInput (#9307) (@twoeths)
  • queue payload envelopes in network processor (#9300) (@wemeetagain)
  • drop voluntary exits invalidated by parent execution requests (#9292) (@nflaig)
  • correct DA status for payload (#9278) (@twoeths)
  • call fcu in importExecutionPayload (#9285) (@wemeetagain)
  • avoid metrics crash on payload envelope publish (#9279) (@lodekeeper)
  • clone block header during payload envelope verification (#9277) (@nflaig)
  • properly handle starting from gloas at genesis (#9273) (@nflaig)
  • emit payload_attributes for local proposals by default (#9258) (@eth2353)
  • revert anchor block PTC vote override (#9264) (@lodekeeper)
  • add check on bid gossip for blob kzg commitment len (#9261) (@nflaig)
  • drop payloadStatus from Checkpoint (#9259) (@twoeths)
  • gate loadOtherState validators/balances preload behind opt-in (#9245) (@twoeths)
  • use fork choice for parent payload status in block production (#9209) (@nflaig)
  • correct proposer boost logic and getParentNodeIndex for gloas (#9165) (@twoeths)
  • reject same-slot full attestation votes for gloas (#9205) (@nflaig)
  • check if pending deposit exists before applying to builder (#9180) (@nflaig)
  • validate MIN_EPOCHS for blob/data column by range/root requests (#9173) (@nflaig)
  • initialize anchor block PTC votes to all-true (#9188) (@lodekeeper)
  • ignore beacon block if parent payload unknown (#9178) (@nflaig)
  • use expected withdrawals from state when parent is empty (#9189) (@nflaig)
  • skip light client processing for gloas blocks (#9191) (@nflaig)
  • only allow attestations for known payload statuses (#9177) (@nflaig)
  • cli: skip backtick code spans in docs sanitizer (#9334) (@lodekeeper)

Refactoring

  • revert dual-state from regen, block production, and metrics (#9218) (@ensi321)
  • revert dual-state cache architecture from ePBS (#9215) (@ensi321)
  • use consistent names for state after payload is applied (#9175) (@nflaig)
  • align bid filtering with consensus spec (#9182) (@nflaig)

Continuous Integration

Tests

  • fix unknownBlockSync e2e assertions for gloas (#9276) (@nflaig)
  • add bellatrix and capella gossip validation spec tests (#9192) (@nflaig)

Maintenance

Documentation

Release v1.43.0-rc.1

Release v1.43.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 May 14:33
Immutable release. Only release title and notes can be modified.
6bb0093

Changelog

Full Changelog

Features

Bug Fixes

  • checkpoint sync for skipped slot (#9329) (@twoeths)
  • prevent seed state cache poisoning in loadState clone (#9246) (@lodekeeper)
  • include latest payload bid in gloas genesis block (#9336) (@nflaig)
  • only trigger gloas blobs tracker in gossip (#9322) (@wemeetagain)
  • prune PayloadEnvelopeInput on the same branch (#9317) (@twoeths)
  • range sync mismarks partial batches as fully downloaded (#9311) (@twoeths)
  • gloas checkpoint sync (#9293) (@twoeths)
  • remove gloas genesis workarounds (#9308) (@nflaig)
  • allow known PayloadEnvelopeInput (#9307) (@twoeths)
  • queue payload envelopes in network processor (#9300) (@wemeetagain)
  • drop voluntary exits invalidated by parent execution requests (#9292) (@nflaig)
  • correct DA status for payload (#9278) (@twoeths)
  • call fcu in importExecutionPayload (#9285) (@wemeetagain)
  • avoid metrics crash on payload envelope publish (#9279) (@lodekeeper)
  • clone block header during payload envelope verification (#9277) (@nflaig)
  • properly handle starting from gloas at genesis (#9273) (@nflaig)
  • emit payload_attributes for local proposals by default (#9258) (@eth2353)
  • revert anchor block PTC vote override (#9264) (@lodekeeper)
  • add check on bid gossip for blob kzg commitment len (#9261) (@nflaig)
  • drop payloadStatus from Checkpoint (#9259) (@twoeths)
  • gate loadOtherState validators/balances preload behind opt-in (#9245) (@twoeths)
  • use fork choice for parent payload status in block production (#9209) (@nflaig)
  • correct proposer boost logic and getParentNodeIndex for gloas (#9165) (@twoeths)
  • reject same-slot full attestation votes for gloas (#9205) (@nflaig)
  • check if pending deposit exists before applying to builder (#9180) (@nflaig)
  • validate MIN_EPOCHS for blob/data column by range/root requests (#9173) (@nflaig)
  • initialize anchor block PTC votes to all-true (#9188) (@lodekeeper)
  • ignore beacon block if parent payload unknown (#9178) (@nflaig)
  • use expected withdrawals from state when parent is empty (#9189) (@nflaig)
  • skip light client processing for gloas blocks (#9191) (@nflaig)
  • only allow attestations for known payload statuses (#9177) (@nflaig)
  • cli: skip backtick code spans in docs sanitizer (#9334) (@lodekeeper)

Refactoring

  • revert dual-state from regen, block production, and metrics (#9218) (@ensi321)
  • revert dual-state cache architecture from ePBS (#9215) (@ensi321)
  • use consistent names for state after payload is applied (#9175) (@nflaig)
  • align bid filtering with consensus spec (#9182) (@nflaig)

Continuous Integration

Tests

  • fix unknownBlockSync e2e assertions for gloas (#9276) (@nflaig)
  • add bellatrix and capella gossip validation spec tests (#9192) (@nflaig)

Maintenance

Documentation

Release v1.42.0

Choose a tag to compare

@github-actions github-actions released this 13 Apr 12:51
Immutable release. Only release title and notes can be modified.
443e0a4

Hey Lodestar operators! We've just released v1.42.0 and recommend users upgrade for the latest features and best performance.

QUIC transport is now enabled by default. As noted in the v1.41.0 release, this change was coming. If you haven't already, you must allow UDP traffic on port 9001 through your firewall. Without this, your node will have degraded connectivity. If you need to disable QUIC for any reason, you can use --quic=false or --no-quic. Check out our networking docs for more details.

This release also includes a fix for QUIC early adopters from last release. Lodestar now only creates QUIC clients for address families that are actually configured, so QUIC works out of the box regardless of your network setup.

We are making great strides towards the Gloas hard-fork with this release but have added a couple of small things that will make operation user experience more cozy. In particular, the voluntary exit command can now write to file instead of publishing directly for those of you with complex setups.

Full Changelog

Features

Bug Fixes

  • process payload attestations before payload envelope import (#9159) (@nflaig)
  • update attestation data index extraction (#9158) (@nflaig)
  • track PayloadExecutionStatus for forkchoice onExecutionPayload() (#9119) (@twoeths)
  • update stale custody group metric name in summary dashboard (#9121) (@lodekeeper)
  • only create QUIC clients for configured address families (#9101) (@lodekeeper)
  • use IGNORE instead of REJECT for missing payload envelope input (#9094) (@nflaig)
  • improve sync aggregate participation (#9070) (@lodekeeper)
  • override MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS for Gnosis (#9075) (@lodekeeper)

Refactoring

  • generalize NetworkProcessor awaiting-block mechanism for all gossip types (#9059) (@twoeths)
  • simplify protoArray pruning for gloas (#9068) (@GrapeBaBa)
  • avoid falsy zero check in indexed attestation bounds validation (#9089) (@nflaig)

Tests

Maintenance

Documentation