Releases: ChainSafe/lodestar
Release v1.21.0-rc.1
Changelog
Features
- include EL client info in graffiti (#6753) (@ensi321)
- add historical state regen (#6033) (@wemeetagain)
- use napi-rs blst bindings (#6894) (@wemeetagain)
- add yamux stream muxer (#5886) (@wemeetagain)
- add cli flag to disable light client server (#6913) (@nazarhussain)
- add option to disable thread pool for keystore decryption (#6949) (@nflaig)
Bug Fixes
- revert yamux (#6990) (@tuyennhv)
- sanitize url in http client debug logs and metrics (#6974) (@nflaig)
- start clock last when initializing validator client (#6973) (@nflaig)
- return finalized as false if finalized epoch is genesis epoch (#6965) (@nflaig)
- ignore noisy eventstream errors due to DNS resolution errors (#6972) (@nflaig)
- fix the publish blinded block api parsing for optional header verison (#6966) (@g11tech)
- sepolia genesis delay (#6961) (@domiwei)
- update user-agent check for go-eth2-client (#6958) (@nflaig)
- expose metadata headers to scripts running in the browser (#6952) (@nflaig)
- add workaround to fix compatibility with go-eth2-client (#6953) (@nflaig)
- default to json if client accepts all media types (#6950) (@nflaig)
Maintenance
- add additional instructions for hotfixes in release.md (#6971) (@philknows)
- bump blst-ts version (#6980) (@matthewkeil)
- refactor block and state api utils (#6963) (@wemeetagain)
- pin nodejs version to 22.4 (#6964) (@nflaig)
- bump @chainsafe/bls-keystore (#6956) (@wemeetagain)
- remove unused metricsRegistries (#6957) (@wemeetagain)
- merge v1.20.1 stable back to unstable (#6960) (@philknows)
- decompose AttesterStatus (#6945) (@wemeetagain)
- merge v1.20.0 stable back to unstable (#6944) (@philknows)
- optimize getSlotFromOffset (#6941) (@wemeetagain)
Documentation
- update dependency graph (#6981) (@philknows)
- update prover and light client documentation (#6983) (@nflaig)
- add note to local testnet setup (#6984) (@nflaig)
- fix formatting of RELEASE.md file (#6985) (@nflaig)
- updated Light Client url in Readme (#6948) (@guha-rahul)
- fix search, redirects and broken links (#6940) (@nflaig)
Release v1.21.0-rc.0
Changelog
Features
- include EL client info in graffiti (#6753) (@ensi321)
- add historical state regen (#6033) (@wemeetagain)
- use napi-rs blst bindings (#6894) (@wemeetagain)
- add yamux stream muxer (#5886) (@wemeetagain)
- add cli flag to disable light client server (#6913) (@nazarhussain)
- add option to disable thread pool for keystore decryption (#6949) (@nflaig)
Bug Fixes
- sanitize url in http client debug logs and metrics (#6974) (@nflaig)
- start clock last when initializing validator client (#6973) (@nflaig)
- return finalized as false if finalized epoch is genesis epoch (#6965) (@nflaig)
- ignore noisy eventstream errors due to DNS resolution errors (#6972) (@nflaig)
- fix the publish blinded block api parsing for optional header verison (#6966) (@g11tech)
- sepolia genesis delay (#6961) (@domiwei)
- update user-agent check for go-eth2-client (#6958) (@nflaig)
- expose metadata headers to scripts running in the browser (#6952) (@nflaig)
- add workaround to fix compatibility with go-eth2-client (#6953) (@nflaig)
- default to json if client accepts all media types (#6950) (@nflaig)
Maintenance
- add additional instructions for hotfixes in release.md (#6971) (@philknows)
- bump blst-ts version (#6980) (@matthewkeil)
- refactor block and state api utils (#6963) (@wemeetagain)
- pin nodejs version to 22.4 (#6964) (@nflaig)
- bump @chainsafe/bls-keystore (#6956) (@wemeetagain)
- remove unused metricsRegistries (#6957) (@wemeetagain)
- merge v1.20.1 stable back to unstable (#6960) (@philknows)
- decompose AttesterStatus (#6945) (@wemeetagain)
- merge v1.20.0 stable back to unstable (#6944) (@philknows)
- optimize getSlotFromOffset (#6941) (@wemeetagain)
Documentation
- update dependency graph (#6981) (@philknows)
- update prover and light client documentation (#6983) (@nflaig)
- add note to local testnet setup (#6984) (@nflaig)
- fix formatting of RELEASE.md file (#6985) (@nflaig)
- updated Light Client url in Readme (#6948) (@guha-rahul)
- fix search, redirects and broken links (#6940) (@nflaig)
Release v1.20.2
Hey Lodestar users!
We've released a v1.20.2 patch that fixes a cross-client compatibility issue when publishing blinded blocks using a Lodestar beacon node and a Lighthouse/Nimbus validator client with mev-boost enabled. We highly recommend the few users affected by this to upgrade.
For testing, such as those using Lodestar within Kurtosis for multi-client devnet tests, you now can use the --disableKeystoresThreadPool
flag to disable worker pools for quicker decryption of less secure test keystores.
Changelog
Features
Bug Fixes
Maintenance
- v1.20.2 release (#6968) (@philknows)
- pin nodejs version to 22.4 (#6964) (@nflaig)
Release v1.20.2-rc.1
Release v1.20.1
Update on v1.20! We highly recommend updating if you're experiencing issues with Lodestar after the upgrade.
This hotfix is mainly for users experiencing issues running Lodestar v1.20.0, notably with external software such as Vouch, Charon v1.0.0 and other software utilizing the attestantio/go-eth2-client library. We have pushed a hotfix in v1.20.1 until the library fix with handling unexpected SSZ responses has been propagated downstream through the ecosystem!
If you upgraded to v1.20.0 and see an error such as Fatal error: fetch fork schedule: beacon api fork_schedule: failed to parse JSON
, it is due to the response always being decoded as JSON data. We've implemented a temporary workaround in this hotfix as a stop-gap measure: #6953.
If your code depends on the go-eth2-client
library, this will not be a problem if you're using version >=v0.21.6
.
Changelog
Bug Fixes
- update user-agent check for go-eth2-client (#6958) (@nflaig)
- expose metadata headers to scripts running in the browser (#6952) (@nflaig)
- add workaround to fix compatibility with go-eth2-client (#6953) (@nflaig)
- default to json if client accepts all media types (#6950) (@nflaig)
Maintenance
- release v1.20.1 (#6955) (@philknows)
Release v1.20.1-rc.1
Changelog
Bug Fixes
Release v1.20.1-rc.0
Release v1.20.0
We recommend users to upgrade for improvements. More notably, this version includes some changes in our @lodestar/api
package. For most users, this should not affect you, but please note some changes to exported types. If this affects you, more information is provided on the PR located here: #6749
For users wanting to benefit from SSZ APIs on our validator client, you can now set the --http.requestWireFormat=ssz
parameter on your Lodestar setup. This has only been tested against a Lodestar beacon node.
For users experiencing problems with Sepolia or Holesky recently, bootnode ENRs have been updated to minimize issues and fixes relating to testnet repo configs have been merged. Please update to this version if you've had trouble finding peers on testnets. Speaking of testnets, we have removed older configs of deprecated testnets such as goerli
and ropsten
. 🫡
For developers/contributors to Lodestar, we have refactored how we handle generic forks in our codebase. If you're looking into our code, this might help you understand our Types better. We've published a developer blog post for those who want to learn more. Check it out here! https://blog.chainsafe.io/handling-generic-forks-and-understanding-types-in-lodestar/
Changelog
Features
- add proposer boost reorg related grafana panels (#6910) (@ensi321)
- warning log if primary beacon node is unhealthy (#6921) (@nflaig)
- add warning log to notifier if execution client is offline (#6919) (@nflaig)
- add to block processor and bls dashboards (#6917) (@wemeetagain)
- add endpoint to fetch blinded blocks (#6905) (@nflaig)
- generalize blobs to data for extension ready for ils and/or data columns (#6693) (@g11tech)
- provide first-class ssz support on api (#6749) (@nflaig)
- add proposer boost reorg flag (#6652) (@ensi321)
- enable debug apis by default (#6824) (@nflaig)
Bug Fixes
- getHealth returns 206 status code if EL is optimistic or offline (#6920) (@nflaig)
- eth1 provider error logging (#6863) (@nflaig)
- prepareNextEpoch metric (#6924) (@tuyennhv)
- do not report negative sync time and slots/s (#6918) (@nflaig)
- ignore lockfiles when listing validator public keys (#6911) (@nflaig)
- update blockcontents typing to be more precise (#6907) (@g11tech)
- move server api method invocation out of try-catch for parsing (#6890) (@nflaig)
- default to http status text if error response is empty (#6898) (@nflaig)
- prune invalid ssz objects (#6875) (@tuyennhv)
- update holesky / sepolia repository layout (#6827) (@barnabasbusa)
- avoid uncaught exception when polling validator indices (#6891) (@nflaig)
- ignore empty array when filtering validator rewards (#6882) (@nflaig)
- allow POST requests without body / content-type header (#6881) (@nflaig)
- ignore empty array when filtering validator balances (#6878) (@nflaig)
- ignore empty ids/statuses arrays when filtering validators (#6876) (@nflaig)
- add workaround to fix fetching state from checkpointz (#6874) (@nflaig)
- incorrect variable access (#6862) (@jeluard)
Refactoring
- improve types package to use forks as generics (#6825) (@nazarhussain)
- test: use the configurable logger consistently via top level interface of crucible (#6871) (@nazarhussain)
Tests
- update clock tests to run deterministically (#6828) (@divyesh87)
- fix failing browsers bundle tests (#6886) (@nazarhussain)
Maintenance
- v1.20.0 release (#6942) (@philknows)
- update sepolia.ts to include Lodestar bootnode (#6936) (@Faithtosin)
- reduce call stack in http client (#6934) (@nflaig)
- update sepolia bootnodes (#6933) (@nflaig)
- update the flow for building bundle and running bundle tests (#6912) (@nazarhussain)
- track Prepare Next Epoch heatmap (#6928) (@tuyennhv)
- unhide execution engine mock flag (#6922) (@nflaig)
- remove all* types objects (#6904) (@nazarhussain)
- rename execution payload header type guard (#6906) (@nflaig)
- cleanup usage of blinded types (#6903) (@nazarhussain)
- remove apis that are no longer part of beacon spec (#6901) (@nflaig)
- add default message if server closes eventstream (#6902) (@nflaig)
- remove unused code (#6873) (@jeluard)
- remove no longer supported networks from config (#6870) (@nflaig)
- enable nHistoricalStates e2e test (#6867) (@tuyennhv)
- add new FAQ about yarn version (#6796) (@jeluard)
- improve vitest output (#6850) (@jeluard)
- bump @chainsafe/blst to v0.2.11 (#6856) (@wemeetagain)
- modify license structure to include apache2 (#6835) (@philknows)
- deps: bump ws from 7.5.9 to 7.5.10 in /docs (#6896) (@dependabot[bot])
Documentation
Release v1.20.0-rc.0
Changelog
Features
- add proposer boost reorg related grafana panels (#6910) (@ensi321)
- warning log if primary beacon node is unhealthy (#6921) (@nflaig)
- add warning log to notifier if execution client is offline (#6919) (@nflaig)
- add to block processor and bls dashboards (#6917) (@wemeetagain)
- add endpoint to fetch blinded blocks (#6905) (@nflaig)
- generalize blobs to data for extension ready for ils and/or data columns (#6693) (@g11tech)
- provide first-class ssz support on api (#6749) (@nflaig)
- add proposer boost reorg flag (#6652) (@ensi321)
- enable debug apis by default (#6824) (@nflaig)
Bug Fixes
- getHealth returns 206 status code if EL is optimistic or offline (#6920) (@nflaig)
- eth1 provider error logging (#6863) (@nflaig)
- prepareNextEpoch metric (#6924) (@tuyennhv)
- do not report negative sync time and slots/s (#6918) (@nflaig)
- ignore lockfiles when listing validator public keys (#6911) (@nflaig)
- update blockcontents typing to be more precise (#6907) (@g11tech)
- move server api method invocation out of try-catch for parsing (#6890) (@nflaig)
- default to http status text if error response is empty (#6898) (@nflaig)
- prune invalid ssz objects (#6875) (@tuyennhv)
- update holesky / sepolia repository layout (#6827) (@barnabasbusa)
- avoid uncaught exception when polling validator indices (#6891) (@nflaig)
- ignore empty array when filtering validator rewards (#6882) (@nflaig)
- allow POST requests without body / content-type header (#6881) (@nflaig)
- ignore empty array when filtering validator balances (#6878) (@nflaig)
- ignore empty ids/statuses arrays when filtering validators (#6876) (@nflaig)
- add workaround to fix fetching state from checkpointz (#6874) (@nflaig)
- incorrect variable access (#6862) (@jeluard)
Refactoring
- improve types package to use forks as generics (#6825) (@nazarhussain)
- test: use the configurable logger consistently via top level interface of crucible (#6871) (@nazarhussain)
Tests
- update clock tests to run deterministically (#6828) (@divyesh87)
- fix failing browsers bundle tests (#6886) (@nazarhussain)
Maintenance
- update sepolia.ts to include Lodestar bootnode (#6936) (@Faithtosin)
- reduce call stack in http client (#6934) (@nflaig)
- update sepolia bootnodes (#6933) (@nflaig)
- update the flow for building bundle and running bundle tests (#6912) (@nazarhussain)
- track Prepare Next Epoch heatmap (#6928) (@tuyennhv)
- unhide execution engine mock flag (#6922) (@nflaig)
- remove all* types objects (#6904) (@nazarhussain)
- rename execution payload header type guard (#6906) (@nflaig)
- cleanup usage of blinded types (#6903) (@nazarhussain)
- remove apis that are no longer part of beacon spec (#6901) (@nflaig)
- add default message if server closes eventstream (#6902) (@nflaig)
- remove unused code (#6873) (@jeluard)
- remove no longer supported networks from config (#6870) (@nflaig)
- enable nHistoricalStates e2e test (#6867) (@tuyennhv)
- add new FAQ about yarn version (#6796) (@jeluard)
- improve vitest output (#6850) (@jeluard)
- bump @chainsafe/blst to v0.2.11 (#6856) (@wemeetagain)
- modify license structure to include apache2 (#6835) (@philknows)
- deps: bump ws from 7.5.9 to 7.5.10 in /docs (#6896) (@dependabot[bot])
Documentation
Release v1.19.0
Changelog
Features
- disable flood publish by default (#6815) (@wemeetagain)
- recognize grandine from agentVersion (#6808) (@ensi321)
- disable flood publish (#6755) (@tuyennhv)
- update libp2p deps (#6711) (@wemeetagain)
- add types support to esm bundle for lightclient (#6685) (@nazarhussain)
- add arm64 binary support (#6707) (@jeluard)
- add support for browser bundle for lightclient (#6673) (@nazarhussain)
- add and track blob source for metrics (#6628) (@g11tech)
- check aggregationBits length of
SignedAggregateAndProof
in gossip validation (#6700) (@ensi321) - add lodestar binaries to release (#6666) (@jeluard)
- prover: support non-mutated verification provider in prover (#6727) (@nazarhussain)
Bug Fixes
- arm64 binaries creation issue (#6858) (@jeluard)
- revert napi bls (#6853) (@wemeetagain)
- avoid Buffer.from copies (#6723) (@wemeetagain)
- build error log during esm bundle build (#6737) (@nazarhussain)
Dependencies
- update systeminformation to 5.22.9 (#6823) (@nflaig)
- upgrade vitest minor version (#6745) (@nazarhussain)
Continuous Integration
- fix incorrect build caching (#6731) (@jeluard)
- publish binaries for release candidates (#6714) (@nflaig)
- add paths-ignore to workflows (#6713) (@jeluard)
Tests
- increase timeout of keystore tests (#6846) (@nflaig)
- allow compact diff for test failures (#6783) (@nazarhussain)
Maintenance
- bump @chainsafe/blst to v0.2.11 (#6856) (@wemeetagain)
- only log warning if media type is not supported (415) (#6847) (@nflaig)
- add distutils to build phase of Dockerfile (#6845) (@matthewkeil)
- update nodejs to latest 22 (#6729) (@nazarhussain)
- clean up yarn lockfile (#6816) (@nflaig)
- fix vitest performance with spec tests artifacts in place (#6817) (@nazarhussain)
- added docker support for osx (#6696) (@jeluard)
- consolidate classic-level usage (#6795) (@jeluard)
- add
get_proposer_head
check in fork choice spec test (#6814) (@ensi321) - log newPayload engine api (#6810) (@tuyennhv)
- fix broken docker (#6813) (@jeluard)
- refactor event loop interactions (#6806) (@jeluard)
- update the naming conventions used in sim tests (#6805) (@nazarhussain)
- review debugging section PR (#6807) (@nflaig)
- upgrade classic-level (#6793) (@jeluard)
- warn when heap limit is too low (#6722) (@jeluard)
- update fastify to v4.27.0 (#6740) (@nflaig)
- revert "ci: add paths-ignore to workflows (#6713)" (#6730) (@nflaig)
- do not build all binaries atomically (#6719) (@jeluard)
- update vitest (#6718) (@nazarhussain)
- update consensus spec version in README (#6705) (@nflaig)
- update references to consensus spec to v1.4.0 (#6704) (@nflaig)
- n-historical state - track state persist count per epoch (#6699) (@tuyennhv)
- merge stable to unstable (#6703) (@wemeetagain)
- deps: bump ejs from 3.1.9 to 3.1.10 (#6721) (@dependabot[bot])