Release v1.13.0
Happy holidays everyone! We've released our hopefully last release for 2023 with v1.13.0!
We recommend users upgrade for some performance and user improvements. Some of which are highlighted below:
-
Lodestar now logs info about your connected service URLs. This is especially useful for users using Lodestar with multiple/fallback services to know on startup what they’re connected to.
-
PR #6132 now allows for voluntary exits by remote signers. Previously, Lodestar only allowed voluntary exits from locally imported keystores.
-
We previously did not include
Eth-Consensus-Version
header as part of ourgetStateV2
andgetBlockV2
responses as per the Beacon-APIs spec. We are continuing to address this and are refactoring our SSZ API responses also for inclusion on the BlockV3 endpoint. -
We’ve done a big refactor in our docs and will continue to build it with more context and education for Ethereum users, starting with PR #6134.
-
We cleared up usage of the
--builder.url
. We do not support multiple connected builders and will only use the first URL attached. If multiple URLs are supplied, it will now throw an error.
Other fixes include performance improvements such as implementing a shuffling cache (PR #6030) to verify attestations rather than using the state cache and regen, and improvements on how we process slashings (PR #6121).
Changelog
Features
- track epoch transition steps time in metrics (#6143) (@tuyennhv)
- add
consensus_block_value
toproduceBlockV3
(#6136) (@ensi321) - more insight when publishing blocks (#6166) (@tuyennhv)
- libp2p-gossipsub v10.1.1 (#6156) (@tuyennhv)
- allow configuring broadcast validation on validator for proposals (#6151) (@g11tech)
- implement consensus broadcastValidation and set it to default (#6149) (@g11tech)
- support remote signer in voluntary exit command (#6132) (@eth2353)
- improve processSlashings (#6121) (@tuyennhv)
- implement shuffling cache (#6030) (@tuyennhv)
- write heap snapshot to network/discv5 thread (#6130) (@tuyennhv)
- support "input" param for verifiable tx (cont.) (#6101) (@rdvorkin)
- print out URLs of connected services (#6099) (@nflaig)
Bug Fixes
- improve compute new state root when producing block (#6195) (@tuyennhv)
- pass user credentials to events http client (#6179) (@nflaig)
- sanitize URL to prevent leaking user credentials in logs (#6175) (@nflaig)
- clone attestations for block inclusion (#6174) (@tuyennhv)
- do not uri-encode Basic Auth header contents (#6155) (@jshufro)
- producedBlindedBlockRoot metric typo (#6153) (@tuyennhv)
- set consensus version header in state and block response (#6152) (@nflaig)
- prevent low peer count warning on startup (#6150) (@nflaig)
- bound AttesterSlashing instances when producing block (#6139) (@tuyennhv)
- add log for blockroot being signed for debugging proposal failures (#6147) (@g11tech)
- include slot in block error metadata (#6146) (@nflaig)
- remove duties when deleting remote key via keymanager (#6141) (@nflaig)
- logtrace produced cache population for blinded block assembly (#6131) (@g11tech)
hexToBuffer
bug (#6098) (@orenyomtov)- log useProduceBlockV3 default value instead of undefined (#6125) (@nflaig)
- remove unused gossip block metrics from network core (#6120) (@nflaig)
- only transfer cache at epoch transition (#6102) (@tuyennhv)
- avoid leaky event handler in waitForCheckpointState (#6096) (@tuyennhv)
- transfer cache in prepareNextSlot epoch transition (#6068) (@tuyennhv)
Build System
- add build workflow for debug nodejs (#6103) (@nazarhussain)
Continuous Integration
- update the core-dump pattern with a path suffix (#6142) (@nazarhussain)
Tests
- migrate state-transition unit tests to vitest (#6173) (@nazarhussain)
- migrate api unit tests to vitest (#6177) (@nazarhussain)
- fix flaky sim tests (#6163) (@nazarhussain)
- add retry option for segfault (#6161) (@nazarhussain)
- fix the benchmark tests (#6160) (@nazarhussain)
- add performance benchmarks for the phase0 block attributes (#6145) (@nazarhussain)
- enable coredump for the unit tests (#6107) (@nazarhussain)
- add tests for utils (#6109) (@murrayee)
- prover: move tests for prover to vitest (#6074) (@nazarhussain)
Maintenance
- release v1.13.0 (#6204) (@philknows)
- update flag to pass builder url (#6190) (@nflaig)
- log block transition steps in publishBlock api (#6199) (@tuyennhv)
- fix yarn.lock diff (#6169) (@nflaig)
- consistently include code in block error metadata (#6148) (@nflaig)
- update external signer configuration errors (#6140) (@nflaig)
- merge stable v1.12 back to unstable (#6100) (@philknows)
- add reference to attestation summary metric explainer (#6092) (@nflaig)
- log precomputed checkpoint state hits (#6097) (@tuyennhv)
- networks: update gnosis bootnodes (#6164) (@4rgon4ut)