Skip to content

Releases: prysmaticlabs/prysm

v3.1.1

09 Sep 21:13
Compare
Choose a tag to compare

This is another highly recommended release. It contains a forkchoice pruning fix and a gossipsub optimization. It is recommended to upgrade to this release before the Merge next week, which is currently tracking for Wed Sept 14 (https://bordel.wtf/). Happy staking! See you on the other side!

Fixed

  • Fix memory leaks in fork choice store which leads to node becoming slower #11387
  • Improve connectivity and solves issues connecting with peers #11425

v3.1.0

05 Sep 20:30
8627fe7
Compare
Choose a tag to compare

v3.1.0

Updating to this release is highly recommended as it contains several important fixes and features for the merge. You must be using Prysm v3 or later before Bellatrix activates on September 6th.

Important docs links

Added

  • Add time until next duty in epoch logs for validator #11301
  • Builder API: Added support for deleting gas limit endpoint #11290
  • Added debug endpoint GetForkChoice for doubly-linked-tree #11312 #11325
  • Added support for engine API headers. --execution-headers=key=value #11330
  • New merge specific metrics. See #11367

Changed

  • Deposit cache now returns shallow copy of deposits #11273
  • Updated go-ethereum dependency to v1.10.23
  • Updated LLVM compiler version to 13.0.1
  • Builder API: filter 0 bid and empty tx root responses #11313
  • Allow attestations/blocks to be received by beacon node when the nodes only optimistically synced #11319 #11320
  • Add depth and distance to CommonAncestorRoot reorg object #11315
  • Allocate slice array to expected length in several methods #11317
  • Updated lighthouse to version v3 in E2E runner
  • Improved handling of execution client errors #11321 #11359
  • Updated web3signer version in E2E runner #11339
  • Improved error messages for db unmarshalling failures in ancestor state lookup #11342
  • Only updated finalized checkpoints in database if its more recent than previous checkpoint #11356

Removed

Fixed

  • Fixed improper wrapping of certain errors #11282
  • Only log fee recipient message if changed #11295 #11296
  • Simplify ListAttestations RPC method #11292 fixes #11291
  • Fix several RPC methods to be aware of the appropriate fork #11274
  • Fixed encoding issue with builder API register validator method. #11299 fixes #11297
  • Improved blinded block handling in API. #11304 fixes #11293
  • Fixed IPC path for windows users #11324
  • Fix proposal of blinded blocks #11346
  • Prysm no longer crashes on start up if builder endpoint is not available #11380

v3.0.0

22 Aug 20:54
1c6fa65
Compare
Choose a tag to compare

v3.0.0

We are happy to announce Prysm v3.0.0. This is our merge release. All mainnet users MUST upgrade to this release before the Bellatrix fork by Sept 6, 2022, 11:34:47am UTC. Users who fail to upgrade will fork off from the canonical chain. We recommend upgrading to v3.0.0 at the earliest convenience. Asides from upgrades, users will need to make changes to the knowledge that's similar to previous testnets. We recommend the following preparation for the merge doc: https://docs.prylabs.network/docs/prepare-for-merge

Added

  • Passing spectests v1.2.0-rc.3 #11261
  • prysmctl: Generate genesis state via prysmctl testnet generate-genesis [command options] [arguments...] #11259
  • Keymanager: Add support for setting the gas limit via API. #11155
  • Merge: Mainnet merge epoch and TTD defined! #11207
  • Validator: Added expected wait time for pending validator activation in log message. #11213
  • Go: Prysm now uses proper versioning suffix v3 for this release. GoDocs and downstream users can now import prysm as expected for go projects. #11083
  • Builder API: Register validator via HTTP REST Beacon API endpoint /eth/v1/validator/register_validator #11225
  • Cross compilation support for Mac ARM64 chips (Mac M1, M2) #10981

Changed

  • Require an execution client --execution-endpoint=.... The default value has changed to localhost:8551 and you must use the jwt flag --jwt-secret=.... Review the docs for more information #10921
  • --http-web3provider has been renamed to --execution-endpoint. Please update your configuration as --http-web3provider will be removed in a future release. #11275 #11133
  • Insert attestations into forkchoice sooner #11260
  • Builder API: gas_limit changed from int to string to support JSON / YAML configs. --suggested-gas-limit changed from int to string. #11264
  • Fork choice: Improved handling of double locks / deadlocks #11271 #11269
  • Lower libp2p log level #11266
  • Improved re-org logs with additional metadata #11253
  • Improved error messages found by semgrep #11244
  • Prysm Web UI updated to release v2.0.1 #11240
  • Protobuf message renaming (non-breaking changes) #11096
  • Enabled feature to use gohashtree by default. Disable with --disable-vectorized-htr #11229 #11224
  • Enabled fork choice doubly linked tree feature by default. Disable with --disable-forkchoice-doubly-linked-tree #11212
  • Remote signer: Renamed some field names to better represent block types (non-breaking changes for gRPC users, possibly breaking change for JSON API users) #11099
  • Builder API: require header and payload root match. #11223
  • Improved responses for json-rpc requests batching when using blinded beacon blocks. #11210
  • Builder API: Improved error messages #11199
  • Builder API: Issue warning when validator expects builder ready beacon node, but beacon node is not configured with a relay. #10203
  • Execution API: Improved payload ID to handle reorg scenarios #11186

Deprecated

  • Several features have been promoted to stable or removed. The following flags are now deprecated and will be removed in a future release. --enable-db-backup-webhook, --bolt-mmap-initial-size, --disable-discv5, --disable-attesting-history-db-cache, --enable-vectorized-htr, --enable-peer-scorer, --enable-forkchoice-doubly-linked-tree, --enable-duty-count-down, --head-sync, --enable-gossip-batch-aggregateion, --enable-larger-gossip-history, --fallback-web3provider, --use-check-point-cache. #11284 #11281 #11276 #11231 #10921 #11121
  • Several beacon API endpoints marked as deprecated #10946

Removed

  • Logging: Removed phase0 fields from validator performance log messages #11265
  • Deprecated slasher protos have been removed #11257
  • Deprecated beacon API endpoints removed: GetBeaconState, ProduceBlock, ListForkChoiceHeads, ListBlocks, SubmitValidatorRegistration, GetBlock, ProposeBlock #11251 #11243 #11242 #11106
  • API: Forkchoice method GetForkChoice has been removed. #11105
  • All previously deprecated feature flags have been removed. --enable-active-balance-cache, --correctly-prune-canonical-atts, --correctly-insert-orphaned-atts, --enable-next-slot-state-cache, --enable-batch-gossip-verification, --enable-get-block-optimizations, --enable-balance-trie-computation, --disable-next-slot-state-cache, --attestation-aggregation-strategy, --attestation-aggregation-force-opt-maxcover, --pyrmont, --disable-get-block-optimizations, --disable-proposer-atts-selection-using-max-cover, --disable-optimized-balance-update, --disable-active-balance-cache, --disable-balance-trie-computation, --disable-batch-gossip-verification, --disable-correctly-prune-canonical-atts, --disable-correctly-insert-orphaned-atts, --enable-native-state, --enable-peer-scorer, --enable-gossip-batch-aggregation, --experimental-disable-boundry-checks #11125
  • Validator Web API: Removed unused ImportAccounts and DeleteAccounts rpc options #11086

Fixed

  • Keymanager API: Status enum values are now returned as lowercase strings. #11194
  • Misc builder API fixes #11228
  • API: Fix GetBlock to return canonical block #11221
  • Cache: Fix cache overwrite policy for bellatrix proposer payload ID cache. #11191
  • Fixed string slice flags with file based configuration #11166

Security

  • Upgrade your Prysm beacon node and validator before the merge!

v2.1.4

10 Aug 19:15
4e225fc
Compare
Choose a tag to compare

As we prepare our v3 mainnet release for The Merge, v2.1.4 marks the end of the v2 era. Node operators and validators are highly encouraged to upgrade to release v2.1.4 - many bug fixes and improvements have been included in preparation for The Merge. v3 will contain breaking changes, and will be released within the next few weeks. Using v2.1.4 in the meantime will give you access to a more streamlined user experience. See our v2.1.4 doc to learn how to use v2.1.4 to run a Merge-ready configuration on the Goerli-Prater network pair.

This release consists 181 commits. These notes reflect only the highlights in the changelist here: v2.1.3...v2.1.4

Added

Changed

Fixed

  • Ignore nil forkchoice node when saving orphaned atts #10930
  • Sync: better handling of missing state summary in DB #11167
  • Validator: creates invalid terminal block using the same timestamp as payload #11129
  • P2P: uses incorrect goodbye codes #11168
  • P2p: defaults Incorrectly to using Mplex, which results in losing Teku peers #11169
  • Disable returning future state for API #10915
  • Eth1 connection API panic #10938

Removed

  • Deprecate Step Parameter from our Block By Range Requests #10914

v2.1.4-rc.1

04 Aug 19:19
82ef9f1
Compare
Choose a tag to compare
v2.1.4-rc.1 Pre-release
Pre-release

⚠️ Release candidate: do not use this on the mainnet, only on testnet ⚠️

  • If your testnet nodes are running before v2.1.4-rc.0, this release is mandatory for Prater/Goerli for the merge.
  • If your testnet nodes are running v2.1.4-rc.0, this release is highly recommended for the bug fixes below.

Fixed

  • Sync: better handling of missing state summary in DB #11167
  • Validator: creates invalid terminal block using the same timestamp as payload #11129
  • P2P: uses incorrect goodbye codes #11168
  • P2p: defaults Incorrectly to using Mplex, which results in losing Teku peers #11169

Changed

  • New testnet boot node lists #11131 #11152
  • Forkchoice boundary checks are disabled by default #11160
  • UX improvement: do not print traces with log.withError(err) #11116

v2.1.4-rc.0

27 Jul 13:46
a7c9c76
Compare
Choose a tag to compare
v2.1.4-rc.0 Pre-release
Pre-release

⚠️ Release candidate: do not use this on the mainnet ⚠️

This is a release candidate for the Goerli / Prater beacon chain. It has not been tested long enough to be considered production-ready and is not recommended for mainnet usage. This is recommended to be used on all the testnets (i.e. Kiln, Ropsten, Sepolia, and Prater). We would appreciate your feedback for this release.

Added

  • Add Goerli as an alias to Prater #11065
  • Add Goerli fork epoch and TTD #11072
  • Support for MEV extraction through mev-boost and builder network. Instructions #10924 #10908 #10942 #10953 #11021 #11052
  • Store blind block (i.e block with payload header) instead of full block (i.e. block with payload) for storage efficiency #11010
  • Add Web3signer for validator registration #10964
  • Add Pcli support to print blinded blocks #11067

Changed

  • Native state improvement is enabled by default #10898

v2.1.3

06 Jul 19:13
4de92ba
Compare
Choose a tag to compare

This release contains many fixes, additions, and improvements found in preparation for the Merge.

Added

  • Many fuzz test additions #10682 #10668 #10757 #10798
  • Support bellatrix blocks with web3signer #10590
  • Support for the Sepolia testnet with --terminal-total-difficulty-override 17000000000000000. The override flag is required in this release. #10700 #10868 #10880 #10886
  • Support for the Ropsten testnet. No override flag required #10762 #10817
  • JSON API allows SSZ-serialized blocks in publishBlock #10663
  • JSON API allows SSZ-serialized blocks in publishBlindedBlock #10679
  • JSON API allows SSZ-serialized requests in produceBlockV2 and produceBlindedBlock #10697
  • Progress towards Builder API and MEV boost support (not ready for testing in this release) #10724 #10785 #10789 #10749 #10825 #10882 #10883
  • Support for DOMAIN_APPLICATION_MARK configuration #10740
  • Ignore subset aggregates if a better aggregate has been seen already #10674
  • Reinsertion of reorg'd attestations #10767
  • Command beacon-chain generate-auth-secret to assist with generating a hex encoded secret for engine API #10733
  • Return optimistic status to ChainHead related grpc service #10842
  • TTD log and prometheus metric #10851
  • Panda ascii art banner for the merge! #10773

Fixed

  • /eth/v1/beacon/blinded_blocks JSON API endpoint #10673
  • SSZ handling of JSON API payloads #10687 #10760
  • Config registry fixes #10694 fixed by #10683
  • Withdrawal epoch overflows #10739
  • Race condition with blockchain service Head() #10741
  • Race condition with validator's highest valid slot accessor #10722
  • Do not update cache with the result of a cancelled request #10786
  • validator_index should be a string integer rather than a number integer per spec. #10814
  • Use timestamp heuristic to determine deposits to process rather than simple calculation of follow distance #10806
  • Return IsOptimistic in ValidateSync responses #10692

Changed

Removed

  • Removed handling of INVALID_TERMINAL_BLOCK response from engine API #10646

v2.1.3-rc.4 (Sepolia Testnet)

21 Jun 16:46
4de92ba
Compare
Choose a tag to compare
Pre-release

⚠️ Release candidate: do not use this on the mainnet ⚠️

This is a release candidate for the Sepolia beacon chain. It's not production ready and not recommended for mainnet usage. Please only use this for testnets, we would appreciate your feedback for this release.

Summary

To participate in the Sepolia beacon chain, please use the --sepolia CLI flag. Similar to Ropsten, there will be another follow-up release to adjust the TTD

Added

  • New CLI flag generate-auth-secret to generate jwt #10733
  • New total_terminal_difficulty metric #10851
  • New panda merge banner 🐼 #10773
  • New sepolia config and CLI flag --sepolia #10868

Changed

Fixed

  • Prepare payload ahead in the event of missing slot #10803
  • Enforce every block from forkchoice store descends from finalized checkpoint #10784
  • Various checkpoint sync bug #10881 #10871

v2.1.3-rc.3

07 Jun 12:47
76b941b
Compare
Choose a tag to compare
v2.1.3-rc.3 Pre-release
Pre-release

Ropsten Testnet Pre-release rc.3

⚠️ Release candidate: do not use this on the mainnet ⚠️

This is a release candidate for the Ropsten beacon chain. It's not production ready and not recommended for mainnet usage. Please only use this for testnets, we would appreciate your feedback for this release.

Summary

The community has decided on Ropsten TTD to be 50000000000000000. Your beacon node MUST be upgraded to v2.1.3-rc.3 when using --ropsten CLI flag. If you wish to stay on v2.1.3-rc.2, your beacon node MUST have --override.terminaltotaldifficulty 50000000000000000 CLI flag.

Added

  • Reinsert reorg attestations back into block #10767

Changed

  • Update Ropsten TTD to 50000000000000000 #10817

Fixed

  • Few minor race conditions #10741 #10722
  • Verify context before updating committee cache #10786
  • Properly wrap execution RPC error #10793

v2.1.3-rc.2

26 May 23:38
1dec9eb
Compare
Choose a tag to compare
v2.1.3-rc.2 Pre-release
Pre-release

Ropsten Pre-release rc.2

⚠️ Release candidate: do not use this on the mainnet ⚠️

This is a release candidate for the Prater beacon chain. It's not production ready and not recommended for mainnet usage. Please only use this for testnets, and we would appreciate your feedback for this release.

Summary

The community has updated the Ropsten config TTD to 100000000000000000000000. Your beacon node MUST be upgraded to v2.1.3-rc.2 instead of v2.1.3-rc.0 to perform the merge transition successfully. We apologize for the inconvenience, and happy testing!

Added

  • Added the following CLI flags for merge transition config overrides #10763
    -terminal-total-difficulty-override
    -terminal-block-hash-override
    -terminal-block-hash-epoch-override
  • Ignore sync contribution subset aggregates #10674

Changed

  • Update Ropsten TTD to 100000000000000000000000 #10762
  • Weak subjectivity sync to start from finalized checkpoint #10723