Summary
This is a low-priority release which primarily contains the Holesky re-launch configurations. Some minor features and fixes are also available for mainnet and testnet users.
Feature and bugfixes include:
- Experimental QUIC support (#4577)
- Start the VC HTTP API before genesis (#4714)
- More checks and logging whilst waiting for genesis (#4730)
- More SSZ support for BN HTTP API endpoints (#4534)
- Update Holesky configs for re-launch (#4760)
- Fix block and state queries whilst waiting for genesis (#4761)
- Require the
--http
flag (or equivalent) when dependant flags are used (#4674, #4772) - Update the voluntary exit HTTP API method to comply with beaconAPIs (#4679)
- Add new mainnet Teku bootnodes (#4724)
QUIC Support
Experimental QUIC support has been added to Lighthouse with #4577.
By default Lighthouse will attempt to use QUIC on the UDP port one higher than the --port
value. For example, the default value for --port
is 9000, so Lighthouse will open port 9001 for QUIC. Although it's not required, we encourage users to update their port-forwarding to include this UDP port, too.
Lighthouse's use of QUIC should be transparent to users, but it maybe disabled with the --disable-quic
flag.
Compiling from Source
Users who compile from source should ensure they update Rust and checkout and pull the stable
branch before building:
- Most users can update Rust with
rustup update
- Checkout and pull the stable branch with
git checkout stable && git pull
Holesky Re-launch
The Holesky testnet experienced a failed genesis on the 15th of September 2023 due to a misconfiguration. The configuration issue has been fixed and a new Holesky launch is planned for September 28th 11:55am (UTC). This release contains the fixed configuration.
Users who participated in the failed Holesky launch should delete their existing data directories (e.g. ~/.lighthouse/holeksy
) before running v4.5.0 otherwise they may fail to follow the new chain. It is particularily important to ensure that any existing Holesky validator slashing protection database (slashing_protection.sqlite
) is removed to prevent it interfering with the new chain.
Mainnet users do not need to take any action for the Holesky relaunch.
Breaking Changes
This release contains breaking changes, all of which are detailed below.
Breaking Change: Add a data
wrapper to the voluntary exit HTTP API endpoint
As per #4635, Lighthouse was divergent from the beaconAPIs specification for the /eth/v1/validator/<pubkey>/voluntary_exit
endpoint. This was fixed in #4679 by ensuring the JSON response is wrapped in a top-level data
object.
Breaking Change: The --http
(or equivalent) flag is required if dependant flags are used
Previously, Lighthouse would allow HTTP server configurations flags like --http-address
if the HTTP server was not enabled. The flags would be ignored and cause confusion for users and developers.
With #4674 Lighthosue will now return an error on startup if HTTP server configuration flags are provided when the HTTP server is not enabled. The HTTP server can be enabled using the --http
, --staking
or --gui
flags.
Breaking Change: Minimum Supported Rust Version 1.69.0
The minimum supported Rust version has been set to 1.69.0. See "Compiling from Source" for directives.
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 more information about this table.
The Beacon Node may be updated without also updating the Validator Client. However we recommend upgrading both components for consistency. Holesky users must update both the BN and VC.
All Changes
- Release v4.5.0 (#4768)
- Fix cli options (#4772)
- Fix release CI for self-hosted runners (#4770)
- Move dependencies to workspace (#4650)
- Use release workflow runners (#4765)
- Add new teku bootnodes (#4724)
- Update the voluntary exit endpoint to comply with the key manager specification (#4679)
- require http and metrics for respective flags (#4674)
- Bump
quinn-proto
to address rustsec vuln (#4767) - Update Holesky boot ENR (#4763)
- Fix block & state queries prior to genesis (#4761)
- Update holesky config for relaunch (#4760)
- Add SSZ support to validator block production endpoints (#4534)
- Fix genesis state download panic when running in debug mode (#4753)
- Self hosted docker builds (#4592)
- Fix local testnet to generate keys in the correct folders (#4752)
- Update local testnet script (#4733)
- Add more checks and logging before genesis (#4730)
- Reuse fork choice read lock instead of re-acquiring it immediately (#4688)
- Prevent port re-use in HTTP API tests (#4745)
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-v4.5.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.5.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.5.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.5.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v4.5.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v4.5.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.5.0-x86_64-windows.tar.gz | PGP Signature | |
x86_64 | lighthouse-v4.5.0-x86_64-windows-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v4.5.0 | sigp/lighthouse |