Skip to content

Releases: sigp/lighthouse

Rick WTM-72

16 Feb 04:14
Compare
Choose a tag to compare

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

21 Jan 06:55
Compare
Choose a tag to compare

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.

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

30 Dec 02:23
Compare
Choose a tag to compare

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:

  • The --beacon-node flag was no longer respected (#2121)
  • The slasher database became invalid (#2125)

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

24 Dec 00:58
Compare
Choose a tag to compare

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 in ssz_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

13 Dec 22:53
Compare
Choose a tag to compare

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

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 like FailedToInsertDeposit(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

01 Dec 02:43
Compare
Choose a tag to compare

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

28 Nov 22:02
Compare
Choose a tag to compare

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

27 Nov 11:42
5a3b94c
Compare
Choose a tag to compare

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

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

See pre-built binaries documentation.

Rick Sanchez

24 Nov 16:30
c6baa0e
Compare
Choose a tag to compare

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 to mainnet
  • 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

See pre-built binaries documentation.

Ants in my Eyes Johnson

18 Nov 05:48
Compare
Choose a tag to compare
Pre-release

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)

DockerHub

Binaries

See pre-built binaries documentation.