Releases: prysmaticlabs/prysm
v1.4.3
(2021-08-03)
Small fix on top of v1.4.2. Please review the v1.4.1 release notes if upgrading from v1.3.x or older.
Notable changes
1.4.3 (2021-07-30)
v1.4.2
v1.4.1
(2021-07-20)
Welcome to another Prysm release! This release has many changes, fixes, and features!
This is a required release for supporting the upcoming London hardfork on Ethereum mainnet. Prysm releases prior to this version may experience warnings or errors when fetching block data from an eth1 endpoint after London is activated. These errors can lead to missed block proposals if your block requires deposits that Prysm was unable to fetch due to new changes in the London hardfork.
Where is v1.4.0?
In the last release, we accidentally pushed the git tag for v1.4.0 when creating v1.3.11. The tag was quickly removed from github and the release was successfully tagged as v1.3.11. Unfortunately, go.mod / godocs has cached the v1.4.0 tag already to point to the same commit as v1.3.11. There really isn't much of an issue here, except that pushing another v1.4.0 may cause some confusion or issues with using go.mod and go get
. So, we are simply skipping 1.4.0 and jumping to 1.4.1.
Notable changes in v1.4
- Ethereum APIs endpoints, except validator endpoints, are ready to use! See #7510 for more details of the implementation statuses.
- Go-ethereum dependency update to support London hardfork. #9157
- Validator Doppelganger verification
--enable-doppelganger
#9120 - Tooling for boltdb bucket analysis #9116
- Strict argument validation when starting Prysm processes #9129
- Improvements to prysm.sh #9072
- Improvements to client-stats #9039 (Docs link)
- Database backup permissions fix #8888
Experimental/new features to test
These features have passed our own internal testing but we'd still like to see some users feedback before we roll them out as default in a stable release.
Validator features
--attest-timely
validator can attest timely after current block processes. See #8185 for more details--enable-doppelganger
Enables the validator to perform a doppelganger check on startup
Beacon node features
--update-head-timely
Improves update head time by updating head right after state transition. Note: This feature is going to flip to "opt-out" in next release.
Prysm slasher binary deprecation
We have been communicating that the slasher is going to be deprecated in the v1.4 release. This effort has been pushed back while we work on various storage optimizations in parallel to Altair development. Expect the Prysm slasher binary will be deprecated and removed in the upcoming Prysm v2 release with Altair support. Follow the v2 tracking issue for more info #9166.
Full list of changes below.
1.4.1 (2021-07-09)
- [Feature] - API Middleware (#8926) (12403d2), closes #8926 #8904 #8922 #8924 #8925 #8942 #8944 #8937 #8938 #8925 #8942 #8944 #8937 #8938 #8960 #8963 #8966 #8984 #8998 #8970 #9007
- Add
Eth2FastAggregateVerify
(#9144) (2ae6452), closes #9144 - Add a test for e2e validator to run against prior release (#9042) (1f6a031), closes #9042
- Add Altair Protobuf Changes to Prysm (#9087) (8607166), closes #9087
- Add Better Zero Key Checks (#9022) (fb08014), closes #9022
- Add Events Streaming Endpoint for Eth2 Standard API (#9001) (4551bb4), closes #9001
- Add goimports check (#9075) (942472f), closes #9075
- add lock (#9068) (6e42f1b), closes #9068
- Add priority queue from
hf1
(#9138) (877cb9f), closes #9138 - Add priority queue tests (#9142) (1ff4605), closes #9142
- Add proposer sync contribution type (#9106) (ea34af4), closes #9106
- Add search for most profitable sync contribution (#9121) (4fb3e05), closes #9121
- Add sync committee
aggregation_bits
tags for minimal and mainnet (#9147) (466546b), closes #9147 - Adding ability to override directory permissions for db backup (#8888) (ae7e276), closes #8888
- Beacon State V2 Interface Definition With Semantic Version Paths (#9125) (b23f63a), closes #9125
- Better comments for aggregator functions (#9053) (4d1b5f4), closes #9053
- Better import alias names (#9149) (6c8fd74), closes #9149
- Block Stream V2 Protos (#9096) (8f5c083), closes #9096
- Create
ValidatorIndexOutOfRangeError
(#9035) (77bf4bd), closes #9035 - Disable No Freelist Sync In Backups (#9069) (9ee086f), closes #9069
- Do not register API Middleware with validator gateway (#9055) (fbed11b), closes #9055
- Double java heap size for buildkite (#9073) (228369e), closes #9073
- exploredb tool to display bucket contents (#9116) (cca4a8c), closes #9116
- Fix a few bugs in the API (#9099) (9eb3ff6), closes #9099
- Fix Small Type Assertion Bug in Slasher (#9061) (a747d15), closes #9061
- fixes 9029 + a few related client-stats fixes/improvements (#9039) (19ff25f)
- Go imports (#9045) (7d4418e), closes #9045
- Handle comma-separated query parameters in API requests (#9102) (43623e1), closes #9102
- Implement Doppelganger Check (#9120) (5d65ace), closes #9120
- Make Eth APIs flag name implementation agnostic (#9112) (940ce0c), closes #9112
- Make the
shared/gateway
package unaware of consuming services (#9050) (4f3c17c), closes #9050 - Move API param handling to separate file (#9101) (dd0ae1b), closes #9101
- Move b...
v1.3.11
(2021-06-16)
This release contains a fix for the validator UI as well as many other improvements/fixes.
Notable changes:
- Update web-ui to beta.4, fixes logs displayed in UI #9047
- Fix json field names to be snake_case instead of camelCase. Fixes UI display issues. #8988
- Support for Graffiti hex strings prefixed with
hex:
#8894 - Client stats graceful failure handling #8976
- Cache eviction policy for committees changed to LRU. #8996 Possibly fixes some resource spikes #8483.
- SSZ variable length bounds enforced in SSZ layer. #8936
- Small improvement to epoch processing by refactoring sqrt() call. #8945
Full list of changes below.
1.3.11 (2021-06-16)
- Add clientstats spec as a README.md (#8977) (693fdf8), closes #8977
- Add Metadata V2 Object and Interface (#8962) (91bd477), closes #8962
- Add missing finality spec tests (#8939) (2e322bd), closes #8939
- Add Nested Nil Checks To Wrapper (#8951) (6bb3cc4), closes #8951
- Block interface clean up (#8947) (276d035), closes #8947
- Capture ChainReorg, FinalizedCheckpoint, and NewHead Events in Beacon Node (#9011) (6eb0061), closes #9011
- Change To LRU from FIFO Cache (#8996) (7a6ce27), closes #8996
- Checkin Generated Protobufs and Proto Files for EthereumAPIs (#8973) (1d2fc60), closes #8973
- Client-stats: Fail gracefully when metrics are missing (#8976) (f2768c1), closes #8976
- Copy to return interface (#8950) (d5f4385), closes #8950
- Do not use proto casing in
v1alpha1
API JSON fields (#8988) (1ea042d), closes #8988 - Enhance att sig set checks (#8978) (8433a31), closes #8978
- ETH2 APIs: Handle invalid validator status as error (#8946) (e97f6cf), closes #8946
- ETH2 APIs: Implement Validator Status support (#8940) (d5ad15e), closes #8940
- ETH2 APIs: Update protos for new ethapis changes (#8920) (aa0fb05), closes #8920
- Feature/debian packages (#8872) (eb1d122), closes #8872
- Fix EthereumAPIs Mirror Script (#8986) (dd10a3a), closes #8986
- Fix Interop Mode (#8961) (8a6e2a3), closes #8961
- Fix repo name in mirror script (#8992) (833ac00), closes #8992
- Graffiti hex support (#8894) (644d5bb), closes #8894
- Improve Mirror Bash Script for EthereumAPIs (#8991) (2ee5bd1), closes #8991
- Improve performance during CheckAttesterDoubleVotes (#8927) (a958dd2), closes #8927
- Invert
attest-timely
flag (#8827) (5fe98ab), closes #8827 - Mirror EthereumAPIs Bash Script (#8980) (8d42860), closes #8980
- Move EthereumAPIs Into Prysm (#8968) (5aac06f), closes #8968
- New Proto Messages Required for Event Streams (#9010) (bb6f00f), closes #9010
- Protobuf Changes for Eth2 APIs EventSource Support (#8999) (a81c4ed), closes #8999
- Refactor attestationDelta to reuse the sqrt value of active current epoch (#8945) (7b55213), closes #8945
- regenerate ssz types w/ variable-len bounds checks (#8936) (8094c1c), closes #8936
- Remove stack trace from eth1 connection errors (#8957) (bb8625e), closes #8957
- Remove unused ClosestPowerOf2 method (#8990) (d4aa4bc), closes #8990
- Remove unused sszgen dependency (#8934) (0cbdce6), closes #8934
- Revert "Invert
attest-timely
flag" (#9044) (f5428a2), closes #9044 - Run go imports (#8995) (aa4c21d), closes #8995
- Sort imports (#8959) (638e76c), closes #8959
- Update deprecated function usages (#8953) (40b4079), closes #8953
- Update jwt-go library to fix CVE-2020-26160 (#9017) (8f90e91), closes #9017
- Update mirror-ethereumapis.sh to include committer name / email (#9009) (0d8dd8d), closes #9009
- Update prysm scripts to support client-stats, deprecate slasher (#8971) (fc898d5), closes #8971
- Update prysm.sh to support Mac M1 chip (#9000) (26c4e7b), closes #9000
- Update web-ui to beta.4 (#9047) (9fd5575), closes #9047
- Use Block Interface Across Prysm (#8918) (caf9bdb), closes #8918
- use urfave defaulting method for correct help text (#8972) (2b6c7e7), closes #8972
- Altair: new protos/state object (#8907) (ef20f2d), closes #8907
v1.3.10
(2021-06-02)
❗❗This release contains a security fix (#8910) and it is recommended that everyone update as soon as practical.
Notable changes:
- Fix IntegerSquareRoot to prevent floating point precision loss for values greater than 52 bits. #8910
- ETH2 APIs implementations. #8902 #8896 #8916
- Various bug fixes
- New application for upload client metrics to beaconcha.in:
client-stats
#8835. Read more on the docs site about this new functionality.
Full list of changes below.
1.3.10 (2021-05-24)
- Add in Context For Req/Resp (#8895) (35dc8c3), closes #8895
- add it in (#8885) (4ef5c9a), closes #8885
- Change gogoproto compiler to protoc-gen-go-cast (#8697) (2f10b1c), closes #8697
- Copy slice when exiting all keys with
--exit-all
(#8897) (fe440bc), closes #8897 - Decode peer ID properly when fetching peer (#8883) (519e1e4), closes #8883
- ETH2 API: Implement ListPoolAttestations endpoint (#8902) (9db4eba), closes #8902
- ETH2 API: Implement v1/state/validator endpoints (#8896) (8aa909d), closes #8896
- ETH2 APIs: Add spans and remove unused Server fields (#8916) (f4d6e91), closes #8916
- Fix Panic When Accessing State Frequently (#8928) (503ec12), closes #8928
- Fix testing for attestation pools endpoint (#8914) (213369f), closes #8914
- Fix typo (#8899) (f2a2d5d), closes #8899
- Handle undiscovered peers when listing peers (#8882) (ddab82e), closes #8882
- Initialize
VoluntaryExitsPool
andBlockReceiver
in rpc server (#8876) (f97c7ee), closes #8876 - IntegerSquareRoot improvements (#8910) (59897b7), closes #8910
- Interface Analyzer (#8923) (76cdbac), closes #8923
- Minor changes from hf1 branch (#8906) (36e9edd), closes #8906
- Minor clean up on mixing length root (#8875) (ad4fadb), closes #8875
- Ran go imports (#8898) (f68e084), closes #8898
- Refactor RPC Topic Construction (#8892) (e6a1d5b), closes #8892
- Remove unused functions (#8924) (09d7efe), closes #8924
- Serialize nil ENR record (#8881) (8fe26e7), closes #8881
- Simplify handling hex state ID (#8890) (e254e8e), closes #8890
- Update deps.bzl after updating grpc-gateway dependency (#8933) (5ae6e83), closes #8933
- Update grpc-gateway dependency (#8929) (180b844), closes #8929
- Use ExecuteStateTransition in onBlock (#8865) (f2fe1f7), closes #8865 #8864
- Various code cleanups (#8889) (bc27a73), closes #8889
- Write generated ssz files as non-executable 644 (#8909) (7dc3d7f), closes #8909
v1.3.9
(2021-05-12)
This release has a number of important changes, including a fix for a mainnet issue that was issued as a "hotfix".
Updating to this release is recommended as there are a number of improvements since v1.3.8
and v1.3.8-hotfix+6c0942
.
Other notable changes:
- Czech langage support for mnemonics #8861
- Update golang to 1.16.4 (security related update) #8868
- Go-ethereum dependencies updated #8791
- Fallback for Deposit Trie #8869
- Release feature
proposer-atts-selection-using-max-cover
#8828 - Build fix for Arch OS #8072
- Add "private" and "public" values for --p2p-allowlist and --p2p-denylist #8648
Full list of changes below.
1.3.9 (2021-05-09)
- Add interop write block and state to disk (#8840) (3c9b9e7), closes #8840
- Add New Method to Fuzz State (#8823) (b6c50df), closes #8823
- Add Stricter Checks To The Deposit Cache (#8838) (71f53d9), closes #8838
- Added public/private flags for IP address white/blacklisting (#8648) (e52df32), closes #8648
- Amend DepositNumberAndRootAtHeight Function to Fix Off-By-One (#8809) (3d96e3c), closes #8809
- Amend E2E Test Path (#8793) (711f527), closes #8793
- cli to push metrics to aggregator service (#8835) (dace0f9), closes #8835
- Correct documentation for
DepositsNumberAndRootAtHeight
(#8843) (1a00121), closes #8843 - Create a new wallet on accounts import only when necessary (#8801) (f1d7c0f), closes #8801
- Czech language support from go-bip39 incorporated (#8861) (ac4fe2d), closes #8861
- Fallback For Deposit Trie Creation (#8869) (255354f), closes #8869
- Fix comments (#8802) (386b69f), closes #8802
- Fix redundant err check (#8790) (70dc22a), closes #8790
- Fix remote keymanager's dynamic key reload (#8817) (2fdfda2), closes #8817
- Fix rules_docker dependency. See bazelbuild/rules_docker#1814 (#8867) (050b244), closes bazelbuild/rules_docker#1814 #8867
- Fix Script (#8842) (a063952), closes #8842
- fixes #8848 -- scrape validator_(total|active) (#8858) (a090650), closes #8848 #8858 #8848
- Independent eth1 voting (#8811) (424e115), closes #8811
- Initialize Data Correctly For Powchain Service (#8812) (ef9f6c5), closes #8812
- Invert
next-slot-state-cache
flag (#8830) (64bd9db), closes #8830 - Invert
proposer-atts-selection-using-max-cover
flag (#8828) (7b8e48d), closes #8828 - Move spectests into a separate package (#8798) (23ff14c), closes #8798
- new prometheus metrics for client-stats metrics (#8834) (7be6fc1), closes #8834
- Optimized Slasher Database Methods (#8805) (8cda50f), closes #8805
- Partially revert PR #8809 (#8829) (9b697d2), closes #8809 #8829
- reduce map copies (#8860) (60c6cf7), closes #8860
- Refactor ExecuteStateTransition to use ExecuteStateTransitionNoVerifyAnySig (#8864) (b628b5f), closes #8864
- Refactor shared/testutil/spectest.go (#8800) (648e360), closes #8800
- Remove junk files (#8846) (8fffa6c), closes #8846
- Remove Missing Logs Method (#8825) (58a81c7), closes #8825
- Revert "Invert
next-slot-state-cache
flag (#8830)" (#8855) (1dde588), closes #8830 #8855 - Revert "Simplify Effective Balance Calculation (#8743)" (#8844) (54d4d39), closes #8743 #8844 #8743
- Run go imports (#8851) (a6e1ff0), closes #8851
- Set up Prysm for fuzz testing on Fuzzbuzz (#8789) (ad269ee), closes #8789
- Spec tests: improve readability of rewards tests output (#8826) (d1a952a), closes #8826
- Unify gRPC Gateways into Single, Shared lib (#8799) (8dd2915), closes #8799
- Update github.com/grailbio/bazel-toolchain. Fixes #8072 (#8839) (f2767f4), closes #8072 #8839
- Update Go-Ethereum Dependency (#8788) (2634430), closes #8788
- Update golang to 1.16.4 (#8868) (ab6d848), closes #8868
- Update spec tests (#8792) (823f7c9), closes #8792
- Upgrade Bazel Go-Ethereum (#8791) (af8f444), closes #8791
- Use mock web3/powchain for fuzz test (#8866) (2f66d1a), closes #8866
- validate big num better (#8822) (5c9f361), closes #8822
- vendor codecov script (#8803) (3574ee1), closes #8803
v1.3.8-hotfix+6c0942
(2021-04-25)
This hotfix release has two critical fixes to resolve on-going issues in mainnet.
Please update to this release immediately.
Docker users can use :stable
or :v1.3.8-hotfix-6c0942
(the release name has a + but Docker does not allow this character, so it is dash 6c09 when using Docker). If building from source, the new version is in the v1.3.8-hotfix+6c0942 via git or commit hash 6c09424feb3141b96016bed817d7ade1cd75deb7
.
1.3.8-hotfix+6c0942 (2021-04-25)
v1.3.8
(2021-04-19)
This weekly release of Prysm has no critical bug fixes. Updating to this release is encouraged for the latest functionality and improvements.
Notable changes:
- Gossipsub peer scoring is now enabled for all #8730
- Improved health check for eth1 #8771
- ListForkChoiceHeads is implemented in standard API #8675
- Many refactoring and commentary updates
Full list of changes below.
1.3.8 (2021-04-17)
- Add Eth1 Header Timestamp Check (#8771) (cff7dbd), closes #8771
- Add generated file to DeepSource exclude_patterns (#8765) (04bc8a8), closes #8765
- Combine function parameters (#8758) (59eb2e6), closes #8758
- Create node's P2P registration file (#8745) (5217081), closes #8745
- Create node's Powchain registration file (#8754) (a9a0ecd), closes #8754
- Disable Persisting Network Keys (#8735) (dd7481e), closes #8735
- Enable Gossip Scoring (#8730) (6aa1297), closes #8730
- Extract node configuration to separate file (#8744) (389bad7), closes #8744
- Fix overriding network config in tests (#8756) (902e3f4), closes #8756
- Implement ListForkChoiceHeads in the debug API (#8675) (a8716d2), closes #8675
- Minor State Management Improvements (#8742) (131a14e), closes #8742
- Move finality delay calculation (#8757) (3e686a7), closes #8757
- Move TestMain into dedicated file (#8779) (59ee339), closes #8779
- Pass SlashValidator func as argument to
ProcessProposer[Attester]Slashings
(#8763) (228033f), closes #8763 - ProcessRewardsAndPenaltiesPrecompute taking in rewards funcs (#8737) (8b494fb), closes #8737
- Rebuild Trie After Reaching Limit (#8740) (0ea11ac), closes #8740
- Refactor EligibleForRewards into its own helper (#8739) (1c1bf37), closes #8739
- Refactor process operation function arguments (#8767) (169cd78), closes #8767
- Refactor signature function's argument (#8773) (a4ff97d), closes #8773
- Reuse ProcessBlockForStateRoot (#8781) (400e42c), closes #8781
- Set test timeout on //beacon-chain/rpc/validator:go_default_test. Sometimes exceeds 800s otherwise ( (a91f268), closes #8752
- Simplify Effective Balance Calculation (#8743) (45d2df1), closes #8743
- Spec checker tool (#8722) (3d3b9d1), closes #8722
- Support authorised access to web 3 providers (#8075) (d77c298), closes #8075
- Tests for
beacon-chain/node/config.go
(#8769) (2c6549b), closes #8769 - Thread Context for HTR Methods (#8770) (405e2a1), closes #8770
- Update NextPowerOf2() and PrevPowerOf2() funcs (#8751) (97b4b86), closes #8751
- Update processJustificationAndFinalization(), per current specs (#8741) (5f3299e), closes #8741
- Update specs comments (#8750) (cc9bec7), closes #8750
- Update specs comments (#8759) (53ffc67), closes #8759
- Validator RPC Accounts Voluntary Exit (#8776) (02a8ae7), closes #8776
- POW: remove context from log message (#8782) (afc0ace), closes #8782
- Codecov: ignore
testing
directories (#8777) (c53d0e1), closes #8777 - Codecov: ignore all mock files (#8768) (aba2ec9), closes #8768
- CI: Add remote build caching support (#8748) (76e36b9), closes #8748
- CI: minimal remote downloads, strict action environment (#8760) (fda0032), closes #8760
- CI: Use experimental_remote_asset_api (#8761) (efbefae), closes #8761
v1.3.7
(2021-04-12)
This minor release has a few bug fixes and general improvements, including changes to the default cryptography library and upcoming changes for Altair hardfork.
Updating to this release is strongly recommended.
Notable changes:
- Several Altair updates
- Switch from Herumi to blst as the default BLS library permanently (no opt-out) #8710 #8725
- Other various refactoring and improvements
Full list of changes below
1.3.7 (2021-04-12)
- Altair: Split no verify functions in own file (#8747) (74cf232), closes #8747
- Altair: Split state getters and setters into its own file (#8746) (2a1c880), closes #8746
- Add IsWithinWeakSubjectivityPeriod helper method (#8706) (dfe5372), closes #8706
- Add LatestWeakSubjectivityEpoch() method (#8707) (91df011), closes #8707
- Block deposit: refactor batch verify and validation activation (#8698) (f2f509b), closes #8698
- copy better (#8708) (3cd95b4), closes #8708
- Fix deep source complains (#8714) (7998348), closes #8714
- Invert BLST Go Tag (#8725) (c65c6eb), closes #8725
- Make BLST The Permanent Default (#8710) (f0e2f56), closes #8710
- Refactor finality helpers to helpers pkg (#8734) (19a9b4b), closes #8734
- Refactor ProcessFinalUpdates(), per updated specs (#8724) (76390c9), closes #8724
- Remove redundant MerkleRoot function (#8733) (1af88b2), closes #8733
- Resolve Misc DeepSource Lint Issues (#8711) (0a2f3e4), closes #8711
- Slashing Protection RPC Endpoints for Web Backend (#8723) (e3149c4), closes #8723
- Update spec comments (#8727) (0808c02), closes #8727
- Weak subjectivity minor refactoring (#8715) (74d0134), closes #8715
- Web Backend Recover Wallet (#8679) (99bd988), closes #8679
- ProcessPreGenesisDeposits: Remove context.TODO() usage (#8705) (01eb77c), closes #8705 #8704
v1.3.6
(2021-04-06)
This minor release has a few bug fixes and general improvements.
Security: This release contains an update to the most recent blst cryptography library. Updating to this release is strongly recommended.
Notable changes:
Full list of changes below.
1.3.6 (2021-04-04)
- Add a separate unit test for ComputeDomainAndSign (#8600) (feeb59d), closes #8600
- Add a Tool to Split a Series of Mnemonic Keys into Distinct Wallets (#8651) (28e4a3b), closes #8651
- Add connectivity E2E test (#8607) (54cf5f3), closes #8607
- Add Remaining Gossip Scoring Topics (#8678) (4886a4e), closes #8678
- Break long lines in beacon chain package (#8686) (f822f04), closes #8686
- Change
ProcessDeposits
argument to usedeposits
(#8696) (f67228b), closes #8696 - E2E remove redundant test case (#8680) (e26dab8), closes #8680
- Fix typo in comment for LoadGenesis (#8685) (0b06c48), closes #8685
- Genesis beacon state: refactor update eth1 data (#8704) (1c6c058), closes #8704
- Harden beacon state interface for Altair (#8673) (5f2f53a), closes #8673
- HTTP Request Sink Tool (#8689) (d7103fd), closes #8689
- Implement GetBeaconState in the debug API (#8631) (190d862), closes #8631
- Move chainheads to blockchain pkg (#8700) (528cd89), closes #8700
- Remove unused interface (#8682) (2ec3f79), closes #8682
- Skip e2e test for previous implementation of slasher (#8693) (9afa304), closes #8693
- Update blst (#8703) (80ab920), closes #8703
- Update Gossip Parameters (#8683) (af3d3e8), closes #8683
- Weak subjectivity period calculating helper (#8695) (acf17f9), closes #8695
- Web Backend Revert delete rpc (#8681) (8784390), closes #8681
- Wrap long lines in validator package (#8691) (8476403), closes #8691
- BLS: Deprecate usage of AggregateVerify (#8699) (c179cfb), closes #8699
- Protoarray: add ChainHeads (#8684) (a8ab279), closes #8684