Releases: sigp/lighthouse
The President of the Miniverse
This release contains a fix to a known issue with the database which caused excessive database usage (>20gb when it should be ~8gb) and missing beacon state errors whilst syncing.
This release is compatible with existing databases, but you must re-sync if you wish to benefit from these fixes.
To reiterate, to repair a broken Lighthouse database please re-sync (lighthouse bn --purge-db
) using this release.
Changes
- Alternative (to BeaconChainHarness) BeaconChain testing API (#1380)
- Check Cargo.lock freshness on CI (#1565)
- Prevents releases from indicating the the git tree is dirty in the release tag.
- Fix bug in database pruning (#1564)
- Resolves issue regarding excessive database usage and issues during sync. Requires a full resync.
- Fix order of testnet config load (#1558)
- Fixes issues when using non-mainnet specifications (only relevant to developers).
Binaries
Binaries are supplied for two platforms:
x86_64-unknown-linux-gnu
: AMD/Intel 64-bit processors (most desktops, laptops, servers)aarch64-unknown-linux-gnu
: 64bit ARM processors (Raspberry Pi 4)
Additionally there is also a -portable
suffix which indicates if the portable
feature is used:
- Without
portable
: uses modern CPU instructions to provide the fastest signature verification times (may causeIllegal instruction
error on older CPUs) - With
portable
: approx. 20% slower, but should work on all modern 64-bit processors.
Shmlangela Shmlobinson-Shmlower
This release contains a fix to a known deadlock condition (#1562) and should provide significant stability improvements for nodes which run high validator counts (>= 64).
Changes
- Remove rayon from rest_api (#1562)
- Prevents deadlock.
- Shift HTTP server heavy-lifting to blocking executor (#1518)
- Avoids locking the core executory.
- reuse beacon_node methods for initializing network configs in boot_node (#1520)
- Docs: Fix reference to incorrect password file. (#1556)
- ban IP addresses if too many banned peers for this IP address (#1543)
Known Issues
There is a known issue with database pruning, causing failures during syncing and high disk usage. This is a major priority and a fix will be released ASAP.
Binaries
Binaries are supplied for two platforms:
x86_64-unknown-linux-gnu
: AMD/Intel 64-bit processors (most desktops, laptops, servers)aarch64-unknown-linux-gnu
: 64bit ARM processors (Raspberry Pi 4)
Additionally there is also a -portable
suffix which indicates if the portable
feature is used:
- Without
portable
: uses modern CPU instructions to provide the fastest signature verification times (may causeIllegal instruction
error on older CPUs) - With
portable
: approx. 20% slower, but should work on all modern 64-bit processors.
Water-T
This release provides a significant stability improvement (#1546) and protects nodes against a DoS vector.
Changes
- Refactor attestation service (#1415)
- Shutdown like a Sir (#1545)
- Add remaining network ops to queuing system (#1546)
- Prevents locking when processing large numbers of slashings, as experienced on Medalla.
Binaries
Binaries are supplied for two platforms:
x86_64-unknown-linux-gnu
: AMD/Intel 64-bit processors (most desktops, laptops, servers)aarch64-unknown-linux-gnu
: 64bit ARM processors (Raspberry Pi 4)
Additionally there is also a -portable
suffix which indicates if the portable
feature is used:
- Without
portable
: uses modern CPU instructions to provide the fastest signature verification times (may causeIllegal instruction
error on older CPUs) - With
portable
: approx. 20% slower, but should work on all modern 64-bit processors.
Elon Tusk
Overview
This release provides a number of syncing improvements and stability updates. The majority of the updates are focused towards syncing and participating in the Medalla testnet along with adding support to migrate Prysm keystores into Lighthouse.
Notes
When syncing Medalla, there are a few large forks in existence. You may find your node shifting its view of the head slot quite a bit and sync may appear stalled. The node will sync all the forks and eventually find the true head. This can take up to 30-40 mins after it may look like sync has stalled. Once the network finalizes again, this will not be an issue.
Changes
- Patch sync bugs leading to potential sync stalls (#1528)
- Reduce the parallelism of syncing head chains. Makes syncing to head more efficient (#1527)
- Prevent re-searching for failed forked chains (#1534)
- Improve head syncing by removing potentially out-dated head sync chains (#1538)
- Allow importing of Prysm keystores into lighthouse (#1535)
- Add Lodestar as a known client (#1536)
- Improve logging (#1541)
- Set the default max-skip-slots to 700 to match observed chain on Medalla (#1542)
Octopus Man
This release provides significant performance and stability improvements in the presently unstable Medalla network. (Note: v0.2.3 was yanked).
Upgrade Notes
IMPORTANT: add the --max-skip-slots 700
flag to your beacon node. E.g., lighthouse bn --http --max-skip-slots 700
otherwise you will be unable to sync
If your node is trying to sync (i.e., not reporting Synced
) or you're getting "skipping more than an epoch" warnings, we recommend:
- Stopping your validator client (it can't do anything useful until the BN is synced, and it'll just slow things down).
- Remove the database (
lighthouse bn --purge-db
). - Keep an eye on the syncing process, if it becomes stuck for more than 20 minutes, restart the process. There are many nodes on the network returning incorrect or outdated responses, meaning it can take some time for Lighthouse to find good peers.
Known Issues
The turmoil on the Medalla testnet, some bugs in other client implementations and inefficiencies in our own is making it very difficult to sync Medalla. You may need to restart sync if you get stalled and memory/CPU usage will be much higher than usual.
Future release will follow in the coming days with further improvements.
Changes
- Ignore blocks that skip a large distance from their parent (#1530)
- Helps prevent excess memory usage.
- Revert back to discv5 alpha 8 to maintain ARM support (#1531)
- Ensure RUSTFLAGS is passed through on cross compile (#1529)
- Process gossip blocks on the GossipProcessor (#1523)
- Provides additional stability.
- Memory usage reduction (#1522)
- Helps prevent excess memory usage.
- Remove yamux support (#1526)
- Correct logic for peer sync identification (#1525)
- Persist metadata and enr across restarts (#1513)
- Add multiaddr support in bootnodes (#1481)
- Update gossipsub duplicate cache (#1524)
- Update discv5 to alpha.9 (#1517)
- Commit Cargo.lock changes, add build scripts (#1521)
- Update to v0.2.3 (#1519)
- Restrict fork choice getters to finalized blocks (#1475)
- Fixes some
MissingBeaconState
errors during attestation processing.
*Introduce a queue for attestations from the network (#1511) - Provides significant performance and stability improvements.
- Fixes some
- Log to file without json format (#1485)
- Default log file format is no longer JSON.
- JSON is still supported via
--log-format JSON
.
- Wind down the SSE thread when the client disconnects (#1514)
- Update key-management.md (#1515)
- Fix a bug in fork pruning (#1507)
- Update key-management.md (#1508)
- Prints the version when starting lighthouse (#1506)
- Cross-compile to vendored x86_84, aarch64 (Raspberry Pi 4) (#1497)
- Local testnet fixes (#1499)
- Mitigate too many outgoing connections (#1469)
- Add graffiti cli flag to the validator client. (#1425)
- Users can now supply
--graffiti
to thelighthouse vc
- Users can now supply
- Block error display (#1503)
Binaries
Binaries are supplied for two platforms:
x86_64-unknown-linux-gnu
: AMD/Intel 64-bit processors (most desktops, laptops, servers)aarch64-unknown-linux-gnu
: 64bit ARM processors (Raspberry Pi 4)
Additionally there is also a -portable
suffix which indicates if the portable
feature is used:
- Without
portable
: uses modern CPU instructions to provide the fastest signature verification times (may causeIllegal instruction
error on older CPUs) - With
portable
: approx. 20% slower, but should work on all modern 64-bit processors.
Slick Morty
Overview
This release contains stability improvements and bug fixes in the networking stack.
This corrects an issue where nodes lost track of the head of the chain and required rebooting to rejoin the medalla network.
Details
- a1f9769 Update to the latest libp2p - bug fixes including extra peer disconnect notifications (#1482)
- 08a31c5 Bug fix to correctly disconnect and monitor peers that connect beyond our max peer limit (#1484)
- 04e4389 Updates gossipsub to prevent
O(N)
lookups for duplicates and prevents the possibility of opening excessive substreams. This reduces CPU overhead of nodes. (#1490) - cbfae87 Updates discv5 to handle UDP port binding inside lighthouse as well as upgrading logs inside lighthouse to notify users if the address/port could not be bound to. (#1496)
Binaries
Binaries are supplied for two platforms:
x86_64-unknown-linux-gnu
: AMD/Intel 64-bit processors (most desktops, laptops, servers)aarch64-unknown-linux-gnu
: 64bit ARM processors (Raspberry Pi 4)
Additionally there are two variants:
fast
: uses modern CPU instructions to provide the fastest signature verification times (may causeIllegal instruction
error on older CPUs)portable
: approx. 20% slower, but should work on all modern 64-bit processors.
Ghost in a Jar
This release contains various bug fixes and an optimization for attestation inclusion.
Details
Attestation inclusion improvement
Networking
- ee036cb Correct version string (#1474)
- 7d87e11 Fix rpc coded response display (#1470)
- 138c0cf Remove block clone (#1448)
- 82a0973 Fix EnrForkId computation (#1441)
- 924ba66 Update v0.12.2 gossip params (#1449)
- 983f768 Remove ssz encoding support from rpc (#1457)
Misc
- f4fe2ac Fix double lighthouse (#1473)
- cfae5fb Update installation.md (#1467)
- 09a615b Lighthouse crate v0.2.0 bump (#1450)
- 6206d8e Ensure .git is copied into docker (#1462)
- 5629126 Add reason to invalid attestation log (#1460)
- 20ee893 Fix a typo in validator client CLI (#1456)
- 0feb3cf Update README.md (#1455)
Terryfolds
The first official release for the Medalla testnet. It can be used to participate in Medalla genesis.
Users should upgrade to this release as soon as possible.
Scroopy Noopers
Specification v0.11.2 with Schlesi as the default testnet.
This release mainly serves to act as a final checkpoint before we making breaking changes with v0.2.0
(to be released). As such, detailed release notes are not provided.
Reverse Giraffe
Updates to use the latest testnet (testnet3
). Provides several optimizations and bug fixes.
See https://github.com/sigp/lighthouse/milestone/4 for included PRs and resolved issues.