github prysmaticlabs/prysm v4.0.7

latest releases: v5.1.0, v5.0.4, v5.0.4-rc.3...
14 months ago

Welcome to the v4.0.7 release of Prysm! This recommended release contains many essential optimizations since v4.0.6.

Highlights:

  • The validator proposal time for slot 0 has been reduced by 800ms. Writeup and PR
  • The attestation aggregation time has been reduced by 400ms—roughly 75% with all subnets subscribed. Flag --aggregate-parallel. PR. This is only useful if running more than a dozen validator keys. The more subnets your node subscribe to, the more useful.
  • The usage of fork choice lock has been reduced and optimized, significantly reducing block processing time. This results in a higher proposal and attest rate. PR
  • The block proposal path has been optimized with more efficient copies and a better pruning algorithm for pending deposits. PR and PR
  • Validator Registration cache is enabled by default, this affects users who have used webui along with mevboost. Please review PR for details.

Note: We remind our users that there are two versions of the cryptographic library BLST, one is "portable" and less performant, and another is "non-portable" or "modern" and more performant. Most users would want to use the second one. You can set the environment variable USE_PRYSM_MODERN=true when using prysm.sh. The released docker images are using the non-portable version by default.

Added

  • Optimize multiple validator status query #12487
  • Track optimistic status on head #12552
  • Get attestation rewards API end point #12480
  • Expected withdrawals API #12519
  • Validator voluntary exit endpoint #12299
  • Aggregate atts using fixed pool of go routines #12553
  • Use the incoming payload status instead of calling forkchoice #12559
  • Add hermetic_cc_toolchain for a hermetic cc toolchain #12135
  • Cache next epoch proposers at epoch boundary #12484
  • Optimize Validator Roots Computation #12585
  • Log Finalized Deposit Insertion #12593
  • Move consensus and execution validation outside of onBlock #12589
  • Add metric for ReceiveBlock #12597
  • Prune Pending Deposits on Finalization #12598
  • GetValidatorPerformance http endpoint #12557
  • Block proposal copy Bytes Alternatively #12608
  • Append Dynamic Adding Trusted Peer Apis #12531

Changed

  • Do not validate merge transition block after Capella #12459
  • Metric for balance displayed for public keys without validator indexes #12535
  • Set blst_modern=true to be the bazel default build #12564
  • Rename payloadHash to lastValidHash in setOptimisticToInvalid #12592
  • Clarify sync committee message validation #12594
  • Checkpoint sync ux #12584
  • Registration Cache by default #12456

Fixed

  • Late block task wait for initial sync #12526
  • Log the right block number #12529
  • Fix for keystore field name to align with EIP2335 #12530
  • Fix epoch participation parsing for API #12534
  • Spec checker, ensure file does not exit or error #12536
  • Uint256 parsing for builder API #12540
  • Fuzz target for execution payload #12541
  • Contribution doc typo #12548
  • Unit test TestFieldTrie_NativeState_fieldConvertersNative #12550
  • Typo on beacon-chain/node/node.go #12551
  • Remove single bit aggregation for aggregator #12555
  • Deflake cloners_test.go #12566
  • Use diff context to update proposer cache background #12571
  • Update protobuf and protobuf deps #12569
  • Run ineffassign for all code #12578
  • Increase validator client startup proposer settings deadline #12533
  • Correct log level for 'Could not send a chunked response' #12562
  • Rrune invalid blocks during initial sync #12591
  • Handle Epoch Boundary Misses #12579
  • Bump google.golang.org/grpc from 1.40.0 to 1.53.0 #12595
  • Fix bls signature batch unit test #12602
  • Fix Context Cancellation for insertFinalizedDeposits #12604
  • Lock before saving the poststate to db #12612

Removed

  • Disable nil payloadid log on relayers flags #12465
  • Remove unneeded helper #12558
  • Remove forkchoice call from notify new payload #12560

Don't miss a new prysm release

NewReleases is sending notifications on new releases.