Releases: prysmaticlabs/prysm
v2.1.3
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
andproduceBlindedBlock
#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
inValidateSync
responses #10692
Changed
- Improvements to forkchoice #10675 #10651 #10705 #10658 #10702 #10659 #10768 #10776 #10783 #10801 #10774 #10784 #10831 #10823
- Invalid checksummed (or no checksum) addresses used for fee recipient will log a warning. #10664 fixes #10631, #10684
- Use cache backed
getBlock
method in several places of blockchain package #10688 - Reduced log frequency of "beacon node doesn't have a parent in db with root" error #10689
- Improved nil checks for state management #10701
- Enhanced debug logs for p2p block validation #10698
- Many helpful refactoring and cosmetic changes #10686 #10710 #10706 #10726 #10729 #10707 #10731 #10736 #10732 #10727 #10756 #10816 #10824 #10841 #10874 #10704 #10862
- Move WARN level message about weak subjectivity sync and improve message content #10699
- Handle connection closing for web3/eth1 nil connection #10714
- Testing improvements #10711 #10728 #10665 #10753 #10756 #10775
- E2E test improvements #10717 #10715 #10708 #10696 #10751 #10758 #10769 #10778 #10808 #10849 #10836 #10878
- Increase file descriptor limit up to the maximum by default #10650
- Improved classification of "bad blocks" #10681
- Updated engine API error code handling #10730
- Improved "Synced new block" message to include minimal information based on the log verbosity. #10724 #10792
- Add nil checks for nil finalized checkpoints #10748 #10881
- Change weak subjectivity sync to use the most recent finalized state rather than the oldest state within the current period. #10723
- Ensure a finalized root can't be all zeros #10791
- Improved db lookup of HighestSlotBlocksBelow to start from the end of the index rather than the beginning. #10772 #10802
- Improved packing of state balances for hashtreeroot #10830
- Improved field trie recomputation #10884
Removed
- Removed handling of
INVALID_TERMINAL_BLOCK
response from engine API #10646
v2.1.3-rc.4 (Sepolia Testnet)
⚠️ 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
v2.1.3-rc.3
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
v2.1.3-rc.2
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
v2.1.3-rc.1
Add back ttd override flags (#10763) * Add back ttd override flags * Add warning log for overrides * Print has hex Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> Co-authored-by: prestonvanloon <preston@prysmaticlabs.com>
v2.1.3-rc.0
Ropsten pre-release
⚠️ 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.
This release consists 54 commits, and these notes reflect only the highlights in the changelist here: v2.1.2...v2.1.3-rc.0
Summary
This RC introduces support for the Ropsten beacon chain, which sets to genesis on Monday, May 30th, 2022 3:00:00 PM +UTC
. The merge of Ropsten expects to happen on TTD 43531756765713534
, which is early June 2022. Any stakers who wish to participate on the ropsten beacon chain for the merge must use this release or beyond.
Added
- Bake in Ropsten config with CLI flag
--ropsten
#10700 - Web3 signer support for Bellatrix block #10590
- Builder rest client #10703
- More fuzzing targets #10682
- Enable SSZ-serialized blocks for API end points
publishBlock
andpublishBlindedBlock
#10663 #10679
Changed
Fixed
- Internal error should not deadlock block on syncing #10681
v2.1.2
v2.1.2
This release is comprised of 103 commits and these notes reflect only the highlights in the changelist.
View the full changelist here: v2.1.1...v2.1.2
Added
- Update forkchoice head before produce block #10653
- Support for blst modern builds on linux amd64 #10567
- Beacon API support for blinded block #10331
- Proposer index and graffiti fields in Received block debug log for verbosity #10564
- Forkchoice removes equivocating votes for weight accounting #10597
Fixed
end block roots don't match
bug which caused beacon node down time #10680- Doppelganger off by 1 bug which introduced some false-positive #10582
- Fee recipient warning log is only disabled after Bellatrix fork epoch #10543
Changed
- Updated to Go 1.18 #10577
- Updated go-libp2p to v0.18.0 #10423
- Updated beacon API's Postman collection to 2.2.0 #10559
- Moved eth2-types into Prysm for cleaner consolidation of consensus types #10534
Removed
- Prymont testnet support #10522
- Flag
disable-proposer-atts-selection-using-max-cover
which disables defaulting max cover strategy for proposer selecting attestations #10547 - Flag
disable-get-block-optimizations
which disables optimization with beacon block construction #10548 - Flag
disable-optimized-balance-update"
which disables optimized effective balance update #10549 - Flag
disable-active-balance-cache
which disables active balance cache #10550 - Flag
disable-balance-trie-computation
which disables balance trie optimization for hash tree root #10552 - Flag
disable-batch-gossip-verification
which disables batch gossip verification #10553 - Flag
disable-correctly-insert-orphaned-atts
which disables the fix for orphaned attestations insertion #10622
v2.1.1
v2.1.1
This patch release includes 3 cherry picked fixes for regressions found in v2.1.0.
View the full changelist from v2.1.0: v2.1.0...v2.1.1
If upgrading from v2.0.6, please review the full changelist of both v2.1.0 and v2.1.1.
This release is required for users on v2.1.0 and recommended for anyone on v2.0.6.
Known Issues
The following known issues exist in v2.1.0 and also exist in this release.
- Erroneous warning message in validator client when bellatrix fee recipient is unset. This is a cosmetic message and does not affect run time behavior in Phase0/Altair. Fixed by #10543
- In Bellatrix/Kiln: Fee recipient flags may not work as expected. See #10555 for a fix and more details.
Fixed
- Doppelganger false positives may have caused a failure to start in the validator client. Fixed by #10582
- Connections to execution layer clients were not properly cleaned up and lead to resource leaks when using ipc. #10573 fixed by #10574
- Initial sync (or resync when beacon node falls out of sync) could lead to a panic. #10570 fixed by #10568
v2.1.0
v2.1.0
This release is comprised of 285 commits and these notes reflect only the highlights in the changelist.
View the full changelist here: v2.0.6...v2.1.0
Known Issues
- Erroneous warning message in validator client when bellatrix fee recipient is unset. This is a cosmetic message and does not affect run time behavior in Phase0/Altair. Fixed by #10543
- In Bellatrix/Kiln: Fee recipient flags may not work as expected. See #10555 for a fix and more details.
Added
- Web3Signer support. See the documentation for more details.
- Bellatrix support. See kiln testnet instructions
- Weak subjectivity sync / checkpoint sync. This is an experimental feature and may have unintended side effects for certain operators serving historical data. See the documentation for more details.
- A faster build of blst for beacon chain on linux amd64. Use the environment variable
USE_PRYSM_MODERN=true
with prysm.sh, use the "modern" binary, or bazel build with--define=blst_modern=true
. #10229 - Vectorized sha256. This may have performance improvements with use of the new flag
--enable-vectorized-htr
. #10166 - A new forkchoice structure that uses a doubly linked tree implementation. Try this feature with the flag
--enable-forkchoice-doubly-linked-tree
#10299 - Fork choice proposer boost is implemented and enabled by default. See PR #10083 description for more details.
Changed
- Flag Default Change The default value for
--http-web3provider
is nowlocalhost:8545
. Previously was empty string. #10498 - Updated spectest compliance to v1.1.10. #10298
- Updated to bazel 5.0.0 #10352
- Gossip peer scorer is now part of the
--dev
flag. #10207
Removed
- Removed released feature for next slot cache.
--disable-next-slot-state-cache
flag has been deprecated and removed. #10110
Fixed
Too many bug fixes and improvements to mention all of them. See the full changelist
Security
v2.0.6
v2.0.6
Happy New Year Stakers!
v2.0.6 is a small patch release with a few features enabled, improvements to memory usage, JSON API fixes, and many other great changes.
Added
- Bellatrix/Merge progress #10000 #9981 #10026 #10027 #10049 #10039 #10028 #10030 #10054 #10060 #10062 #10014 #10040 #10085 #10077 #10089 #10072
- Light client support merkle proof retrieval for beacon state finalized root and sync committees #10029
- Web3Signer support (work in progress) #10016 #10061 #10084 #10088
- Implement state management with native go structs (work in progress) #10069 #10079 #10080 #10089
- Added static analysis for mutex lock management #10066
- Add endpoint to query eth1 connections #10073 #10103
- Batch gossipsub verification enabled #10111
- Get block optimizations enabled #10106
- Batch decompression for signatures #10105
- Balance trie feature enabled #10112
Changed
- Use build time constants for field lengths. #10007 #10012 #10019 #10042
- Monitoring service logging improvements / cleanup #10013
- Renamed state v3 import alias #10022
- Spec tests passing at tag 1.1.8 #10033 #10071
- Bazel version updated to 4.2.2
- Renamed github.com/eth2-clients -> github.com/eth-clients #10057
- p2p reduce memory allocation in gossip digest calculation #10055
- Allow comma separated formatting for event topics in API requests #10052
- Update builder image from buster to bullseye #10025
- Renaming "merge" to "bellatrix" #10044
- Refactoring / code dedupication / general clean up #10081 #10090 #10074 #10093 #10101 #10065 #10104
- Update libp2p #10082
- Reduce state copy in state upgrades #10102
- Deduplicate sync committee messages from pool before retrieval #10106
Removed
- tools/deployContract: removed k8s specific logic #10075
Fixed
- Sync committee API endpoint can now be queried for future epochs #10015
- Initialize merkle layers and recompute dirty fields in beacon state proofs #10032
- Fixed data race in API calls #10050
Security
- Clean variable filepaths in validator wallet back up commands, e2e tests, and other tooling (gosec G304) #10115