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 APIgetPendingConsolidations
(#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: 15E66D941F697E28F49381F426416DC3F30674B0
System | Architecture | Binary | PGP Signature |
---|---|---|---|
| aarch64 | lighthouse-v8.0.0-rc.2-aarch64-apple-darwin.tar.gz | PGP Signature |
| x86_64 | lighthouse-v8.0.0-rc.2-x86_64-unknown-linux-gnu.tar.gz | PGP Signature |
| aarch64 | lighthouse-v8.0.0-rc.2-aarch64-unknown-linux-gnu.tar.gz | PGP Signature |
| x86_64 | lighthouse-v8.0.0-rc.2-x86_64-windows.tar.gz | PGP Signature |
System | Option | - | Resource |
| Docker | v8.0.0-rc.2 | sigp/lighthouse |