From bac783774ded1dc341a5ee12d30baafc90ac965e Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Wed, 6 Oct 2021 00:36:23 -0400 Subject: [PATCH 01/26] v1.13.0-rc1 --- CHANGELOG.md | 109 +++++++++++++++++++++++++++ build/openrpc/full.json.gz | Bin 25455 -> 25455 bytes build/openrpc/miner.json.gz | Bin 10424 -> 10424 bytes build/openrpc/worker.json.gz | Bin 2711 -> 2710 bytes build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 8 files changed, 113 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcedad7c2..ffeb7519a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,114 @@ # Lotus changelog +# v1.13.0-rc1 / 2021-10-06 + +- github.com/filecoin-project/lotus: + - StateSearchMsg: Correct usage of the allowReplaced flag ([filecoin-project/lotus#7450](https://github.com/filecoin-project/lotus/pull/7450)) + - Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/6393)) + - Update to graphsync to v0.10.0, enable seperate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) + - Chocolate to master ([filecoin-project/lotus#7440](https://github.com/filecoin-project/lotus/pull/7440)) + - Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) + - check for deal start epoch on SectorAddPieceToAny ([filecoin-project/lotus#7407](https://github.com/filecoin-project/lotus/pull/7407)) + - Expose storage stats on the metrics endpoint ([filecoin-project/lotus#7418](https://github.com/filecoin-project/lotus/pull/7418)) + - feat: Catch panic to generate report and reraise ([filecoin-project/lotus#7341](https://github.com/filecoin-project/lotus/pull/7341)) + - Add envconfig docs to the config ([filecoin-project/lotus#7412](https://github.com/filecoin-project/lotus/pull/7412)) + - releases -> master ([filecoin-project/lotus#7403](https://github.com/filecoin-project/lotus/pull/7403)) + - Verify Voucher locks in VoucherValidUnlocked ([filecoin-project/lotus#5609](https://github.com/filecoin-project/lotus/pull/5609)) + - lotus shed: fr32 utils ([filecoin-project/lotus#7355](https://github.com/filecoin-project/lotus/pull/7355)) + - Add more info to miner allinfo command ([filecoin-project/lotus#7384](https://github.com/filecoin-project/lotus/pull/7384)) + - add `lotus-miner storage-deals list --format=json` with transfers ([filecoin-project/lotus#7312](https://github.com/filecoin-project/lotus/pull/7312)) + - Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) + - remove nerpanet related code ([filecoin-project/lotus#7373](https://github.com/filecoin-project/lotus/pull/7373)) + - Fix formatting ([filecoin-project/lotus#7383](https://github.com/filecoin-project/lotus/pull/7383)) + - sync branch main with master on updates ([filecoin-project/lotus#7366](https://github.com/filecoin-project/lotus/pull/7366)) + - fix staging area path buildup ([filecoin-project/lotus#7363](https://github.com/filecoin-project/lotus/pull/7363)) + - Update go-graphsync v0.9.2 ([filecoin-project/lotus#7359](https://github.com/filecoin-project/lotus/pull/7359)) + - Randomness: Move getters from ChainAPI to StateAPI ([filecoin-project/lotus#7322](https://github.com/filecoin-project/lotus/pull/7322)) + - GetCurrentDealInfo err: handle correctly err case ([filecoin-project/lotus#7346](https://github.com/filecoin-project/lotus/pull/7346)) + - storagemgr: Cleanup workerLk around worker resources ([filecoin-project/lotus#7334](https://github.com/filecoin-project/lotus/pull/7334)) + - fix: Enforce verification key integrity check regardless of TRUST_PARAMS=1 ([filecoin-project/lotus#7327](https://github.com/filecoin-project/lotus/pull/7327)) + - Miner CLI: Allow trying to change owners of any miner actor ([filecoin-project/lotus#7328](https://github.com/filecoin-project/lotus/pull/7328)) + - remove job to install jq ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7309)) + - Show more deal states in miner info ([filecoin-project/lotus#7311](https://github.com/filecoin-project/lotus/pull/7311)) + - fix: check padSector Cid ([filecoin-project/lotus#7310](https://github.com/filecoin-project/lotus/pull/7310)) + - Add --unproven flag to the sectors list command ([filecoin-project/lotus#7308](https://github.com/filecoin-project/lotus/pull/7308)) + - Prep retrieval for selectors: no functional changes ([filecoin-project/lotus#7306](https://github.com/filecoin-project/lotus/pull/7306)) + - Seed: improve helptext ([filecoin-project/lotus#7304](https://github.com/filecoin-project/lotus/pull/7304)) + - Mempool: reduce size of sigValCache ([filecoin-project/lotus#7305](https://github.com/filecoin-project/lotus/pull/7305)) + - bump master to v1.11.4-dev ([filecoin-project/lotus#7298](https://github.com/filecoin-project/lotus/pull/7298)) +- github.com/filecoin-project/go-data-transfer (v1.10.1 -> v1.11.1): + - release: v1.11.1 + - feat: update to go-graphsync v0.10.0 (#263) ([filecoin-project/go-data-transfer#263](https://github.com/filecoin-project/go-data-transfer/pull/263)) + - release: v1.11.0 ([filecoin-project/go-data-transfer#262](https://github.com/filecoin-project/go-data-transfer/pull/262)) + - feat: update to go-ipld-prime v0.12.3 (#261) ([filecoin-project/go-data-transfer#261](https://github.com/filecoin-project/go-data-transfer/pull/261)) + - release: v1.11.0-rc1 ([filecoin-project/go-data-transfer#260](https://github.com/filecoin-project/go-data-transfer/pull/260)) + - refactor: remove libp2p protocol cache (#259) ([filecoin-project/go-data-transfer#259](https://github.com/filecoin-project/go-data-transfer/pull/259)) + - feat: update to graphsync v0.10.0-rc3 (#258) ([filecoin-project/go-data-transfer#258](https://github.com/filecoin-project/go-data-transfer/pull/258)) + - Use do-not-send-first-blocks extension for restarts (#257) ([filecoin-project/go-data-transfer#257](https://github.com/filecoin-project/go-data-transfer/pull/257)) + - Merge 1.10.1 ([filecoin-project/go-data-transfer#255](https://github.com/filecoin-project/go-data-transfer/pull/255)) +- github.com/filecoin-project/go-fil-markets (v1.12.0 -> v1.13.1): + - release: v1.13.1 + - feat: upgrade to go-data-transfer v1.11.1 (#636) ([filecoin-project/go-fil-markets#636](https://github.com/filecoin-project/go-fil-markets/pull/636)) + - release: v1.13.0 ([filecoin-project/go-fil-markets#635](https://github.com/filecoin-project/go-fil-markets/pull/635)) + - commp: expose MaxTraversalLinks option for generating CommP (#633) ([filecoin-project/go-fil-markets#633](https://github.com/filecoin-project/go-fil-markets/pull/633)) + - update to go-data-transfer v1.11.0 (#634) ([filecoin-project/go-fil-markets#634](https://github.com/filecoin-project/go-fil-markets/pull/634)) + - fix: retrieval not found error (#630) ([filecoin-project/go-fil-markets#630](https://github.com/filecoin-project/go-fil-markets/pull/630)) + - release: v1.12.0 ([filecoin-project/go-fil-markets#628](https://github.com/filecoin-project/go-fil-markets/pull/628)) +- github.com/filecoin-project/go-paramfetch (v0.0.2-0.20210614165157-25a6c7769498 -> v0.0.2): + - fix: Prefer allowlist for managing trustable extensions ([filecoin-project/go-paramfetch#18](https://github.com/filecoin-project/go-paramfetch/pull/18)) + - fix: Force VK integrity check regardless of TRUST_PARAMS ([filecoin-project/go-paramfetch#17](https://github.com/filecoin-project/go-paramfetch/pull/17)) + - Fix paramfetch to read SRS json path correctly ([filecoin-project/go-paramfetch#16](https://github.com/filecoin-project/go-paramfetch/pull/16)) +- github.com/filecoin-project/go-state-types (v0.1.1-0.20210810190654-139e0e79e69e -> v0.1.1-0.20210915140513-d354ccf10379): + - Add v14 +- github.com/filecoin-project/specs-actors/v6 (null -> v6.0.0-20211001193936-c3afe7fa3c5c): + - Better logging (#1503) ([filecoin-project/specs-actors#1503](https://github.com/filecoin-project/specs-actors/pull/1503)) + - Defensive programming: harden power actor against seal verify failures (#1502) ([filecoin-project/specs-actors#1502](https://github.com/filecoin-project/specs-actors/pull/1502)) + - BatchBalancer fee charged on precommit aggregate (#1497) ([filecoin-project/specs-actors#1497](https://github.com/filecoin-project/specs-actors/pull/1497)) + - Fix #1486 (#1489) ([filecoin-project/specs-actors#1489](https://github.com/filecoin-project/specs-actors/pull/1489)) + - Sector extension deal weight bug fix (#1498) ([filecoin-project/specs-actors#1498](https://github.com/filecoin-project/specs-actors/pull/1498)) + - Fip 0021 (#1487) ([filecoin-project/specs-actors#1487](https://github.com/filecoin-project/specs-actors/pull/1487)) + - Fix #176 (swap to xerrors from pkg/errors) (#1494) ([filecoin-project/specs-actors#1494](https://github.com/filecoin-project/specs-actors/pull/1494)) + - Merge branch 'master' of github.com:filecoin-project/specs-actors + - Merge branch 'fix-799' + - compute the hash of the proposal iff the proposal hash is present (#1365) ([filecoin-project/specs-actors#1365](https://github.com/filecoin-project/specs-actors/pull/1365)) + - Revert "Remove cc upgrade (#1473)" (#1475) ([filecoin-project/specs-actors#1475](https://github.com/filecoin-project/specs-actors/pull/1475)) + - Remove cc upgrade (#1473) ([filecoin-project/specs-actors#1473](https://github.com/filecoin-project/specs-actors/pull/1473)) + - Update to v6 (#1468) ([filecoin-project/specs-actors#1468](https://github.com/filecoin-project/specs-actors/pull/1468)) + - go state types version revert (#1467) ([filecoin-project/specs-actors#1467](https://github.com/filecoin-project/specs-actors/pull/1467)) + - Adjust code for subtle change in go-multihash 0.0.15 (#1463) ([filecoin-project/specs-actors#1463](https://github.com/filecoin-project/specs-actors/pull/1463)) + - Bump go state types (#1464) ([filecoin-project/specs-actors#1464](https://github.com/filecoin-project/specs-actors/pull/1464)) + - Create CODEOWNERS (#1465) ([filecoin-project/specs-actors#1465](https://github.com/filecoin-project/specs-actors/pull/1465)) + - Test deterministic offset (#1462) ([filecoin-project/specs-actors#1462](https://github.com/filecoin-project/specs-actors/pull/1462)) + +Contributors + +| Contributor | Commits | Lines ± | Files Changed | +|-------------|---------|---------|---------------| +| ZenGround0 | 12 | +4202/-2752 | 187 | +| Aayush Rajasekaran | 28 | +5023/-1059 | 213 | +| c r | 4 | +1276/-435 | 37 | +| Claudia Richoux | 12 | +1350/-209 | 43 | +| Łukasz Magiera | 10 | +1214/-68 | 30 | +| dirkmc | 8 | +845/-375 | 55 | +| Aarsh Shah | 6 | +813/-259 | 16 | +| Peter Rabbitson | 5 | +498/-74 | 19 | +| Anton Evangelatov | 10 | +335/-139 | 19 | +| Mike Greenberg | 15 | +336/-67 | 26 | +| Jennifer Wang | 7 | +66/-206 | 26 | +| Dirk McCormick | 8 | +149/-55 | 16 | +| Steven Allen | 2 | +115/-12 | 6 | +| hannahhoward | 3 | +53/-30 | 15 | +| Rod Vagg | 3 | +58/-10 | 7 | +| Jiaying Wang | 1 | +0/-56 | 1 | +| Travis Person | 3 | +33/-19 | 8 | +| Hannah Howard | 1 | +33/-18 | 7 | +| Jakub Sztandera | 3 | +22/-11 | 4 | +| ognots | 1 | +0/-10 | 2 | +| Steve Loeppky | 1 | +6/-0 | 1 | +| Adrian Lanzafame | 1 | +3/-3 | 1 | +| swift-mx | 1 | +1/-1 | 1 | + + # v1.11.3 / 2021-09-29 lotus v1.11.3 is a feature release that's **highly recommended to ALL lotus users to upgrade**, including node diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index d830d2d4f43afb0f385d57d27b01de2eda301818..96570efea4bcf59033d75911303936ba0db0f0fd 100644 GIT binary patch delta 25294 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 diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 0460cf239ef2718536279c4a1ef994823a155cd4..1edc59126ffc6a2dbd5399e55d09cb124e3818b9 100644 GIT binary patch delta 22 ecmdlHxFc{v8qdIS6?G delta 22 dcmdlHxFc{v8!yN4HQ8hEm!Orc&Kpl$R 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 Q1pom5|5Hq-pILeU0MQXQfB*mh literal 2711 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 Date: Wed, 6 Oct 2021 02:00:20 -0400 Subject: [PATCH 02/26] update changelog --- CHANGELOG.md | 152 +++++++++++++++++++++++++-------------------------- 1 file changed, 74 insertions(+), 78 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffeb7519a..f608027f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,85 +2,81 @@ # v1.13.0-rc1 / 2021-10-06 -- github.com/filecoin-project/lotus: - - StateSearchMsg: Correct usage of the allowReplaced flag ([filecoin-project/lotus#7450](https://github.com/filecoin-project/lotus/pull/7450)) - - Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/6393)) - - Update to graphsync to v0.10.0, enable seperate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) - - Chocolate to master ([filecoin-project/lotus#7440](https://github.com/filecoin-project/lotus/pull/7440)) - - Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) - - check for deal start epoch on SectorAddPieceToAny ([filecoin-project/lotus#7407](https://github.com/filecoin-project/lotus/pull/7407)) - - Expose storage stats on the metrics endpoint ([filecoin-project/lotus#7418](https://github.com/filecoin-project/lotus/pull/7418)) - - feat: Catch panic to generate report and reraise ([filecoin-project/lotus#7341](https://github.com/filecoin-project/lotus/pull/7341)) - - Add envconfig docs to the config ([filecoin-project/lotus#7412](https://github.com/filecoin-project/lotus/pull/7412)) - - releases -> master ([filecoin-project/lotus#7403](https://github.com/filecoin-project/lotus/pull/7403)) - - Verify Voucher locks in VoucherValidUnlocked ([filecoin-project/lotus#5609](https://github.com/filecoin-project/lotus/pull/5609)) - - lotus shed: fr32 utils ([filecoin-project/lotus#7355](https://github.com/filecoin-project/lotus/pull/7355)) - - Add more info to miner allinfo command ([filecoin-project/lotus#7384](https://github.com/filecoin-project/lotus/pull/7384)) - - add `lotus-miner storage-deals list --format=json` with transfers ([filecoin-project/lotus#7312](https://github.com/filecoin-project/lotus/pull/7312)) - - Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) - - remove nerpanet related code ([filecoin-project/lotus#7373](https://github.com/filecoin-project/lotus/pull/7373)) - - Fix formatting ([filecoin-project/lotus#7383](https://github.com/filecoin-project/lotus/pull/7383)) - - sync branch main with master on updates ([filecoin-project/lotus#7366](https://github.com/filecoin-project/lotus/pull/7366)) - - fix staging area path buildup ([filecoin-project/lotus#7363](https://github.com/filecoin-project/lotus/pull/7363)) - - Update go-graphsync v0.9.2 ([filecoin-project/lotus#7359](https://github.com/filecoin-project/lotus/pull/7359)) - - Randomness: Move getters from ChainAPI to StateAPI ([filecoin-project/lotus#7322](https://github.com/filecoin-project/lotus/pull/7322)) - - GetCurrentDealInfo err: handle correctly err case ([filecoin-project/lotus#7346](https://github.com/filecoin-project/lotus/pull/7346)) - - storagemgr: Cleanup workerLk around worker resources ([filecoin-project/lotus#7334](https://github.com/filecoin-project/lotus/pull/7334)) - - fix: Enforce verification key integrity check regardless of TRUST_PARAMS=1 ([filecoin-project/lotus#7327](https://github.com/filecoin-project/lotus/pull/7327)) - - Miner CLI: Allow trying to change owners of any miner actor ([filecoin-project/lotus#7328](https://github.com/filecoin-project/lotus/pull/7328)) - - remove job to install jq ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7309)) - - Show more deal states in miner info ([filecoin-project/lotus#7311](https://github.com/filecoin-project/lotus/pull/7311)) - - fix: check padSector Cid ([filecoin-project/lotus#7310](https://github.com/filecoin-project/lotus/pull/7310)) - - Add --unproven flag to the sectors list command ([filecoin-project/lotus#7308](https://github.com/filecoin-project/lotus/pull/7308)) - - Prep retrieval for selectors: no functional changes ([filecoin-project/lotus#7306](https://github.com/filecoin-project/lotus/pull/7306)) - - Seed: improve helptext ([filecoin-project/lotus#7304](https://github.com/filecoin-project/lotus/pull/7304)) - - Mempool: reduce size of sigValCache ([filecoin-project/lotus#7305](https://github.com/filecoin-project/lotus/pull/7305)) - - bump master to v1.11.4-dev ([filecoin-project/lotus#7298](https://github.com/filecoin-project/lotus/pull/7298)) -- github.com/filecoin-project/go-data-transfer (v1.10.1 -> v1.11.1): - - release: v1.11.1 - - feat: update to go-graphsync v0.10.0 (#263) ([filecoin-project/go-data-transfer#263](https://github.com/filecoin-project/go-data-transfer/pull/263)) - - release: v1.11.0 ([filecoin-project/go-data-transfer#262](https://github.com/filecoin-project/go-data-transfer/pull/262)) - - feat: update to go-ipld-prime v0.12.3 (#261) ([filecoin-project/go-data-transfer#261](https://github.com/filecoin-project/go-data-transfer/pull/261)) - - release: v1.11.0-rc1 ([filecoin-project/go-data-transfer#260](https://github.com/filecoin-project/go-data-transfer/pull/260)) - - refactor: remove libp2p protocol cache (#259) ([filecoin-project/go-data-transfer#259](https://github.com/filecoin-project/go-data-transfer/pull/259)) - - feat: update to graphsync v0.10.0-rc3 (#258) ([filecoin-project/go-data-transfer#258](https://github.com/filecoin-project/go-data-transfer/pull/258)) - - Use do-not-send-first-blocks extension for restarts (#257) ([filecoin-project/go-data-transfer#257](https://github.com/filecoin-project/go-data-transfer/pull/257)) - - Merge 1.10.1 ([filecoin-project/go-data-transfer#255](https://github.com/filecoin-project/go-data-transfer/pull/255)) -- github.com/filecoin-project/go-fil-markets (v1.12.0 -> v1.13.1): - - release: v1.13.1 - - feat: upgrade to go-data-transfer v1.11.1 (#636) ([filecoin-project/go-fil-markets#636](https://github.com/filecoin-project/go-fil-markets/pull/636)) - - release: v1.13.0 ([filecoin-project/go-fil-markets#635](https://github.com/filecoin-project/go-fil-markets/pull/635)) - - commp: expose MaxTraversalLinks option for generating CommP (#633) ([filecoin-project/go-fil-markets#633](https://github.com/filecoin-project/go-fil-markets/pull/633)) - - update to go-data-transfer v1.11.0 (#634) ([filecoin-project/go-fil-markets#634](https://github.com/filecoin-project/go-fil-markets/pull/634)) - - fix: retrieval not found error (#630) ([filecoin-project/go-fil-markets#630](https://github.com/filecoin-project/go-fil-markets/pull/630)) - - release: v1.12.0 ([filecoin-project/go-fil-markets#628](https://github.com/filecoin-project/go-fil-markets/pull/628)) -- github.com/filecoin-project/go-paramfetch (v0.0.2-0.20210614165157-25a6c7769498 -> v0.0.2): - - fix: Prefer allowlist for managing trustable extensions ([filecoin-project/go-paramfetch#18](https://github.com/filecoin-project/go-paramfetch/pull/18)) - - fix: Force VK integrity check regardless of TRUST_PARAMS ([filecoin-project/go-paramfetch#17](https://github.com/filecoin-project/go-paramfetch/pull/17)) - - Fix paramfetch to read SRS json path correctly ([filecoin-project/go-paramfetch#16](https://github.com/filecoin-project/go-paramfetch/pull/16)) -- github.com/filecoin-project/go-state-types (v0.1.1-0.20210810190654-139e0e79e69e -> v0.1.1-0.20210915140513-d354ccf10379): - - Add v14 -- github.com/filecoin-project/specs-actors/v6 (null -> v6.0.0-20211001193936-c3afe7fa3c5c): - - Better logging (#1503) ([filecoin-project/specs-actors#1503](https://github.com/filecoin-project/specs-actors/pull/1503)) - - Defensive programming: harden power actor against seal verify failures (#1502) ([filecoin-project/specs-actors#1502](https://github.com/filecoin-project/specs-actors/pull/1502)) - - BatchBalancer fee charged on precommit aggregate (#1497) ([filecoin-project/specs-actors#1497](https://github.com/filecoin-project/specs-actors/pull/1497)) - - Fix #1486 (#1489) ([filecoin-project/specs-actors#1489](https://github.com/filecoin-project/specs-actors/pull/1489)) - - Sector extension deal weight bug fix (#1498) ([filecoin-project/specs-actors#1498](https://github.com/filecoin-project/specs-actors/pull/1498)) - - Fip 0021 (#1487) ([filecoin-project/specs-actors#1487](https://github.com/filecoin-project/specs-actors/pull/1487)) - - Fix #176 (swap to xerrors from pkg/errors) (#1494) ([filecoin-project/specs-actors#1494](https://github.com/filecoin-project/specs-actors/pull/1494)) - - Merge branch 'master' of github.com:filecoin-project/specs-actors - - Merge branch 'fix-799' - - compute the hash of the proposal iff the proposal hash is present (#1365) ([filecoin-project/specs-actors#1365](https://github.com/filecoin-project/specs-actors/pull/1365)) - - Revert "Remove cc upgrade (#1473)" (#1475) ([filecoin-project/specs-actors#1475](https://github.com/filecoin-project/specs-actors/pull/1475)) - - Remove cc upgrade (#1473) ([filecoin-project/specs-actors#1473](https://github.com/filecoin-project/specs-actors/pull/1473)) - - Update to v6 (#1468) ([filecoin-project/specs-actors#1468](https://github.com/filecoin-project/specs-actors/pull/1468)) - - go state types version revert (#1467) ([filecoin-project/specs-actors#1467](https://github.com/filecoin-project/specs-actors/pull/1467)) - - Adjust code for subtle change in go-multihash 0.0.15 (#1463) ([filecoin-project/specs-actors#1463](https://github.com/filecoin-project/specs-actors/pull/1463)) - - Bump go state types (#1464) ([filecoin-project/specs-actors#1464](https://github.com/filecoin-project/specs-actors/pull/1464)) - - Create CODEOWNERS (#1465) ([filecoin-project/specs-actors#1465](https://github.com/filecoin-project/specs-actors/pull/1465)) - - Test deterministic offset (#1462) ([filecoin-project/specs-actors#1462](https://github.com/filecoin-project/specs-actors/pull/1462)) +This is the first release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming +[Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). +This feature release includes latest functionality and improvements, like data transfer rate-limiting, rust-proof-ffi experimental CUDA support and so on. We *highly recommend* users like storage providers, data brokers, and so on upgrading your nodes and all subsystems to this release! -Contributors +> Note: This release candidate sets the upgrade epoch for calibration net, however, it does not set the Network v14 +> Chocolate upgrade for mainnet. FIPs(FIP0020-0025) included are based on optimistic acceptance, things may well +> change according to the result of FIP last calls. + +## Highlights +- Enable separate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) +- Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) +- update to go-graphsync v0.10.0 + +## New Features +- Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/6393)) +- Expose storage stats on the metrics endpoint ([filecoin-project/lotus#7418](https://github.com/filecoin-project/lotus/pull/7418)) +- feat: Catch panic to generate report and reraise ([filecoin-project/lotus#7341](https://github.com/filecoin-project/lotus/pull/7341)) +- Add envconfig docs to the config ([filecoin-project/lotus#7412](https://github.com/filecoin-project/lotus/pull/7412)) +- lotus shed: fr32 utils ([filecoin-project/lotus#7355](https://github.com/filecoin-project/lotus/pull/7355)) +- Miner CLI: Allow trying to change owners of any miner actor ([filecoin-project/lotus#7328](https://github.com/filecoin-project/lotus/pull/7328)) +- Add --unproven flag to the sectors list command ([filecoin-project/lotus#7308](https://github.com/filecoin-project/lotus/pull/7308)) + +## Improvements +- check for deal start epoch on SectorAddPieceToAny ([filecoin-project/lotus#7407](https://github.com/filecoin-project/lotus/pull/7407)) +- Verify Voucher locks in VoucherValidUnlocked ([filecoin-project/lotus#5609](https://github.com/filecoin-project/lotus/pull/5609)) +- Add more info to miner allinfo command ([filecoin-project/lotus#7384](https://github.com/filecoin-project/lotus/pull/7384)) +- add `lotus-miner storage-deals list --format=json` with transfers ([filecoin-project/lotus#7312](https://github.com/filecoin-project/lotus/pull/7312)) +- Fix formatting ([filecoin-project/lotus#7383](https://github.com/filecoin-project/lotus/pull/7383)) +- GetCurrentDealInfo err: handle correctly err case ([filecoin-project/lotus#7346](https://github.com/filecoin-project/lotus/pull/7346)) +- fix: Enforce verification key integrity check regardless of TRUST_PARAMS=1 ([filecoin-project/lotus#7327](https://github.com/filecoin-project/lotus/pull/7327)) +- Show more deal states in miner info ([filecoin-project/lotus#7311](https://github.com/filecoin-project/lotus/pull/7311)) +- Prep retrieval for selectors: no functional changes ([filecoin-project/lotus#7306](https://github.com/filecoin-project/lotus/pull/7306)) +- Seed: improve helptext ([filecoin-project/lotus#7304](https://github.com/filecoin-project/lotus/pull/7304)) +- Mempool: reduce size of sigValCache ([filecoin-project/lotus#7305](https://github.com/filecoin-project/lotus/pull/7305)) + +## Bug Fixes +- StateSearchMsg: Correct usage of the allowReplaced flag ([filecoin-project/lotus#7450](https://github.com/filecoin-project/lotus/pull/7450)) +- fix staging area path buildup ([filecoin-project/lotus#7363](https://github.com/filecoin-project/lotus/pull/7363)) +- Randomness: Move getters from ChainAPI to StateAPI ([filecoin-project/lotus#7322](https://github.com/filecoin-project/lotus/pull/7322)) +- storagemgr: Cleanup workerLk around worker resources ([filecoin-project/lotus#7334](https://github.com/filecoin-project/lotus/pull/7334)) +- fix: check padSector Cid ([filecoin-project/lotus#7310](https://github.com/filecoin-project/lotus/pull/7310)) + +## Dependency Updates +- github.com/filecoin-project/go-data-transfer (v1.10.1 -> v1.11.1): +- github.com/filecoin-project/go-fil-markets (v1.12.0 -> v1.13.1): +- github.com/filecoin-project/go-paramfetch (v0.0.2-0.20210614165157-25a6c7769498 -> v0.0.2): +- github.com/filecoin-project/specs-actors/v6-rc1: + - Better logging (#1503) ([filecoin-project/specs-actors#1503](https://github.com/filecoin-project/specs-actors/pull/1503)) + - Defensive programming: harden power actor against seal verify failures (#1502) ([filecoin-project/specs-actors#1502](https://github.com/filecoin-project/specs-actors/pull/1502)) + - BatchBalancer fee charged on precommit aggregate (#1497) ([filecoin-project/specs-actors#1497](https://github.com/filecoin-project/specs-actors/pull/1497)) + - Fix #1486 (#1489) ([filecoin-project/specs-actors#1489](https://github.com/filecoin-project/specs-actors/pull/1489)) + - Sector extension deal weight bug fix (#1498) ([filecoin-project/specs-actors#1498](https://github.com/filecoin-project/specs-actors/pull/1498)) + - Fip 0021 (#1487) ([filecoin-project/specs-actors#1487](https://github.com/filecoin-project/specs-actors/pull/1487)) + - Fix #176 (swap to xerrors from pkg/errors) (#1494) ([filecoin-project/specs-actors#1494](https://github.com/filecoin-project/specs-actors/pull/1494)) + - Merge branch 'master' of github.com:filecoin-project/specs-actors + - Merge branch 'fix-799' + - compute the hash of the proposal iff the proposal hash is present (#1365) ([filecoin-project/specs-actors#1365](https://github.com/filecoin-project/specs-actors/pull/1365)) + - Revert "Remove cc upgrade (#1473)" (#1475) ([filecoin-project/specs-actors#1475](https://github.com/filecoin-project/specs-actors/pull/1475)) + - Remove cc upgrade (#1473) ([filecoin-project/specs-actors#1473](https://github.com/filecoin-project/specs-actors/pull/1473)) + - Update to v6 (#1468) ([filecoin-project/specs-actors#1468](https://github.com/filecoin-project/specs-actors/pull/1468)) + - go state types version revert (#1467) ([filecoin-project/specs-actors#1467](https://github.com/filecoin-project/specs-actors/pull/1467)) + - Adjust code for subtle change in go-multihash 0.0.15 (#1463) ([filecoin-project/specs-actors#1463](https://github.com/filecoin-project/specs-actors/pull/1463)) + - Bump go state types (#1464) ([filecoin-project/specs-actors#1464](https://github.com/filecoin-project/specs-actors/pull/1464)) + - Create CODEOWNERS (#1465) ([filecoin-project/specs-actors#1465](https://github.com/filecoin-project/specs-actors/pull/1465)) + - Test deterministic offset (#1462) ([filecoin-project/specs-actors#1462](https://github.com/filecoin-project/specs-actors/pull/1462) +- Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) + +## Others +- Chocolate to master ([filecoin-project/lotus#7440](https://github.com/filecoin-project/lotus/pull/7440)) +- releases -> master ([filecoin-project/lotus#7403](https://github.com/filecoin-project/lotus/pull/7403)) +- remove nerpanet related code ([filecoin-project/lotus#7373](https://github.com/filecoin-project/lotus/pull/7373)) +- sync branch main with master on updates ([filecoin-project/lotus#7366](https://github.com/filecoin-project/lotus/pull/7366)) +- remove job to install jq ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7309)) + +## Contributors | Contributor | Commits | Lines ± | Files Changed | |-------------|---------|---------|---------------| From 6e44755b550b6b7107226f561662e3ec27b40d33 Mon Sep 17 00:00:00 2001 From: hannahhoward Date: Wed, 6 Oct 2021 17:21:38 -0700 Subject: [PATCH 03/26] feat(deps): update go-graphsync v0.10.1 --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 431aad90c..6dd22cab5 100644 --- a/go.mod +++ b/go.mod @@ -79,7 +79,7 @@ require ( github.com/ipfs/go-ds-pebble v0.0.2-0.20200921225637-ce220f8ac459 github.com/ipfs/go-filestore v1.0.0 github.com/ipfs/go-fs-lock v0.0.6 - github.com/ipfs/go-graphsync v0.10.0 + github.com/ipfs/go-graphsync v0.10.1 github.com/ipfs/go-ipfs-blockstore v1.0.4 github.com/ipfs/go-ipfs-blocksutil v0.0.1 github.com/ipfs/go-ipfs-chunker v0.0.5 diff --git a/go.sum b/go.sum index 9d7b4162a..947648d8a 100644 --- a/go.sum +++ b/go.sum @@ -689,8 +689,9 @@ github.com/ipfs/go-fs-lock v0.0.6/go.mod h1:OTR+Rj9sHiRubJh3dRhD15Juhd/+w6VPOY28 github.com/ipfs/go-graphsync v0.1.0/go.mod h1:jMXfqIEDFukLPZHqDPp8tJMbHO9Rmeb9CEGevngQbmE= github.com/ipfs/go-graphsync v0.4.2/go.mod h1:/VmbZTUdUMTbNkgzAiCEucIIAU3BkLE2cZrDCVUhyi0= github.com/ipfs/go-graphsync v0.4.3/go.mod h1:mPOwDYv128gf8gxPFgXnz4fNrSYPsWyqisJ7ych+XDY= -github.com/ipfs/go-graphsync v0.10.0 h1:VXljS1ETYp1GmAJ6N45hlcKO+tlvPFUzz3xzEQ0jMbM= github.com/ipfs/go-graphsync v0.10.0/go.mod h1:cKIshzTaa5rCZjryH5xmSKZVGX9uk1wvwGvz2WEha5Y= +github.com/ipfs/go-graphsync v0.10.1 h1:m6nNwiRFE2FVBTCxHWVTRApjH0snIjFy7fkDbOlMa/I= +github.com/ipfs/go-graphsync v0.10.1/go.mod h1:cKIshzTaa5rCZjryH5xmSKZVGX9uk1wvwGvz2WEha5Y= github.com/ipfs/go-hamt-ipld v0.1.1/go.mod h1:1EZCr2v0jlCnhpa+aZ0JZYp8Tt2w16+JJOAVz17YcDk= github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= From 3f92940a1930dc5e52cc2585e235c35e5c7b41dc Mon Sep 17 00:00:00 2001 From: Cory Schwartz Date: Wed, 6 Oct 2021 13:40:44 -0700 Subject: [PATCH 04/26] restore filters for the build-macos job --- .circleci/config.yml | 9 ++++++++- .circleci/template.yml | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 49da7e48b..58cbd9b7c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -962,7 +962,14 @@ workflows: only: - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - build-lotus-soup - - build-macos + - build-macos: + filters: + branches: + ignore: + - /.*/ + tags: + only: + - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - build-appimage: filters: branches: diff --git a/.circleci/template.yml b/.circleci/template.yml index 131b6382c..ad19e397f 100644 --- a/.circleci/template.yml +++ b/.circleci/template.yml @@ -812,7 +812,14 @@ workflows: only: - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - build-lotus-soup - - build-macos + - build-macos: + filters: + branches: + ignore: + - /.*/ + tags: + only: + - /^v\d+\.\d+\.\d+(-rc\d+)?$/ - build-appimage: filters: branches: From a572787013a127dbdd5a77b988e0bdf8f9098062 Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Wed, 6 Oct 2021 21:20:19 -0400 Subject: [PATCH 05/26] v1.13.0-rc1 --- CHANGELOG.md | 10 +++++----- build/openrpc/full.json.gz | Bin 25455 -> 25455 bytes build/openrpc/miner.json.gz | Bin 10424 -> 10424 bytes build/openrpc/worker.json.gz | Bin 2710 -> 2711 bytes build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f608027f0..75cf91602 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,10 @@ # Lotus changelog -# v1.13.0-rc1 / 2021-10-06 +# v1.13.0-rc2 / 2021-10-06 -This is the first release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming +This is the second release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming [Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). -This feature release includes latest functionality and improvements, like data transfer rate-limiting, rust-proof-ffi experimental CUDA support and so on. We *highly recommend* users like storage providers, data brokers, and so on upgrading your nodes and all subsystems to this release! +This feature release includes latest functionality and improvements, like data transfer rate-limiting, rust-proof-ffi experimental CUDA support and so on. We *highly recommend* users like storage providers, data brokers, and so on to upgrade your nodes and all subsystems to this release! > Note: This release candidate sets the upgrade epoch for calibration net, however, it does not set the Network v14 > Chocolate upgrade for mainnet. FIPs(FIP0020-0025) included are based on optimistic acceptance, things may well @@ -13,7 +13,7 @@ This feature release includes latest functionality and improvements, like data t ## Highlights - Enable separate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) - Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) -- update to go-graphsync v0.10.0 +- update to go-graphsync v0.10.1 ## New Features - Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/6393)) @@ -75,7 +75,7 @@ This feature release includes latest functionality and improvements, like data t - remove nerpanet related code ([filecoin-project/lotus#7373](https://github.com/filecoin-project/lotus/pull/7373)) - sync branch main with master on updates ([filecoin-project/lotus#7366](https://github.com/filecoin-project/lotus/pull/7366)) - remove job to install jq ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7309)) - +- restore filters for the build-macos job ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7455)) ## Contributors | Contributor | Commits | Lines ± | Files Changed | diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 96570efea4bcf59033d75911303936ba0db0f0fd..d9615ebdba6a3bee678853767928f6d7f5edb8e8 100644 GIT binary patch delta 24856 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ìUr*{D$1{Suf57 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 Ab^rhX delta 24901 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 NE7$J>>pvpE{4W$KE@%J% diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 1edc59126ffc6a2dbd5399e55d09cb124e3818b9..ef273a78d6e2becbf37796187e41a83eb6e671d1 100644 GIT binary patch delta 22 dcmdlHxFc{vJ5zPS#!ht&jyF0H7XG&x831h)2x|ZU delta 22 ecmdlHxFc{vJJas`jh*Tm9Mc33nE2mjWB>qglnAW= diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index d597656c886aff0c3bfec6d3498e1a7091363242..9eef4715b925eee3d35d3396cfb6b2892c5fc383 100644 GIT binary patch literal 2711 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 literal 2710 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 Q1pom5|5Hq-pILeU0MQXQfB*mh diff --git a/build/version.go b/build/version.go index eae2fdcd7..160b35620 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.13.0-rc1" +const BuildVersion = "1.13.0-rc2" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index f5e915795..06f4cfcce 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc1 + 1.13.0-rc2 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index fa68605fd..11278e2fb 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc1 + 1.13.0-rc2 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 21b000ae4..11bedc396 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc1 + 1.13.0-rc2 COMMANDS: daemon Start a lotus daemon process From ec0f7795d3cc08ae2fb8b595d030076bc5e08559 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Thu, 7 Oct 2021 18:21:48 +0200 Subject: [PATCH 06/26] Stop indirectly depending on deprecated github.com/prometheus/common Backport of #7473 --- go.mod | 2 +- go.sum | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 6dd22cab5..8b1896acc 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.16 require ( contrib.go.opencensus.io/exporter/jaeger v0.1.0 - contrib.go.opencensus.io/exporter/prometheus v0.1.0 + contrib.go.opencensus.io/exporter/prometheus v0.4.0 github.com/BurntSushi/toml v0.3.1 github.com/GeertJohan/go.rice v1.0.0 github.com/Gurpartap/async v0.0.0-20180927173644-4f7f499dd9ee diff --git a/go.sum b/go.sum index 947648d8a..728ea1e72 100644 --- a/go.sum +++ b/go.sum @@ -34,8 +34,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= contrib.go.opencensus.io/exporter/jaeger v0.1.0 h1:WNc9HbA38xEQmsI40Tjd/MNU/g8byN2Of7lwIjv0Jdc= contrib.go.opencensus.io/exporter/jaeger v0.1.0/go.mod h1:VYianECmuFPwU37O699Vc1GOcy+y8kOsfaxHRImmjbA= -contrib.go.opencensus.io/exporter/prometheus v0.1.0 h1:SByaIoWwNgMdPSgl5sMqM2KDE5H/ukPWBRo314xiDvg= -contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A= +contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= +contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= dmitri.shuralyov.com/app/changes v0.0.0-20180602232624-0a106ad413e3/go.mod h1:Yl+fi1br7+Rr3LqpNJf1/uxUdtRUV+Tnj0o93V2B9MU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -404,6 +404,7 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/log v0.1.0 h1:DGJh0Sm43HbOeYDNnVZFl8BvcYVvjD5bqYJvp0REbwQ= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -456,8 +457,9 @@ github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4er github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -1521,6 +1523,7 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.30.0 h1:JEkYlQnpzrzQFxi6gnukFPdQ+ac82oRhzMcIduJu/Ug= github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/node_exporter v1.0.0-rc.0.0.20200428091818-01054558c289/go.mod h1:FGbBv5OPKjch+jNUJmEQpMZytIdyW0NdBtWFcfSKusc= @@ -1539,6 +1542,8 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= +github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/raulk/clock v1.1.0 h1:dpb29+UKMbLqiU/jqIJptgLR1nn23HLgMY0sTCDza5Y= github.com/raulk/clock v1.1.0/go.mod h1:3MpVxdZ/ODBQDxbN+kzshf5OSZwPjtMDx6BBXBmOeY0= github.com/raulk/go-watchdog v1.0.1 h1:qgm3DIJAeb+2byneLrQJ7kvmDLGxN2vy3apXyGaDKN4= From 28e94bf9db9cf35a87bde2a00e4451b5764d98e6 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Fri, 8 Oct 2021 22:45:16 +0200 Subject: [PATCH 07/26] peerstore@v0.2.9 was withdrawn, let's not depend on it directly --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 8b1896acc..ddbfaf0bf 100644 --- a/go.mod +++ b/go.mod @@ -114,7 +114,7 @@ require ( github.com/libp2p/go-libp2p-kad-dht v0.13.0 github.com/libp2p/go-libp2p-mplex v0.4.1 github.com/libp2p/go-libp2p-noise v0.2.2 - github.com/libp2p/go-libp2p-peerstore v0.2.9 + github.com/libp2p/go-libp2p-peerstore v0.3.0 github.com/libp2p/go-libp2p-pubsub v0.5.4 github.com/libp2p/go-libp2p-quic-transport v0.11.2 github.com/libp2p/go-libp2p-record v0.1.3 diff --git a/go.sum b/go.sum index 728ea1e72..6a372e2e0 100644 --- a/go.sum +++ b/go.sum @@ -1086,8 +1086,8 @@ github.com/libp2p/go-libp2p-peerstore v0.2.4/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuD github.com/libp2p/go-libp2p-peerstore v0.2.6/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.7/go.mod h1:ss/TWTgHZTMpsU/oKVVPQCGuDHItOpf2W8RxAi50P2s= github.com/libp2p/go-libp2p-peerstore v0.2.8/go.mod h1:gGiPlXdz7mIHd2vfAsHzBNAMqSDkt2UBFwgcITgw1lA= -github.com/libp2p/go-libp2p-peerstore v0.2.9 h1:tVa7siDymmzOl3b3+SxPYpQUCnicmK13y6Re1PqWK+g= -github.com/libp2p/go-libp2p-peerstore v0.2.9/go.mod h1:zhBaLzxiWpNGQ3+uI17G/OIjmOD8GxKyFuHbrZbgs0w= +github.com/libp2p/go-libp2p-peerstore v0.3.0 h1:wp/G0+37+GLr7tu+wE+4GWNrA3uxKg6IPRigIMSS5oQ= +github.com/libp2p/go-libp2p-peerstore v0.3.0/go.mod h1:fNX9WlOENMvdx/YD7YO/5Hkrn8+lQIk5A39BHa1HIrM= github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6na5f0/k= github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA= github.com/libp2p/go-libp2p-protocol v0.0.1/go.mod h1:Af9n4PiruirSDjHycM1QuiMi/1VZNHYcK8cLgFJLZ4s= From 047f7e5015c65795e707b9d8b06852580b79b258 Mon Sep 17 00:00:00 2001 From: Aayush Rajasekaran Date: Sat, 9 Oct 2021 20:11:49 -0400 Subject: [PATCH 08/26] Bugfix: actor withdraw CLI should depend on network version --- cli/wallet.go | 19 ++++++++++++++----- cmd/lotus-miner/actor.go | 20 +++++++++++++++----- cmd/lotus-shed/actor.go | 19 ++++++++++++++----- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/cli/wallet.go b/cli/wallet.go index f0f4e11f9..df526dc03 100644 --- a/cli/wallet.go +++ b/cli/wallet.go @@ -10,6 +10,8 @@ import ( "os" "strings" + "github.com/filecoin-project/go-state-types/network" + "github.com/filecoin-project/lotus/build" "github.com/urfave/cli/v2" @@ -634,14 +636,21 @@ var walletMarketWithdraw = &cli.Command{ return err } - var withdrawn abi.TokenAmount - if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + nv, err := api.StateNetworkVersion(ctx, wait.TipSet) + if err != nil { return err } - fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amt { - fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amt) + if nv >= network.Version14 { + var withdrawn abi.TokenAmount + if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + return err + } + + fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) + if withdrawn != amt { + fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amt) + } } return nil diff --git a/cmd/lotus-miner/actor.go b/cmd/lotus-miner/actor.go index 29c5a4bf4..f15352e6d 100644 --- a/cmd/lotus-miner/actor.go +++ b/cmd/lotus-miner/actor.go @@ -6,6 +6,8 @@ import ( "os" "strings" + "github.com/filecoin-project/go-state-types/network" + rlepluslazy "github.com/filecoin-project/go-bitfield/rle" cbor "github.com/ipfs/go-ipld-cbor" @@ -280,6 +282,7 @@ var actorWithdrawCmd = &cli.Command{ fmt.Printf("Requested rewards withdrawal in message %s\n", smsg.Cid()) // wait for it to get mined into a block + fmt.Println("using ", uint64(cctx.Int("confidence"))) wait, err := api.StateWaitMsg(ctx, smsg.Cid(), uint64(cctx.Int("confidence"))) if err != nil { return err @@ -291,14 +294,21 @@ var actorWithdrawCmd = &cli.Command{ return err } - var withdrawn abi.TokenAmount - if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + nv, err := api.StateNetworkVersion(ctx, wait.TipSet) + if err != nil { return err } - fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amount { - fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) + if nv >= network.Version14 { + var withdrawn abi.TokenAmount + if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + return err + } + + fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) + if withdrawn != amount { + fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) + } } return nil diff --git a/cmd/lotus-shed/actor.go b/cmd/lotus-shed/actor.go index fd7410c24..91a23a4ee 100644 --- a/cmd/lotus-shed/actor.go +++ b/cmd/lotus-shed/actor.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "github.com/filecoin-project/go-state-types/network" + "github.com/fatih/color" "github.com/urfave/cli/v2" "golang.org/x/xerrors" @@ -138,14 +140,21 @@ var actorWithdrawCmd = &cli.Command{ return err } - var withdrawn abi.TokenAmount - if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + nv, err := nodeAPI.StateNetworkVersion(ctx, wait.TipSet) + if err != nil { return err } - fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amount { - fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) + if nv >= network.Version14 { + var withdrawn abi.TokenAmount + if err := withdrawn.UnmarshalCBOR(bytes.NewReader(wait.Receipt.Return)); err != nil { + return err + } + + fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) + if withdrawn != amount { + fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) + } } return nil From 42a233c08366bb11e7b6cbd6752b57f98dfa9d21 Mon Sep 17 00:00:00 2001 From: Aayush Rajasekaran Date: Sun, 10 Oct 2021 11:24:57 -0400 Subject: [PATCH 09/26] Bugfix: Use current startup network versions --- build/openrpc/full.json.gz | Bin 25455 -> 25455 bytes build/params_shared_vals.go | 2 +- chain/stmgr/stmgr.go | 3 --- documentation/en/api-v0-methods.md | 2 +- documentation/en/api-v1-unstable-methods.md | 2 +- 5 files changed, 3 insertions(+), 6 deletions(-) diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index d9615ebdba6a3bee678853767928f6d7f5edb8e8..7bdf9774bc37b665568c002028272376761c06a9 100644 GIT binary patch delta 5126 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 delta 5088 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 Date: Sun, 10 Oct 2021 10:40:22 -0400 Subject: [PATCH 10/26] Update cmd/lotus-miner/actor.go Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> --- cmd/lotus-miner/actor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/lotus-miner/actor.go b/cmd/lotus-miner/actor.go index f15352e6d..5b3368138 100644 --- a/cmd/lotus-miner/actor.go +++ b/cmd/lotus-miner/actor.go @@ -282,7 +282,7 @@ var actorWithdrawCmd = &cli.Command{ fmt.Printf("Requested rewards withdrawal in message %s\n", smsg.Cid()) // wait for it to get mined into a block - fmt.Println("using ", uint64(cctx.Int("confidence"))) + fmt.Printf("waiting for %x epochs for confirmation..\n", uint64(cctx.Int("confidence"))) wait, err := api.StateWaitMsg(ctx, smsg.Cid(), uint64(cctx.Int("confidence"))) if err != nil { return err From 20544b6b7b18295378a7656e22551c9bfa459af6 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Mon, 11 Oct 2021 14:03:21 +0200 Subject: [PATCH 11/26] Fix withdrawn amount equiality check Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> --- cmd/lotus-shed/actor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/lotus-shed/actor.go b/cmd/lotus-shed/actor.go index 91a23a4ee..04c137444 100644 --- a/cmd/lotus-shed/actor.go +++ b/cmd/lotus-shed/actor.go @@ -152,7 +152,7 @@ var actorWithdrawCmd = &cli.Command{ } fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amount { + if withdrawn.LessThan(amount) { fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) } } From 8319323329beb38c19fc4c44e5072bc135307c2e Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Mon, 11 Oct 2021 14:03:28 +0200 Subject: [PATCH 12/26] Fix withdrawn amount equiality check Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> --- cmd/lotus-miner/actor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/lotus-miner/actor.go b/cmd/lotus-miner/actor.go index 5b3368138..43af395b1 100644 --- a/cmd/lotus-miner/actor.go +++ b/cmd/lotus-miner/actor.go @@ -306,7 +306,7 @@ var actorWithdrawCmd = &cli.Command{ } fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amount { + if withdrawn.LessThan(amount) { fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) } } From 1bd7f5b7ecfd8285c5f011ef8a59423adbd2a401 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Mon, 11 Oct 2021 14:03:37 +0200 Subject: [PATCH 13/26] Fix withdrawn amount equiality check Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> --- cli/wallet.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/wallet.go b/cli/wallet.go index df526dc03..5f3053293 100644 --- a/cli/wallet.go +++ b/cli/wallet.go @@ -648,7 +648,7 @@ var walletMarketWithdraw = &cli.Command{ } fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn != amt { + if withdrawn.LessThan(amount) { fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amt) } } From f1b4d2b1b38a25dbf6a3ba0b80e88dc8186f2d45 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Mon, 11 Oct 2021 14:06:21 +0200 Subject: [PATCH 14/26] Fix missnamed variable Signed-off-by: Jakub Sztandera --- cli/wallet.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/wallet.go b/cli/wallet.go index 5f3053293..f7ad79e77 100644 --- a/cli/wallet.go +++ b/cli/wallet.go @@ -648,7 +648,7 @@ var walletMarketWithdraw = &cli.Command{ } fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn.LessThan(amount) { + if withdrawn.LessThan(amt) { fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amt) } } From 1a6c9b9c0e300b37712597c578498751b28db99b Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Mon, 11 Oct 2021 14:10:06 +0200 Subject: [PATCH 15/26] gofmt Signed-off-by: Jakub Sztandera --- cmd/lotus-shed/actor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/lotus-shed/actor.go b/cmd/lotus-shed/actor.go index 04c137444..822159bb4 100644 --- a/cmd/lotus-shed/actor.go +++ b/cmd/lotus-shed/actor.go @@ -152,7 +152,7 @@ var actorWithdrawCmd = &cli.Command{ } fmt.Printf("Successfully withdrew %s FIL\n", withdrawn) - if withdrawn.LessThan(amount) { + if withdrawn.LessThan(amount) { fmt.Printf("Note that this is less than the requested amount of %s FIL\n", amount) } } From e47cbae885daf8100264e01898e4d96ddcddfb4d Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Thu, 7 Oct 2021 17:34:07 +1100 Subject: [PATCH 16/26] chore(deps): use tagged github.com/ipld/go-ipld-selector-text-lite Ref: https://github.com/filecoin-project/lotus/pull/6393#discussion_r722866111 --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ddbfaf0bf..b5a5359dd 100644 --- a/go.mod +++ b/go.mod @@ -103,7 +103,7 @@ require ( github.com/ipld/go-car/v2 v2.0.3-0.20210811121346-c514a30114d7 github.com/ipld/go-codec-dagpb v1.3.0 github.com/ipld/go-ipld-prime v0.12.3 - github.com/ipld/go-ipld-selector-text-lite v0.0.0-20210817134355-4c190a2bb825 + github.com/ipld/go-ipld-selector-text-lite v0.0.0 github.com/kelseyhightower/envconfig v1.4.0 github.com/libp2p/go-buffer-pool v0.0.2 github.com/libp2p/go-eventbus v0.2.1 diff --git a/go.sum b/go.sum index 6a372e2e0..df0a2f7a6 100644 --- a/go.sum +++ b/go.sum @@ -827,8 +827,8 @@ github.com/ipld/go-ipld-prime-proto v0.0.0-20191113031812-e32bd156a1e5/go.mod h1 github.com/ipld/go-ipld-prime-proto v0.0.0-20200428191222-c1ffdadc01e1/go.mod h1:OAV6xBmuTLsPZ+epzKkPB1e25FHk/vCtyatkdHcArLs= github.com/ipld/go-ipld-prime-proto v0.0.0-20200922192210-9a2bfd4440a6/go.mod h1:3pHYooM9Ea65jewRwrb2u5uHZCNkNTe9ABsVB+SrkH0= github.com/ipld/go-ipld-prime-proto v0.1.0/go.mod h1:11zp8f3sHVgIqtb/c9Kr5ZGqpnCLF1IVTNOez9TopzE= -github.com/ipld/go-ipld-selector-text-lite v0.0.0-20210817134355-4c190a2bb825 h1:sGlmVUuWEhuJpVsErFqCHWy9XTsIy511hZWRWI/Lc4I= -github.com/ipld/go-ipld-selector-text-lite v0.0.0-20210817134355-4c190a2bb825/go.mod h1:U2CQmFb+uWzfIEF3I1arrDa5rwtj00PrpiwwCO+k1RM= +github.com/ipld/go-ipld-selector-text-lite v0.0.0 h1:MLU1YUAgd3Z+RfVCXUbvxH1RQjEe+larJ9jmlW1aMgA= +github.com/ipld/go-ipld-selector-text-lite v0.0.0/go.mod h1:U2CQmFb+uWzfIEF3I1arrDa5rwtj00PrpiwwCO+k1RM= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 h1:QG4CGBqCeuBo6aZlGAamSkxWdgWfZGeE49eUOWJPA4c= github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52/go.mod h1:fdg+/X9Gg4AsAIzWpEHwnqd+QY3b7lajxyjE1m4hkq4= github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA= From 1ebd908fe323390df9c8ce10d056f95d7fe5b2f9 Mon Sep 17 00:00:00 2001 From: jennijuju Date: Tue, 12 Oct 2021 20:15:50 -0400 Subject: [PATCH 17/26] update CHANGELOG --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef669af3c..e3701780a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # Lotus changelog -# v1.13.0-rc2 / 2021-10-06 +# v1.13.0-rc3 / 2021-10-12 -This is the second release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming +This is the third release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming [Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). This feature release includes latest functionality and improvements, like data transfer rate-limiting, rust-proof-ffi experimental CUDA support and so on. We *highly recommend* users like storage providers, data brokers, and so on to upgrade your nodes and all subsystems to this release! From 429b9a1bc54447a6672608cce280b842d78339fe Mon Sep 17 00:00:00 2001 From: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Date: Wed, 13 Oct 2021 11:37:58 -0400 Subject: [PATCH 18/26] Update CHANGELOG.md Co-authored-by: Aayush Rajasekaran --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3701780a..2b1036e60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,7 +64,6 @@ This feature release includes latest functionality and improvements, like data t - Create CODEOWNERS (#1465) ([filecoin-project/specs-actors#1465](https://github.com/filecoin-project/specs-actors/pull/1465)) - Test deterministic offset (#1462) ([filecoin-project/specs-actors#1462](https://github.com/filecoin-project/specs-actors/pull/1462) - Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) -on optimistic acceptance, things may well change according to the result of FIP last calls on Oct 11th. ## Others - Chocolate to master ([filecoin-project/lotus#7440](https://github.com/filecoin-project/lotus/pull/7440)) From 9964f80bb7e6ba2536d2130ffa437ca84dad3550 Mon Sep 17 00:00:00 2001 From: frrist Date: Wed, 13 Oct 2021 15:24:28 -0700 Subject: [PATCH 19/26] fix: support node instantiation in external packages - implement ChainGetPath on ChainModuleAPI --- node/builder.go | 7 +++++++ node/impl/full/chain.go | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/node/builder.go b/node/builder.go index 6c42aad2d..3f2e59503 100644 --- a/node/builder.go +++ b/node/builder.go @@ -374,6 +374,13 @@ func WithRepoType(repoType repo.RepoType) func(s *Settings) error { } } +func WithEnableLibp2pNode(enable bool) func(s *Settings) error { + return func(s *Settings) error { + s.enableLibp2pNode = enable + return nil + } +} + func WithInvokesKey(i invoke, resApi interface{}) func(s *Settings) error { return func(s *Settings) error { s.invokes[i] = fx.Populate(resApi) diff --git a/node/impl/full/chain.go b/node/impl/full/chain.go index e8d403337..4ffbe0e63 100644 --- a/node/impl/full/chain.go +++ b/node/impl/full/chain.go @@ -51,6 +51,7 @@ type ChainModuleAPI interface { ChainGetTipSetByHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error) ChainGetTipSetAfterHeight(ctx context.Context, h abi.ChainEpoch, tsk types.TipSetKey) (*types.TipSet, error) ChainReadObj(context.Context, cid.Cid) ([]byte, error) + ChainGetPath(ctx context.Context, from, to types.TipSetKey) ([]*api.HeadChange, error) } var _ ChainModuleAPI = *new(api.FullNode) @@ -105,6 +106,10 @@ func (m *ChainModule) ChainGetTipSet(ctx context.Context, key types.TipSetKey) ( return m.Chain.LoadTipSet(key) } +func (m *ChainModule) ChainGetPath(ctx context.Context, from, to types.TipSetKey) ([]*api.HeadChange, error) { + return m.Chain.GetPath(ctx, from, to) +} + func (m *ChainModule) ChainGetBlockMessages(ctx context.Context, msg cid.Cid) (*api.BlockMessages, error) { b, err := m.Chain.GetBlock(msg) if err != nil { From 008120747e96b5321ac96fc33a14ae930179a0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Mon, 4 Oct 2021 20:00:07 +0200 Subject: [PATCH 20/26] sealing: Recover sectors after failed AddPiece --- extern/storage-sealing/fsm.go | 8 +++++++- extern/storage-sealing/fsm_events.go | 4 ++++ extern/storage-sealing/input.go | 4 +--- extern/storage-sealing/sector_state.go | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/extern/storage-sealing/fsm.go b/extern/storage-sealing/fsm.go index 290aba53b..00e38694d 100644 --- a/extern/storage-sealing/fsm.go +++ b/extern/storage-sealing/fsm.go @@ -135,7 +135,11 @@ var fsmPlanners = map[SectorState]func(events []statemachine.Event, state *Secto // Sealing errors - AddPieceFailed: planOne(), + AddPieceFailed: planOne( + on(SectorRetryWaitDeals{}, WaitDeals), + apply(SectorStartPacking{}), + apply(SectorAddPiece{}), + ), SealPreCommit1Failed: planOne( on(SectorRetrySealPreCommit1{}, PreCommit1), ), @@ -400,6 +404,8 @@ func (m *Sealing) plan(events []statemachine.Event, state *SectorInfo) (func(sta return m.handleFinalizeSector, processed, nil // Handled failure modes + case AddPieceFailed: + return m.handleAddPieceFailed, processed, nil case SealPreCommit1Failed: return m.handleSealPrecommit1Failed, processed, nil case SealPreCommit2Failed: diff --git a/extern/storage-sealing/fsm_events.go b/extern/storage-sealing/fsm_events.go index 3dab6d403..650a81799 100644 --- a/extern/storage-sealing/fsm_events.go +++ b/extern/storage-sealing/fsm_events.go @@ -98,6 +98,10 @@ type SectorAddPieceFailed struct{ error } func (evt SectorAddPieceFailed) FormatError(xerrors.Printer) (next error) { return evt.error } func (evt SectorAddPieceFailed) apply(si *SectorInfo) {} +type SectorRetryWaitDeals struct{} + +func (evt SectorRetryWaitDeals) apply(si *SectorInfo) {} + type SectorStartPacking struct{} func (evt SectorStartPacking) apply(*SectorInfo) {} diff --git a/extern/storage-sealing/input.go b/extern/storage-sealing/input.go index 361907b27..b69cf8c19 100644 --- a/extern/storage-sealing/input.go +++ b/extern/storage-sealing/input.go @@ -245,9 +245,7 @@ func (m *Sealing) handleAddPiece(ctx statemachine.Context, sector SectorInfo) er } func (m *Sealing) handleAddPieceFailed(ctx statemachine.Context, sector SectorInfo) error { - log.Errorf("No recovery plan for AddPiece failing") - // todo: cleanup sector / just go retry (requires adding offset param to AddPiece in sector-storage for this to be safe) - return nil + return ctx.Send(SectorRetryWaitDeals{}) } func (m *Sealing) SectorAddPieceToAny(ctx context.Context, size abi.UnpaddedPieceSize, data storage.Data, deal api.PieceDealInfo) (api.SectorOffset, error) { diff --git a/extern/storage-sealing/sector_state.go b/extern/storage-sealing/sector_state.go index 34a0c6bbe..b606de5ae 100644 --- a/extern/storage-sealing/sector_state.go +++ b/extern/storage-sealing/sector_state.go @@ -108,7 +108,7 @@ const ( func toStatState(st SectorState, finEarly bool) statSectorState { switch st { - case UndefinedSectorState, Empty, WaitDeals, AddPiece: + case UndefinedSectorState, Empty, WaitDeals, AddPiece, AddPieceFailed: return sstStaging case Packing, GetTicket, PreCommit1, PreCommit2, PreCommitting, PreCommitWait, SubmitPreCommitBatch, PreCommitBatchWait, WaitSeed, Committing, CommitFinalize, FinalizeSector: return sstSealing From 02cef1353e66e5982cb26d9995d698de74d7a4ef Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Wed, 13 Oct 2021 22:48:40 -0400 Subject: [PATCH 21/26] update changelog --- CHANGELOG.md | 50 +++++++++++++++----------------------------------- 1 file changed, 15 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b1036e60..f106ccc70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Lotus changelog -# v1.13.0-rc3 / 2021-10-12 +# v1.13.0-rc3 / 2021-10-13 This is the third release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming [Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). @@ -36,33 +36,15 @@ This feature release includes latest functionality and improvements, like data t ## Bug Fixes - StateSearchMsg: Correct usage of the allowReplaced flag ([filecoin-project/lotus#7450](https://github.com/filecoin-project/lotus/pull/7450)) - fix staging area path buildup ([filecoin-project/lotus#7363](https://github.com/filecoin-project/lotus/pull/7363)) -- Randomness: Move getters from ChainAPI to StateAPI ([filecoin-project/lotus#7322](https://github.com/filecoin-project/lotus/pull/7322)) - storagemgr: Cleanup workerLk around worker resources ([filecoin-project/lotus#7334](https://github.com/filecoin-project/lotus/pull/7334)) - fix: check padSector Cid ([filecoin-project/lotus#7310](https://github.com/filecoin-project/lotus/pull/7310)) +- sealing: Recover sectors after failed AddPiece ([filecoin-project/lotus#7492](https://github.com/filecoin-project/lotus/pull/7492)) +- fix: support node instantiation in external packages ([filecoin-project/lotus#7511](https://github.com/filecoin-project/lotus/pull/7511)) ## Dependency Updates - github.com/filecoin-project/go-data-transfer (v1.10.1 -> v1.11.1): - github.com/filecoin-project/go-fil-markets (v1.12.0 -> v1.13.1): - github.com/filecoin-project/go-paramfetch (v0.0.2-0.20210614165157-25a6c7769498 -> v0.0.2): -- github.com/filecoin-project/specs-actors/v6-rc1: - - Better logging (#1503) ([filecoin-project/specs-actors#1503](https://github.com/filecoin-project/specs-actors/pull/1503)) - - Defensive programming: harden power actor against seal verify failures (#1502) ([filecoin-project/specs-actors#1502](https://github.com/filecoin-project/specs-actors/pull/1502)) - - BatchBalancer fee charged on precommit aggregate (#1497) ([filecoin-project/specs-actors#1497](https://github.com/filecoin-project/specs-actors/pull/1497)) - - Fix #1486 (#1489) ([filecoin-project/specs-actors#1489](https://github.com/filecoin-project/specs-actors/pull/1489)) - - Sector extension deal weight bug fix (#1498) ([filecoin-project/specs-actors#1498](https://github.com/filecoin-project/specs-actors/pull/1498)) - - Fip 0021 (#1487) ([filecoin-project/specs-actors#1487](https://github.com/filecoin-project/specs-actors/pull/1487)) - - Fix #176 (swap to xerrors from pkg/errors) (#1494) ([filecoin-project/specs-actors#1494](https://github.com/filecoin-project/specs-actors/pull/1494)) - - Merge branch 'master' of github.com:filecoin-project/specs-actors - - Merge branch 'fix-799' - - compute the hash of the proposal iff the proposal hash is present (#1365) ([filecoin-project/specs-actors#1365](https://github.com/filecoin-project/specs-actors/pull/1365)) - - Revert "Remove cc upgrade (#1473)" (#1475) ([filecoin-project/specs-actors#1475](https://github.com/filecoin-project/specs-actors/pull/1475)) - - Remove cc upgrade (#1473) ([filecoin-project/specs-actors#1473](https://github.com/filecoin-project/specs-actors/pull/1473)) - - Update to v6 (#1468) ([filecoin-project/specs-actors#1468](https://github.com/filecoin-project/specs-actors/pull/1468)) - - go state types version revert (#1467) ([filecoin-project/specs-actors#1467](https://github.com/filecoin-project/specs-actors/pull/1467)) - - Adjust code for subtle change in go-multihash 0.0.15 (#1463) ([filecoin-project/specs-actors#1463](https://github.com/filecoin-project/specs-actors/pull/1463)) - - Bump go state types (#1464) ([filecoin-project/specs-actors#1464](https://github.com/filecoin-project/specs-actors/pull/1464)) - - Create CODEOWNERS (#1465) ([filecoin-project/specs-actors#1465](https://github.com/filecoin-project/specs-actors/pull/1465)) - - Test deterministic offset (#1462) ([filecoin-project/specs-actors#1462](https://github.com/filecoin-project/specs-actors/pull/1462) - Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) ## Others @@ -77,28 +59,26 @@ This feature release includes latest functionality and improvements, like data t | Contributor | Commits | Lines ± | Files Changed | |-------------|---------|---------|---------------| -| ZenGround0 | 12 | +4202/-2752 | 187 | -| Aayush Rajasekaran | 28 | +5023/-1059 | 213 | -| c r | 4 | +1276/-435 | 37 | -| Claudia Richoux | 12 | +1350/-209 | 43 | -| Łukasz Magiera | 10 | +1214/-68 | 30 | | dirkmc | 8 | +845/-375 | 55 | +| Łukasz Magiera | 10 | +1056/-60 | 26 | | Aarsh Shah | 6 | +813/-259 | 16 | -| Peter Rabbitson | 5 | +498/-74 | 19 | +| Aayush Rajasekaran | 10 | +552/-251 | 43 | +| Peter Rabbitson | 6 | +505/-78 | 22 | +| Jennifer Wang | 6 | +197/-288 | 33 | | Anton Evangelatov | 10 | +335/-139 | 19 | | Mike Greenberg | 15 | +336/-67 | 26 | -| Jennifer Wang | 7 | +66/-206 | 26 | | Dirk McCormick | 8 | +149/-55 | 16 | -| Steven Allen | 2 | +115/-12 | 6 | -| hannahhoward | 3 | +53/-30 | 15 | -| Rod Vagg | 3 | +58/-10 | 7 | -| Jiaying Wang | 1 | +0/-56 | 1 | -| Travis Person | 3 | +33/-19 | 8 | +| hannahhoward | 4 | +56/-32 | 17 | +| Rod Vagg | 4 | +61/-13 | 9 | +| Jiaying Wang | 2 | +0/-57 | 2 | | Hannah Howard | 1 | +33/-18 | 7 | -| Jakub Sztandera | 3 | +22/-11 | 4 | +| Jakub Sztandera | 8 | +27/-16 | 9 | +| Cory Schwartz | 1 | +16/-2 | 2 | +| Travis Person | 1 | +14/-0 | 1 | +| frrist | 1 | +12/-0 | 2 | | ognots | 1 | +0/-10 | 2 | -| Steve Loeppky | 1 | +6/-0 | 1 | | Adrian Lanzafame | 1 | +3/-3 | 1 | +| jennijuju | 1 | +2/-2 | 1 | | swift-mx | 1 | +1/-1 | 1 | # v1.12.0 / 2021-10-12 From 76d009e4096d6ea2f622e2d6954266c0c528202e Mon Sep 17 00:00:00 2001 From: jennijuju Date: Mon, 18 Oct 2021 13:55:06 -0700 Subject: [PATCH 22/26] bump the version to v1.13.0 export SEND_GRID_USER_VERIFICATION_ID=d-cee69cd8d2e34c09b8454cb58cb18b69 --- build/openrpc/full.json.gz | Bin 25455 -> 25451 bytes build/openrpc/miner.json.gz | Bin 10424 -> 10421 bytes build/openrpc/worker.json.gz | Bin 2711 -> 2707 bytes build/version.go | 2 +- documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 7 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 2a89c6d4af43c2e18c2bc6f6c37f2f0f5c980c62..6586fe7b0fca9349a76e290eb9ed74599889dae6 100644 GIT binary patch literal 25451 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 Y?!C1oRI=~?F8~1l{}q{|fK~Ve0RHoUB>(^b literal 25455 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 YHFWy5#DBOD5dZ!uE?ng3KEpu#FSl@KaR2}S diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 7eb8c1df68c7216c2237e51ae6ef30ba34ee3896..1b227b5a5a30454a3cd54bb224fadf027f2b9be1 100644 GIT binary patch delta 10376 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 delta 10379 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 TJNaJ#00960-{vR+S$Y5f1(*a9 diff --git a/build/version.go b/build/version.go index 86743f913..ff0e84323 100644 --- a/build/version.go +++ b/build/version.go @@ -37,7 +37,7 @@ func BuildTypeString() string { } // BuildVersion is the local build version -const BuildVersion = "1.13.0-rc3" +const BuildVersion = "1.13.0" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 61422814d..8a4c6938f 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc3 + 1.13.0 COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index a7be8f600..505350ab5 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc3 + 1.13.0 COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index 57b5b50ca..fa6684feb 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.13.0-rc3 + 1.13.0 COMMANDS: daemon Start a lotus daemon process From c8a187e779ccad66cbceccd3b7fe9dfd68667891 Mon Sep 17 00:00:00 2001 From: jennijuju Date: Mon, 18 Oct 2021 18:13:14 -0700 Subject: [PATCH 23/26] update the changelog --- CHANGELOG.md | 68 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f106ccc70..d029cb08d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,29 @@ # Lotus changelog -# v1.13.0-rc3 / 2021-10-13 +# v1.13.0 / 2021-10-18 -This is the third release candidates for lotus v1.13.0, a recommended lotus release that supports the upcoming +Lotus v1.13.0 is a *highly recommended* feature release for all lotus users(i.e: storage providers, data brokers, application developers and so on) that supports the upcoming [Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). -This feature release includes latest functionality and improvements, like data transfer rate-limiting, rust-proof-ffi experimental CUDA support and so on. We *highly recommend* users like storage providers, data brokers, and so on to upgrade your nodes and all subsystems to this release! +This feature release includes the latest functionalities and improvements, like data transfer rate-limiting for both storage and retrieval deals, proof v10 with CUDA support, etc. You can find more details in the Changelogs below. ## Highlights - Enable separate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) + - `SimultaneousTransfer` is now replaced by `SimultaneousTransfersForStorage` and `SimultaneousTransfersForRetrieval`, where users may set the amount of ongoing data transfer for storage and retrieval deals in parallel separately. The default value for both is set to 20. + - If you are using the lotus client, these two configuration variables are under the `Client` session in `./lotus/config.toml`. + - If you are a service provider, these two configuration variables should be set under the `Dealmaking` section in `/.lotusminer/config.toml`. - Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) -- update to go-graphsync v0.10.1 + - This version supports CUDA. To enable CUDA instead of openCL, build lotus with `FFI_USE_CUDA=1 FFI_BUILD_FROM_SOURCE=1 ...`. + - You can find additional Nvidia driver installation instructions written by MinerX fellows [here](https://github.com/filecoin-project/lotus/discussions/7443#discussioncomment-1425274) and perf improvements result on PC2/C2/WindowPoSt computation on different profiles [here](https://github.com/filecoin-project/lotus/discussions/7443), most people observe a 30-50% decrease in computation time. ## New Features -- Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/6393)) +- Feat/datamodel selector retrieval ([filecoin-project/lotus#6393](https://github.com/filecoin-project/lotus/pull/66393393)) + - This introduces a new RetrievalOrder-struct field and a CLI option that takes a string representation as understood by [https://pkg.go.dev/github.com/ipld/go-ipld-selector-text-lite#SelectorSpecFromPath](https://pkg.go.dev/github.com/ipld/go-ipld-selector-text-lite#SelectorSpecFromPath). This allows for partial retrieval of any sub-DAG of a deal provided the user knows the exact low-level shape of the deal contents. + - For example, to retrieve the first entry of a UnixFS directory by executing, run `lotus client retrieve --miner f0XXXXX --datamodel-path-selector 'Links/0/Hash' bafyROOTCID ~/output` - Expose storage stats on the metrics endpoint ([filecoin-project/lotus#7418](https://github.com/filecoin-project/lotus/pull/7418)) - feat: Catch panic to generate report and reraise ([filecoin-project/lotus#7341](https://github.com/filecoin-project/lotus/pull/7341)) + - Set `LOTUS_PANIC_REPORT_PATH` and `LOTUS_PANIC_JOURNAL_LOOKBACK` to get reports generated when a panic occurs on your daemon miner or workers. - Add envconfig docs to the config ([filecoin-project/lotus#7412](https://github.com/filecoin-project/lotus/pull/7412)) + - You can now find supported env vars in [default-lotus-miner-config.toml](https://github.com/filecoin-project/lotus/blob/master/documentation/en/default-lotus-miner-config.toml). - lotus shed: fr32 utils ([filecoin-project/lotus#7355](https://github.com/filecoin-project/lotus/pull/7355)) - Miner CLI: Allow trying to change owners of any miner actor ([filecoin-project/lotus#7328](https://github.com/filecoin-project/lotus/pull/7328)) - Add --unproven flag to the sectors list command ([filecoin-project/lotus#7308](https://github.com/filecoin-project/lotus/pull/7308)) @@ -32,6 +40,7 @@ This feature release includes latest functionality and improvements, like data t - Prep retrieval for selectors: no functional changes ([filecoin-project/lotus#7306](https://github.com/filecoin-project/lotus/pull/7306)) - Seed: improve helptext ([filecoin-project/lotus#7304](https://github.com/filecoin-project/lotus/pull/7304)) - Mempool: reduce size of sigValCache ([filecoin-project/lotus#7305](https://github.com/filecoin-project/lotus/pull/7305)) + - Stop indirectly depending on deprecated github.com/prometheus/common ([filecoin-project/lotus#7474](https://github.com/filecoin-project/lotus/pull/7474)) ## Bug Fixes - StateSearchMsg: Correct usage of the allowReplaced flag ([filecoin-project/lotus#7450](https://github.com/filecoin-project/lotus/pull/7450)) @@ -40,12 +49,14 @@ This feature release includes latest functionality and improvements, like data t - fix: check padSector Cid ([filecoin-project/lotus#7310](https://github.com/filecoin-project/lotus/pull/7310)) - sealing: Recover sectors after failed AddPiece ([filecoin-project/lotus#7492](https://github.com/filecoin-project/lotus/pull/7492)) - fix: support node instantiation in external packages ([filecoin-project/lotus#7511](https://github.com/filecoin-project/lotus/pull/7511)) +- Chore/backport cleanup withdrawn dependency ([filecoin-project/lotus#7482](https://github.com/filecoin-project/lotus/pull/7482)) ## Dependency Updates - github.com/filecoin-project/go-data-transfer (v1.10.1 -> v1.11.1): - github.com/filecoin-project/go-fil-markets (v1.12.0 -> v1.13.1): - github.com/filecoin-project/go-paramfetch (v0.0.2-0.20210614165157-25a6c7769498 -> v0.0.2): -- Update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) +- update go-libp2p to v0.15.0 ([filecoin-project/lotus#7362](https://github.com/filecoin-project/lotus/pull/7362)) +- update to go-graphsync v0.10.1 ([filecoin-project/lotus#7359](https://github.com/filecoin-project/lotus/pull/7359)) ## Others - Chocolate to master ([filecoin-project/lotus#7440](https://github.com/filecoin-project/lotus/pull/7440)) @@ -53,33 +64,34 @@ This feature release includes latest functionality and improvements, like data t - remove nerpanet related code ([filecoin-project/lotus#7373](https://github.com/filecoin-project/lotus/pull/7373)) - sync branch main with master on updates ([filecoin-project/lotus#7366](https://github.com/filecoin-project/lotus/pull/7366)) - remove job to install jq ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7309)) -- restore filters for the build-macos job ([filecoin-project/lotus#7309](https://github.com/filecoin-project/lotus/pull/7455)) +- restore filters for the build-macos job ([filecoin-project/lotus#7455](https://github.com/filecoin-project/lotus/pull/7455)) +- v1.13.0-rc2 ([filecoin-project/lotus#7458](https://github.com/filecoin-project/lotus/pull/7458)) +- v1.13.0-rc1 ([filecoin-project/lotus#7452](https://github.com/filecoin-project/lotus/pull/7452)) ## Contributors | Contributor | Commits | Lines ± | Files Changed | |-------------|---------|---------|---------------| -| dirkmc | 8 | +845/-375 | 55 | -| Łukasz Magiera | 10 | +1056/-60 | 26 | -| Aarsh Shah | 6 | +813/-259 | 16 | -| Aayush Rajasekaran | 10 | +552/-251 | 43 | -| Peter Rabbitson | 6 | +505/-78 | 22 | -| Jennifer Wang | 6 | +197/-288 | 33 | -| Anton Evangelatov | 10 | +335/-139 | 19 | -| Mike Greenberg | 15 | +336/-67 | 26 | -| Dirk McCormick | 8 | +149/-55 | 16 | -| hannahhoward | 4 | +56/-32 | 17 | -| Rod Vagg | 4 | +61/-13 | 9 | -| Jiaying Wang | 2 | +0/-57 | 2 | -| Hannah Howard | 1 | +33/-18 | 7 | -| Jakub Sztandera | 8 | +27/-16 | 9 | -| Cory Schwartz | 1 | +16/-2 | 2 | -| Travis Person | 1 | +14/-0 | 1 | -| frrist | 1 | +12/-0 | 2 | -| ognots | 1 | +0/-10 | 2 | -| Adrian Lanzafame | 1 | +3/-3 | 1 | -| jennijuju | 1 | +2/-2 | 1 | -| swift-mx | 1 | +1/-1 | 1 | +| @dirkmc | 8 | +845/-375 | 55 | +| @magik6k | 10 | +1056/-60 | 26 | +| @aarshkshah1992 | 6 | +813/-259 | 16 | +| @arajasek | 10 | +552/-251 | 43 | +| @ribasushi | 6 | +505/-78 | 22 | +| @jennijuju | 7 | +212/-323 | 34 | +| @nonsense | 10 | +335/-139 | 19 | +| @dirkmc | 8 | +149/-55 | 16 | +| @hannahhoward | 4 | +56/-32 | 17 | +| @rvagg | 4 | +61/-13 | 9 | +| @jennijuju | 2 | +0/-57 | 2 | +| @hannahhoward | 1 | +33/-18 | 7 | +| @Kubuxu | 8 | +27/-16 | 9 | +| @coryschwartz | 1 | +16/-2 | 2 | +| @travisperson | 1 | +14/-0 | 1 | +| @frrist | 1 | +12/-0 | 2 | +| @ognots | 1 | +0/-10 | 2 | +| @lanzafame | 1 | +3/-3 | 1 | +| @jennijuju | 1 | +2/-2 | 1 | +| @swift-mx | 1 | +1/-1 | 1 | # v1.12.0 / 2021-10-12 From 44e092c07c94085f68ae55a65ae11d8e27458191 Mon Sep 17 00:00:00 2001 From: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Date: Mon, 18 Oct 2021 18:20:07 -0700 Subject: [PATCH 24/26] Update CHANGELOG.md Co-authored-by: Aayush Rajasekaran --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d029cb08d..bea9bbf26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ Lotus v1.13.0 is a *highly recommended* feature release for all lotus users(i.e: storage providers, data brokers, application developers and so on) that supports the upcoming [Network v14 Chocolate upgrade](https://github.com/filecoin-project/lotus/discussions/7431). -This feature release includes the latest functionalities and improvements, like data transfer rate-limiting for both storage and retrieval deals, proof v10 with CUDA support, etc. You can find more details in the Changelogs below. +This feature release includes the latest functionalities and improvements, like data transfer rate-limiting for both storage and retrieval deals, proof v10 with CUDA support, etc. You can find more details in the Changelog below. ## Highlights - Enable separate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) From 0e17b6c0664c0c6f21d3b8d8ee8c4ae8794bb177 Mon Sep 17 00:00:00 2001 From: Jiaying Wang <42981373+jennijuju@users.noreply.github.com> Date: Mon, 18 Oct 2021 18:20:13 -0700 Subject: [PATCH 25/26] Update CHANGELOG.md Co-authored-by: Aayush Rajasekaran --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bea9bbf26..0cb159a5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ This feature release includes the latest functionalities and improvements, like ## Highlights - Enable separate storage and retrieval transfer limits ([filecoin-project/lotus#7405](https://github.com/filecoin-project/lotus/pull/7405)) - `SimultaneousTransfer` is now replaced by `SimultaneousTransfersForStorage` and `SimultaneousTransfersForRetrieval`, where users may set the amount of ongoing data transfer for storage and retrieval deals in parallel separately. The default value for both is set to 20. - - If you are using the lotus client, these two configuration variables are under the `Client` session in `./lotus/config.toml`. + - If you are using the lotus client, these two configuration variables are under the `Client` section in `./lotus/config.toml`. - If you are a service provider, these two configuration variables should be set under the `Dealmaking` section in `/.lotusminer/config.toml`. - Update proofs to v10.0.0 ([filecoin-project/lotus#7420](https://github.com/filecoin-project/lotus/pull/7420)) - This version supports CUDA. To enable CUDA instead of openCL, build lotus with `FFI_USE_CUDA=1 FFI_BUILD_FROM_SOURCE=1 ...`. From 3f7b15b59845497faf4a3c43e405bdaebc92f3ea Mon Sep 17 00:00:00 2001 From: jennijuju Date: Wed, 20 Oct 2021 17:22:22 -0700 Subject: [PATCH 26/26] Resolve Conflicts --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5902ecd58..3bdb9b377 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,5 @@ # Lotus changelog -<<<<<<< HEAD -======= # v1.13.0 / 2021-10-18 Lotus v1.13.0 is a *highly recommended* feature release for all lotus users(i.e: storage providers, data brokers, application developers and so on) that supports the upcoming @@ -95,7 +93,6 @@ This feature release includes the latest functionalities and improvements, like | @jennijuju | 1 | +2/-2 | 1 | | @swift-mx | 1 | +1/-1 | 1 | ->>>>>>> releases # v1.12.0 / 2021-10-12 This is a mandatory release of Lotus that introduces [Filecoin Network v14](https://github.com/filecoin-project/community/discussions/74#discussioncomment-1398542), codenamed the Chocolate upgrade. The Filecoin mainnet will upgrade at epoch 1231620, on 2021-10-26T13:30:00Z. @@ -147,6 +144,9 @@ Note that this release is built on top of lotus v1.11.3. Enterprising users like - Extend FaultMaxAge to 6 weeks for actors v6 on test networks only ([filecoin-project/lotus#7421](https://github.com/filecoin-project/lotus/pull/7421)) ## Contributors + +| Contributor | Commits | Lines ± | Files Changed | +|-------------|---------|---------|---------------| | @ZenGround0 | 12 | +4202/-2752 | 187 | | @arajasek | 25 | +4567/-854 | 190 | | @laudiacay | 4 | +1276/-435 | 37 |