mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
Output for 7.1.0 release: ``` # Commit SHA PR Number Has backwards-incompat Label PR Title --- ------------ ----------- ------------------------------ -------------------------------------------- 1d5a03c9d866872 False Add more range sync tests (#6872) 2ec2fe3812e- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable 33992d6ba746862 False Fix misc PeerDAS todos (#6862) 4d60388134d6928 False Add PeerDAS metrics to track subnets without peers (#6928) 5431dd7c3986917 False Remove un-used batch sync error condition (#6917) 60055af56b66932 False Unsubscribe blob topics at Fulu fork (#6932) 76ab6eae40c- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0-beta.0' into unstable 8193061ff736634 False Use RpcSend on RPC::self_limiter::ready_requests (#6634) 9e5e43ecd81- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 10b4be5141827012 False Add spamoor_blob in network_params.yaml (#7012) 1101df433dfd7021 False update codeowners, to be more specific (#7021) 1260964fc7b56829 False Expose blst internals (#6829) 133fab6a2c0b6866 False Block availability data enum (#6866) 146e11bddd4b6947 False feat: adds CLI flags to delay publishing for edge case testing on PeerDAS devnets (#6947) 15454c7d05c47017 False Remove LC server config from HTTP API (#7017) 1654b4150a627030 False Add test flag to override `SYNC_TOLERANCE_EPOCHS` for range sync testing (#7030) 17cf4104abe5- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 188a772520a57034 False Cache validator registration only after successful publish (#7034) 191235d448027048 False Remove `watch` (#7048) 203bc5f1f2a57081 False Validator Registration ssz support (#7081) 21b4e79edf2a- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 228d1abce26e6915 False Bump SSZ version for larger bitfield `SmallVec` (#6915) 231916a2ac5a7020 False chore: update to rust-eth-kzg to 0.5.4 (#7020) 241a08e6f0a07109 False Remove duplicate sync_tolerance_epochs config (#7109) 25f23f984f857057 False switch to upstream gossipsub (#7057) 26d60c24ef1c6339 True Integrate tracing (#6339) 27a6bdc474db6991 False Log range sync download errors (#6991) 28574b204bdb6680 False decouple `eth2` from `store` and `lighthouse_network` (#6680) 29c095a0a58f7130 False update gossipsub to the latest upstream revision (#7130) 305cda1641ea7137 False Log `file appender` initialization errors properly (#7137) 31d96123b0287149 False Remove unnecessary `filter_layer` in logger builder (#7149) 32a1b1d7ae587150 False Remove `discv5` logs from logfile output (#7150) 33ca237652f16998 False Track request IDs in RangeBlockComponentsRequest (#6998) 34d323699fde7183 False Add missing `osaka-time` lcli param (#7183) 35cbf1c04a14- - [NO PR MATCH]: resolve merge conflicts between untstable and release-v7.0.0 362f37bf4de5- - [NO PR MATCH]: Fix more merge conflicts between unstable and release-v7.0.0 373f6c11db0e6995 False Some updates to Lighthouse book (#6995) 389dce729cb67182 False Ensure sqlite and rusqlite are optional in `consensus/types` (#7182) 396f31d443437033 False Remove CGC from data_availability checker (#7033) 40ca8eaea1167169 True Remove `crit` as an option from the CLI entirely (#7169) 41bde0f1ef0b- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into unstable 42fb7ec0d1517112 False Change `genesis-state-url-timeout` (#7112) 434839ed620f7168 False Tracing cleanup (#7168) 44578db67755- - [NO PR MATCH]: Merge remote-tracking branch 'origin/release-v7.0.0' into backmerge-apr-2 4580626e58d27244 False Attempt to fix flaky network tests (#7244) 46d6cd049a457238 False RPC RequestId Cleanup (#7238) 470e6da0fcaf- - [NO PR MATCH]: Merge branch 'release-v7.0.0' into v7-backmerge 4857abffcd997240 False Disable log color when running in non-interactive mode (#7240) 496a75f24ab17188 False Fix the `getBlobs` metric and ensure it is recorded promptly to prevent miscounts (#7188) 507cc64cab836990 False Add missing error log and remove redundant id field from lookup logs (#6990) 51591fb7df14- - [NO PR MATCH]: Merge branch 'release-v7.0.0' into backmerge-for-openssl 52e77fb01a067265 False Remove CLI conflict for secrets-dir and datadir (#7265) 53b5d40e3db07256 False Align logs (#7256) 5470850fe58d6744 True Drop head tracker for summaries DAG (#6744) 5547a85cd1187269 False Bump version to v7.1.0-beta.0 (not a release) (#7269) 56e924264e177258 False Fullnodes to publish data columns from EL `getBlobs` (#7258) 57759b0612b37117 False Offloading KZG Proof Computation from the beacon node (#7117) 58d96b73152e7192 False Fix for #6296: Deterministic RNG in peer DAS publish block tests (#7192) 5939eb8145f8- - [NO PR MATCH]: Merge branch 'release-v7.0.0' into unstable 6070f8ab9a6f7309 False Add riscv64 build support (#7309) 61be68dd24d07281 False Fix wrong custody column count for lookup blocks (#7281) 6208882c64ca6996 False Fix execution engine integration tests with latest geth version (#6996) 63476f3a593c7161 False Add `MAX_BLOBS_PER_BLOCK_FULU` config (#7161) 64c32569ab837225 False Restore HTTP API logging and add more metrics (#7225) 65410af7c5f57279 False feat: update mainnet bootnodes (#7279) 6680fe133d2c7280 False Update Lighthouse Book for Electra features (#7280) 679f4b0cdc287343 False Fix Kurtosis doppelganger CI (#7343) 68e61e92b926- - [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into unstable 695527125f5e7340 False Fix GitHub releases page looks bad in GitHub dark theme (#7340) 70c13e069c9c7324 False Revise logging when `queue is full` (#7324) 711dd37048b97346 False Enable cross-compiling for riscv64 architecture (#7346) 72402a81cdd77350 False Fix Kurtosis testnet (#7350) 731324d3d3c45923 False Delayed RPC Send Using Tokens (#5923) 746fad18644b6747 False feat: presign for validator account (#6747) 752e2b0d21767351 False Revise consolidation info in Lighthouse book (#7351) 7663a10eaaea6956 True Changing `boot_enr.yaml` to expect `bootstap_nodes.yaml` for pectra devnet (#6956) 7734a6c3a9306897 True vc: increase default gas limit (#6897) 7894ccd7608e6653 False Add documentation for VC API `/lighthouse/beacon/health` (#6653) 799779b4ba2c7326 False Optimize `validate_data_columns` (#7326) 8093ec9df1377304 False Compute proposer shuffling only once in gossip verification (#7304) 812aa5d5c25e7359 False Make sure to log SyncingChain ID (#7359) 82c8224c8d5e7387 False docs: fix broken link to voluntary exit guide (#7387) 8343c38a6fa07378 False Change slog to tracing in comments (#7378) 84beb0ce68bd6922 False Make range sync peer loadbalancing PeerDAS-friendly (#6922) 853d92e3663b6705 False Modularize validator store (#6705) 86058dae06417405 False Add requires --http when using vc subcommands --http-port (#7405) 870f13029c7d7409 False Don't publish data columns reconstructed from RPC columns to the gossip network (#7409) 888dc3d23af07400 False Add a default timeout to all `BeaconNodeHttpClient` requests (#7400) 89e90fcbe6577416 False Add ARM binary for macOS in release (#7416) 904b9c16fc717199 False Add Electra forks to basic sim tests (#7199) 91a497ec601c6975 False Retry custody requests after peer metadata updates (#6975) 92e0c1f27e137394 False simulator: Persist beacon logs (#7394) 9392391cdac67284 False update gossipsub to the latest upstream revision (#7284) 94593390162f7399 False `peerdas-devnet-7`: update `DataColumnSidecarsByRoot` request to use `DataColumnsByRootIdentifier` (#7399) 955b25a48af37404 False Siren installation improvement (#7404) 96e051c7ca897396 False Siren Pectra Feature Updates (#7396) 970a917989b27370 False impl test random for some types (#7370) 98807848bc7a7443 False Next sync committee branch bug (#7443) 99851ee2bced7454 False Extract get_domain for VoluntaryExit (#7454) 100c2c7fb87a87460 False Make DAG construction more permissive (#7460) 101b1138c28fb7451 False Add additional mergify rules to automate triaging (#7451) 102cc6ae9d3f07463 False Fix mergify infinite loop. (#7463) 1031853d836b77458 False Added E::slots_per_epoch() to deneb time calculation (#7458) 104c4182e362b7433 False simulator: Write dependency logs to separate files (#7433) 105e0ee148d6a7470 False Prevent mergify from updating labels while CI is still running. (#7470) 106e21198c08b7472 False One more attempt to fix mergify condition. (#7472) 107268809a5307471 False Rust clippy 1.87 lint fixes (#7471) 108b051a5d6cc7469 False Delete `at-most` in `lighthouse vm create` (#7469) 1091d27855db77369 False impl from hash256 for `ExecutionBlockHash` (#7369) 11023ad8337477417 False Change default EngineState to online (#7417) 111fcfcbf9a117481 False Update mdlint to disable descriptive-link-text (#7481) 1127684d1f8667372 False ContextDeserialize and Beacon API Improvements (#7372) 1135393d33af87411 False Silence `Uninitialized` warn log on start-up (#7411) 1141e6cdeb88a6799 False feat: Add docker reproducible builds (#6799) 11550dbfdf6127455 False Some updates to Lighthouse book (#7455) 116af87135e307484 False Move MD059 rule to configuration file (#7484) 117805c2dc8315047 False Correct reward denominator in op pool (#5047) 1187e2df6b6027474 False Empty list `[]` to return all validators balances (#7474) 119f06d1d03467495 False Fix blob download from checkpointz servers (#7495) 1200688932de27497 False Pass blobs into `ValidatorStore::sign_block` (#7497) 121e29b6072577427 False Move notifier and latency service to `validator_services` (#7427) 1227759cb8f917494 False Update mergify rule to not evaluate PRs that are not ready for review - to reduce noise and avoid updating stale PRs. (#7494) 1232e96e9769b7507 False Use slice.is_sorted now that it's stable (#7507) 124a8035d73957506 False Enable stdout logging in rpc_tests (#7506) 125817f14c3497500 False Send execution_requests in fulu (#7500) 126537fc5bde87459 False Revive network-test logs files in CI (#7459) 127cf0f9598557180 False Improve log readability during rpc_tests (#7180) 128ce8d0814ad7246 False Ensure logfile permissions are maintained after rotation (#7246) 1296af8c187e07052 False Publish EL Info in Metrics (#7052) 130a2797d4bbd7512 False Fix formatting errors from cargo-sort (#7512) 131f01dc556d17505 False Update `engine_getBlobsV2` response type and add `getBlobsV2` tests (#7505) 132e6ef644db47493 False Verify `getBlobsV2` response and avoid reprocessing imported data columns (#7493) 1337c89b970af7382 False Handle attestation validation errors (#7382) 1348dde5bdb44- - [NO PR MATCH]: Update mergify rules so that I can add `waiting-on-author` on a PR that's passing CI. Remove noisy comments. 1358989ef8fb17025 False Enable arithmetic lint in rate-limiter (#7025) 136b7fc03437b- - [NO PR MATCH]: Fix condition 1379e9c51be6f- - [NO PR MATCH]: Remove redundant `and` 138999b04517e- - [NO PR MATCH]: Merge pull request #7525 from jimmygchen/mergify-again 1390ddf9a99d67332 False Remove support for database migrations prior to schema version v22 (#7332) 1405cda6a6f9e7522 False Mitigate flakiness in test_delayed_rpc_response (#7522) 1414d21846aba7533 False Prevent `AvailabilityCheckError` when there's no new custody columns to import (#7533) 14239744df93f7393 False simulator: Fix `Failed to initialize dependency logging` (#7393) 14338a5f338fa7529 False Add `console-subscriber` feature for debugging (#7529) 144886ceb7e256882 False Run Assertoor tests in CI (#6882) 14594a1446ac97541 False Fix unexpected blob error and duplicate import in fetch blobs (#7541) 146ae304809267521 False Implement EIP-7892 BPO hardforks (#7521) 147f67068e1ec7518 False Update `staking-deposit-cli` to `ethstaker-deposit-cli` (#7518) 148cd83d8d95d7544 False Add a name to the Tokio task (#7544) 149357a8ccbb97549 False Checkpoint sync without the blobs from Fulu (#7549) 1502d9fc34d437540 False Fulu EF tests v1.6.0-alpha.0 (#7540) 151dcee76c0dc7548 False Update key generation in validator manager (#7548) 1529a4972053e7530 False Add e2e sync tests to CI (#7530) 153d457ceeaaf7118 False Don't create child lookup if parent is faulty (#7118) 1542f807e21be7538 False Add support for nightly tests (#7538) 155e098f667387570 False Update kurtosis config and EL images (#7570) 156b2e8b67e347566 False Reduce number of basic sim test nodes from 7 to 4 (#7566) 157170cd0f5877579 False Store the libp2p/discv5 logs when stopping local-testnet (#7579) 158b08d49c4cb7559 False Changes for `fusaka-devnet-1` (#7559) 1598c6abc0b697574 False Optimise parallelism in compute cells operations by zipping first (#7574) 1607416d06dce7561 False Add genesis sync test to CI (#7561) 161076a1c3fae7587 False Data column sidecar event (#7587) 1625f208bb8587578 True Implement basic validator custody framework (no backfill) (#7578) 1639803d69d807590 False Implement status v2 version (#7590) 1645472cb85007582 False Batch verify KZG proofs for getBlobsV2 (#7582) 165a65f78222d7594 False Drop stale registrations without reducing CGC (#7594) 166ccd99c138c7588 False Wait before column reconstruction (#7588) 167dc5f5af3eb7595 False Fix flaky test_rpc_block_reprocessing (#7595) 1684fc0665ccd7592 False Add more context to Late Block Re-orgs (#7592) 1696135f417a27591 False Add data columns sidecars debug beacon API (#7591) 1703d2d65bf8d7593 False Advertise `--advertise-false-custody-group-count` for testing PeerDAS (#7593) 1716786b9d12a7444 True Single attestation "Full" implementation (#7444) 172dd985341586750 True Hierarchical state diffs in hot DB (#6750) 173f67084a5717437 False Remove reprocess channel (#7437) 174d50924677a7620 False Remove instrumenting log level (#7620) 17511bcccb3537133 True Remove all prod eth1 related code (#7133) 176e34a9a0c656551 False Allow the `--beacon-nodes` list to be updated at runtime (#6551) 1773fefda68e57611 False Send byrange responses in the correct requested range (#7611) 178cef04ee2ee7462 False Implement `validator_identities` Beacon API endpoint (#7462) 179fd643c310c7632 False Un-ignore EF test for v1.6.0-alpha.1 (#7632) 18056b2d4b5257636 False Remove instrumenting log level (#7636) 1818e3c5d15247644 False Rust 1.89 compiler lint fix (#7644) 182a0a6b9300f7551 False Do not compute sync selection proofs for the sync duty at the current slot (#7551) 1839b1f3ed9d17652 False Add gossip check (#7652) 18483cad25d987657 False Fix Rust 1.88 clippy errors & execution engine tests (#7657) 185522e00f48d7656 False Fix incorrect `waker` update condition (#7656) 1866ea5f14b397597 False feat: better error message for light_client/bootstrap endpoint (#7597) 1872d759f78be6576 False Fix beacon_chain metrics descriptions (#6576) 1886be646ca117666 True Bump DB schema to v25 (#7666) 189e45ba846ae7673 False Increase http client default timeout to 2s in `http-api` tests. (#7673) 19025ea8a83b77667 False Add Michael as codeowner for store crate (#7667) 191c1f94d9b7b7669 False Test database schema stability (#7669) 192257d2707186612 False Add voluntary exit via validator manager (#6612) 193e305cb1b927661 True Custody persist fix (#7661) 19441742ce2bd7683 False Update `SAMPLES_PER_SLOT` to be number of custody groups instead of data columns (#7683) 19569c9c7038a7681 False Use prepare_beacon_proposer endpoint for validator custody registration (#7681) 196fcc602a7877646 False Update fulu network configs and add `MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS` (#7646) 197a459a9af987689 False Fix and test checkpoint sync from genesis (#7689) 198b35854b71f7692 False Record v2 beacon blocks http api metrics separately (#7692) 199c7bb3b00e47693 False Fix lookups of the block at `oldest_block_slot` (#7693) 2000f895f30667695 False Bump default gas limit (#7695) 20156485cc9867707 False Remove unneeded spans that caused debug logs to appear when level is set to `info` (#7707) 202bd8a2a8ffb7023 False Gossip recently computed light client data (#7023) 2037b2f138ca7- - [NO PR MATCH]: Merge remote-tracking branch 'origin/stable' into release-v7.1.0 2048e55684b067723 False Reintroduce `--logfile` with deprecation warning (#7723) 2058b5ccacac97663 False Error from RPC `send_response` when request doesn't exist on the active inbound requests (#7663) 206cfb1f733107609 False Release v7.1.0 (#7609) ``` Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
73 lines
2.5 KiB
Python
73 lines
2.5 KiB
Python
"""
|
|
Summarise pull requests between two Lighthouse releases.
|
|
|
|
Usage:
|
|
export GITHUB_TOKEN=your_token
|
|
python -m pip install requests==2.32.4
|
|
python print_release_diffs.py --base v7.0.1 --head release-v7.1.0
|
|
|
|
Shows commit SHA, PR number, 'backwards-incompat' label status, and PR title.
|
|
"""
|
|
|
|
import requests
|
|
import re
|
|
import argparse
|
|
import os
|
|
|
|
GITHUB_TOKEN = os.environ.get("GITHUB_TOKEN")
|
|
if not GITHUB_TOKEN:
|
|
raise SystemExit("Error: Please set the GITHUB_TOKEN environment variable.")
|
|
|
|
parser = argparse.ArgumentParser(description="Summarise PRs between two Lighthouse versions.")
|
|
parser.add_argument("--base", required=True, help="Base tag or branch (older release)")
|
|
parser.add_argument("--head", required=True, help="Head tag or branch (newer release)")
|
|
args = parser.parse_args()
|
|
|
|
BASE = args.base
|
|
HEAD = args.head
|
|
OWNER = 'sigp'
|
|
REPO = 'lighthouse'
|
|
|
|
HEADERS = {
|
|
'Authorization': f'token {GITHUB_TOKEN}',
|
|
'Accept': 'application/vnd.github+json'
|
|
}
|
|
|
|
def get_commits_between(base, head):
|
|
url = f'https://api.github.com/repos/{OWNER}/{REPO}/compare/{base}...{head}'
|
|
response = requests.get(url, headers=HEADERS)
|
|
response.raise_for_status()
|
|
return response.json()['commits']
|
|
|
|
def has_backwards_incompat_label(pr_number):
|
|
url = f'https://api.github.com/repos/{OWNER}/{REPO}/issues/{pr_number}'
|
|
response = requests.get(url, headers=HEADERS)
|
|
if response.status_code != 200:
|
|
raise Exception(f"Failed to fetch PR #{pr_number}")
|
|
labels = response.json().get('labels', [])
|
|
return any(label['name'] == 'backwards-incompat' for label in labels)
|
|
|
|
def main():
|
|
commits = get_commits_between(BASE, HEAD)
|
|
print(" # Commit SHA PR Number Has backwards-incompat Label PR Title")
|
|
print("--- ------------ ----------- ------------------------------ --------------------------------------------")
|
|
|
|
for i, commit in enumerate(commits, 1):
|
|
sha = commit['sha'][:12]
|
|
message = commit['commit']['message']
|
|
pr_match = re.search(r"\(#(\d+)\)", message)
|
|
|
|
if not pr_match:
|
|
print(f"{i:<3} {sha} {'-':<11} {'-':<30} [NO PR MATCH]: {message.splitlines()[0]}")
|
|
continue
|
|
|
|
pr_number = int(pr_match.group(1))
|
|
try:
|
|
has_label = has_backwards_incompat_label(pr_number)
|
|
print(f"{i:<3} {sha} {pr_number:<11} {str(has_label):<30} {message.splitlines()[0]}")
|
|
except Exception as e:
|
|
print(f"{i:<3} {sha} {pr_number:<11} {'ERROR':<30} [ERROR FETCHING PR]: {e}")
|
|
|
|
if __name__ == '__main__':
|
|
main()
|