v5.1.0
This release contains 171 new changes and many of these are related to Electra! Along side the Electra changes, there are nearly 100 changes related to bug fixes, feature additions, and other improvements to Prysm. Updating to this release is recommended at your convenience.
In an upcoming release, we will be deprecating the gRPC gateway and renaming several associated flags. This change will result in the removal of access to several internal APIs via REST, though the gRPC endpoints will remain unaffected. We strongly encourage systems to transition to using the beacon API endpoints moving forward. Please refer to PR #14089 for more details.
Review the full diff here: v5.0.4...v5.1.0
Added
- Electra work #13907 #13918 #13905 #13923 #13924 #13937 #13921 #13946 #13933 #13974 #13976 #13937 #13919 #13975 #13984 #13985 #13987 #13991 #13978 #13981 #13982 #13992 #13994 #13993 #13997 #13999 #13983 #14002 #14000 #14029 #14001 #14047 #14003 #14037 #14031 #14055 #14027 #14091 #14085 #14138 #14121 #14139 #14146 #14152 #14010 #13944 #14005 #14164 #14115 #14163 #14177 #14176 #14158 #14200 #14212 #14203 #14211 #14180 #14181 #14213 #14215 #14219 #14221 #14220 #14224 #14209 #14227 #14229 #14235 #14272
- Fork-specific consensus-types interfaces #13937 #14241 #14243 #14238 #14239 #14173 #14257
- Fuzz ssz roundtrip marshalling, cloner fuzzing #14006 #14246 #14254 #14255 #14265 #14294
- Add support for multiple beacon nodes in the REST API #13433
- Add middleware for
Content-Type
andAccept
headers #14075 #14093 - Add debug logs for proposer settings #14016
- Add tracing to beacon api package #14125
- Add support for persistent validator keys when using remote signer.
--validators-external-signer-public-keys
and--validators-external-signer-key-file
See the docs page for more info. #13682 - Add
AggregateKeyFromIndices
to beacon state to reduce memory usage when processing attestations #14178 - Add GetIndividualVotes endpoint #14198
- Implement
is_better_update
for light client #14186 - HTTP endpoint for
GetValidatorParticipation
#14261 - HTTP endpoint for
GetChainHead
#14262 - HTTP endpoint for
GetValidatorActiveSetChanges
#14264 - Check locally for min-bid and min-bid-difference #14205
Changed
- Refactored slasher operations to their logical order #14322
- Refactored Gwei and Wei types from math to primitives package. #14026
- Unwrap payload bid from ExecutionData #14035
- Change ZeroWei to a func to avoid shared ptr #14043
- Updated go-libp2p to v0.35.2 and go-libp2p-pubsub to v0.11.0 #14060 #14192
- Use genesis block root in epoch 1 for attester duties #14059
- Cleanup validator client code #14048
- Old attestations log moved to debug. "Attestation is too old to broadcast, discarding it" #14072
- Modify ProcessEpoch not to return the state as a returned value #14069
- Updated go-bitfield to latest release #14120
- Use go ticker instead of timer #14134
process_registry_updates
no longer makes a full copy of the validator set #14130 #14197- Validator client processes sync committee roll separately #13995
- Use vote pointers in forkchoice to reduce memory churn #14196
- Avoid Cloning When Creating a New Gossip Message #14201
- Proposer filters invalid attestation signatures #14225
- Validator now pushes proposer settings every slot #14155 #14285
- Get all beacon committees at once #14282 #14284
- Committee-aware attestation packing #14245
Deprecated
--enable-debug-rpc-endpoints
is deprecated and debug rpc points are on by default. #14015
Removed
- Removed fork specific getter functions (i.e. PbCapellaBlock, PbDenebBlock, etc) #13941
Fixed
- Fixed debug log "upgraded stake to $fork" to only log on upgrades instead of every state transition #14316
- Fixed nil block panic in API #14063
- Fixed mockgen script #14068
- Do not fail to build block when block value is unknown #14111
- Fix prysmctl TUI when more than 20 validators were listed #14140
- Revert peer backoff changes from #14137. This was causing some sync committee performance issues. #14148
- Increased attestation seen cache expiration to two epochs #14156
- Fixed slasher db disk usage leak #14151
- fix: Multiple network flags should prevent the BN to start #14169
- Correctly handle empty payload from GetValidatorPerformance requests #14240
- Fix Event stream with carriage return support #14250
- Fix panic on empty block result in REST API #14280
- engine_getPayloadBodiesByRangeV1 - fix, adding hexutil encoding on request parameters #14314
Security
- Go version updated to 1.22 #13965