v5.0.2
This release has many optimizations, UX improvements, and bug fixes. Due to the number of important bug fixes and optimizations, we encourage all operators to update to v5.0.2 at their earliest convenience.
In this release, there is a notable change to the default value of --local-block-value-boost
from 0 to 10. This means that the default behavior of using the builder API / mev-boost requires the builder bid to be 10% better than your local block profit. If you want to preserve the existing behavior, set --local-block-value-boost=0.
Added
- API: Add support for sync committee selections #13633
- blobs: call fsync between part file write and rename (feature flag
--blob-save-fsync
) #13652 - Implement EIP-3076 minimal slashing protection, using a filesystem database (feature flag
--enable-minimal-slashing-protection
) #13360 - Save invalid block to temp
--save-invalid-block-temp
#13722 #13725 #13736 - Compute unrealized checkpoints with pcli #13692
- Add gossip blob sidecar verification ms metric #13737
- Backfill min slot flag (feature flag
--backfill-oldest-slot
) #13729 - adds a metric to track blob sig cache lookups #13755
- Keymanager APIs - get,post,delete graffiti #13474
- Set default LocalBlockValueBoost to 10 #13772
- Add bid value metrics #13804
- REST VC metrics #13588
Changed
- Normalized checkpoint logs #13643
- Normalize filesystem/blob logs #13644
- Updated gomock libraries #13639
- Use Max Request Limit in Initial Sync #13641
- Do not Persist Startup State #13637
- Normalize backfill logs/errors #13642
- Unify log fields #13654
- Do Not Compute Block Root Again #13657
- Optimize Adding Dirty Indices #13660
- Use a Validator Reader When Computing Unrealized Balances #13656
- Copy Validator Field Trie #13661
- Do not log zero sync committee messages #13662
- small cleanup on functions: use slots.PrevSlot #13666
- Set the log level for running on
<network>
asINFO
. #13670 - Employ Dynamic Cache Sizes #13640
- VC: Improve logging in case of fatal error #13681
- refactoring how proposer settings load into validator client #13645
- Spectest: Unskip Merkle Proof test #13704
- Improve logging. #13708
- Check Unrealized Justification Balances In Spectests #13710
- Optimize SubscribeCommitteeSubnets VC action #13702
- Clean up unreachable code; use new(big.Int) instead of big.NewInt(0) #13715
- Update bazel, rules_go, gazelle, and go versions #13724
- replace receive slot with event stream #13563
- New gossip cache size #13756
- Use headstate for recent checkpoints #13746
- Update spec test to official 1.4.0 #13761
- Additional tests for KZG commitments #13758
- Enable Configurable Mplex Timeouts #13745
- Optimize SubmitAggregateSelectionProof VC action #13711
- Re-design TestStartDiscV5_DiscoverPeersWithSubnets test #13766
- Add da waited time to sync block log #13775
- add log message if in da check at slot end #13776
- Log da block root in hex #13787
- Log the slot and blockroot when we deadline waiting for blobs #13774
- Modify the algorithm of updateFinalizedBlockRoots #13486
- Rename payloadattribute Timestamps to Timestamp #13523
- Optimize GetDuties VC action #13789
- docker: Add bazel target for building docker tarball #13790
- Utilize next slot cache in block rewards rpc #13684
- Spec test coverage report #13718
- Refactor batch verifier for sharing across packages #13812
Removed
- Remove unused bolt buckets #13638
- config: Remove DOMAIN_BLOB_SIDECAR. #13706
- Remove unused deneb code #13712
- Clean up: remove some unused beacon state protos #13735
- Cleaned up code in the sync package #13636
- P2P: Simplify code #13719
Fixed
- Slasher: Reduce surrounding/surrounded attestations processing time #13629
- Fix blob batch verifier pointer receiver #13649
- db/blobs: Check non-zero data is written to disk #13647
- avoid part path collisions with mem addr entropy #13648
- Download checkpoint sync origin blobs in init-sync #13665 #13667
- bazel: Update aspect-build/bazel-lib to v2.5.0 #13675
- move setting route handlers to registration from start #13676
- Downgrade Level DB to Stable Version #13671
- Fix failed reorg log #13679
- Fix Data Race in Epoch Boundary #13680
- exit blob fetching for cp block if outside retention #13686
- Do not check parent weight on early FCU #13683
- Fix VC DB conversion when no proposer settings is defined and add Experimental flag in the --enable-minimal-slashing-protection help. #13691
- keymanager api: lowercase statuses #13696
- Fix unrealized justification #13688
- fix race condition when pinging peers #13701
- Fix/race receive block #13700
- Blob verification spectest #13707
- Ignore Pubsub Messages Hitting Context Deadlines #13716
- Use justified checkpoint from head state to build attestation #13703
- only update head at 10 seconds when validating #13570
- Use correct gossip validation time #13740
- fix 1-worker underflow; lower default batch size #13734
- handle special case of batch size=1 #13646
- Always Set Inprogress Boolean In Cache #13750
- Builder APIs: adding headers to post endpoint #13753
- Rename mispelled variable #13759
- allow blob by root within da period #13757
- Rewrite Pruning Implementation To Handle EIP 7045 #13762
- Set default fee recipient if tracked val fails #13768
- validator client on rest mode has an inappropriate context deadline for events #13771
- validator client should set beacon API endpoint in configurations #13778
- Fix get validator endpoint for empty query parameters #13780
- Expand Our TTL for our Message ID Cache #13770
- fix some typos #13726
- fix handling of goodbye messages for limited peers #13785
- create the log file along with its parent directory if not present #12675
- Call GetGenesis only once #13796
Security
- Go version has been updated from 1.21.6 to 1.21.8. #13724