Skip to content

Release v1.49.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Sep 13:54
· 14 commits to unstable since this release
Immutable release. Only release title and notes can be modified.
v1.49.0
0e1dc85

Good day Lodestar operators! We鈥檝e just released v1.49.0 and recommend upgrading for mainnet and testnet users.

This release makes Lodestar ready for the Glamsterdam fork on Sepolia. Sepolia is the first public network to run Glamsterdam and is the only testnet scheduled so far and will test both the Gloas features and will bump the gas limit to 200M. Hoodi and mainnet aren't scheduled yet, so stay tuned for those releases in the near future.

New flag: --chain.dedupePayloads activates for Gloas
De-duplicates archived execution payloads and stores a ~1 KB header envelope instead of the full payload (>99% archive savings) and reconstructs from the EL on read. This feature is turned on by default. It's quite CPU-heavy (and EL speed dependent) when others are trying to sync from your running node as a call is made to the EL and then payload serialization runs on the main thread, so you may need to monitor you setup and turn it off on low-CPU nodes. The tradeoff for leaving it off is higher disk usage.

Full Changelog

Features

Bug Fixes

  • update earliestAvailableSlot when pruning history (#10177) (@nflaig)
  • do not remove pending block on failed download (#10137) (@twoeths)
  • harden validator block signing (#10142) (@nflaig)
  • do not replace recorded slashing protection data on interchange import (#10168) (@nflaig)
  • reject slashing protection import of attestations from the future (#10170) (@nflaig)
  • check attestation target epoch and block slot before signing (#10169) (@nflaig)
  • validate slot and epoch values on slashing protection import (#10166) (@nflaig)
  • use exact integer division for Electra slashing penalty (#10163) (@nflaig)
  • derive ephemery config from published iteration, not process start time (#10161) (@lodekeeper)
  • update gossipsub to v17.1.2 (#10157) (@wemeetagain)
  • expose single attestations and filter committees in pool API (#10149) (@nflaig)
  • reject pre-Gloas payload attestations on gossip (#10141) (@nflaig)
  • always check progressive balances (#10046) (@GrapeBaBa)
  • specify optimistic search for payload in NetworkProcessor (#10123) (@twoeths)
  • keep idle event streams alive (#10133) (@nflaig)
  • bind IPv6 by default only if the host has a global IPv6 address (#10104) (@MysticRyuujin)
  • suggest the ASCII form when rejecting a builder url (#10127) (@nflaig)
  • derive default builder auth data from the url hostname (#10107) (@nflaig)
  • delete block archive index entries when pruning history (#10110) (@nflaig)
  • prune archived states before the finalized epoch with chain.pruneHistory (#10106) (@nflaig)
  • prune cache entries of repeat proposals that are not imported (#10083) (@nflaig)
  • bound inbound gossipsub RPC frames by max_message_size (#10079) (@ensi321)
  • prune execution payload envelopes with chain.pruneHistory (#10105) (@nflaig)
  • bound gloas DataColumnSidecar by max blob of BLOB_SCHEDULE (#10076) (@twoeths)
  • reject invalid characters in fromHex on nodejs build (#9943) (@pucedoteth)
  • reject gloas blocks with legacy deposits on deserialization (#10080) (@nflaig)
  • align gloas external signer requests with remote signing api (#10071) (@nflaig)
  • network: declare @libp2p/utils as a runtime dependency of beacon-node (#10086) (@lodekeeper)
  • network: actually dial QUIC before TCP when a peer advertises both (#10077) (@spiral-ladder)
  • api: respect cancellation during event stream setup (#10065) (@krisoshea-eth)

Refactoring

Continuous Integration

Tests

Maintenance

Documentation