Skip to content

V4.0.0

Compare
Choose a tag to compare
@terencechain terencechain released this 27 Mar 22:15
· 1367 commits to develop since this release
191e603

We are releasing v4.0.0 for the upcoming Capella/Shanghai ("Shapella") upgrade!

This release is mandatory for all mainnet Prsym beacon nodes and validators. The release enables Capella upgrade, scheduled on April 12, 2023, 10:27:35pm UTC and epoch 194048. Failure to upgrade will result in your node forking off the chain and the validator losing rewards and getting penalized for being offline.

To recap, you must upgrade your mainnet beacon node and validator client to v4.0.0 before April 12, 2023, 10:27:35pm UTC.

Please have a look below for the changes and detailed change lists.

⚠️Breaking changes

Below are the breaking changes from v3.2.2 to v4

Breaking changes: flags removed

  • http-web3provider
  • enable-db-backup-webhook
  • bolt-mmap-initial-size
  • disable-discv5
  • enable-reorg-late-blocks
  • disable-attesting-history-db-cache
  • enable-vectorized-htr
  • enable-peer-scorer
  • enable-forkchoice-doubly-linked-tree
  • enable-back-pull
  • enable-duty-count-down
  • head-sync
  • enable-gossip-batch-aggregation
  • enable-larger-gossip-history
  • fallback-web3provider
  • disable-native-state
  • enable-only-blinded-beacon-blocks
  • ropsten
  • interop-genesis-state
  • experimental-enable-boundary-checks
  • disable-back-pull
  • disable-forkchoice-doubly-linked-tree

Breaking changes: flags deprecated

  • disable-peer-scorer
  • disable-vectorized-htr
  • disable-gossip-batch-aggregation

📝 All changes

Added

  • Config: set mainnet capella epoch #12144
  • Validator: enable proposer to reorg late block #12075 #121100
  • Metric: bls-to-exec count in the operation pool #12133 #12155
  • Metric: pubsub metrics racer #12178
  • Metric: add late block metric #12091
  • Engine-API: Implement GetPayloadBodies #11973
  • Beacon-API: Implement GetPayloadAttribute SSE #12102 #12154 #12160 #12169
  • Prysm CLI: add experimental flags to dev mode #12152
  • Prysmctl utility: add eth1data to genesis state #12125
  • Spec test: EIP4881 spec compliance tests #11754
  • Spec test: forkchoice lock to fix flaskyness #12165

Changed

  • Prysm: upgrade v3 to v4 #12134
  • Prysm: apply goimports to generated files #12170
  • Validator: lower builder circuit breaker thresholds to 5 missed slots per epoch and updates off by 1 #12076
  • Validator: reorg late block by default #12146 #12147
  • Forkchoice: cleanups #12078
  • Forkchoice: remove bouncing attack fix and strength equivocation discarding #12126
  • Forkchoice: call FCU at 4s mark if there's no new head #12159
  • Forkchoice: better locking on calls to retrieving ancestor root #12162
  • Forkchoice: stricker visibility for blockchain package access #12174
  • Block processing: optimizing validator balance retrieval by using epoch boundary cache #12083
  • Block processing: reduce FCU calls #12091
  • Block processing: increase attempted reorgs at the correct spot #12106
  • Block processing: remove duplicated bls to exec message pruning #12085
  • Block processing: skip hash tree root state when checking optimistic mode #12143
  • Prysm-API: mark GetChainHead deprecated #12128
  • Logging: add late block logs #12091
  • Logging: enhancements and clean ups #12086
  • Build: fix bazel remote cache upload #12108
  • Build: update cross compile toolchains #12069
  • Build: only build non-test targets in hack/update-go-pbs.sh #12101
  • Build: update rules_go to v0.38.1 and go_version to 1.19.7 #12055
  • Build: replace bazel pkg_tar rule with canonical @rules_pkg pkg_tar #12120
  • Build: update bazel to 6.1.0 #12121
  • Libp2p: updated to latest version #12096 #12132
  • Libp2p: make peer scorer permanent default #12138
  • Test: disable e2e slasher test #12150
  • CLI: derecate the following flags #12148 #12151

Fixed

  • Validator: startup deadline #12049
  • Prysmctl: withdrawals fork checking logic #12130
  • End-to-end test: fix flakes #12074
  • End-to-end test: fix altair transition #12124
  • Unit test: fix error message in #12123

Removed