Releases: sigp/lighthouse
Baby Legs
We strongly recommend all users upgrade to v1.0.5 as it contains an important fix for subnet discovery (#2095) and dependency updates (#2084).
Feature: BN Redundancy
This release allows the VC to connect to multiple BNs. This means one can use lighthouse vc --beacon-nodes to direct a validator client at multiple BNs. Whenever a BN fails to respond, the VC will try again on the next BN.
Example
lighthouse vc --beacon-nodes http://localhost:5052,http://192.168.1.100:5052
If localhost goes down (perhaps during an update), the VC will attempt to use 192.168.1.100 instead.
Summary
- Version v1.0.5 (#2117)
- Tidy slasher logs for known slashings (#2108)
- Update libp2p (#2101)
- add automated release workflow (#2077)
- Eliminate uses of
expectinssz_snappy.rs(#2105) - Add docs for
/lighthouse/validators/keystoreapi (#2071) - Optimise tree hash caching for block production (#2106)
- BN Fallback v2 (#2080)
- Subnet discovery fixes (#2095)
- Revert "add caching to test suite (#2089)" (#2098)
- Fix Syncing Simulator (#2049)
- Delete uncompressed genesis states (#2092)
- add caching to test suite (#2089)
- Add slasher broadcast (#2079)
- Improve eth1 fallback logging (#2096)
- impl Resource Unavailable RPC error (#2072)
- Update dependencies (#2084)
- Improve docker auto builds (#2078)
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-v1.0.5-x86_64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v1.0.5-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v1.0.5-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
| x86_64 | lighthouse-v1.0.5-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
| aarch64 | lighthouse-v1.0.5-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
| aarch64 | lighthouse-v1.0.5-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
| System | Option | - | Resource |
| Docker | sigp/lighthouse:v1.0.5 | sigp/lighthouse |
Tall Morty
We recommend all users upgrade to v1.0.4, particularly users who have previously experienced database corruption, or who are running a slasher. Please see below for details of breaking changes, including removal of the websocket server.
Breaking Changes
- Removed the legacy websocket server in favour of the standardised server-sent-events API (#1920).
- Disabled Medalla and other legacy testnet support by default, improving compilation time (#1989)
Summary
- Improved handling of I/O errors during block processing. We hope that this spells the end of corrupt databases and resyncs! (#2068)
- Fix a bug in the slasher that caused it to miss some blocks (#2047).
- Networking improvements that strengthen peering, and may improve attestation effectiveness (#2075, #2041).
- New
--eth1-purge-cacheflag that can be used to clean out the Eth1 cache without a resync. This should only be used if your node is unable to recover from an error likeFailedToInsertDeposit(NonConsecutive {..}). The flag is supplied to the beacon node command like so:lighthouse bn --eth1-purge-cache(#2039).
All Changes
- Softer penalties for missing blocks (#2075)
- Multiarch docker GitHub actions (#2065)
- Revert fork choice if disk write fails (#2068)
- Improve compile time (#1989)
- Downgrades a valid log (#2057)
- fix default network handling (#2029)
- More metrics + RPC tweaks (#2041)
- update dependencies (#2032)
- Remove audit ignore ws server (#2051)
- Fix default values and --network flag in Voluntary exits book page (#2056)
- Pass failed gossip blocks to the slasher (#2047)
- Add a eth1-purge-cache cli option (#2039)
- Server sent events (#1920)
- Validators endpoint status code (#2040)
- Update blst to 0.3.2 (#2034)
- Fingerprint new client identify agent string (#2027)
- Pretty-print EIP-3076 tests (#1977)
- Normalize keystore passwords (#1972)
- Minor fixes (#2038)
- Fix new clippy lints (#2036)
- delete validator-dir path printing in subcommands (#2025)
- Add Content-Type to metrics server (#2019)
- Fix broken custom data directories link (#2000)
Docker Hub
NEW in this release: multi-arch Docker images. Thanks to amazing work by @realbigsean in #2065,
our Docker Hub images are now capable of running on x86_64 or ARM64! That includes
the Raspberry Pi 4 🎉
You can get the latest release via the :latest or :v1.0.4 tags:
The latest dev build is available via the :latest-unstable tag:
For the multi-arch build, please use :latest rather than :v1.0.4.
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
Ricktiminus Sancheziminius
We recommend all users to upgrade to v1.0.3, especially if they're experiencing timeouts with their eth1 endpoint.
Please note
Users may see a new log message:
Nov 30 21:04:28.268 WARN Syncing eth1 block cache est_blocks_remaining: initializing deposits, msg: sync can take longer when using remote eth1 nodes, service: slot_notifier
This log indicates that your beacon node is downloading blocks and deposits from your eth1 node. When the est_blocks_remaining is initializing_deposits, your node is downloading deposit logs. It may stay in this stage for several minutes. Once the deposits logs are finished downloading, the est_blocks_remaining value will start decreasing.
It is perfectly normal to see this log when starting a node for the first time or after being off for more than several minutes.
If this log continues appearing sporadically during operation, there may be an issue with your eth1 endpoint.
Summary
- Increasing timeouts and decreases payload size for log request from eth1 nodes.
- Reduces the impact of timeouts when they do occur.
- Logs information about eth1 syncing whilst users are waiting for genesis.
- Adds the
lighthouse bn --privateflag which zeros-out graffiti and does not publish client information in the identify protocol.
All Changes
- Add privacy option (#2016)
- Improve eth1 block sync (#2008)
- No string in slog (#2017)
- Update PGP key in README (#1986)
- Drop discovery log to trace (#2007)
DockerHub
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
Juggling Rick
We recommend all users to upgrade to v1.0.2, especially if they're intending to stake with a genesis validator.
This release updates core dependencies in Lighthouse and is highly encouraged for all nodes to run for mainnet.
Summary
- Updates the core executor to a tokio 0.3 runtime and modifies the structure of the task executor
- Updates libp2p (security fixes, spec incompatibility updates)
- Updates BLST to the latest official version of BLST
- UPnP handling improvements
All Changes
- Upgrade to tokio 0.3 and related core sub-dependencies (#1839)
- Update BLST to the latest version (#1979)
- Fix type in docs (#1990)
DockerHub
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
Investment Rick
We recommend all users to upgrade to v1.0.1, especially if they're intending to stake with a genesis validator.
Since this release affects lockfiles, users should be especially cautious that there is no other lighthouse vc process running on the same host when upgrading to this release. Running two validator clients at the same time, with the same keys can lead to slashing.
Summary
- Changes to
flock-based lockfiles which alleviates the need for users to run with--delete-lockfilesafter an abrupt shutdown. - Adds the
--eth1-endpointsflags which alllows for redundant eth1 nodes. - Adds the
--metricsflag (and other related flags) tolighthouse vc, allowing for Prometheus metrics.- Example dashboard found here: https://github.com/sigp/lighthouse-metrics/blob/master/dashboards/ValidatorClient.json
All Changes
- Fallback nodes for eth1 access (#1918)
- Disable snappy in LevelDB to fix build issues (#1983)
- Log better error message (#1981)
- Use OS file locks in validator client (#1958)
- Sync metrics (#1975)
- Add metrics to VC (#1954)
- Fix #1964: remove mainnet warnings which no longer apply (#1970)
- Update ENR construction and mainnet bootnodes (#1968)
- FAQ/Doc updates (#1966)
- Update docs whenever unstable changes (#1969)
- Status race condition (#1967)
DockerHub
Binaries
Rick Sanchez
This release marks Lighthouse transitioning into a production/stable development phase.
We recommend all users to upgrade to v1.0.0, especially if they're intending to stake with a genesis validator.
Summary
- The mainnet genesis state has been included in the
lighthousebinary. - The
--testnetflag has been replaced with--network- The default network has been changed from
medallatomainnet
- The default network has been changed from
- The slasher has been added (see the docs)
- Many other bug-fixes and improvements
All Changes
- Bump to v1.0.0, run cargo update
- Add mainnet genesis state (#1959)
- Remove experimental software warning (#1957)
- Update security details in README (#1956)
- Refine and test slashing protection semantics (#1885)
- Add Prysm and Teku boot nodes (#1953)
- Update validator guide for mainnet (#1951)
- check if the slashing protection database is locked before creating keys (#1949)
- Sync Bug fixes (#1950)
- Change --testnet flag to --network (#1751)
- Tweak slasher DB schema and pruning (#1948)
- Implement slasher (#1567)
- Improve UX whilst VC is waiting for genesis (#1915)
- Add flag to import all attestations (#1941)
- move sync state to the chains KV (#1940)
- Fix race condition in seen caches (#1937)
- Fix metrics http server error messages (#1946)
- Expand eth1 block cache, add more logs (#1938)
- Ensure deposit signatures do not use aggregate functions (#1935)
- Move some rpc processing to the beacon_processor (#1936)
- Add additional libp2p tests (#1867)
- Document system requirements (#1934)
- Add validation to kdf parameters (#1930)
- [Remote signer] Add signer consumer lib (#1763)
- Reject invalid utf-8 characters during encryption (#1928)
- Update pool/attestations and committees endpoints (#1899)
- Avoid string initialization in network metrics and replace by &str where possible (#1898)
- Add new flag to set blocks per eth1 query (#1931)
- Add lighthouse bootnodes (#1929)
DockerHub
Binaries
Ants in my Eyes Johnson
This release is recommended for all users. Due to API updates, it's essential that you restart both the beacon node and validator client after updating.
Summary
- The
--testnet pyrmontflag has been added, providing full support for the Prymont testnet. - A memory leak has been fixed in #1923.
- Two PRs (#1922, #1921) reduce memory footprint by reducing allocations likely to cause fragmentation.
- Database compaction is run less frequently in #1916, reducing disk I/O and therefore prolonging disk life.
All Changes
- Address queue congestion in migrator (#1923)
- Refine compaction (#1916)
- Avoid some allocations in BlockSignatureVerifier (#1922)
- Avoid allocations on VariableList (#1921)
- router: drop requests from peers that have dc'd (#1919)
- Validate eth1 chain id (#1877)
- Added fn to count unicode characters (#1903)
- Performance improvement for db reads (#1909)
- Add link to Lighthouse mailing list (#1913)
- Check whistle-blower index (#1911)
- Add Pyrmont testnet (#1904)
- Update logs + do not downscore peers if WE time out (#1901)
- add slot validation to attestation_data endpoint (#1888)
- Misc Peer sync info adjustments (#1896)
DockerHub
Binaries
Mar-Sha
This release provides many incremental improvements to networking, storage and the HTTP API as we prepare for mainnet.
It is recommended for all users running on the Medalla testnet. Due to API updates, it's essential that you restart both the beacon node and validator client after updating.
Summary
- The pruning of the database has been improved through the use of a compaction pass. If you've noticed your Medalla datadir grow beyond 80-90GB, this release will reduce it back down to a comfortable level around 10-15GB. No resync is required (#1871).
- We have merged Gossipsub scoring, which hardens the networking layer against malicious peers. This has been the result of many weeks of research, and will be essential for network stability once mainnet launches (#1668).
- We have updated the HTTP API to align more closely with the evolving standard. The revised standard allowed us to fix a regression in validator client performance with large numbers of validators (100+) (#1831, #1828).
- Lighthouse now includes a
--testnet mainnetflag, for monitoring of the deposit contract before genesis. With your beacon node connected to a mainnet Eth1 node you can watch the deposits stream in 🎉 Although this is our first release with some mainnet compatibility, it is not intended for making mainnet deposits or running a validator on mainnet. We will ship a v1.0.0 release closer to genesis, as described in our v1.0.0 release schedule here: https://lighthouse.sigmaprime.io/update-32.html
All Changes
- handle peer state transitions on gossipsub score changes + refactoring (#1892)
- Peer endpoint updates (#1893)
- do subnet discoveries until we have
MESH_N_LOWmany peers (#1886) - Update EF tests to 1.0.0 (#1875)
- Gossipsub scoring (#1668)
- Update tiny-bip39 dependency (#1887)
- Add toledo support (#1874)
- Update vc testnet script (#1859)
- Standard beacon api updates (#1831)
- Compact database on finalization (#1871)
- Improve validator key cache lock handling (#1837)
- Add --testnet mainnet and start HTTP server before genesis (#1862)
- Update slashing protection interchange to v5 (#1816)
- Seen addresses store port (#1841)
- Remove mention of OpenSSL from documentation (#1844)
- Changed http:// to https:// on some links (#1869)
- Update remote signer README (#1870)
- Update README.md (#1868)
- [Remote signer] Fold signer into Lighthouse repository (#1852)
- Update libp2p (#1865)
- Fix fn documentation
- Add warnings for deposits (#1858)
- Ignore RPC messages of disconnected peers and remove old peers based on disconnection time (#1854)
- Prevent errors for stream termination race (#1853)
DockerHub
Binaries
Glootie
This release includes numerous networking stability improvements and fixes, and new HTTP API features.
Critically, it fixes an issue with the included bootnode addresses that prevented nodes from finding peers when starting a beacon node from scratch on v0.3.2 (#1849).
It also adds a long-awaited command for submitting voluntary exits, documented here: https://lighthouse-book.sigmaprime.io/voluntary-exit.html
Finally, if you run on a VPS and had trouble with the optimized v0.3.2 build, it might be worth trying again, as we've fixed a false positive in our detection of CPU features (#1846).
Due to the API changes, it is essential to restart both the validator client and beacon node after upgrading.
Changes: Summary
- fix unbanning of peers (#1838)
- More sync edge cases + prettify range (#1834)
- Beacon state validator id filter (#1803)
- Only run http_api tests in release (#1827)
- Add cli option for voluntary exits (#1781)
- add quoted serialization util for
FixedVectorandVariableList(#1794) - Tweak head syncing (#1845)
- Return eth1-related data via the API (#1797)
- Update to discv5 bootnodes (#1849)
- Downgrade ADX check to a warning (#1846)
DockerHub
Binaries
Zeep Xanflorp
We recommend that all users upgrade their software to this latest release as it contains important interoperability improvements.
Changes: Summary
- Update to spec v1.0.0-rc.0 (#1765)
- Inform peers of requests that exceed the maximum rate limit + log downgrade (#1830)
- Ensure eth1 deposit/chain IDs are used from YamlConfig (#1829)
- Address clippy lints, panic in ssz_derive on overflow (#1714)
- Update testnet configs, change on-disk format (#1799)