github ChainSafe/lodestar v1.40.0
Release v1.40.0

7 hours ago

Release v1.40.0

Good day Lodestar operators! We're excited to release v1.40.0 and recommend users upgrade for the latest features and best performance. This release brings significant memory and performance improvements, especially for PeerDAS supernodes.

Breaking change: Node.js v22 is no longer supported. If you are building from source, please ensure you are using Node.js v24 (the current LTS). Docker users are not affected.

Supernode stability and overall node health have been greatly improved. You will see drastic reduction in head selection time and much greater head accuracy through an improvement of block processing latency. The underlying changes will also improve sync latency to get your nodes up to head even faster than before.

We have have added a couple of helpful api endpoints with this release. The first is targeted at operators running many validators and will allow api access to see which validator indices are connected to a node. This is also printed in the logs on an epoch basis to help infrastructure management teams with migrations and to avoid slashable incidents because of human or process reasons. We also added a nice to have feature, along with accompanying new flag --directPeers, to allow direct connection to specific peers as well as the ability to drop specific peers at runtime. You can also list the peerIds of all direct connections. You can also now query your peerDAS custody information for a running node.

We also have an exciting announcement that we are please to share with you. We have taken the first steps towards preparing Lodestar for its first Zig modules. We have been working hard on migrating the state-transition to Zig and its nearly complete. This release includes some changes necessary to prep for swapping the TypeScript state transition function over to a Zig module. While this will be a silent change for user we are excited to share that our preliminary results are excellent and node performance will be off the charts in the upcoming months. Stay tuned for more information!!!

For the full changelog, please see: v1.39.1...v1.40.0

Changelog

Features

Bug Fixes

  • add backpressure to unfinalized block write queue (#8885) (@lodekeeper)
  • await processFn to prevent buffer pool race condition (#8877) (@lodekeeper)
  • consistently check block input cache before checking hot db for blocks (#8823) (@nflaig)
  • remove index label from validator_monitor_prev_epoch_on_chain_balance metric (#8824) (@lodekeeper)
  • make column reconstruction delay a function of slot time (#8827) (@lodekeeper)
  • remove docker build stage to rebuild native dependencies (#8819) (@nflaig)
  • revert changes to getPendingBalanceToWithdraw (#8812) (@ensi321)
  • handle slot 0 correctly in data column sidecar RPC handler (#8783) (@qu0b)
  • avoid BeaconState commit() clone() in beacon-node (#8728) (@twoeths)
  • pass fork info used to compute domain to remote signer (#8776) (@nflaig)
  • return reward delta instead of validator balance as sync committee rewards (#8774) (@nflaig)
  • api: allow duplicate columns/blobs in publishBlock for multi-BN setups (#8849) (@lodekeeper)
  • network: handle invalid peer public key in onLibp2pPeerConnect (#8829) (@lodekeeper)
  • docker: reinstall dependencies on target platform (#8816) (@wemeetagain)

Performance

  • optimize byteArrayEquals with hybrid loop/Buffer.compare (#8846) (@lodekeeper)

Refactoring

Continuous Integration

Tests

Maintenance

Documentation

Don't miss a new lodestar release

NewReleases is sending notifications on new releases.