Releases: sigp/lighthouse
BugAnne
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-ciagainstrelease-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 |
|---|---|---|---|
| aarch64 | lighthouse-v8.0.1-aarch64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v8.0.1-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
| aarch64 | lighthouse-v8.0.1-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
| System | Option | - | Resource |
| Docker | v8.0.1 | sigp/lighthouse |
Brosephamons
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:
- What's included in the Fusaka fork
- How Fusaka affects bandwidth requirements
- Understanding BPO forks
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
--supernodeor--semi-supernodebeacon node flag. - It is recommended to remove the
block-cache-sizeflag 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
--supernodeor--semi-supernodeflag. - Custody at least 50% of all columns by having at least 2,048 ETH in validator stake attached to the beacon node.
- Run the beacon node with either the
- 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-sizeis now 0 (#8066). To re-enable, use--block-cache-size Nwith 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-subnetsis 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-bnThere 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_headerJSON 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/blocksendpoint (#7727) - Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
- New experimental beacon node flag:
--complete-blob-backfillflag 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_CAPACITYandSTATE_LRU_CAPACITY_NON_ZERO(#8234) - Update Lighthouse book (#8284)
- Implement
/lighthouse/custody/infoAPI (#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-supernodesupport (#8254) - Custody backfill sync (#7907)
- Fix data column rpc request (#8247)
- Improve block header signature handling (#8253)
- Add
versionto the response ...
Gene
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-supernodeflag 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_headerJSON 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-sizeis now 0 (#8066). To re-enable, use--block-cache-size Nwith 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-subnetsis 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/blocksendpoint (#7727) - Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
- New experimental beacon node flag:
--complete-blob-backfillflag 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-supernodesupport (#8254) - Custody backfill sync (#7907)
- Fix data column rpc request (#8247)
- Improve block header signature handling (#8253)
- Add
versionto the response of beacon APIgetPendingConsolidations(#8251) - Use
millis_from_slot_startwhen comparing against reconstruction deadline (#8246) - Sync cleanups (#8230)
- Fix
get_headerJSON 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_3076crate (#8206) - #6853 Adding store tests for data column pruning (#7228)
- Ignore extra columns in da cache (#8201)
- Remove
safe_arithand import from crates.io (#8191) - Add
max_blobs_per_blockcheck 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...
Mr. Frundles
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-sizeis now 0 (#8066). To re-enable, use--block-cache-size Nwith 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/blocksendpoint (#7727) - Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
- New experimental beacon node flag:
--complete-blob-backfillflag 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_stableto Fulu for tests (#8181) - Reject data columns that does not descend from finalize root instead of ignoring it (#8179)
- Implement
/eth/v1/beacon/blobsendpoint (#8103) - Bump kzg library versions (#8174)
- Block proposal optimisations (#8156)
- Remove deprecated CLI flags and references for v8.0.0 (#8142)
- Quote
BeaconState::proposer_lookaheadin 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/specAPI (#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 |
|---|---|---|---|
| aarch64 | lighthouse-v8.0.0-rc.1-aarch64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v8.0.0-rc.1-x86_64-unknown-linux-gnu.tar.gz | [PGP Signature](https://github.com/sigp/lighthou... |
Memory Rick
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-sizeis now 0 (#8066). To re-enable, use--block-cache-size Nwith 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/blocksendpoint (#7727) - Selection Beacon API endpoints: Implement selections Beacon API endpoints to support DVT middleware (#7016)
- New experimental beacon node flag:
--complete-blob-backfillflag 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_SLOTSin 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-subnetsto--supernodeand make it visible in help (#8083) - Consolidate
reqresp_pre_import_cacheintodata_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
PendingComponentspan 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_chunkspan. (#8026) - Remove cargo test targets, use nextest exclusively (#7874)
- chore: add comment to PendingComponents (#7979)
- Create
network_utilscrate (#7761) - Skip column gossip verification logic during block production (#7973)
- Fix http api tests ci (#7943)
- Reduce noise in
Debugimpl ofRuntimeVariableList(#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...
Fantabulous
Summary
Lighthouse v7.1.0 is a low-priority maintenance release containing several optimisations and new features.
- Hierarchical state diffs for hot state: 4x less disk I/O while running, and 10x less data on disk during non-finality.
- Optimised processing of Electra
SingleAttestationmessages. - Removal of legacy eth1 deposit contract logic.
- Default gas limit of 45M.
- Broadcast of light client updates from nodes with validators in the current sync committee, improving availability on the gossip network.
- Pre-built binaries for Apple Silicon (M1, etc).
⚠️ Breaking Changes ⚠️
Upgrading to Lighthouse v7.1.0 should require no manual intervention for most users (aside from updating the binary/Docker image). However, some CLI flags have undergone changes.
See the sections below for details on other backwards-incompatible changes:
- Removed CLI flags
- Deprecated CLI flags
- Database schema upgrade
- Logfile format (for developers)
- Modified HTTP APIs (for developers)
- Bootnode configuration (for developers)
⚠️ Removed CLI flags ⚠️
The following CLI flags which were previously deprecated have been removed from the beacon node. If you are still using them you need to delete them in order to run v7.1.0:
--eth1--dummy-eth1
In addition, the crit log level can no longer be provided to the flags --debug-level or --logfile-debug-level. We do not anticipate that this affects many users, as logging just CRITs is an extremely unusual configuration.
📢 Deprecated CLI flags 📢
The following CLI flags have been deprecated and will result in warning logs if provided. You do not have to remove them immediately, but they are no longer functional and will trigger an error in a future version:
--logfile(replaced by--logfile-dir)--eth1-blocks-per-log-query--eth1-purge-cache--eth1-cache-follow-distance--disable-deposit-contract-sync
Database Schema Upgrade
The beacon node database schema has been updated from v22 to v26 in order to support hot hierarchical state diffs and the upcoming Fulu fork. An automatic database migration will be applied upon upgrading to v7.1.0, and requires no manual intervention.
If you wish to downgrade to v7.0.1 you will have to manually migrate the database to schema v22 following the instructions for Database Migrations.
Breaking Changes For Developers 💻
Logfile Format
Lighthouse's text logging format has been changed slightly as we upgrade to tracing. We have endeavoured to keep things as similar as possible, but you may notice some differences, and any custom log parsers may need to be adjusted. We recommend using JSON logs for automated analysis.
Modified HTTP APIs
- Removed deprecated
POST /eth/v1/beacon/pool/attestations. - Removed legacy
Attestationsupport fromPOST /eth/v2/beacon/pool/attestations. OnlySingleAttestations are now supported. - Fixed handling of
[]requests on thePOST /eth/v1/beacon/states/{state_id}/validator_balancesendpoint. See: #7474.
Bootnode Configuration
Lighthouse now uses the more standard bootstap_nodes.yaml filename for bootnodes instead of boot_enr.yaml. See: #6956
Hierarchical State Diffs
Lighthouse's database has undergone another major upgrade, with the application of our hierarchical state diff scheme to the hot database. The result is greatly reduced I/O during normal operation (~4x reduction) due to less data stored on disk. As a trade-off, a little more CPU time is spent computing diffs. Overall total block import times should remain similar, but the reduction in I/O should help reduce 2nd order slowdowns (e.g. competition with the EL for IOPS) and improve attestation accuracy.
In addition, Lighthouse's database is now much more well-suited to periods of non-finality -- Lighthouse nodes should no longer run out of disk space, even with multiple weeks of non-finality.
The hot DB uses the same hierarchy configuration as the freezer DB, which keeps things simple and also enables some nice optimisations (like not re-computing diffs). For information on diff config, see the Database Configuration section of the book.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Beacon Node | Validator Client |
|---|---|---|
| Staking Users | Low | Low |
| Non-Staking Users | Low | --- |
See Update Priorities for more information about this table.
Lighthouse v7.1.0 is fully interoperable with Lighthouse v7.0.x, so you can update BN and VC separately.
All Changes
- Release v7.1.0 (#7609)
- Error from RPC
send_responsewhen request doesn't exist on the active inbound requests (#7663) - Reintroduce
--logfilewith deprecation warning (#7723) - Merge remote-tracking branch 'origin/stable' into release-v7.1.0
- Gossip recently computed light client data (#7023)
- Remove unneeded spans that caused debug logs to appear when level is set to
info(#7707) - Bump default gas limit (#7695)
- Fix lookups of the block at
oldest_block_slot(#7693) - Record v2 beacon blocks http api metrics separately (#7692)
- Fix and test checkpoint sync from genesis (#7689)
- Update fulu network configs and add
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS(#7646) - Use prepare_beacon_proposer endpoint for validator custody registration (#7681)
- Update
SAMPLES_PER_SLOTto be number of custody groups instead of data columns (#7683) - Custody persist fix (#7661)
- Add voluntary exit via validator manager (#6612)
- Test database schema stability (#7669)
- Add Michael as codeowner for store crate (#7667)
- Increase http client default timeout to 2s in
http-apitests. (#7673) - Bump DB schema to v25 (#7666)
- Fix beacon_chain metrics descriptions (#6576)
- feat: better error message for light_client/bootstrap endpoint (#7597)
- Fix incorrect
wakerupdate condition (#7656) - Fix Rust 1.88 clippy errors & execution engine tests (#7657)
- Add gossip check (#7652)
- Do not compute sync selection proofs for the sync duty at the current slot (#7551)
- Rust 1.89 compiler lint fix (#7644)
- Remove instrumenting log level (#7636)
- Un-ignore EF test for v1.6.0-alpha.1 (#7632)
- Implement
validator_identitiesBeacon API endpoint (#7462) - Send byrange responses in the correct requested range (#7611)
- Allow the
--beacon-nodeslist to be updated at runtime (#6551) - Remove all prod eth1 related code (#7133)
- Remove instrumenting log level (#7620)
- Remove reprocess channel (#7437)
- Hierarchical state diffs in hot DB (#6750)
- Single attestation "Full" implementation (#7444)
- Advertise
--advertise-false-custody-group-countfor testing PeerDAS (#7593) - Add data columns sidecars debug beacon API (#7591)
- Add more context to Late Block Re-orgs (#7592)
- Fix flaky test_rpc_block_reprocessing (#7595)
- Wait before column reconstruction (#7588)
- Drop stale registrations without reducing CGC (#7594)
- Batch verify KZG proofs for getBlobsV2 (#7582)
- Implement status v2 version (#7590)
- Implement basic validator custody framework (no backfill) (#7578)
- Data column sidecar event (#7587)
- Add genesis sync test to CI (#7561)
- Optimise parallelism in compute cells operations by zipping first (#7574)
- Changes for
fusaka-devnet-1(#7559) - Store the libp2p/discv5 logs when stopping local-testnet (#7579)
- Reduce number of basic sim test nodes from 7 to 4 (#7566)
- Update kurtosis config and EL images (#7570)
- Add support for nightly tests (#7538)
- Don't create child lookup if parent is faulty (#7118)
- Add e2e sync tests to CI (#7530)
- Update key generation in validator manager (#7548)
- Fulu EF tests v1.6.0-alpha.0 (#7540)
- Checkpoint sync without the blobs from Fulu (#7549)
- Add a name to the Tokio task (#7544)
- Update
staking-deposit-clitoethstaker-deposit-cli(#7518) - Implement EIP-7892 BPO hardforks (#7521)
- Fix unexpected blob error and duplicate import in fetch blobs (#7541)
- Run Assertoor tests in CI (#6882)
- Add
console-subscriberfeature for debugging (#7529) - simulator: Fix
Failed to initialize dependency logging(#7393) - Prevent
AvailabilityCheckErrorwhen there's no new custody columns to import (#7533) - Mitigate flakiness in test_delayed_rpc_response (#7522)
- Remove support for database migrations prior to schema version v22 (#7332)
- Merge pull request #7525 from jimmygchen/mergify-again
- Remove redundant
and - Fix condition
- Enable arithmetic lint in rate-limiter (#7025)
- Update mergify rules so that I can add
waiting-on-authoron a PR that's passing CI. Remove noisy comments. - Handle attestation validation errors (#7382)
- Verify
getBlobsV2response and avoid reprocessing imported data columns (#7493) - Update
engine_getBlobsV2response type and addgetBlobsV2tests (#7505) - Fix formatting errors from cargo-sort (#7512)
- Publish EL Info in Metrics (#7052)
- Ensure logfile permissions are maintained after rotation (#7246)
- Improve log readability during rpc_tests (#7180)
- Revive network-test logs files in CI (#7459)
- Send execution_requests in fulu (#7500)
- Enable stdout logging in rpc_tests (#7506)
- Use slice.is_sorted now that it's stable (#7507)
- Update mergify rule to not evaluate PRs that are not ready for review - to reduce noise and avoid updating stale PRs. (#7494)
- Move notifier and latency service to
validator_services(#7427) - Pass blobs into
ValidatorStore::sign_block(#7497) - Fix bl...
Summer Smith Prime
Summary
This release includes the fork epoch for Electra ⚡ on Mainnet 🎉
v7.0.1 is a hotfix for the increased number of state cache misses reported following the v7.0.0 release last week.
If you have not yet upgraded to v7.0.0, it is recommended to upgrade straight to v7.0.1. These release notes also describe all of the changes in v7.0.0.
As a reminder, all mainnet users must upgrade to either v7.0.1 or v7.0.0 by the time of the fork on 7 May 2025. You must also update your execution client (e.g. Geth, Nethermind, Erigon, Besu or Reth).
⚠️ Breaking Changes ⚠️
You can upgrade to v7.0.1 from any v5 or v6 release. If you are upgrading from v5 you should make sure to read the v6 release notes to account for breaking changes between v5 and v6.
Upgrading to Lighthouse v7.0.1 should require no manual intervention aside from updating the binary or Docker image, as there are no changes to CLI flags that will prevent the node from starting. Mainnet users must upgrade before the Electra fork. Failure to upgrade in time will require a re-sync.
Once you upgrade to Lighthouse v7.0.1, you can downgrade to v6, but only prior to the Electra fork.
See the sections below for details on other backwards-incompatible changes:
- Deprecated CLI flags
- Minimum supported Rust version
- IPv6 by default
- Gas limit enforcement
⚠️ Deprecated CLI Flags ⚠️
The following beacon node flags have been deprecated. You should remove them, but the beacon node will still start if they are provided.
--light-client-server
🦀 Minimum Supported Rust Version 🦀
We have updated the Minimum Supported Rust Version (MSRV) for this release from 1.80.0 to 1.83.0.
This is only relevant to users compiling Lighthouse from source.
You can update your Rust compiler using:
rustup update stable
IPv6 by Default
Lighthouse will now automatically listen on IPv6 if it detects a globally-routable address. We expect for the majority of users with IPv4-only setups that this change will have no effect, but that it will benefit users with correctly configured IPv6 stacks.
The default IPv6 listening port has been changed from port 9090 to port 9000 (same as IPv4) to make firewalling easier. The IPv6 port can be adjusted using the flag --port6.
You can opt-out of IPv6 by using the flag--listen-address 0.0.0.0 to only listen on IPv4.
For more information, see the Lighthouse blog:
Gas Limit Enforcement
Lighthouse BN now enforces gas limit preferences when validating execution payloads from external builders (e.g. mev-boost relays). You can configure the gas limit for all validators connected to a VC using --gas-limit, or set individual limits in the validator_definitions.yml, or using the VC HTTP API.
⚡ Electra ⚡
The Electra hard fork, paired with the Prague hard fork on the execution layer – together known as Pectra – brings several new features to Ethereum.
The headline change is known as Max EB, and raises the maximum effective balance a single validator may wield from 32 ETH to 2048 ETH. Once adopted, this will allow the network to run more efficiently with a lower validator count, while retaining the same level of security. Max EB even removes some centralisation vectors from staking incentives so that solo validators are able to tap into the compounding rewards previously enjoyed exclusively by large operators.
The process of switching a validator's max effective balance is a consolidation, which transfers stake from one validator to another. Consolidations are triggered via a smart contract call, and are fully opt-in and voluntary. If you are a solo operator with a small number of validators, there is no need to consolidate, although you may choose to do so.
Information about consolidation tooling has been added to the Lighthouse book:
Bug Fixes
State Cache Misses
A number of users reported seeing an increased number of state cache misses following the update to v7.0.0:
Apr 30 15:45:30.000 WARN State cache missed
We have restored the state cache size to 128 in order to reduce cache misses, and will continue optimising the cache for non-finality. See the issue for details: #7363
Bugfix for InsufficientPeers
Both v7.0.1 and v7.0.0 include a bugfix for a regression in attestation subscription logic, resolving InsufficientPeers errors.
New Features
- Electra fork epoch for Gnosis chain.
- Light client server enabled by default.
- Support for a new database backend,
redb. This is still experimental and only reccommended for expert users. - New API to add trusted peers at runtime (#7198).
- Full Hoodi testnet support (
--network hoodi).
Optimisations
- Smarter state cache heuristics.
- More efficient serving of
BlocksByRange/BlobsByRangeduring non-finality.
Known Issues
There are few minor issues being investigated.
- Some users report their
lighthouse vcprocesses seizing up and becoming unresponsive. A workaround for this issue is to run a script that regularly polls the validator client HTTP API, e.g.while sleep 5; do curl -s --fail "http://localhost:5062/lighthouse/auth" > /dev/null && echo "polled at $(date)"; done. This requires enabling the HTTP API on the validator client using the flag--http. See the Lighthouse book for more information: https://lighthouse-book.sigmaprime.io/api_vc.html. There is a tracking issue for this bug here: #7403. - The light client server will log
ERRO error computing light_client updates LightClientUpdateError(BeaconStateError(IncorrectStateVariant))at the fork until the transition epoch is finalized. This is harmless (albeit annoying) as Lighthouse's light client server is non-essential for validating, and this issue has no negative impact on performance. - An error log is incorrectly emitted for certain types of invalid attestations received from peers:
ERRO Unable to validate attestation error: AttestationValidationError(BeaconStateError(EmptyCommittee)). These attestations are the fault of the peers producing them, but Lighthouse incorrectly assumes an internal fault and does not penalise the peers. We do not have time to fix this before the fork, but the impact should be minimal. A fix will be included in the next Lighthouse release. The invalid attestations have been identified to come from Caplin (Erigon consensus client), see: erigontech/erigon#14830.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Beacon Node | Validator Client |
|---|---|---|
| Mainnet Users | High | High |
| Testnet Users | Low | Low |
Update priority is Low if you have already updated to v7.0.0.
See Update Priorities for more information about this table.
Compatible Execution Clients
You must update both the consensus client (Lighthouse) and execution client to be ready for Pectra.
| Execution client | Pectra-ready version |
|---|---|
| Reth | v1.3.12 |
| Nethermind | v1.31.9 |
| Geth | v1.15.10 |
| Erigon | v3.0.2 |
| Besu | 25.4.1 |
All Changes
- Release v7.0.0 (#7288)
- Merge remote-tracking branch 'origin/stable' into release-v7.0.0
- Release v7.0.0-beta.7 (#7333)
- Update proposer_slashings and attester_slashings amounts for electra. (#7316)
- Release v7.0.0-beta.6
- Update withdrawals processing (spec v1.5.0-beta.6)
- Ensure
/eth/v2/beacon/pool/attestationshonorscommittee_index(#7298) - Ensure
light_client/updatesendpoint returns spec compliant SSZ data (#7230) - Update crossbeam to fix
cargo auditfailure (#7313) - Gnosis Pectra fork epoch (#7296)
- Update and cleanup Electra preset (#7303)
- Downgrade light client errors (#7300)
- Add
pending_consolidationsBeacon API endpoint (#7290) - Remove/document remaining Electra TODOs (#6982)
- Clarify network limits (#7175)
- Fix builder API electra json response (#7285)
- Mainnet Electra fork epoch (#7275)
- Return eth1_data early post transition (#7248)
- Compute roots for unfinalized by_range requests with fork-choice (#7098)
- Bump openssl to fix cargo audit failure (#7263)
- Rust 1.86.0 lints (#7254)
- feat: add more bootnodes for Hoodi and Sepolia (#7222)
- Consensus spec tests beta4 (#7231)
- Disable LevelDB snappy feature (#7235)
- Admin add/remove peer (#7198)
- Top-up pubkey cache on startup (#7217)
- Release v7.0.0-beta.5 (#7210)
- Fix xdelta3 output buffer issue (#7174)
- Prevent duplicate effective balance processing (#7209)
- Release v7.0.0-beta.4 (#7162)
- Update ring to 0.17.14 to fix build compat (#7164)
- Reject attestations to blocks prior to the split (#7084)
- Manual compaction endpoint backport (#7104)
- Pseudo finalization endp...
Summer Smith
Summary
This releases includes the fork epoch for Electra ⚡ on Mainnet 🎉
All mainnet users must upgrade to v7.0.0 by the time of the fork on 7 May 2025. You must also update your execution client (see compatible versions below).
This release also includes several new features, bug fixes and optimisations.
⚠️ Breaking Changes ⚠️
You can upgrade to v7.0.0 from any v5 or v6 release. If you are upgrading from v5 you should make sure to read the v6 release notes to account for breaking changes between v5 and v6.
Upgrading to Lighthouse v7.0.0 should require no manual intervention aside from updating the binary or Docker image, as there are no changes to CLI flags that will prevent the node from starting. Mainnet users must upgrade before the Electra fork. Failure to upgrade in time will require a re-sync.
Once you upgrade to Lighthouse v7.0.0, you can downgrade to v6, but only prior to the Electra fork.
See the sections below for details on other backwards-incompatible changes:
- Deprecated CLI flags
- Minimum supported Rust version
- IPv6 by default
- Gas limit enforcement
⚠️ Deprecated CLI Flags ⚠️
The following beacon node flags have been deprecated. You should remove them, but the beacon node will still start if they are provided.
--light-client-server
🦀 Minimum Supported Rust Version 🦀
We have updated the Minimum Supported Rust Version (MSRV) for this release from 1.80.0 to 1.83.0.
This is only relevant to users compiling Lighthouse from source.
You can update your Rust compiler using:
rustup update stable
IPv6 by Default
Lighthouse will now automatically listen on IPv6 if it detects a globally-routable address. We expect for the majority of users with IPv4-only setups that this change will have no effect, but that it will benefit users with correctly configured IPv6 stacks.
The default IPv6 listening port has been changed from port 9090 to port 9000 (same as IPv4) to make firewalling easier. The IPv6 port can be adjusted using the flag --port6.
You can opt-out of IPv6 by using the flag--listen-address 0.0.0.0 to only listen on IPv4.
For more information, see the Lighthouse blog:
Gas Limit Enforcement
Lighthouse BN now enforces gas limit preferences when validating execution payloads from external builders (e.g. mev-boost relays). You can configure the gas limit for all validators connected to a VC using --gas-limit, or set individual limits in the validator_definitions.yml, or using the VC HTTP API.
⚡ Electra ⚡
The Electra hard fork, paired with the Prague hard fork on the execution layer – together known as Pectra – brings several new features to Ethereum.
The headline change is known as Max EB, and raises the maximum effective balance a single validator may wield from 32 ETH to 2048 ETH. Once adopted, this will allow the network to run more efficiently with a lower validator count, while retaining the same level of security. Max EB even removes some centralisation vectors from staking incentives so that solo validators are able to tap into the compounding rewards previously enjoyed exclusively by large operators.
The process of switching a validator's max effective balance is a consolidation, which transfers stake from one validator to another. Consolidations are triggered via a smart contract call, and are fully opt-in and voluntary. If you are a solo operator with a small number of validators, there is no need to consolidate, although you may choose to do so.
Information about consolidation tooling has been added to the Lighthouse book:
Bug Fixes
- Bugfix for a regression in attestation subscription logic, resolving
InsufficientPeerserrors.
New Features
- Electra fork epoch for Gnosis chain.
- Light client server enabled by default.
- Support for a new database backend,
redb. This is still experimental and only reccommended for expert users. - New API to add trusted peers at runtime (#7198).
- Full Hoodi testnet support (
--network hoodi).
Optimisations
- Smaller default state cache size (32) to keep memory constrained during non-finality.
- Smarter state cache heuristics.
- More efficient serving of
BlocksByRange/BlobsByRangeduring non-finality.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Beacon Node | Validator Client |
|---|---|---|
| Mainnet Users | Medium | Medium |
| Testnet Users | Low | Low |
See Update Priorities for more information about this table.
Compatible Execution Clients
You must update both the consensus client (Lighthouse) and execution client to be ready for Pectra.
| Execution client | Pectra-ready version |
|---|---|
| Reth | v1.3.12 |
| Nethermind | v1.31.9 |
| Geth | v1.15.9 |
| Erigon | v3.0.2 |
| Besu | 25.4.1 |
Known Issues
Due to the reduced state cache size, you may see an increase in WARN State cache missed logs. This is harmless and can be safely ignored. These state cache misses will be downgraded to DEBUG level in the next release. In a future release the pruning code will also be adjusted so that these cache misses can't be triggered during pruning (which is the source of the majority of cache misses currently).
If you are running a node with services connected to the HTTP API (e.g. Rocket Pool rewards generation, a block explorer, etc) we recommend setting a higher value for --state-cache-size, e.g. 128.
All Changes
- Release v7.0.0 (#7288)
- Merge remote-tracking branch 'origin/stable' into release-v7.0.0
- Release v7.0.0-beta.7 (#7333)
- Update proposer_slashings and attester_slashings amounts for electra. (#7316)
- Release v7.0.0-beta.6
- Update withdrawals processing (spec v1.5.0-beta.6)
- Ensure
/eth/v2/beacon/pool/attestationshonorscommittee_index(#7298) - Ensure
light_client/updatesendpoint returns spec compliant SSZ data (#7230) - Update crossbeam to fix
cargo auditfailure (#7313) - Gnosis Pectra fork epoch (#7296)
- Update and cleanup Electra preset (#7303)
- Downgrade light client errors (#7300)
- Add
pending_consolidationsBeacon API endpoint (#7290) - Remove/document remaining Electra TODOs (#6982)
- Clarify network limits (#7175)
- Fix builder API electra json response (#7285)
- Mainnet Electra fork epoch (#7275)
- Return eth1_data early post transition (#7248)
- Compute roots for unfinalized by_range requests with fork-choice (#7098)
- Bump openssl to fix cargo audit failure (#7263)
- Rust 1.86.0 lints (#7254)
- feat: add more bootnodes for Hoodi and Sepolia (#7222)
- Consensus spec tests beta4 (#7231)
- Disable LevelDB snappy feature (#7235)
- Admin add/remove peer (#7198)
- Top-up pubkey cache on startup (#7217)
- Release v7.0.0-beta.5 (#7210)
- Fix xdelta3 output buffer issue (#7174)
- Prevent duplicate effective balance processing (#7209)
- Release v7.0.0-beta.4 (#7162)
- Update ring to 0.17.14 to fix build compat (#7164)
- Reject attestations to blocks prior to the split (#7084)
- Manual compaction endpoint backport (#7104)
- Pseudo finalization endpoint (#7103)
- Support Hoodi testnet (#7145)
- State cache tweaks (#7095)
- Add block ban flag
--invalid-block-roots(#7042) - Ensure finalized block is the correct fork variant when constructing light client updates (#7085)
- feat: implement new beacon APIs(accessors for pending_deposits/pending_partial_withdrawals) (#7006)
- Address cargo audit failure
RUSTSEC-2024-0437(#7114) - Set
epochs-per-blob-prunedefault to 256 (#7113) - Change state cache size default to 32 (#7101)
- Address cargo audit failure
RUSTSEC-2025-0009(#7086) - Optimise status processing (#7082)
- Temporarily ignore cargo audit failures (#7092)
- Use
sync_tolerance_epochsflag to control the proposer prep routines (#7044) - Schedule Chiado testnet Electra hard fork (#7074)
- Make ExecutionBlock::total_difficulty Optional (#7050)
- Add
--long-timeouts-multiplierCLI flag (#7047) - Add
--disable-attestingflag to validator client (#7046) - Add test flag to override
SYNC_TOLERANCE_EPOCHSfor range sync testing (#7030) - Fix builder API headers (#7009)
- Rust 1.85 lints (#7019)
- Fix light client merkle proofs (#7007)
- Update mergify conditions for
trivialandready-for-mergelabels to satisfy if base is notstable(#6997) - Release v7.0.0-beta.0 (#6962)
- Fix light client plumbing in beacon processor (#6993)
- Ensure
GET v2/validator/aggregate_attestationis backwards compatible (#6984) - Address cargo audit failure
RUSTSEC-2025-0006(#6972) - IPv6 By Default (#6808)
- Update EF tests to spec v1.5.0-beta.2 (#6958)
- Sync active request byrange ids logs (#6914)
- Enable Light Client server by default (#6950)
- Schedule Sepolia and Holesky Electra forks (#6949)
- Update attestation rewards API for Electra (#6819)
- Fix aggregate attestation v2 re...
Nancy
DO NOT RUN THIS PRE-RELEASE ON MAINNET
Summary
This release is a hotfix release for Electra-enabled test networks: Sepolia, Holesky, Hoodi and Chiado. Users on these networks should update at their earliest convenience. More information about the patched bug will be available shortly.
If you have already updated to v7.0.0-beta.6, there is no need to update.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Beacon Node | Validator Client |
|---|---|---|
| Testnet Users | High | Low |
| Mainnet Users | DO NOT UPGRADE | DO NOT UPGRADE |
See Update Priorities more information about this table.
All Changes
- Release v7.0.0-beta.7 (#7333)
- Update proposer_slashings and attester_slashings amounts for electra. (#7316)
- Release v7.0.0-beta.6
- Update withdrawals processing (spec v1.5.0-beta.6)
- Ensure
/eth/v2/beacon/pool/attestationshonorscommittee_index(#7298) - Ensure
light_client/updatesendpoint returns spec compliant SSZ data (#7230) - Update crossbeam to fix
cargo auditfailure (#7313) - Gnosis Pectra fork epoch (#7296)
- Update and cleanup Electra preset (#7303)
- Downgrade light client errors (#7300)
- Add
pending_consolidationsBeacon API endpoint (#7290) - Remove/document remaining Electra TODOs (#6982)
- Clarify network limits (#7175)
- Fix builder API electra json response (#7285)
- Mainnet Electra fork epoch (#7275)
- Return eth1_data early post transition (#7248)
- Compute roots for unfinalized by_range requests with fork-choice (#7098)
- Bump openssl to fix cargo audit failure (#7263)
- Rust 1.86.0 lints (#7254)
- feat: add more bootnodes for Hoodi and Sepolia (#7222)
- Consensus spec tests beta4 (#7231)
- Disable LevelDB snappy feature (#7235)
- Admin add/remove peer (#7198)
- Top-up pubkey cache on startup (#7217)
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
| System | Architecture | Binary | PGP Signature |
|---|---|---|---|
| x86_64 | lighthouse-v7.0.0-beta.7-x86_64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v7.0.0-beta.7-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
| aarch64 | lighthouse-v7.0.0-beta.7-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v7.0.0-beta.7-x86_64-windows.tar.gz | PGP Signature | |
| System | Option | - | Resource |
| Docker | v7.0.0-beta.7 | sigp/lighthouse |
Photography Raptor
DO NOT RUN THIS PRE-RELEASE ON MAINNET
Summary
This is a high-priority bugfix release for all Electra testnets: Sepolia, Holesky, Hoodi and Chiado. You should update to this release as soon as possible, especially if you are running a large number of validators on one of these networks.
There is no impact on mainnet, and mainnet users should remain on v6.0.1.
Breaking Changes
There are no breaking changes in this release.
Update Priority
This table provides priorities for which classes of users should update particular components.
| User Class | Beacon Node | Validator Client |
|---|---|---|
| Testnet Users | High | Low |
| Mainnet Users | DO NOT UPGRADE | DO NOT UPGRADE |
See Update Priorities more information about this table.
All Changes
- Release v7.0.0-beta.5 (#7210)
- Fix xdelta3 output buffer issue (#7174)
- Prevent duplicate effective balance processing (#7209)
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
| System | Architecture | Binary | PGP Signature |
|---|---|---|---|
| x86_64 | lighthouse-v7.0.0-beta.5-x86_64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v7.0.0-beta.5-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
| aarch64 | lighthouse-v7.0.0-beta.5-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v7.0.0-beta.5-x86_64-windows.tar.gz | PGP Signature | |
| System | Option | - | Resource |
| Docker | v7.0.0-beta.5 | sigp/lighthouse |