Jimmy Chen 92f60b8fd2 Add release helper script to list PRs and breaking changes (#7737)
Output for 7.1.0 release:

```
#   Commit SHA    PR Number    Has backwards-incompat Label    PR Title
---  ------------  -----------  ------------------------------  --------------------------------------------
1    d5a03c9d86  6872         False                           Add more range sync tests (#6872)
2    ec2fe3812e  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable
3    3992d6ba74  6862         False                           Fix misc PeerDAS todos (#6862)
4    d60388134d  6928         False                           Add PeerDAS metrics to track subnets without peers (#6928)
5    431dd7c398  6917         False                           Remove un-used batch sync error condition (#6917)
6    0055af56b6  6932         False                           Unsubscribe blob topics at Fulu fork (#6932)
7    6ab6eae40c  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable
8    193061ff73  6634         False                           Use RpcSend on RPC::self_limiter::ready_requests (#6634)
9    e5e43ecd81  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable
10   b4be514182  7012         False                           Add spamoor_blob in network_params.yaml (#7012)
11   01df433dfd  7021         False                           update codeowners, to be more specific (#7021)
12   60964fc7b5  6829         False                           Expose blst internals (#6829)
13   3fab6a2c0b  6866         False                           Block availability data enum (#6866)
14   6e11bddd4b  6947         False                           feat: adds CLI flags to delay publishing for edge case testing on PeerDAS devnets (#6947)
15   454c7d05c4  7017         False                           Remove LC server config from HTTP API (#7017)
16   54b4150a62  7030         False                           Add test flag to override `SYNC_TOLERANCE_EPOCHS` for range sync testing (#7030)
17   cf4104abe5  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable
18   8a772520a5  7034         False                           Cache validator registration only after successful publish (#7034)
19   1235d44802  7048         False                           Remove `watch` (#7048)
20   3bc5f1f2a5  7081         False                           Validator Registration ssz support (#7081)
21   b4e79edf2a  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable
22   8d1abce26e  6915         False                           Bump SSZ version for larger bitfield `SmallVec` (#6915)
23   1916a2ac5a  7020         False                           chore: update to rust-eth-kzg to 0.5.4 (#7020)
24   1a08e6f0a0  7109         False                           Remove duplicate sync_tolerance_epochs config (#7109)
25   f23f984f85  7057         False                           switch to upstream gossipsub (#7057)
26   d60c24ef1c  6339         True                            Integrate tracing (#6339)
27   a6bdc474db  6991         False                           Log range sync download errors (#6991)
28   574b204bdb  6680         False                           decouple `eth2` from `store` and `lighthouse_network` (#6680)
29   c095a0a58f  7130         False                           update gossipsub to the latest upstream revision (#7130)
30   5cda1641ea  7137         False                           Log `file appender` initialization errors properly (#7137)
31   d96123b028  7149         False                           Remove unnecessary `filter_layer` in logger builder (#7149)
32   a1b1d7ae58  7150         False                           Remove `discv5` logs from logfile output (#7150)
33   ca237652f1  6998         False                           Track request IDs in RangeBlockComponentsRequest (#6998)
34   d323699fde  7183         False                           Add missing `osaka-time` lcli param (#7183)
35   cbf1c04a14  -            -                               [NO PR MATCH]: resolve merge conflicts between untstable and release-v7.0.0
36   2f37bf4de5  -            -                               [NO PR MATCH]: Fix more merge conflicts between unstable and release-v7.0.0
37   3f6c11db0e  6995         False                           Some updates to Lighthouse book (#6995)
38   9dce729cb6  7182         False                           Ensure sqlite and rusqlite are optional in `consensus/types` (#7182)
39   6f31d44343  7033         False                           Remove CGC from data_availability checker (#7033)
40   ca8eaea116  7169         True                            Remove `crit` as an option from the CLI entirely (#7169)
41   bde0f1ef0b  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable
42   fb7ec0d151  7112         False                           Change `genesis-state-url-timeout` (#7112)
43   4839ed620f  7168         False                           Tracing cleanup (#7168)
44   578db67755  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into backmerge-apr-2
45   80626e58d2  7244         False                           Attempt to fix flaky network tests (#7244)
46   d6cd049a45  7238         False                           RPC RequestId Cleanup (#7238)
47   0e6da0fcaf  -            -                               [NO PR MATCH]: Merge branch 'release-v7.0.0' into v7-backmerge
48   57abffcd99  7240         False                           Disable log color when running in non-interactive mode (#7240)
49   6a75f24ab1  7188         False                           Fix the `getBlobs` metric and ensure it is recorded promptly to prevent miscounts (#7188)
50   7cc64cab83  6990         False                           Add missing error log and remove redundant id field from lookup logs (#6990)
51   591fb7df14  -            -                               [NO PR MATCH]: Merge branch 'release-v7.0.0' into backmerge-for-openssl
52   e77fb01a06  7265         False                           Remove CLI conflict for secrets-dir and datadir (#7265)
53   b5d40e3db0  7256         False                           Align logs (#7256)
54   70850fe58d  6744         True                            Drop head tracker for summaries DAG (#6744)
55   47a85cd118  7269         False                           Bump version to v7.1.0-beta.0 (not a release) (#7269)
56   e924264e17  7258         False                           Fullnodes to publish data columns from EL `getBlobs` (#7258)
57   759b0612b3  7117         False                           Offloading KZG Proof Computation from the beacon node (#7117)
58   d96b73152e  7192         False                           Fix for #6296: Deterministic RNG in peer DAS publish block tests (#7192)
59   39eb8145f8  -            -                               [NO PR MATCH]: Merge branch 'release-v7.0.0' into unstable
60   70f8ab9a6f  7309         False                           Add riscv64 build support (#7309)
61   be68dd24d0  7281         False                           Fix wrong custody column count for lookup blocks (#7281)
62   08882c64ca  6996         False                           Fix execution engine integration tests with latest geth version (#6996)
63   476f3a593c  7161         False                           Add `MAX_BLOBS_PER_BLOCK_FULU` config (#7161)
64   c32569ab83  7225         False                           Restore HTTP API logging and add more metrics (#7225)
65   410af7c5f5  7279         False                           feat: update mainnet bootnodes (#7279)
66   80fe133d2c  7280         False                           Update Lighthouse Book for Electra features (#7280)
67   9f4b0cdc28  7343         False                           Fix Kurtosis doppelganger CI (#7343)
68   e61e92b926  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into unstable
69   5527125f5e  7340         False                           Fix GitHub releases page looks bad in GitHub dark theme (#7340)
70   c13e069c9c  7324         False                           Revise logging when `queue is full` (#7324)
71   1dd37048b9  7346         False                           Enable cross-compiling for riscv64 architecture (#7346)
72   402a81cdd7  7350         False                           Fix Kurtosis testnet (#7350)
73   1324d3d3c4  5923         False                           Delayed RPC Send Using Tokens (#5923)
74   6fad18644b  6747         False                           feat: presign for validator account (#6747)
75   2e2b0d2176  7351         False                           Revise consolidation info in Lighthouse book (#7351)
76   63a10eaaea  6956         True                            Changing `boot_enr.yaml` to expect `bootstap_nodes.yaml` for pectra devnet  (#6956)
77   34a6c3a930  6897         True                            vc: increase default gas limit (#6897)
78   94ccd7608e  6653         False                           Add documentation for VC API `/lighthouse/beacon/health` (#6653)
79   9779b4ba2c  7326         False                           Optimize `validate_data_columns` (#7326)
80   93ec9df137  7304         False                           Compute proposer shuffling only once in gossip verification (#7304)
81   2aa5d5c25e  7359         False                           Make sure to log SyncingChain ID (#7359)
82   c8224c8d5e  7387         False                           docs: fix broken link to voluntary exit guide (#7387)
83   43c38a6fa0  7378         False                           Change slog to tracing in comments (#7378)
84   beb0ce68bd  6922         False                           Make range sync peer loadbalancing PeerDAS-friendly (#6922)
85   3d92e3663b  6705         False                           Modularize validator store (#6705)
86   058dae0641  7405         False                           Add requires --http when using vc subcommands --http-port (#7405)
87   0f13029c7d  7409         False                           Don't publish data columns reconstructed from RPC columns to the gossip network (#7409)
88   8dc3d23af0  7400         False                           Add a default timeout to all `BeaconNodeHttpClient` requests (#7400)
89   e90fcbe657  7416         False                           Add ARM binary for macOS in release (#7416)
90   4b9c16fc71  7199         False                           Add Electra forks to basic sim tests (#7199)
91   a497ec601c  6975         False                           Retry custody requests after peer metadata updates (#6975)
92   e0c1f27e13  7394         False                           simulator: Persist beacon logs (#7394)
93   92391cdac6  7284         False                           update gossipsub to the latest upstream revision (#7284)
94   593390162f  7399         False                           `peerdas-devnet-7`: update `DataColumnSidecarsByRoot` request to use `DataColumnsByRootIdentifier` (#7399)
95   5b25a48af3  7404         False                           Siren installation improvement (#7404)
96   e051c7ca89  7396         False                           Siren Pectra Feature Updates (#7396)
97   0a917989b2  7370         False                           impl test random for some types (#7370)
98   807848bc7a  7443         False                           Next sync committee branch bug (#7443)
99   851ee2bced  7454         False                           Extract get_domain for VoluntaryExit (#7454)
100  c2c7fb87a8  7460         False                           Make DAG construction more permissive (#7460)
101  b1138c28fb  7451         False                           Add additional mergify rules to automate triaging (#7451)
102  cc6ae9d3f0  7463         False                           Fix mergify infinite loop. (#7463)
103  1853d836b7  7458         False                           Added E::slots_per_epoch() to deneb time calculation (#7458)
104  c4182e362b  7433         False                           simulator: Write dependency logs to separate files (#7433)
105  e0ee148d6a  7470         False                           Prevent mergify from updating labels while CI is still running. (#7470)
106  e21198c08b  7472         False                           One more attempt to fix mergify condition. (#7472)
107  268809a530  7471         False                           Rust clippy 1.87 lint fixes (#7471)
108  b051a5d6cc  7469         False                           Delete `at-most` in `lighthouse vm create` (#7469)
109  1d27855db7  7369         False                           impl from hash256 for `ExecutionBlockHash` (#7369)
110  23ad833747  7417         False                           Change default EngineState to online (#7417)
111  fcfcbf9a11  7481         False                           Update mdlint to disable descriptive-link-text (#7481)
112  7684d1f866  7372         False                           ContextDeserialize and Beacon API Improvements (#7372)
113  5393d33af8  7411         False                           Silence `Uninitialized` warn log on start-up (#7411)
114  1e6cdeb88a  6799         False                           feat: Add docker reproducible builds (#6799)
115  50dbfdf612  7455         False                           Some updates to Lighthouse book (#7455)
116  af87135e30  7484         False                           Move MD059 rule to configuration file (#7484)
117  805c2dc831  5047         False                           Correct reward denominator in op pool (#5047)
118  7e2df6b602  7474         False                           Empty list `[]` to return all validators balances (#7474)
119  f06d1d0346  7495         False                           Fix blob download from checkpointz servers (#7495)
120  0688932de2  7497         False                           Pass blobs into `ValidatorStore::sign_block` (#7497)
121  e29b607257  7427         False                           Move notifier and latency service to `validator_services` (#7427)
122  7759cb8f91  7494         False                           Update mergify rule to not evaluate PRs that are not ready for review - to reduce noise and avoid updating stale PRs. (#7494)
123  2e96e9769b  7507         False                           Use slice.is_sorted now that it's stable (#7507)
124  a8035d7395  7506         False                           Enable stdout logging in rpc_tests (#7506)
125  817f14c349  7500         False                           Send execution_requests in fulu (#7500)
126  537fc5bde8  7459         False                           Revive network-test logs files in CI (#7459)
127  cf0f959855  7180         False                           Improve log readability during rpc_tests (#7180)
128  ce8d0814ad  7246         False                           Ensure logfile permissions are maintained after rotation (#7246)
129  6af8c187e0  7052         False                           Publish EL Info in Metrics (#7052)
130  a2797d4bbd  7512         False                           Fix formatting errors from cargo-sort (#7512)
131  f01dc556d1  7505         False                           Update `engine_getBlobsV2` response type and add `getBlobsV2` tests (#7505)
132  e6ef644db4  7493         False                           Verify `getBlobsV2` response and avoid reprocessing imported data columns (#7493)
133  7c89b970af  7382         False                           Handle attestation validation errors (#7382)
134  8dde5bdb44  -            -                               [NO PR MATCH]: Update mergify rules so that I can add `waiting-on-author` on a PR that's passing CI. Remove noisy comments.
135  8989ef8fb1  7025         False                           Enable arithmetic lint in rate-limiter (#7025)
136  b7fc03437b  -            -                               [NO PR MATCH]: Fix condition
137  9e9c51be6f  -            -                               [NO PR MATCH]: Remove redundant `and`
138  999b04517e  -            -                               [NO PR MATCH]: Merge pull request #7525 from jimmygchen/mergify-again
139  0ddf9a99d6  7332         False                           Remove support for database migrations prior to schema version v22 (#7332)
140  5cda6a6f9e  7522         False                           Mitigate flakiness in test_delayed_rpc_response (#7522)
141  4d21846aba  7533         False                           Prevent `AvailabilityCheckError` when there's no new custody columns to import (#7533)
142  39744df93f  7393         False                           simulator: Fix `Failed to initialize dependency logging` (#7393)
143  38a5f338fa  7529         False                           Add `console-subscriber` feature for debugging (#7529)
144  886ceb7e25  6882         False                           Run Assertoor tests in CI (#6882)
145  94a1446ac9  7541         False                           Fix unexpected blob error and duplicate import in fetch blobs (#7541)
146  ae30480926  7521         False                           Implement EIP-7892 BPO hardforks (#7521)
147  f67068e1ec  7518         False                           Update `staking-deposit-cli` to `ethstaker-deposit-cli` (#7518)
148  cd83d8d95d  7544         False                           Add a name to the Tokio task (#7544)
149  357a8ccbb9  7549         False                           Checkpoint sync without the blobs from Fulu (#7549)
150  2d9fc34d43  7540         False                           Fulu EF tests v1.6.0-alpha.0 (#7540)
151  dcee76c0dc  7548         False                           Update key generation in validator manager (#7548)
152  9a4972053e  7530         False                           Add e2e sync tests to CI (#7530)
153  d457ceeaaf  7118         False                           Don't create child lookup if parent is faulty (#7118)
154  2f807e21be  7538         False                           Add support for nightly tests (#7538)
155  e098f66738  7570         False                           Update kurtosis config and EL images (#7570)
156  b2e8b67e34  7566         False                           Reduce number of basic sim test nodes from 7 to 4 (#7566)
157  170cd0f587  7579         False                           Store the libp2p/discv5 logs when stopping local-testnet (#7579)
158  b08d49c4cb  7559         False                           Changes for `fusaka-devnet-1` (#7559)
159  8c6abc0b69  7574         False                           Optimise parallelism in compute cells operations by zipping first (#7574)
160  7416d06dce  7561         False                           Add genesis sync test to CI (#7561)
161  076a1c3fae  7587         False                           Data column sidecar event (#7587)
162  5f208bb858  7578         True                            Implement basic validator custody framework (no backfill) (#7578)
163  9803d69d80  7590         False                           Implement status v2 version (#7590)
164  5472cb8500  7582         False                           Batch verify KZG proofs for getBlobsV2 (#7582)
165  a65f78222d  7594         False                           Drop stale registrations without reducing CGC (#7594)
166  ccd99c138c  7588         False                           Wait before column reconstruction (#7588)
167  dc5f5af3eb  7595         False                           Fix flaky test_rpc_block_reprocessing (#7595)
168  4fc0665ccd  7592         False                           Add more context to Late Block Re-orgs (#7592)
169  6135f417a2  7591         False                           Add data columns sidecars debug beacon API (#7591)
170  3d2d65bf8d  7593         False                           Advertise `--advertise-false-custody-group-count` for testing PeerDAS (#7593)
171  6786b9d12a  7444         True                            Single attestation "Full" implementation (#7444)
172  dd98534158  6750         True                            Hierarchical state diffs in hot DB (#6750)
173  f67084a571  7437         False                           Remove reprocess channel (#7437)
174  d50924677a  7620         False                           Remove instrumenting log level (#7620)
175  11bcccb353  7133         True                            Remove all prod eth1 related code (#7133)
176  e34a9a0c65  6551         False                           Allow the `--beacon-nodes` list to be updated at runtime (#6551)
177  3fefda68e5  7611         False                           Send byrange responses in the correct requested range (#7611)
178  cef04ee2ee  7462         False                           Implement `validator_identities` Beacon API endpoint (#7462)
179  fd643c310c  7632         False                           Un-ignore EF test for v1.6.0-alpha.1 (#7632)
180  56b2d4b525  7636         False                           Remove instrumenting log level  (#7636)
181  8e3c5d1524  7644         False                           Rust 1.89 compiler lint fix (#7644)
182  a0a6b9300f  7551         False                           Do not compute sync selection proofs for the sync duty at the current slot (#7551)
183  9b1f3ed9d1  7652         False                           Add gossip check (#7652)
184  83cad25d98  7657         False                           Fix Rust 1.88 clippy errors & execution engine tests (#7657)
185  522e00f48d  7656         False                           Fix incorrect `waker` update condition (#7656)
186  6ea5f14b39  7597         False                           feat: better error message for light_client/bootstrap endpoint (#7597)
187  2d759f78be  6576         False                           Fix beacon_chain metrics descriptions (#6576)
188  6be646ca11  7666         True                            Bump DB schema to v25 (#7666)
189  e45ba846ae  7673         False                           Increase http client default timeout to 2s in `http-api` tests. (#7673)
190  25ea8a83b7  7667         False                           Add Michael as codeowner for store crate (#7667)
191  c1f94d9b7b  7669         False                           Test database schema stability (#7669)
192  257d270718  6612         False                           Add voluntary exit via validator manager (#6612)
193  e305cb1b92  7661         True                            Custody persist fix (#7661)
194  41742ce2bd  7683         False                           Update `SAMPLES_PER_SLOT` to be number of custody groups instead of data columns (#7683)
195  69c9c7038a  7681         False                           Use prepare_beacon_proposer endpoint for validator custody registration (#7681)
196  fcc602a787  7646         False                           Update fulu network configs and add `MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS` (#7646)
197  a459a9af98  7689         False                           Fix and test checkpoint sync from genesis (#7689)
198  b35854b71f  7692         False                           Record v2 beacon blocks http api metrics separately (#7692)
199  c7bb3b00e4  7693         False                           Fix lookups of the block at `oldest_block_slot` (#7693)
200  0f895f3066  7695         False                           Bump default gas limit (#7695)
201  56485cc986  7707         False                           Remove unneeded spans that caused debug logs to appear when level is set to `info` (#7707)
202  bd8a2a8ffb  7023         False                           Gossip recently computed light client data (#7023)
203  7b2f138ca7  -            -                               [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into release-v7.1.0
204  8e55684b06  7723         False                           Reintroduce `--logfile` with deprecation warning (#7723)
205  8b5ccacac9  7663         False                           Error from RPC `send_response` when request doesn't exist on the active inbound requests (#7663)
206  cfb1f73310  7609         False                           Release v7.1.0 (#7609)
```


  


Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
2025-09-18 06:13:27 +00:00
2025-09-10 12:59:24 +00:00
2019-04-15 16:47:35 +10:00

Lighthouse: Ethereum consensus client

An open-source Ethereum consensus client, written in Rust and maintained by Sigma Prime.

Book Status Chat Badge

Documentation

Banner

Overview

Lighthouse is:

  • Ready for use on Ethereum consensus mainnet.
  • Fully open-source, licensed under Apache 2.0.
  • Security-focused. Fuzzing techniques have been continuously applied and several external security reviews have been performed.
  • Built in Rust, a modern language providing unique safety guarantees and excellent performance (comparable to C++).
  • Funded by various organisations, including Sigma Prime, the Ethereum Foundation, Consensys, the Decentralization Foundation and private individuals.
  • Actively involved in the specification and security analysis of the Ethereum proof-of-stake consensus specification.

Staking Deposit Contract

The Lighthouse team acknowledges 0x00000000219ab540356cBB839Cbe05303d7705Fa as the canonical staking deposit contract address.

Documentation

The Lighthouse Book contains information for users and developers.

The Lighthouse team maintains a blog at https://blog.sigmaprime.io/tag/lighthouse which contains periodic progress updates, roadmap insights and interesting findings.

Branches

Lighthouse maintains two permanent branches:

  • stable: Always points to the latest stable release.
    • This is ideal for most users.
  • unstable: Used for development, contains the latest PRs.
    • Developers should base their PRs on this branch.

Contributing

Lighthouse welcomes contributors.

If you are looking to contribute, please head to the Contributing section of the Lighthouse book.

Contact

The best place for discussion is the Lighthouse Discord server.

Sign up to the Lighthouse Development Updates mailing list for email notifications about releases, network status and other important information.

Encrypt sensitive messages using our PGP key.

Donations

Lighthouse is an open-source project and a public good. Funding public goods is hard and we're grateful for the donations we receive from the community via:

  • Gitcoin Grants.
  • Ethereum address: 0x25c4a76E7d118705e7Ea2e9b7d8C59930d8aCD3b (donation.sigmaprime.eth).
Description
No description provided
Readme Apache-2.0 318 MiB
Languages
Rust 99.4%
Shell 0.3%
Makefile 0.1%