Skip to content

Releases: sigp/lighthouse

Mr. Goldenfold

Choose a tag to compare

@github-actions github-actions released this 22 Jun 11:41
v8.2.0
120c3c6

Summary

⚠️ Lighthouse v8.2.0 is a high-priority release containing fixes for several security vulnerabilities, as well as optimisations and new features.

All beacon node users should upgrade as soon as practical. Validator client users should review the fee-recipient and graffiti changes below before upgrading.

This release also contains substantial Gloas preparation, Fulu data-availability networking improvements, and new standard API support.

Upgrade Notes

  • Mandatory fee recipient: Validator clients now refuse to startup when an enabled validator has no suggested_fee_recipient field in validator_definitions.yml and no global --suggested-fee-recipient fallback is configured. This prevents validator income from being lost accidentally.
  • Validator graffiti: Lighthouse beacon nodes now append client version information to user graffiti by default. To opt-out use the --graffiti-append false flag with Lighthouse VC or set graffiti that is between 30-32 bytes long. There is no change in behaviour if you are already using the --private flag for the beacon node.
  • 💾 Database schema v29: Lighthouse beacon nodes will automatically migrate the database from schema v28 to v29 on startup. A downgrade back to v28 is available prior to the Gloas hard fork, follow the instructions in the Lighthouse Book.

⚠️ Breaking Changes ⚠️

  • Validator fee recipient: Validator clients now refuse to startup when an enabled validator has no suggested_fee_recipient and no global --suggested-fee-recipient fallback is configured. This prevents validator income from being lost accidentally.
  • Proposer duties: The VC uses the proposer_duties v2 endpoint now by default. This is incompatible with beacon nodes that do not support this API. If you are running Nimbus BN or get ERROR Failed to download proposer duties, add --disable-proposer-duties-v2 to your VC flags.

