Releases: prysmaticlabs/prysm
10% CPU reduction
(2020-05-11)
With this release, we're observing a 10% reduction in overall CPU usage!
1.0.0-alpha.7 (2020-05-09)
- Add Chain Config File for Validator (#5751) (840bfc5), closes #5751
- Add confirm password to validator accounts create (#5762) (4d9da25), closes #5762
- Add histogram metrics for block arrival time (#5708) (4296127), closes #5708
- Add more domains to domain cache (#5726) (17df25f), closes #5726
- Add More Flags To Dev Mode (#5744) (0b8ee54), closes #5744
- Add params and update spec param names (#5732) (1fa495a), closes #5732
- Add Persistent Subnets (#5734) (3a677ef), closes #5734
- Add sent block time metric (#5738) (4958c03), closes #5738
- Add--disable-historical-detection flag to slasher (#5759) (b2ee466), closes #5759
- Assert no side effects occur on test (#5714) (bbde2a6), closes #5714
- BLS code cleanup (#5773) (f0c0ed8), closes #5773
- Change non-mutating validator accesses to ReadOnly (#5776) (9a11574), closes #5776
- Clean usage of cli.context in validator/node (#5758) (574bf3d), closes #5758
- Custom Method For Block Signing Root (#5704) (2c3f974), closes #5704
- Don't Copy The Whole Validator Map each time (#5780) (6fed51d), closes #5780
- Enforce validator's keystore dir (#5707) (b42cc72), closes #5707
- Fix cold state generation (#5770) (ef4dead), closes #5770
- fixes runtime panic in state/getters (#5728) (140aff4), closes #5728
- Future slot check for state end point (#5755) (aea7a8d), closes #5755
- Implement Stream Duties Functionality (#5685) (d5b1f9f), closes #5685
- Init-sync discard debug logs in tests (#5774) (40c2974), closes #5774
- Is slashable block rpc endpoint implementation (#5765) (c1a8b41), closes #5765
- libfuzz based tests (#5095) (eb2abbd), closes #5095
- Load chain config from file (#5694) (1a27c21), closes #5694
- Log out public key with accounts create (#5723) (d3cb4b3), closes #5723
- Make IP Static for Public IPs (#5788) (5b13423), closes #5788
- Memory Improvements (#5760) (ae66f63), closes #5760
- More explicit error message on wrong process when running prysm.sh (#5747) (45f2447), closes #5747
- Move "Enter a password" cmd instructions to shared/cmd (#5724) (2b7865c), closes #5724
- Move recreated constants out of smaller scopes (#5699) (436d545), closes #5699
- Re-enable skipped block list paging unit test (#5691) (af5b922), closes #5691
- Reduce memory usage for new-state-mgmt at init sync (#5778) (7a27d89), closes #5778
- Refactor db teardown to testing.TB.Cleanup (#5725) (b5c4dc2), closes #5725
- Refactor ReceiveBlock to receive the block root. (#5785) (87e0fe5), closes #5785
- Refactor validator protection for attesters (#5695) (ad8716a), closes #5695
- Refactors block fetching function to fetcher (#5766) (c4eb8c7), closes #5766
- Regen historical state: don't skip saving historical state (#5712) (973fa9f), closes #5712
- Release enableCustomBlockHTR to all (#5742) (b00bbfe), closes #5742
- Remove flag requirement from accounts keys (#5757) (67a2698), closes #5757
- Remove Old Sync Routine (#5761) (bf2a37b), closes #5761
- Remove silent errors from slasher (#5722) (c614412), closes #5722
- Rename Precompute Balance vars to be more descriptive (#5706) (125d022), closes #5706
- Retry Initialization of ETH1 Connection (#5730) (2eac24c), closes #5730
- Return Genesis Block (#5709) (1432332), closes #5709
- SlotToTime helper (#5710) (37f2a04), closes #5710
- Temporarily remove new state mgmt from e2e (#5786) (c590029), closes #5786
- Update BLS and use constant for SetETHmode (#5772) (87c3599), closes #5772
- Update Bootnode to v0.11.2 (#5767) (f6090d0), closes #5767
- Update gateway max resv size to 16MB (#5756) (38f2ec6), closes #5756
- Update to v0.11.2 badge (#5750) (f29ea77), closes #5750
- Use alpine base image including libstdc++ (#5777) (63e2e8a), closes #5777 #5768
- Use AttestationPreState (#5737) (e8da03a), closes #5737
- Use stateutil.BlockRoot everywhere (#5739) (9be8a45), closes #5739
- Use the custom HTR in a few more places (#5743) ([eb27f...
Minor fixes / improvements
(2020-05-01)
Many minor bugfixes and improvements.
1.0.0-alpha.6 (2020-05-01)
- A tool to update genesis time of an existing state (#5664) (44611e0), closes #5664
- Add
HeadGenesisValidatorRoot
forDomainData
(#5582) (2f21249), closes #5582 - Add a 2 second timeout to fetching eth1data (#5583) (a3eeced), closes #5583
- Add back archival endpoint
GetValidatorBalances
with fallback (#5620) (e3e9863), closes #5620 - Add back State To ComputeProposerIndex (#5674) (81a7bc7), closes #5674
- Add Block Batch Limit Flag (#5646) (b6353da), closes #5646
- Add Debug RPC Service to Prysm (#5666) (5ed72d4), closes #5666
- Add GenesisValidatorsRoot to GetGenesis (#5619) (eb5513f), closes #5619
- Add Goodbye Message When Disconnecting With Peers (#5589) (2ebd684), closes #5589
- Add hotfix for E2E (#5573) (1480d2b), closes #5573
- Add post-genesis deposit testing to long-running E2E (#5449) (f70635a), closes #5449
- Add prometheus metrics test into E2E (#5673) (84e51a5), closes #5673
- Add slasher config file flag (#5639) (4da7701), closes #5639
- Add static analysis to enforce usage of InitWithReset (#5654) (e30349d), closes #5654
- Add test for GetValidatorPerformance (#5652) (8327c9d), closes #5652
- Added new PR template (#5598) (ffdf248), closes #5598
- added prysm.bat for native windows support (#5624) (#5626) (08a9fe9), closes #5624 #5626
- All Beacon Node Package-Level Godocs (#5677) (3416962), closes #5677
- beacon/log: augment logs with block roots (#5675) (3fc6afa), closes #5675
- checks prysm.sh args size (#5634) (3782e70), closes #5634
- Clean Up Of Dynamic Subscriptions (#5690) (5f53f9f), closes #5690
- Create Pcli (#5644) (e9191e7), closes #5644
- Deprecate span map cache flag (#5551) (9c012cc), closes #5551
- Empty Committee Check in Submit Attestation (#5672) (3b2c514), closes #5672
- Ensure Single Context Used for Beacon Node Cancelation on SIGTERM (#5671) (9415519), closes #5671
- Exit Early from Responding (#5637) (07e8609), closes #5637
- feature default validator keystore path (#5592) (a33bd94), closes #5592
- Fix
getAttPreState
memory usage fornew-state-mgmt
(#5584) (a78035d), closes #5584 #5554 #5554 - Fix activationEpoch=FarFutureEpoch in validator client logging (#5608) (9212638), closes #5608
- fix bugs (#5683) (4d30519), closes #5683
- Fix logged errs (#5645) (f84e5ad), closes #5645
- Fix percentages for validator metric logging (#5609) (cf98de8), closes #5609
- Fix tests depending on configuration flag (#5650) (44b93d9), closes #5650
- Fix Voluntary Exits Panic (#5688) (3a295fb), closes #5688
- fixes bug with binary verification (#5627) (0806807), closes #5627
- fixes issue with ipc path checking (#5577) (9e6b6bc), closes #5577
- fixes param concatenation (#5594) (d1b0348), closes #5594
- GetValidatorPerformance only return its status info if the validator is active (#5568) (49ca075), closes #5568 #1
- Handle Nil State Object (#5575) (482a054), closes #5575
- Implement GetBeaconState Endpoint (#5668) (2e33595), closes #5668
- Increase regen historical state cache size (#5613) (5fbf38c), closes #5613
- Less Noisy P2P Logs (#5607) (f9eb546), closes #5607
- Log out important directories for validator client (#5653) (e1ac1d3), closes #5653
- Missing defer before unlock (#5643) (7d74805), closes #5643
- More concise duty logging (#5397) (db6dbdc), closes #5397
- More efficient ancestor head retrieval for
GetAttestationData
(#5669) (5636cd3), closes #5669 - No More EthereumAPIs Patch (#5570) (793c3d2), closes #5570
- Other Package Godocs for Prysm (#5681) (546196a), closes #5681
- prysm.sh download only option (#5628) (d0f3bea), closes #5628
- Remove duplicated sig verification (#5676) (05fcb10), closes #5676
- Remove Old Generated Go Protos (#5667) (d0e30ce), closes #5667
- replaced 265 with 256 ...derp (#5702) (c877efd), closes #5702
- Revert Validator Reference Copy (#5701) (7bea237), clos...
Use less memory!
(2020-04-22)
This release has several fixes and features. In the last few days, we have been very focused on reducing memory usage in Prysm. We've disabled a feature for state management which was on by default. This feature can still be enabled with --enable-new-state-mgmt
however it is not recommended for this release.
We're also including slasher binaries with this release and we'll update prysm.sh
soon to be able to run the slasher server as well.
Full list of changes below.
1.0.0-alpha.5 (2020-04-22)
- Use WaitForSynced in validator client for startup (#5465) (25102e0), closes #5465
- /healthz endpoint accepts JSON now (#5558) (e753cbb), closes #5558
- add --dev flag (#5539) (b663086), closes #5539
- Add back archival endpoint
GetValidatorActiveSetChanges
with fallback (#5519) (54faf85) - Add back archival endpoint
ListBeaconCommittees
with fallback (#5518) (9846442), closes #5518 - Add back archival endpoint
ListValidatorAssignments
with fallback (#5517) (7d8516c) - Add back archival endpoint
ValidatorParticipation
with fallback (#5520) (62da94b) - Add Clock-Based Slot to Metrics (#5545) (9255a2b), closes #5545
- Add Metrics to Bootnode (#5460) (61c96f5), closes #5460
- Add Reference Copying (#5245) (626b3e0), closes #5245
- Cancel Initial Sync Properly (#5529) (639e307), closes #5529
- Change ListIndexedAttestations to convert attestations from target root (#5548) (19b879e), closes #5548
- Change prometheus port for different parts of Prysm (#5504) (dee3f02), closes #5504
- Change Validator Status for visible deposit back to DEPOSITED (#5563) (c2daf8d), closes #5563
- Continue if archival state is not in DB (#5565) (480ddb7), closes #5565
- Fix broadcast slashing flag (#5515) (95f1676), closes #5515
- Fix prysm.sh for arm64 (#5507) (f2d88ea), closes #5507
- Fix prysm.sh for arm64 (#5511) (42e6532), closes #5511
- Fix slasher historic attestation detection (#5532) (fae307e), closes #5532
- fix tests in //beacon-chain/rpc/beacon (#5559) (0f08bd2), closes #5559
- Invert
--disable-new-state-mgmt
to--enable-new-state-mgmt
(#5567) (7b38e97), closes #5567 - Log warn instead of return error (#5547) (982d935), closes #5547
- Make Connections Less Aggressive (#5488) (b61d320), closes #5488
- Migration should not fail process block routine (#5557) (199c50b), closes #5557
- More efficient list indexed attestation endpoint (#5441) (acd7dd1), closes #5441
- Optimize GetDuties to not call Eth1 functions (#5516) (60bf3ed), closes #5516
- Regen and save historical states as default (#5544) (2a0711a), closes #5544
- Run Gofmt on Repo (#5541) (37cba66), closes #5541
- Shift To Trace Logs (#5561) (f880fb4), closes #5561
- Slasher batch db read and a write (#5534) (8cba109), closes #5534
- update commit hash (#5554) (c69f561), closes #5554
- Update prysm.sh to use prysmaticlabs.com/releases (#5528) (1c6d1fa), closes #5528
- Update to 1.14.1 (#5535) (7b89b17), closes #5535
- WaitForActivation optimizations (#5396) (c8fa31a), closes #5396
- Validator: fix percentages to be per 100 (#5527) (9ae492e), closes #5527
Pubsub Fix
(2020-04-19)
Fixed a major issue with topic subscriptions in p2p.
- Add
HasBlock
to verify parent check (#5478) (ce6ce5a), closes #5478 - Add Geth Logging (#5474) (b0af12d), closes #5474
- Add WaitForSynced to beacon node for validator startup (#5366) (1224e75), closes #5366
- Better Bug Report and Issue Templates for Prysm (#5505) (62fa6ed), closes #5505
- Change prysm script to support windows (#5479) (7a65e0e), closes #5479
- Configurable pubsub router (#5499) (0ed0cb5), closes #5499
- Disable Attester/Proposer Slashing Protection (#5497) (fb26177), closes #5497
- Disable some block checks without state mgmt (#5498) (0078f42), closes #5498 #5366 #5366
- Fix Bootnode Again (#5473) (9cec33f), closes #5473
- Less Scary Connection Logs (#5480) (c0ca567), closes #5480
- p2p/sync: Wrong genesis digest is used to register pubsub topic subscriptions (race condition) (#550 (3377472), closes #5500
- Retrieve last ancestor state from DB. (Radical improvement from 5466) (#5475) (62213ca), closes #5475
- Save init sync cached blocks before regenerate state (#5501) (c3217ab), closes #5501 #5366 #5454 #5454 #5366
Minor fixes for Topaz
(2020-04-17)
We've added a few minor bug fixes and improvements for the upcoming Topaz Testnet release.1
- Add default bootnode for discv5 (#5471) (475d428), closes #5471
- Add healthz check to E2E (#5426) (c70103b), closes #5426
- Add Separate Network Config (#5454) (28733f2), closes #5454
- Added dappnode-release-trigger.yml workflow (#5455) (17c1fc3), closes #5455
- Debug log pubkey chainstart already added (#5461) (52b46d4), closes #5461
- Delete archival DB methods (#5459) (8a3ea1e), closes #5459
- Fix
ListValidatorBalances
for v0.11 (#5458) (3763a8c), closes #5458 - Fix Bootnode (#5469) (2f15f16), closes #5469
- Fix overflow in currentSlot (#5467) (46b1907), closes #5467
- nil attestation tests added (#5457) (075d29f), closes #5457
- Replay and generate state using proper parent root (#5466) (50d67f5), closes #5466
- Revert archival deprecations (#5464) (62c25ea), closes #5464 #5458 #5445 #5459 #5411 #5409 #5408 #5365
- Update wallet keymanager for v0.11 (#5453) (0803f0f), closes #5453
- updates UpdateRandaoMixesAtIndex signature (#5447) (0ecd2a6), closes #5447
GossipSub snappy compression fix
(2020-04-15)
#5435 fixes an oversight missed in spec version v0.11.1 when enabling snappy compression for gossipsub and p2p rpc methods. This PR also sets snappy to be the default encoding for p2p networking.
A few minor fixes, code cleanup.
1.0.0-alpha.2 (2020-04-15)
- Deprecate archival service (#5445) (4fbcedf)
- Fix bad log messages for duplicate deposits (#5440) (899670e)
- Fix Network Encoder (#5435) (9213169)
- Fix Panics in P2P Service (#5442) (144f37e)
- Modify
GetValidatorActiveSetChanges
to use new state service (#5408) (5eb6485) - Modify
GetValidatorParticipation
to use new state service (#5409) (046a00a) - Modify
ListBeaconCommittees
to use new state service (#5411) (497fa6e) - Modify
ListValidatorAssignments
to use new state service (#5365) (5a1a768) - nil check for
SignedAggregateAndProof
(#5420) (ef21456) - rem old docs (#5446) (21f5199)
- Use debug for
Skipping deposit...
log (#5444) (ea84f44) - Verify historical states exist in node pkg (#5432) (24fc67a)
Minor flag fixes
#5431 updates flag default values to reflect the new topaz contracts.
Topaz Testnet!
After hundreds of commits and several months of work, the final phase 0 testnet from Prysmatic Labs is here!
v1.0.0-alpha represents Prysm preparing for mainnet release targeting the latest ETH2 spec version v0.11.1.
See #5127 for a full list of changes.
Deposit contract address: 0x5ca1e00004366ac85f492887aaab12d0e6418876
Configuration: Mainnet
Spec version: v0.11.1 (Latest release)
Testnet site: https://prylabs.net
Prysm API: https://api.prylabs.net
Official announcement: link
Happy validating, stakers!
Major initial sync improvements
(2020-04-07)
This release contains many initial sync improvements with a full rewrite of the initial sync routine.
Full changelog below.
- Add buildbuddy BES (#5325) (bcebf63), closes #5325
- Add latch for proposer warnings (#5258) (02b238b), closes #5258
- Add maligned struct static check (#5296) (7bdd135), closes #5296
- Clear init sync blocks on the correct line (#5294) (ec7f7ae), closes #5294
- Create CODEOWNERS (#5330) (0fff07a), closes #5330
- Enable slashing protection in validator by default (#5278) (8376fb3), closes #5278 #5267
- fix broken links in readme (#5313) (279dd5a), closes #5313
- Fix cluster in bazel and remove unused file (#5316) (fcf1314), closes #5316
- Fixed typo in stdout log (#5317) (b7afc90), closes #5317
- Improvement, flake fixes (#5263) (3dd5576), closes #5263
- Init sync optimizations (#5284) (c26a492), closes #5284
- Init sync release queue (#5286) (b43e43b), closes #5286
- Init sync update highest slot (#5298) (f440c81), closes #5298
- Interop batch save validator indices (#5320) (d6f7d67), closes #5320
- Invert init-sync-batch-save-blocks flag for v0.11 (#5293) (3544ed2), closes #5293
- Reduce noise in validator logs (#5307) (c7a4fcd), closes #5307
- Regen historical states for
new-state-mgmt
compatibility (#5261) (df9a534), closes #5261 - Release Skip Slot Cache to All (#5280) (f385a1d), closes #5280
- Remove old cross compile starlark rules (#5329) (70e64be), closes #5329 #5325
- Remove unused slashing protos (#5308) (0775318), closes #5308
- Remove unused validator protos (#5304) (4b64a75), closes #5304
- Save init synced cached blocks to db (#5309) (e162d27), closes #5309
- Set a max limit for decoding ssz objects from p2p (#5295) (477b014), closes #5295
- slasher retrieve and cache validator public key (#5220) (0df1226), closes #5220
- Update @terencechain public key. (#5301) (9aac572), closes #5301
- Use less goroutines in validator runner (#5328) (33ffa34), closes #5328 #5325
More fixes and improvements
(2020-03-31)
Continued bug fixes, performance improvements, and optimizations.
- Add
HighestSlotStatesBelow
DB getter (#5213) (2df7679), closes #5213 - Add alpine based docker images for validator and beacon chain (#5214) (3792bf6), closes #5214
- Add configurable e2e epochs (#5235) (f89d753), closes #5235
- Add configurations for BLS builds (#5254) (6edb301), closes #5254
- Add Hasher To State Data Types (#5244) (7e50c36), closes #5244
- Add Merkleize With Customized Hasher (#5234) (63df1d0), closes #5234
- Attempt E2E flaking fix (#5256) (404a0f6), closes #5256
- Batch save blocks for initial sync. 80% faster BPS (#5215) (c5f186d), closes #5215
- Check new state mgmt service is compatible with DB (#5231) (c67b01e), closes #5231
- Custom Block HTR (#5219) (cdac3d6), closes #5219
- Faster hashing for attestation pool (#5217) (c4c9a84), closes #5217
- Fix E2E test sharding (#5248) (0982ff1), closes #5248
- Fix save blocks return nil (#5237) (b40e6db), closes #5237
- Handle genesis case for blocks/states at slot index (#5224) (1a0a399), closes #5224
- init-sync revamp (#5148) (7ebb3c1), closes #5148
- is slashable attestation endpoint implementation (#5209) (93e68db), closes #5209
- Micro optimizations on new-state-mgmt service for initial syncing (#5241) (7f7866f), closes #5241
- new fixes (#5221) (4118fa5), closes #5221
- Prevent panic for different size bitlists (#5233) (6bc70e2), closes #5233 #5232
- Productionization new state service part 1 (#5230) (f2a3fad), closes #5230
- Prune garbage state is not for new state mgmt (#5225) (6a4b17f), closes #5225
- Revert "Add Fast Copy of Trie" (#5228) (33f6c22), closes #5228 #5221
- Separate anti flakes to prevent E2E issues (#5238) (cb9ac62), closes #5238
- Short circuit genesis condition for new state mgmt (#5223) (5e2faf1), closes #5223
- Skip anti-flake E2E tests (#5257) (3e81afd), closes #5257
- Uncomment out cold state tests (#5252) (e22365c), closes #5252
- Unmarshal Block instead of State (#5246) (c8f8e3f), closes #5246
- Use math.Sqrt for IntegerSquareRoot (#5253) (17516b6), closes #5253
- Debug: add cgo symbolizer (#5255) (00ef08b), closes #5255
- HashProto: Use fastssz when available (#5218) (a245461), closes #5218