Releases: sigp/lighthouse
Rick WTM-72
This release contains important optimizations that reduce the propagation times of new blocks on the network. It is recommended that all users upgrade to this version as block propagation delays directly impact validator profits.
Additionally, an upgrade to a upstream dependency (tokio
) contains an important fix to a runtime panic. See #2099 for more detail.
Breaking Changes
No breaking changes to the Lighthouse API. The latest version of stable Rust will be required to compile (Rust 1.50).
All Changes
- v1.1.1 (#2202)
- Upgrade rand_core (#2201)
- Advance state to next slot after importing block (#2174)
- Dht persistence on drop (v2) (#2200)
- Rust 1.50 fixes (#2199)
- Automated release Github upload fix (#2192)
- Update bootnode ENRs (#2191)
- Add a GitHub Action to cancel previous runs (#2180)
- Prevent adding duplicate validators to validator_definitions.yml (#2166)
- Update for clippy 1.50 (#2193)
- Remove links to old master branch (#2190)
- Update to tokio 1.1 (#2172)
- Check that pull requests target unstable (#2187)
- Avoid resizing attn signature sets vec (#2184)
- Ignore vulnerability in hyper (#2188)
- Avoid temp allocations with slog (#2183)
- Add metrics for beacon block propagation (#2173)
- fix a couple typos in comments in merkle_hasher (#2171)
- Fix simulator failed runs (#2181)
- Fix clippy errors on tests (#2160)
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.1.1-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.1-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.1-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.1-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.1.1-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.1.1-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.1.1 | sigp/lighthouse |
Dr. Wong
This minor release contains some important protection from excessive resource consumption in some uncommon cases (#2130). We recommend all users update both their BNs and VCs to this version.
The breaking changes in this release should be insignificant for most, see below for more information.
New Features
The most notable feature is the new "validator monitor" that allows a BN to provide additional logging and metrics for specific validators.
This provides the long-awaited "validator balance" metric and many, many others.
Additionally, you get additional logs about your validators activities (e.g. attestation inclusion in blocks).
See the validator monitor docs for more information.
Breaking Changes
Breaking changes are fairly minor in this release, but may have edge-case impacts for those running custom or non-Lighthouse validator clients.
- Disallow attestation production earlier than head (#2130)
- Does not permit the creation of
AttestationData
via the API for slots earlier than the head. This is a fast patch to an immediate issue, in the future we plan to implement a more flexible solution with #2169.
- Does not permit the creation of
All Changes
- Detailed validator monitoring (#2151)
- Fix bug from #2163 (#2165)
- Disallow attestation production earlier than head (#2130)
- Represent slots in secs instead of millisecs (#2163)
- Add lcli command to replace state pubkeys (#1999)
- Simplify enum -> str with strum (#2164)
- Modify proto array loop (#2154)
- Automate docker version tag (#2150)
- Update docs: Change
--beacon-node
to--beacon-nodes
(#2145) - Fix:
end_slot
returns incorrect value (#2138) - Fix timing issue in obtaining the Fork (#2158)
- remove protected environment (#2135)
- Clippy 1.49.0 updates and dht persistence test fix (#2156)
- Fix race condition when creating LocalBeaconNode (#2137)
- Disconnect from peers quicker on internet issues (#2147)
- Use cross in linux x86 64 release flow (#2136)
- Add docs about redundancy (#2142)
- update smallvec (#2152)
- replace tempdir by tempfile (#2143)
- Reduce ping interval (#2132)
- Remove duplicate log in BN fallback (#2116)
- Ssz state api endpoint (#2111)
test_decode_malicious_status_message
improvements (#2104)- Fix typo in
ssz_snappy.rs
comment (#2103)
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.1.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.0-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.1.0-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.1.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.1.0-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.1.0 | sigp/lighthouse |
Helium-Q
We strongly recommend all users running v1.0.4
or earlier to update to v1.0.6
. However, users on v1.0.5
who are not experiencing issues can safely skip this update.
This release fixes two bugs in v1.0.5
which accidentally caused two breaking changes:
Although these bugs were not security risks, they caused significant user frustration during the holiday period. We apologize for any stress and inconvenience caused. Our testing suite is generally focused on catching high-severity logic bugs but we will work to expand it to prevent API breakages like this.
Summary
- Version v1.0.6 (#2126)
- Remove default beacon node value from clap (#2121)
- Fix slasher database schema migration to v2 (#2125)
- Tweak error messages for ease of investigation (#2122)
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.6-x86_64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.0.6-x86_64-apple-darwin-portable.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.0.6-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | lighthouse-v1.0.6-x86_64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.0.6-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | lighthouse-v1.0.6-aarch64-unknown-linux-gnu-portable.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v1.0.6 | 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
expect
inssz_snappy.rs
(#2105) - Add docs for
/lighthouse/validators/keystore
api (#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-cache
flag 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 --private
flag 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-lockfiles
after an abrupt shutdown. - Adds the
--eth1-endpoints
flags which alllows for redundant eth1 nodes. - Adds the
--metrics
flag (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
lighthouse
binary. - The
--testnet
flag has been replaced with--network
- The default network has been changed from
medalla
tomainnet
- 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 pyrmont
flag 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)