💻 Breaking Changes for Devs

  • Mplex will be disabled by default in the next release.
  • Removed non-standard Lighthouse APIs: /lighthouse/analysis/block_rewards, /lighthouse/analysis/attestation_performance/{index}, and /lighthouse/analysis/block_packing_efficiency.
  • Updated /eth/v1/beacon/rewards/* responses to match the beacon API spec wrappers, including execution optimistic/finalized metadata.
  • Pre-Fulu devnet support has been removed.
  • Merge transition support has been removed.

🗑️ Deprecated CLI Flags

The follow CLI flags for the beacon node have been deprecated:

  • --libp2p-addresses is deprecated in favour of --boot-nodes.
  • --reconstruct-historic-states is deprecated in favour of --archive.
  • --proposer-reorg-* flags are deprecated. We do not recommend changing these values.

🧩 Partial Data Columns

Lighthouse now supports partial data columns (EIP-8136). Partial columns reduce the bandwidth used to propagate blob data, utilizing data already present in the EL client. While partial data columns do not require a hard fork, the benefits scale as more of the network upgrades.

For now, Lighthouse only enables partial data columns by default on Hoodi and Sepolia. To opt out, use --enable-partial-columns false.

Notable Changes

  • Added extensive Gloas/ePBS support: payload envelopes, payload bids, payload attestations, PTC duties, proposer preferences, fork-choice changes, gossip verification, lookup/range sync, HTTP APIs, and validator-client duties.
  • Added standard API support for proposer lookahead, v2 proposer duties, payload bids, payload envelopes, PTC duties, proposer preferences, and new SSE topics including execution_payload, execution_payload_gossip, and proposer_preferences.
  • Improved validator-client behaviour for proposer preferences, payload attestation duties, per-validator fee-recipient validation, graffiti defaults, and validator-manager imports.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High Low
Non-Staking Users High ---

See Update Priorities for more information about this table.

Security Content

This section will be updated with security advisories as they are made public. We are not disclosing the complete security content of this release in order to give users time to upgrade.

  • Fix for a fork choice bug which could cause incorrect justification and finalization: #9471.
  • Fix for a fork choice bug resulting in #9364.
  • Fix for a slasher OOM: #9141.

All Changes

  • Release v8.2.0
  • Update deps
  • Add proposer preferences SSE event (#9308)
  • Fix race condition between validator duties service and proposer preferences (#9309)
  • Fix and improve handling of empty columns after getBlobs response (#9361)
  • Enable late re-org and re-org interactive tests (#9405)
  • Update DB docs for v8.2.0/schema v29 (#9489)
  • Refactor payload attestation service (#9492)
  • Correct unrealized justification for blocks with slashings (#9471)
  • Gloas attestation payload reprocess (#9440)
  • SSZ fallback to JSON in proposer_preferences (#9475)
  • fix(http_api): ignore committee_index in attestation data endpoint (#9437)
  • Remove --disable-partial-columns in favour of bool argument to --enable... (#9478)
  • Make single block lookup respect earliest_available_slot for column requests (#9447)
  • Use hashlink over lru for LruCache (#8911)
  • Enable mplex by default and change --enable-mplex to take bool (#9476)
  • Gloas alpha spec 9 (#9393)
  • Append client version info to user graffiti by default (#9313)
  • Allow release branches to target stable in target-branch-check (#9457)
  • deprecate disallowed-offsets config for re-orgs (#9449)
  • Only bake warpbuild snapshot from stable (#9462)
  • Bump discv5 (#9394)
  • Update warp snapshot build job (#9459)
  • Better partial diagnosics (#9436)
  • Gloas range sync (#9362)
  • Refactor payload_attestation_service and add payload attestation test to validator client (#9357)
  • Gloas lookup sync (#9155)
  • Fix sending partials from immediately complete columns (#9433)
  • Simplify lookup sync da_checker oracle (#9428)
  • Optimise slow block verification tests (#9274)
  • fix(network): clear ENR nfd field when no next fork is scheduled during runtime transitions (#9131)
  • Update gloas api routes to match updated spec (#9418)
  • Update libp2p (#9331)
  • Improve error types for envelopes (#9414)
  • Fix O(n²) find_head and stack overflow in filter_block_tree (#9090)
  • Ensure PTC votes accurately reflect data availability (#9412)
  • Remove unused spec field from AvailableBlock (#9411)
  • Reject importing Gloas block until parent's payload is imported (#9382)
  • Regression test for range sync CGC race condition (#8039)
  • Gloas data column reprocess queue (#9339)
  • Remove RequestState trait from lookup sync (#9391)
  • Disable Mplex by default (#9365)
  • Delete unnecessary SyncMessage variants (#9379)
  • Move BlockProcessingResult match out of block lookups (#9327)
  • Deprecate blob lookup sync (#9383)
  • Add POST beacon/bid endpoint (#9347)
  • Make proposer_score_boost non-optional in ChainSpec (#9386)
  • Use correct slot in custody request (#9380)
  • Delete bogus InvalidBestNode error (#9364)
  • Deprecate gossip blobs (#9126)
  • Rust 1.96 lints (#9368)
  • Add gossip validation spec tests for proposer/attester slashings (#9323)
  • Ensure we can serve blocks and columns after head event is emitted (#9338)
  • Fix non-canonical payload attestation processing (#9305)
  • Deprecate some reorg-related CLI flags and read from spec (#9177)
  • Enable partial data columns by default on Hoodi and Sepolia (#9343)
  • Add macro to simplify into_full_block implementations (#9294)
  • Add support for jemalloc memory profiling (#9326)
  • Gloas dont enforce peer column custody on block import (#9341)
  • Custody backfill sync only penalize peers once per batch (#9340)
  • Ensure we use the right fork when calculating payload attestation sig domain (#9342)
  • Gloas alpha spec 8 (#9315)
  • Add getBlobsV3 to LIGHTHOUSE_CAPABILITIES (#9330)
  • Drop unused EthSpec generic from Stores (#9281)
  • Partial columns cleanup (#9321)
  • Gloas lookup sync boilerplate (#9322)
  • Use dedicated cache for HTTP API route (#9318)
  • Remove outdated SPRP hint (#9312)
  • Gloas payload cache (#9209)
  • ignore-ws-check flag doesnt allow the node to start outside the weak subjectivity period (#9290)
  • Fix stale beacon_state_root in test helpers (#9289)
  • Dont penalize payload envelope peers after gossip verification (#9283)
  • chore: remove builder_index from produce_block_v4 (#9267)
  • Fix execution integration test CI failure (#9277)
  • Implement beacon_blocks_by_head (#9237)
  • Generalise reconstruct_historic_states for ranged replay (#9222)
  • Remove TestRandom (#9006)
  • Remove libssl dependency for cargo udeps (#9263)
  • fix: payload_attestation_data when no block received for slot (#9225)
  • Implement gloas proposer preference vc duty (#9208)
  • Unblock CI by temporarily ignoring hickory-proto audit failures (#9257)
  • fix: prevent duplicate column reconstruction dispatch (#9250)
  • Avoid 0x00 block hashes in fcU (#9233)
  • Update CI: warp runnner to use snapshot and use warm (#9217)
  • Gloas proposer preferences alpha 7 (#9239)
  • Gloas HTTP API tests passing (#9154)
  • Submit ptc votes that we produce to the ptc op pool (#9231)
  • Remove test_logger feature (#9125)
  • Import exec...
Read more

Noob-Noob

Choose a tag to compare

@github-actions github-actions released this 26 Mar 03:47
v8.1.3
176cce5

Summary

⚠️ Lighthouse v8.1.3 is a high-priority patch release with further security-critical fixes atop v8.1.2.

This is a mandatory upgrade for all users running any prior version. All prior Lighthouse releases including v8.1.2 are affected by vulnerabilities. All Lighthouse beacon nodes should be upgraded as soon as possible. The vulnerabilities patched in this release are now publicly disclosed, see the Security Advisories section later in these release notes.

We greatly appreciate your diligence in keeping Ethereum secure.

Other Changes

  • 🎉 Set the Fulu fork epoch for Gnosis Chain. Slot 27435008, Tue Apr 14 2026 12:06:20 UTC. All Gnosis users must update BN+VC before this time.
  • Optimised state root computation to address a performance regression causing 10x slowdowns: #9017. Block processing times are a lot smoother in v8.1.3, which helps with attestation performance.

Breaking Changes

There are no breaking changes in this release. If you are upgrading from prior to v8.1.0 we recommend reading the release notes for v8.1.0, v8.1.1 and v8.1.2.

Update Priority

This release contains several security fixes. All users running prior versions of Lighthouse BN should upgrade immediately.

User Class Beacon Node Validator Client
Staking Users High High for Gnosis, Low otherwise
Non-Staking Users High ---

See Update Priorities for more information about this table.

Security Advisories

We can now reveal the vulnerabilities that were patched in Lighthouse v8.1.1, v8.1.2 and v8.1.3:

All Changes

  • Release v8.1.3
  • Bump c-kzg
  • Bump libp2p
  • Bump yamux
  • Bump quinn
  • Schedule Fulu fork for Gnosis mainnet (#9007)
  • Use BTreeMap for state.validators pending updates (#9017)
  • Scrap redundant docker builds on releases (#8999)
  • Bump rustls and ignore unpatched version due to Warp (#9010)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.1.3-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.1.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 lighthouse-v8.1.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v8.1.3 sigp/lighthouse

Krombopulos Michael

Choose a tag to compare

@github-actions github-actions released this 09 Mar 09:53
v8.1.2
3deab9b

Summary

⚠️ Lighthouse v8.1.2 is a high-priority patch release with further security-critical fixes atop v8.1.1.

This is a mandatory upgrade for all users running any prior version. All prior Lighthouse releases including v8.1.1 are affected by vulnerabilities. All Lighthouse beacon nodes should be upgraded as soon as possible. There will be CVEs announced for these vulnerabilities in the coming days.

We greatly appreciate your diligence in keeping Ethereum secure, and your patience.

Breaking Changes

There are no breaking changes in this release. If you are upgrading from prior to v8.1.0 we recommend reading the release notes for v8.1.0 and v8.1.1.

Update Priority

This release contains several security fixes. All users running prior versions of Lighthouse BN should upgrade immediately.

User Class Beacon Node Validator Client
Staking Users High Low
Non-Staking Users High ---

See Update Priorities for more information about this table.

All Changes

  • Release v8.1.2
  • Fix cargo-sort errors (#8945)
  • Fix lints for Rust v1.94.0 (#8939)
  • update cargo-sort (#8933)
  • Bump deps

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.1.2-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.1.2-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 lighthouse-v8.1.2-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v8.1.2 sigp/lighthouse

Scary Terry

Choose a tag to compare

@github-actions github-actions released this 27 Feb 08:12
v8.1.1
95f12d0

Summary

Lighthouse v8.1.1 is a patch release that includes an important security fix, along with several networking and validator client bug fixes, sync observability metrics, and dependency updates.

This is a mandatory upgrade for all users running any prior versions. All prior Lighthouse releases are affected by a security vulnerability. Users should upgrade as soon as possible. Further details to come in the following days.

Bug Fixes

  • Validator client head monitor timeout fix (#8846): Fixes a bug in v8.1.0 where the VC head monitoring stream would continuously time out, logging repeated Head service failed warnings. The SSE events API client now uses an appropriate timeout that prevents premature disconnections.

  • Fix duplicate data columns in DataColumnsByRange responses (#8843): Fixes a regression where skip slots caused duplicate data columns in DataColumnsByRange responses. Peers receiving these duplicates would downscore the node with DuplicatedData errors, degrading peering.

  • Return correct variant for snappy errors (#8841): Snappy decoding errors are now correctly classified as InvalidData rather than IoError, ensuring proper error handling in RPC message decoding.

  • Add pruning of observed_column_sidecars (#8531): Fixes a slow memory leak on long-running nodes caused by missing prune calls for the observed_column_sidecars cache during finalization.

  • Process head_chains in descending order of number of peers (#8859): Fixes head chain processing to sort by peer count in descending order as originally intended, improving sync peer selection.

Networking Improvements

  • Penalize peers that send an invalid RPC request (#6986): Peers sending invalid RPC requests that result in decoding errors are now penalized and disconnected, consistent with the handling of other invalid request types.

Update Priority

This release contains a security fix. All users running prior versions of Lighthouse should upgrade immediately.

User Class Beacon Node Validator Client
Staking Users High High
Non-Staking Users High ---

See Update Priorities
more information about this table.

All Changes

  • Bump version to v8.1.1 (#8853)
  • Update yanked keccak 0.1.5 to 0.1.6 (#8900)
  • Add sync batch state metrics (#8847)
  • Process head_chains in descending order of number of peers (#8859)
  • Validator client head monitor timeout fix (#8846)
  • Return correct variant for snappy errors (#8841)
  • Fix duplicate data columns in DataColumnsByRange responses (#8843)
  • Penalize peers that send an invalid rpc request (#6986)
  • Update time to fix cargo audit failure (#8764)
  • fix(beacon_node): add pruning of observed_column_sidecars (#8531)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.1.1-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.1.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 lighthouse-v8.1.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v8.1.1 sigp/lighthouse

Squanchy

Choose a tag to compare

@github-actions github-actions released this 05 Feb 06:07
v8.1.0
edba56b

Summary

Lighthouse v8.1.0 includes performance optimizations, validator client improvements, and bug fixes.

This is a recommended upgrade for users experiencing performance issues, particularly those running large numbers of validators.

Performance Improvements

  • Batch attestation slashability checks (#8516): Attestations are now checked for slashability in batches instead of sequentially. This fixes slashing protection database timeouts for users running large numbers of validators under heavy disk congestion.
  • Faster /eth/v1/beacon/blocks/head/root (#8729): Head block root is now served without waiting for the full block import, improving sync committee performance at epoch boundaries.
  • Faster beacon node startup (#8451): Parallelized pubkey cache initialization during checkpoint sync, significantly reducing startup time on large networks.
  • Faster block processing (#8446): Removed unnecessary block header calculations, saving 10-20ms per block.
  • Faster prepare_beacon_proposer API (#8353): Fixed slow API calls that could take 5-10 seconds during non-finality.

Validator Client Improvements

  • Earlier attestation broadcasting (#7892): Attestations are now sent as soon as a new head is computed, rather than always waiting until 4 seconds into the slot. This brings Lighthouse into spec compliance and helps spread attestation load throughout the slot.
  • Reduced API calls for DVT users (#8699): beacon_committee_selections is now called only once per epoch instead of every slot.
  • Skip empty attestation duties (#8559): Attestation data is no longer requested when attestation duty is empty.
  • Reduced attestation data API calls (#8171): VC now fetches attestation data once per slot instead of once per committee, reducing API calls from 64 to 1 on mainnet.

Other Notable Changes

  • Manual checkpoint sync without blobs (#8470): Checkpoint sync now works when blobs are unavailable.
  • Fork choice debug endpoint (#7845): Added extra data to /eth/v1/debug/fork_choice including justified/finalized roots and unrealized checkpoints.
  • Earlier SSE events (#8718): NewHead SSE event is now emitted earlier in block import.
  • Optimistic sync metric (#8059): New metric to track optimistic sync status.

CLI Changes

Validator Client

  • New flag --graffiti-append (#7558): Append client version info to user-defined graffiti.
  • New flag --disable-beacon-head-monitor (#7892): Revert to the previous behavior of always attesting at the 4 second mark, instead of attesting as soon as a new head is received. This can reduce bandwidth and provide more predictable BN usage, but leaving it enabled is recommended.

Update Priority

User Class Beacon Node Validator Client
Staking Users Medium Medium
Non-Staking Users Low ---

See Update Priorities for more information.

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.1.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.1.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 lighthouse-v8.1.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v8.1.0 sigp/lighthouse

All Changes

  • Release v8.1.0 (#8749)
  • fix bootnode entry (#8748)
  • Use events API to eager send attestations (#7892)
  • Bump bytes to 1.11.1 to fix RUSTSEC-2026-0007 (#8743)
  • Merge remote-tracking branch 'origin/stable' into unstable
  • Fast path for /eth/v1/beacon/blocks/head/root (#8729)
  • Replace INTERVALS_PER_SLOT with explicit slot component times (#7944)
  • Emit NewHead SSE event earlier in block import (#8718)
  • Call beacon_committee_selections only once per epoch (#8699)
  • Disable sqlite by default (#8708)
  • Gloas gossip boilerplate (#8700)
  • Convert RpcBlock to an enum that indicates availability (#8424)
  • Remove unused anvil references (#8710)
  • Add Gloas data column support (#8682)
  • Check slashability of attestations in batches to avoid sequential bottleneck (#8516)
  • Remove data dependency from from core module in `consensus/types (#8694)
  • Implement custom OpenTelemetry sampler to filter uninstrumented traces (#8647)
  • Updated consensus types for Gloas 1.7.0-alpha.1 (#8688)
  • update libp2p dependency to upstream (#8200)
  • Revised log when all validators have exited (#8623)
  • Remove remaining facade module re-exports from consensus/types (#8672)
  • Remove execution dependency from core module in consensus/types (#8666)
  • More consensus/types re-export cleanup (#8665)
  • Update chainspec p2p and etc (#8601)
  • Cleanup consensus/types re-exports (#8643)
  • Remove state dependency from core module in consensus/types (#8653)
  • chore(validator_client): Read genesis time and genesis validators root from eth2_network_config (#8638)
  • Get blobs v2 metrics (#8641)
  • Update buckets for metric (#8651)
  • Re-introduce clearer variable names in beacon processor work queue (#8649)
  • Remove http-api tests, and test on unstable by default, with option to override. (#8646)
  • Move beacon processor work queue implementation to its own file (#8141)
  • Replace tracing::debug! with debug! same for other levels (#8300)
  • Add nightly tests workflow to test prior forks (#8319) (#8636)
  • fix(peerdb): use start_slot instead of end_slot for safer actions (#8498)
  • Remove Windows in the documentation (#8628)
  • Tweak a log message for mock-el (#8599)
  • Remove duplicated crypto dependencies (#8605)
  • Gloas add off protocol payment field to bid (#8596)
  • Delete attester cache (#8469)
  • fix: improve error for insufficient blob data columns (#8595)
  • perf: remove allocations from merkle tree proof verification logic (#8614)
  • refactor: remove service_name (#8606)
  • update ruint dependency (#8617)
  • Update procfs (#8608)
  • Refine cargo-deny rules (#8602)
  • Add cargo deny on CI (#8580)
  • Delete PartialBeaconState (#8591)
  • Gloas(EIP-7732): Containers / Constants (#7923)
  • Append client version info to graffiti (#7558)
  • fix visual bug on visualize_batch_state leading to a non-wanted comma (#8499)
  • Fix Makefile to avoid git describe error in CI (#8513)
  • Update syn to 2.0.110 (#8563)
  • Update strum to 0.27 (#8564)
  • Add regression test for unaligned checkpoint sync with payload pruning (#8458)
  • fix(bls): fix is_infinity when aggregating onto empty AggregateSignature (#8496)
  • Rust 1.92 lints (#8567)
  • Do not request attestation data when attestation duty is empty (#8559)
  • Fix testnet script (#8557)
  • Remove consensus/types re-exports (#8540)
  • Clarify alloy dependencies (#8550)
  • Reduce eth2 dependency space (#8524)
  • Move beacon pool http api to its own separate module (#8543)
  • Move validator http endpoints to a separate module (#8536)
  • Refactor consensus/types (#7827)
  • Move beacon state endpoints to a separate module. (#8529)
  • Move deposit contract artifacts to /target (#8518)
  • Always use committee index 0 when getting attestation data (#8171)
  • Instrument attestation signing. (#8508)
  • Fix data columns sorting when reconstructing blobs (#8510)
  • Update local testnet scripts for the fulu fork (#8489)
  • Refactor get_validator_blocks_v3 fallback (#8186)
  • Add tracing spans to validator client duty cycles (#8482)
  • Optimise pubkey cache initialisation during beacon node startup (#8451)
  • fix: compare bls changes in op-pool (#84...
Read more

BugAnne

Choose a tag to compare

@github-actions github-actions released this 20 Nov 03:32
v8.0.1
ced49dd

Summary

This is a hotfix release addressing several bugs and performance issues discovered in v8.0.0.

Notable changes:

  • From the Fulu fork, checkpoint blobs will no longer be downloaded from the checkpoint server and instead they will be fetched from p2p peers. The getBlobSidcars Beacon API is deprecated from Fulu and clients may drop support in future releases. (#8413, #8417)
  • Prevent unnecessary state advances pre-Fulu. This improves beacon node performance prior to the Fulu fork. (#8388)
  • Fix rare custody context initialization race condition that could cause panics. (#8391)

As a reminder, all mainnet users must upgrade to either v8.0.0 or v8.0.1 prior to the Fulu fork at epoch 411,392 (2025-12-03, 21:49 UTC). You must also update your execution client (e.g. Geth, Nethermind, Erigon, Besu or Reth).

For users upgrading from v7.x.x, please see v8.0.0 release notes here.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users Medium Low
Non-Staking Users Low ---

See Update Priorities for more information about this table.

All Changes

  • Release v8.0.1 (#8414)
  • Reimport the checkpoint sync block (#8417)
  • Fix md format (#8434)
  • Compute missing_columns correctly (#8425)
  • Fix custody context initialization race condition that caused panic (#8391)
  • Do not require blobs from checkpoint servers from Fulu epochs. (#8413)
  • Fix tracing span for execution payload verif (#8419)
  • re-targeting of remove-windows-ci against release-v8.0 (#8406)
  • Prevent unnecessary state advances pre-Fulu (#8388)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.0.1-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.0.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 lighthouse-v8.0.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v8.0.1 sigp/lighthouse

Brosephamons

Choose a tag to compare

@github-actions github-actions released this 04 Nov 05:16
v8.0.0
e3ee7fe

Summary

This release includes the mainnet fork epoch for the upcoming Fulu-Osaka (Fusaka) fork and subsequent blob-parameter-only (BPO) forks. 🎉

Upgrading to v8.0.0 is mandatory for all mainnet users prior to the Fulu fork at epoch 411,392 (2025-12-03, 21:49 UTC).

This version also includes configurations for the following BPO forks (no additional action required):

  • BPO 1: Epoch 412,672 (2025-12-09, 14:21 UTC) - increases blob count to target/max 10/15
  • BPO 2: Epoch 419,072 (2026-01-07, 01:01 UTC) - increases blob count to target/max 14/21

Operators should expect bandwidth increases as the blob count rises with each fork.

Learn more:

There are also other important changes in v8.0.0:

  • This is the last Lighthouse release supporting Windows.
  • Users requiring full blobs (e.g. for L2 sync) must add either the --supernode or --semi-supernode beacon node flag.
  • It is recommended to remove the block-cache-size flag if it is being used.
  • Default gas limit increases from 45M to 60M.

⚠️ Breaking Changes ⚠️

🍎 🪟 Platform Support Changes

This will be the last Lighthouse release supporting Windows. We have made this decision carefully after considering the low level of Windows adoption, and the difficulty of maintaining a high-quality build of Lighthouse for Windows. We recommend Windows users to switch to using Docker, WSL, Linux or another solution of their choice.

Pre-built macOS x86_64 binaries are no longer provided (#7862). Apple, GitHub runners, and Rust are dropping x86_64 macOS support, so we have made the decision to phase out support. macOS x86 users should use the Linux Docker image, the homebrew package, or build Lighthouse from source.

💾 Database Schema Upgrade

Lighthouse v8.0.0 includes a database schema upgrade to schema v28. This upgrade greatly reduces the size of fork choice on disk, leading to reduced I/O.

No action is required upon upgrading, Lighthouse will automatically upgrade your database to the new version.

If you would like to downgrade to a prior release (e.g. v7.1.0), then you must follow the instructions in the Lighthouse book for downgrading the database schema before switching your binary to the old version.

🐡 Changes to Blob Retrieval Beacon APIs

Once PeerDAS is activated from the Fulu fork:

  • Users will no longer be able to retrieve blobs via the Beacon APIs by default. This is because each full node will only sample and store a small portion of blob data.
  • To opt-in to full blob access, users must meet one of the following conditions:
    • Run the beacon node with either the --supernode or --semi-supernode flag.
    • Custody at least 50% of all columns by having at least 2,048 ETH in validator stake attached to the beacon node.
  • Deprecated API /eth/v1/beacon/blob_sidecars/{block_id}: This endpoint will return empty blob proofs in post-Fulu blob sidecars. This is because consensus clients will use cell proofs instead of blob proofs for blob verification. This endpoint will be removed in a future release.
  • New API /eth/v1/beacon/blobs/{block_id} (#8103): This is the successor to the deprecated blob sidecars endpoint. It supports querying blobs by block ID and versioned hashes. Users are encouraged to switch to using this API ahead of the deprecation of the blob sidecars endpoint.

🦀 Rust Version Requirements (MSRV)

If you build Lighthouse from source you need to upgrade your Rust compiler to v1.88.0 or later. Usually this can be accomplished with the command rustup update.

🧠 Jemalloc

When compiling Lighthouse from source, the jemalloc feature no longer exists. It is enabled by default and can be disabled by a new feature called sysmalloc.

🔑 Network Key Format Migration

Lighthouse BN's private key that it uses for networking cryptography has been changed from binary to hex string format. This is only relevant for users who are manually manipulating these keys, or downgrading to an older version of Lighthouse after running v8.0.0.

Lighthouse will automatically change the format of the key from binary to hex upon upgrading. Because the new key format is not supported by previous versions of Lighthouse, the key must be manually deleted if you would like to downgrade. The key can be found at $datadir/network/key.

🖥️ CLI Flag Changes

  • Changed: The default --block-cache-size is now 0 (#8066). To re-enable, use --block-cache-size N with a non-zero argument. We recommend leaving the cache disabled, as its absence improves performance for block persistence and RPC responses.
  • New flag --supernode: Subscribe to all data column subnets and run as a PeerDAS supernode (#8083). The old name --subscribe-all-data-column-subnets is aliased for now but will eventually be removed.
  • New flag --semi-supernode: Subscribe to half of the data column subnets. This flag enables blob retrieval via the Beacon API without running a supernode. Semi-supernodes only download and store 50% of all erasure coded blob data which is just sufficient for recovering the blobs, therefore it uses significantly less resources and bandwidth compared to supernodes. (#8254 & #8265)

🔧 Memory & Performance Fixes

  • Fixed reprocess queue memory leak (#8065): Resolves gradual memory consumption increase during normal operation.
  • Block cache optimization (#8066): Cache now disabled by default, eliminating contention issues.
  • Reduced KZG verification overhead: Removed unnecessary verification from local block production (#7713, #7771).

📊 Add OpenTelemetry support

Lighthouse now includes built-in OpenTelemetry support for advanced monitoring and performance analysis. OpenTelemetry provides detailed traces showing exactly how your node processes blocks, handles network requests, and performs validator duties - breaking down operations into individual steps with precise timing data. This helps developers and operators identify bottlenecks, troubleshoot performance issues, and optimize their setup.

To collect telemetry data, you'll need to run an OpenTelemetry collector (such as Grafana Tempo) and run Lighthouse beacon node with the following flags:

  • --telemetry-collector-url: Connect to an OpenTelemetry gRPC backend (e.g. opentelemetry-collector, Tempo) to export traces (#7816)
  • --telemetry-service-name: Override the service name to distinguish between traces when running multiple nodes

For example:

lighthouse bn --telemetry-collector-url http://localhost:4317 --telemetry-service-name lighthouse-bn

There will be an upcoming blog post that explains the traces available in Lighthouse and how they've been used to analyse and optimise Lighthouse performance.

Other Notable Changes

  • Fix builder get_header JSON deserialisation: This impacts users running a builder middleware that uses JSON, e.g. vouch (#8228)
  • SSZ default: Validator client now uses SSZ by default for /eth/v3/validator/blocks endpoint (#7727)
  • Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
  • New experimental beacon node flag:--complete-blob-backfill flag enables backfilling all blobs beyond the 18-day window (#7751)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users High High
Non-Staking Users High ---

See Update Priorities for more information about this table.

Users should update both the Lighthouse VC and BN to v8.0.0 if using separate binaries. The execution layer client (e.g. Geth, Reth, Besu, Nethermind, Erigon) must also be updated prior to the Fulu fork.

All Changes

  • Release v8.0.0 (#8352)
  • Ensure custody backfill sync couples all responses before importing (#8339)
  • Proposer duties backwards compat (#8335)
  • Add mainnet configs (#8344)
  • Fix CGC backfill race condition (#8267)
  • Rust 1.91 lints (#8340)
  • Bump gas limit to 60M (#8331)
  • Fix: custody backfill sync display incorrect time estimation (#8291)
  • Fix failing CI for compile-with-beta-compiler (#8317)
  • Downgrade gossip logs set to INFO level (#8288)
  • chore!: remove pub visibility on OVERFLOW_LRU_CAPACITY and STATE_LRU_CAPACITY_NON_ZERO (#8234)
  • Update Lighthouse book (#8284)
  • Implement /lighthouse/custody/info API (#8276)
  • Revise logging in BlobsByRoot requests (#8296)
  • Prevent dropping large binary data to logs (#8290)
  • Remove deprecated flag --disable-deposit-contract-sync from doc (#8124)
  • Release v8.0.0 rc.2 (#8255)
  • New design for blob/column pruning (#8266)
  • Only publish reconstructed columns that we need to sample (#8269)
  • Trigger backfill on startup if user switches to a supernode or semi-supernode (#8265)
  • Add --semi-supernode support (#8254)
  • Custody backfill sync (#7907)
  • Fix data column rpc request (#8247)
  • Improve block header signature handling (#8253)
  • Add version to the response ...
Read more

Gene

Gene Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:30
v8.0.0-rc.2
b59feb0

Summary

Lighthouse v8.0.0-rc.2 is a release candidate for the upcoming Fulu-Osaka (Fusaka) hard fork, targeting the Holesky, Hoodi, and Sepolia testnets. Upgrading to v8.0.0-rc.2 or any earlier v8.0.0-rc.x version is mandatory prior to the Fulu forks on Hoodi:

  • Fulu on Hoodi: 2025-10-28 18:53:12 UTC. Slot 1622016.

This release brings full Fusaka support (including PeerDAS), enhanced networking capabilities, and other optimisations.

We strongly recommend users already running earlier v8.0.0-rc.x versions on testnets to upgrade, as this release fixes a peer disconnection regression introduced in v8.0.0-rc.1 and it will help us test prior to the mainnet fork (scheduled in December 2025).

This release is not recommended for mainnet, although mainnet users experiencing memory leaks are encouraged to upgrade to v8.0.0-rc.0 (not this rc.2).

Changes Since v8.0.0-rc.1

The main changes since v8.0.0-rc.1 are listed below. The rest of the release notes describe the changes since v7.1.0.

  • Add --semi-supernode flag to enable blob retrieval via the Beacon API without running a supernode. Semi-supernodes only download and store 50% of all erasure coded blob data which is just sufficient for recovering the blobs, therefore it uses significantly less resources and bandwidth compared to supernodes. (#8254 & #8265)
  • Add support for custody data column backfill, this will improve historical data availability across the network. (#7907)
  • Improve blob and data column pruning performance (#8266).
  • Fix a gossip validation regression introduced in in v8.0.0-rc.1 that could cause Lighthouse to incorrectly disconnect peers (#8215)
  • Fix builder get_header JSON deserialisation. This impacts users running a builder middleware that uses JSON, e.g. vouch. (#8228)
  • Other various performance and bug fixes.

⚠️ Breaking Changes ⚠️

💾 Database Schema Upgrade

Lighthouse v8.0.0-rc.1 includes a database schema upgrade to schema v28. This upgrade greatly reduces the size of fork choice on disk, leading to reduced I/O.

No action is required upon upgrading, Lighthouse will automatically upgrade your database to the new version.

If you would like to downgrade to a prior release (e.g. v7.1.0), then you must follow the instructions in the Lighthouse book for downgrading the database schema before switching your binary to the old version.

Changes to Blob Retrieval and the existing /eth/v1/beacon/blob_sidecars API

Once PeerDAS is activated from the Fulu fork:

  • Users will no longer be able to retrive blobs via the Beacon APIs. This is because each full node will only sample and store a small portion of blob data. (See PeerDAS)
  • The existing /eth/v1/beacon/blob_sidecars/{block_id} endpoint will return empty blob proofs in post-Fulu blob sidecars. This is because consensus clients will use cell proofs instead of blob proofs for blob verification. This endpoint will be removed in a future release.

🦀 Rust Version Requirements (MSRV)

If you build Lighthouse from source you need to upgrade your Rust compiler to v1.88.0 or later. Usually this can be accomplished with the command rustup update.

Jemalloc

When compiling Lighthouse from source, the jemalloc feature no longer exists. It is enabled by default and can be disabled by a new feature called sysmalloc.

🔑 Network Key Format Migration

Lighthouse BN's private key that it uses for networking cryptography has been changed from binary to hex string format. This is only relevant for users who are manually manipulating these keys, or downgrading to an older version of Lighthouse after running v8.0.0-rc.1.

Lighthouse will automatically change the format of the key from binary to hex upon upgrading. Because the new key format is not supported by previous versions of Lighthouse, the key must be manually deleted if you would like to downgrade. The key can be found at $datadir/network/key.

🍎 Platform Support Changes

Pre-built macOS x86_64 binaries are no longer provided (#7862). Apple, GitHub runners, and Rust are dropping x86_64 macOS support, so we have made the decision to phase out support.

macOS x86 users should use the Linux Docker image, the homebrew package, or build Lighthouse from source.

🖥️ CLI Flag Changes

  • Changed: The default --block-cache-size is now 0 (#8066). To re-enable, use --block-cache-size N with a non-zero argument. We recommend leaving the cache disabled, as its absence improves performance for block persistence and RPC responses.

🦓 Fulu

This release candidate introduces full support for the Fulu hard fork, paired with the Osaka hard fork on the execution layer - together known as Fusaka - brings PeerDAS (Data Availability Sampling) and several new features to Ethereum. See this post for details.

New CLI Flags

  • --supernode: Subscribe to all data column subnets and run as a PeerDAS supernode (#8083). The old name --subscribe-all-data-column-subnets is aliased for now but will eventually be removed.

🔧 Memory & Performance Fixes

  • Fixed reprocess queue memory leak (#8065): Resolves gradual memory consumption increase during normal operation
  • Block cache optimization (#8066): Cache now disabled by default, eliminating contention issues
  • Reduced KZG verification overhead: Removed unnecessary verification from local block production (#7713, #7771)

📊 Add OpenTelemetry support

Lighthouse now includes built-in OpenTelemetry support for advanced monitoring and performance analysis. OpenTelemetry provides detailed traces showing exactly how your node processes blocks, handles network requests, and performs validator duties - breaking down operations into individual steps with precise timing data. This helps developers and operators identify bottlenecks, troubleshoot performance issues, and potentially optimize their setup.

New /eth/v1/beacon/blobs API for Blob Retrieval

Lighthouse now implements the /eth/v1/beacon/blobs/{block_id} API (#8103). L2s are encouraged to switch to using this API ahead of the deprecation of the blob sidecars API.

New CLI Flags

  • --telemetry-collector-url: Connect to an OpenTelemetry GRPC backend (e.g. opentelemetry-collector, Tempo) to export traces (#7816)
  • --telemetry-service-name: Override the service name differentiating traces when running multiple nodes

Getting Started: Set up an OpenTelemetry collector (such as Grafana Tempo) and run Lighthouse beacon node with the following flags:

--telemetry-collector-url http://localhost:4317 --telemetry-service-name lighthouse-bn

Other Notable Changes

  • SSZ default: Validator client now uses SSZ by default for /eth/v3/validator/blocks endpoint (#7727)
  • Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
  • New experimental beacon node flag:--complete-blob-backfill flag enables backfilling all blobs beyond the 18-day window (#7751)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users (testnet) High High
Non-Staking Users (testnet) High ---
Staking Users (mainnet) N/A N/A
Non-Staking Users (mainnet) N/A ---

See Update Priorities for more information about this table.

Testnet users should update both the Lighthouse VC and BN to v8.0.0-rc.2 if using separate binaries. The execution layer client (e.g. Geth, Reth, Besu, Nethermind, Erigon) must also be updated prior to the Fulu fork.

All Changes

  • Release v8.0.0 rc.2 (#8255)
  • New design for blob/column pruning (#8266)
  • Only publish reconstructed columns that we need to sample (#8269)
  • Trigger backfill on startup if user switches to a supernode or semi-supernode (#8265)
  • Add --semi-supernode support (#8254)
  • Custody backfill sync (#7907)
  • Fix data column rpc request (#8247)
  • Improve block header signature handling (#8253)
  • Add version to the response of beacon API getPendingConsolidations (#8251)
  • Use millis_from_slot_start when comparing against reconstruction deadline (#8246)
  • Sync cleanups (#8230)
  • Fix get_header JSON deserialization. (#8228)
  • Avoid attempting to serve blobs after Fulu fork (#7756)
  • Feature gate test CLI flags (#8231)
  • More proposer shuffling cleanup (#8130)
  • Max reconstruction delay as a function of slot time (#8067)
  • Revert incorrect fix made in #8179 (#8215)
  • Add eip_3076 crate (#8206)
  • #6853 Adding store tests for data column pruning (#7228)
  • Ignore extra columns in da cache (#8201)
  • Remove safe_arith and import from crates.io (#8191)
  • Add max_blobs_per_block check to data column gossip validation (#8198)
  • Downgrade light client error logs (#8196)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: `15E66D941F69...

Read more

Mr. Frundles

Mr. Frundles Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:30
v8.0.0-rc.1
1fb94ce

Summary

Lighthouse v8.0.0-rc.1 is a release candidate for the upcoming Fulu-Osaka (Fusaka) hard fork, targeting the Holesky, Hoodi, and Sepolia testnets. Upgrading to v8.0.0-rc.1 or the previously released v8.0.0-rc.0 is mandatory prior to the Fulu forks on Sepolia and Hoodi:

  • Fulu on Sepolia: 2025-10-14 07:36:00 UTC. Slot 8724480.
  • Fulu on Hoodi: 2025-10-28 18:53:12 UTC. Slot 1622016.

This release brings full Fusaka support (including PeerDAS), enhanced networking capabilities, and other optimisations.

Users already running v8.0.0-rc.0 on testnets are encouraged to upgrade to help us test prior to the mainnet fork.

This release is not recommended for mainnet, although mainnet users experiencing memory leaks are encouraged to upgrade to v8.0.0-rc.0.

Changes Since v8.0.0-rc.0

The main changes since v8.0.0-rc.0 are listed below. The rest of the release notes describe the changes since v7.1.0.

  • Lighthouse now implements the /eth/v1/beacon/blobs/{block_id} API (#8103). L2s are encouraged to switch to using this API ahead of the deprecation of the blob sidecars API.
  • Block proposal times have been greatly reduced on Holesky (#8156), with reductions expected on other networks as well.
  • Fewer data columns are now stored on full nodes (#8188). This reduces the disk usage of most nodes on Fulu-enabled networks.

⚠️ Breaking Changes ⚠️

💾 Database Schema Upgrade

Lighthouse v8.0.0-rc.1 includes a database schema upgrade to schema v28. This upgrade greatly reduces the size of fork choice on disk, leading to reduced I/O.

No action is required upon upgrading, Lighthouse will automatically upgrade your database to the new version.

If you would like to downgrade to a prior release (e.g. v7.1.0), then you must follow the instructions in the Lighthouse book for downgrading the database schema before switching your binary to the old version.

🦀 Rust Version Requirements (MSRV)

If you build Lighthouse from source you need to upgrade your Rust compiler to v1.88.0 or later. Usually this can be accomplished with the command rustup update.

Jemalloc

When compiling Lighthouse from source, the jemalloc feature no longer exists. It is enabled by default and can be disabled by a new feature called sysmalloc.

🔑 Network Key Format Migration

Lighthouse BN's private key that it uses for networking cryptography has been changed from binary to hex string format. This is only relevant for users who are manually manipulating these keys, or downgrading to an older version of Lighthouse after running v8.0.0-rc.1.

Lighthouse will automatically change the format of the key from binary to hex upon upgrading. Because the new key format is not supported by previous versions of Lighthouse, the key must be manually deleted if you would like to downgrade. The key can be found at $datadir/network/key.

🍎 Platform Support Changes

Pre-built macOS x86_64 binaries are no longer provided (#7862). Apple, GitHub runners, and Rust are dropping x86_64 macOS support, so we have made the decision to phase out support.

macOS x86 users should use the Linux Docker image, the homebrew package, or build Lighthouse from source.

🖥️ CLI Flag Changes

  • Changed: The default --block-cache-size is now 0 (#8066). To re-enable, use --block-cache-size N with a non-zero argument. We recommend leaving the cache disabled, as its absence improves performance for block persistence and RPC responses.

🦓 Fulu

This release candidate introduces full support for the Fulu hard fork, paired with the Osaka hard fork on the execution layer - together known as Fusaka - brings PeerDAS (Data Availability Sampling) and several new features to Ethereum. See this post for details.

New CLI Flags

  • --supernode: Subscribe to all data column subnets and run as a PeerDAS supernode (renamed from --subscribe-all-data-column-subnets) (#8083). The old name is aliased for now but will eventually be removed.

🔧 Memory & Performance Fixes

  • Fixed reprocess queue memory leak (#8065): Resolves gradual memory consumption increase during normal operation
  • Block cache optimization (#8066): Cache now disabled by default, eliminating contention issues
  • Reduced KZG verification overhead: Removed unnecessary verification from local block production (#7713, #7771)

📊 Add OpenTelemetry support

Lighthouse now includes built-in OpenTelemetry support for advanced monitoring and performance analysis. OpenTelemetry provides detailed traces showing exactly how your node processes blocks, handles network requests, and performs validator duties - breaking down operations into individual steps with precise timing data. This helps devlopers and operators identify bottlenecks, troubleshoot performance issues, and potentially optimize their setup.

New CLI Flags

  • --telemetry-collector-url: Connect to an OpenTelemetry GRPC backend (e.g. opentelemetry-collector, Tempo) to export traces (#7816)
  • --telemetry-service-name: Override the service name differentiating traces when running multiple nodes

Getting Started: Set up an OpenTelemetry collector (such as Grafana Tempo) and run Lighthouse beacon node with the following flags:

--telemetry-collector-url http://localhost:4317 --telemetry-service-name lighthouse-bn

Other Notable Changes

  • SSZ default: Validator client now uses SSZ by default for /eth/v3/validator/blocks endpoint (#7727)
  • Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
  • New experimental beacon node flag:--complete-blob-backfill flag enables backfilling all blobs beyond the 18-day window (#7751)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users (testnet) High High
Non-Staking Users (testnet) High ---
Staking Users (mainnet) N/A N/A
Non-Staking Users (mainnet) N/A ---

See Update Priorities for more information about this table.

Testnet users should update both the Lighthouse VC and BN to v8.0.0-rc.1 if using separate binaries. The execution layer client (e.g. Geth, Reth, Besu, Nethermind, Erigon) must also be updated prior to the Fulu fork.

Mainnet users may consider upgrading if experiencing high memory usage. However this release candidate does NOT have mainnet Fulu fork baked in yet, as the fork schedule has not been finalised. Users will have to upgrade to the v8.0.0 mainnet release before the mainnet Fulu fork.

All Changes

  • Release v8.0.0-rc.1 (#8185)
  • Persist only custody columns in db (#8188)
  • Fix duplicate fields being logged when the field exists in both the span and the event (#8183)
  • Update ForkName::latest_stable to Fulu for tests (#8181)
  • Reject data columns that does not descend from finalize root instead of ignoring it (#8179)
  • Implement /eth/v1/beacon/blobs endpoint (#8103)
  • Bump kzg library versions (#8174)
  • Block proposal optimisations (#8156)
  • Remove deprecated CLI flags and references for v8.0.0 (#8142)
  • Quote BeaconState::proposer_lookahead in JSON repr (#8167)
  • Fallback to getPayload v1 if v2 fails (#8163)
  • Fulu ASCII art (#8151)
  • Remove unnecessary warning logs and update logging levels (#8145)
  • Improve spec compliance for /eth/v1/config/spec API (#8144)
  • Bump superstruct to 0.10.0 (#8133)
  • Update book for DB schema v28 (#8132)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 lighthouse-v8.0.0-rc.1-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 lighthouse-v8.0.0-rc.1-x86_64-unknown-linux-gnu.tar.gz [PGP Signature](https://github.com/sigp/lighthou...
Read more

Memory Rick

Memory Rick Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 07:04
v8.0.0-rc.0
e5b4983

Summary

Lighthouse v8.0.0-rc.0 is a release candidate for the upcoming Fulu-Osaka (Fusaka) hard fork, targeting the Holesky, Hoodi, and Sepolia testnets. It is a required upgrade for the upcoming Fusaka hard forks on these testnets.

  • Fulu on Holesky: 2025-10-01 08:48:00 UTC. Slot 5283840.
  • Fulu on Sepolia: 2025-10-14 07:36:00 UTC. Slot 8724480.
  • Fulu on Hoodi: 2025-10-28 18:53:12 UTC. Slot 1622016.

This release brings full Fusaka support (including PeerDAS), enhanced networking capabilities, and other optimisations.

While primarily intended for testnets, this release includes a memory leak fix and several performance improvements that may be useful to some mainnet users. However, the Fusaka upgrade has not yet been scheduled on mainnet, so mainnet users who choose to upgrade will still need to upgrade again to the official v8.0.0 mainnet release (scheduled for November 2025) before the mainnet fork.

⚠️ Breaking Changes ⚠️

💾 Database Schema Upgrade

Lighthouse v8.0.0-rc.0 includes a database schema upgrade to schema v28. This upgrade greatly reduces the size of fork choice on disk, leading to reduced I/O.

No action is required upon upgrading, Lighthouse will automatically upgrade your database to the new version.

If you would like to downgrade to a prior release (e.g. v7.1.0), then you must follow the instructions in the Lighthouse book for downgrading the database schema before switching your binary to the old version.

🦀 Rust Version Requirements (MSRV)

If you build Lighthouse from source you need to upgrade your Rust compiler to v1.88.0 or later. Usually this can be accomplished with the command rustup update.

Jemalloc

When compiling Lighthouse from source, the jemalloc feature no longer exists. It is enabled by default and can be disabled by a new feature called sysmalloc.

🔑 Network Key Format Migration

Lighthouse BN's private key that it uses for networking cryptography has been changed from binary to hex string format. This is only relevant for users who are manually manipulating these keys, or downgrading to an older version of Lighthouse after running v8.0.0-rc.0.

Lighthouse will automatically change the format of the key from binary to hex upon upgrading. Because the new key format is not supported by previous versions of Lighthouse, the key must be manually deleted if you would like to downgrade. The key can be found at $datadir/network/key.

🍎 Platform Support Changes

Pre-built macOS x86_64 binaries are no longer provided (#7862). Apple, GitHub runners, and Rust are dropping x86_64 macOS support, so we have made the decision to phase out support.

macOS x86 users should use the Linux Docker image, the homebrew package, or build Lighthouse from source.

🖥️ CLI Flag Changes

  • Changed: The default --block-cache-size is now 0 (#8066). To re-enable, use --block-cache-size N with a non-zero argument. We recommend leaving the cache disabled, as its absence improves performance for block persistence and RPC responses.

🦓 Fulu

This release candidate introduces full support for the Fulu hard fork, paired with the Osaka hard fork on the execution layer - together known as Fusaka - brings PeerDAS (Data Availability Sampling) and several new features to Ethereum. See this post for details.

New CLI Flags

  • --supernode: Subscribe to all data column subnets and run as a PeerDAS supernode (renamed from --subscribe-all-data-column-subnets) (#8083). The old name is aliased for now but will eventually be removed.

🔧 Memory & Performance Fixes

  • Fixed reprocess queue memory leak (#8065): Resolves gradual memory consumption increase during normal operation
  • Block cache optimization (#8066): Cache now disabled by default, eliminating contention issues
  • Reduced KZG verification overhead: Removed unnecessary verification from local block production (#7713, #7771)

📊 Add OpenTelemetry support

Lighthouse now includes built-in OpenTelemetry support for advanced monitoring and performance analysis. OpenTelemetry provides detailed traces showing exactly how your node processes blocks, handles network requests, and performs validator duties - breaking down operations into individual steps with precise timing data. This helps devlopers and operators identify bottlenecks, troubleshoot performance issues, and potentially optimize their setup.

New CLI Flags

  • --telemetry-collector-url: Connect to an OpenTelemetry GRPC backend (e.g. opentelemetry-collector, Tempo) to export traces (#7816)
  • --telemetry-service-name: Override the service name differentiating traces when running multiple nodes

Getting Started: Set up an OpenTelemetry collector (such as Grafana Tempo) and run Lighthouse beacon node with the following flags:

--telemetry-collector-url http://localhost:4317 --telemetry-service-name lighthouse-bn

Other Notable Changes

  • SSZ default: Validator client now uses SSZ by default for /eth/v3/validator/blocks endpoint (#7727)
  • Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
  • New experimental beacon node flag:--complete-blob-backfill flag enables backfilling all blobs beyond the 18-day window (#7751)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Beacon Node Validator Client
Staking Users (testnet) High High
Non-Staking Users (testnet) High ---
Staking Users (mainnet) Low Low
Non-Staking Users (mainnet) Low ---

See Update Priorities for more information about this table.

Testnet users should update both the Lighthouse VC and BN to v8.0.0-rc.0 if using separate binaries. The execution layer client (e.g. Geth, Reth, Besu, Nethermind, Erigon) must also be updated prior to the Fulu fork.

Mainnet users may consider upgrading if experiencing high memory usage. However this release candidate does NOT have mainnet Fulu fork baked in yet, as the fork schedule has not been finalised. Users will have to upgrade to the v8.0.0 mainnet release before the mainnet Fulu fork.

All Changes

  • Release v8.0.0 rc.0 (#8127)
  • Fix proposer shuffling decision slot at boundary (#8128)
  • Fix bug in fork calculation at fork boundaries (#8121)
  • Fix bugs in proposer calculation post-Fulu (#8101)
  • Fulu testnet configs (#8117)
  • Only mark block lookups as pending if block is importing from gossip (#8112)
  • Only send data coumn subnet discovery requests after peerdas is scheduled (#8109)
  • Run reconstruction inside a scoped rayon pool (#8075)
  • Use HTTPS for xdelta3 in Cargo.toml (#8094)
  • Reduce TARGET_BACKFILL_SLOTS in checkpoint sync test (#8102)
  • Refine HTTP status logs (#8098)
  • Merge remote-tracking branch 'origin/stable' into unstable
  • Always upload sim test logs (#8082)
  • Rename --subscribe-all-data-column-subnets to --supernode and make it visible in help (#8083)
  • Consolidate reqresp_pre_import_cache into data_availability_checker (#8045)
  • Use scoped rayon pool for backfill chain segment processing (#7924)
  • Make the block cache optional (#8066)
  • Add release helper script to list PRs and breaking changes (#7737)
  • Add experimental complete-blob-backfill flag (#7751)
  • Fix reprocess queue memory leak (#8065)
  • Prevent silently dropping cell proof chunks (#8023)
  • Update issue template (#7938)
  • fix(rate_limiter): add missing prune calls for light client protocols (#8058)
  • Don't penalize peers for extending ignored chains (#8042)
  • chore: Bump discv5 and remove generic DefaultProtocolId in metrics (#8056)
  • Enable reconstruction for nodes custodying more than 50% of columns and instrument tracing (#8052)
  • Add instrumentation to recompute_head_at_slot (#8049)
  • Reduce reconstruction queue capacity (#8053)
  • Remove column reconstruction when processing rpc requests (#8051)
  • Another check to prevent duplicate block imports (#8050)
  • Update engine methods in notifier (#8038)
  • Add max delay to reconstruction (#7976)
  • Add missing event in PendingComponent span and clean up sync logs (#8033)
  • Remove unused logging metrics (#7997)
  • Expose functions to do preliminary slashing checks (#7783)
  • Increase HTTP timeouts on CI (#8031)
  • Fixed orphaned verify_cell_proof_chunk span. (#8026)
  • Remove cargo test targets, use nextest exclusively (#7874)
  • chore: add comment to PendingComponents (#7979)
  • Create network_utils crate (#7761)
  • Skip column gossip verification logic during block production (#7973)
  • Fix http api tests ci (#7943)
  • Reduce noise in Debug impl of RuntimeVariableList (#8007)
  • Instrument tracing on block production code path (#8017)
  • fix: extra fields in logs (#8009)
  • Fix stuck data column lookups by improving peer selection and retry logic (#8005)
  • Don't penalize peers if locally constructed light...
Read more