From a6ddd167c69bcf6e489cbc813edba9195de21ecc Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Thu, 2 Sep 2021 15:40:15 -0400 Subject: [PATCH 1/5] integrate the proof patch: tag proofs-v9-revert-deps-hotfix --- extern/filecoin-ffi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extern/filecoin-ffi b/extern/filecoin-ffi index 5de64e7c4..78366aeb8 160000 --- a/extern/filecoin-ffi +++ b/extern/filecoin-ffi @@ -1 +1 @@ -Subproject commit 5de64e7c45fa1b3b6becbbdb9f237bec3239545d +Subproject commit 78366aeb85796c0687a53107a6cd52da7bd8abd5 From 0853b99fcadbae9c76a3d66249c145661e7ccd5d Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Thu, 2 Sep 2021 17:43:54 -0400 Subject: [PATCH 2/5] bump the version --- build/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/version.go b/build/version.go index fceb287b6..2e03befb4 100644 --- a/build/version.go +++ b/build/version.go @@ -40,7 +40,7 @@ func buildType() string { } // BuildVersion is the local build version -const BuildVersion = "1.11.2-rc2" +const BuildVersion = "1.11.2" func UserVersion() string { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { From db34b828e46da30abd38932b6c697636fc621519 Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Mon, 6 Sep 2021 19:25:19 -0400 Subject: [PATCH 3/5] update changelog --- CHANGELOG.md | 270 ++++++++++++++++++++++++++------------------------- 1 file changed, 137 insertions(+), 133 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b4fbfca9..0bd1c6b13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,147 +1,151 @@ # Lotus changelog -# v1.11.2-rc2 / 2021-08-30 +# v1.11.2 / 2021-09-06 -This is the second release candidate for Lotus v1.11.2 release that includes a proof patch for v1.11.2-rc1. -lotus v1.11.2 introduces dagstore and many deal-making and market subsystem improvements and new features along with other bug fixes. More detailed changelog will be provided later. One of the most exciting new features we are introducing is **[Dagstore](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview)**: -- The dagstore is a component of the markets subsystem in lotus-miner. It is a sharded store to hold large IPLD graphs efficiently, packaged as location-transparent attachable CAR files and it replaces the former Badger staging blockstore. It is designed to provide high efficiency and throughput, and minimize resource utilization during deal-making operations. -- You can read more about dagstore's concepts, terminolog and so on [here](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview). -- **Note**:**When you first start your lotus-miner or market subsystem with this release, a one-time/first-time dagstore migration will be triggered**. Read this [section](https://docs.filecoin.io/mine/lotus/dagstore/#first-time-migration) to learn what the process does, what to expect and how monitor it. - - That being said, few things to note: - - it is highly recommended to **wait all ongoing data transfer to finish or cancel inbound storage deals that are still transferring**, using the `lotus-miner data-transfers cancel` command before upgrade your market nodes. Reason being that the new dagstore changes attributes in the internal deal state objects, and the paths to the staging CARs where the deal data was being placed will be lost. - - Rollback Alert(from v1.11.2-rcX to any version lower): If a storage deal is initiated with M1/v1.11.2 release, it needs to get to the `StorageDealAwaitingPrecommit` state before the you can do a version rollback or the markets process may panic. +lotus v1.11.2 is a feature release that's **highly recommend ALL lotus users to upgrade**, including node operators, +storage providers and clients. -## Changelog -- github.com/filecoin-project/lotus: - - bump the version - - update ffi to b4e4271db8f6e961934cd6ffff44fda3c610b9c0 per #7207 - - upgrade go-data-transfer; propagate deal cancellations. - - Fix typos - - Apply suggestions from code review - - Update CHANGELOG.md - - fix docsgen - - lotus v1.11.2-rc prep - - Update markets, dt and graphsync ([filecoin-project/lotus#7160](https://github.com/filecoin-project/lotus/pull/7160)) - - sealing: Fix RecoverDealIDs loop with changed PieceCID ([filecoin-project/lotus#7117](https://github.com/filecoin-project/lotus/pull/7117)) - - api/command for encoding actor params ([filecoin-project/lotus#7150](https://github.com/filecoin-project/lotus/pull/7150)) - - Fix nits and see if codecov works now with auto ([filecoin-project/lotus#7151](https://github.com/filecoin-project/lotus/pull/7151)) - - Codecov Projects ([filecoin-project/lotus#7147](https://github.com/filecoin-project/lotus/pull/7147)) - - shed: Support raw encoding in cid id ([filecoin-project/lotus#7149](https://github.com/filecoin-project/lotus/pull/7149)) - - rpcenc: Support reader redirect ([filecoin-project/lotus#6952](https://github.com/filecoin-project/lotus/pull/6952)) - - Fix error handling in SectorAddPieceToAny api impl ([filecoin-project/lotus#7135](https://github.com/filecoin-project/lotus/pull/7135)) - - add rice box to required binaries ([filecoin-project/lotus#7125](https://github.com/filecoin-project/lotus/pull/7125)) - - remove m1 templates and make area selection multi-optionable ([filecoin-project/lotus#7121](https://github.com/filecoin-project/lotus/pull/7121)) - - upgrade upstream dependencies. ([filecoin-project/lotus#7115](https://github.com/filecoin-project/lotus/pull/7115)) - - Remove replace directive for multihash dep (#7113) ([filecoin-project/lotus#7113](https://github.com/filecoin-project/lotus/pull/7113)) - - Update to latest FFI ([filecoin-project/lotus#7110](https://github.com/filecoin-project/lotus/pull/7110)) - - release -> master ([filecoin-project/lotus#7105](https://github.com/filecoin-project/lotus/pull/7105)) - - fix(miner): always create miner deal staging directory (#7098) ([filecoin-project/lotus#7098](https://github.com/filecoin-project/lotus/pull/7098)) - - integrate DAG store and CARv2 in deal-making (#6671) ([filecoin-project/lotus#6671](https://github.com/filecoin-project/lotus/pull/6671)) - - fix build after merging #6097. (#7096) ([filecoin-project/lotus#7096](https://github.com/filecoin-project/lotus/pull/7096)) - - feat(miner deals): create subdir to miner repo for staged deals ([filecoin-project/lotus#6853](https://github.com/filecoin-project/lotus/pull/6853)) - - Extending sectors: more practical and flexible tools ([filecoin-project/lotus#6097](https://github.com/filecoin-project/lotus/pull/6097)) - - ([filecoin-project/lotus#7088](https://github.com/filecoin-project/lotus/pull/7088)) - - Lotus release process - how we make releases ([filecoin-project/lotus#6944](https://github.com/filecoin-project/lotus/pull/6944)) - - Strict major minor version checking on v0 and v1 apis ([filecoin-project/lotus#7038](https://github.com/filecoin-project/lotus/pull/7038)) - - ([filecoin-project/lotus#7042](https://github.com/filecoin-project/lotus/pull/7042)) - - Test with latest actors version ([filecoin-project/lotus#6998](https://github.com/filecoin-project/lotus/pull/6998)) - - codecov: fix mock name ([filecoin-project/lotus#7039](https://github.com/filecoin-project/lotus/pull/7039)) - - codecov: fix regexes ([filecoin-project/lotus#7037](https://github.com/filecoin-project/lotus/pull/7037)) - - Magically increase code coverage ([filecoin-project/lotus#7036](https://github.com/filecoin-project/lotus/pull/7036)) - - fix: don't check for t_aux when proving ([filecoin-project/lotus#7011](https://github.com/filecoin-project/lotus/pull/7011)) - - Support --actor in miner actor control list ([filecoin-project/lotus#7027](https://github.com/filecoin-project/lotus/pull/7027)) - - PreCommitPolicy: Don't try to align expirations on proving period boundaries ([filecoin-project/lotus#7018](https://github.com/filecoin-project/lotus/pull/7018)) - - revert pricelist by version to pricelist by epoch ([filecoin-project/lotus#7022](https://github.com/filecoin-project/lotus/pull/7022)) - - Shed: Include network name in genesis-verify ([filecoin-project/lotus#7019](https://github.com/filecoin-project/lotus/pull/7019)) - - Dont panic if input is bad ([filecoin-project/lotus#7007](https://github.com/filecoin-project/lotus/pull/7007)) - - Reduce splitstore memory usage during chain walks ([filecoin-project/lotus#6949](https://github.com/filecoin-project/lotus/pull/6949)) - - fix: vet actors shims ([filecoin-project/lotus#6999](https://github.com/filecoin-project/lotus/pull/6999)) - - fix: more logging in maybeStartBatch error ([filecoin-project/lotus#6996](https://github.com/filecoin-project/lotus/pull/6996)) - - fix flaky TestDealPublisher and re-enable ([filecoin-project/lotus#6991](https://github.com/filecoin-project/lotus/pull/6991)) - - feat: add ChainGetTipSetAfterHeight ([filecoin-project/lotus#6990](https://github.com/filecoin-project/lotus/pull/6990)) - - Remove forgotten non-functioning config from the pre-mainnet days ([filecoin-project/lotus#6970](https://github.com/filecoin-project/lotus/pull/6970)) - - lotus-shed splitstore clear command ([filecoin-project/lotus#6967](https://github.com/filecoin-project/lotus/pull/6967)) - - add explicit error msg if repo dir does not exist ([filecoin-project/lotus#6909](https://github.com/filecoin-project/lotus/pull/6909)) - - update go-libp2p-pubsub to v0.5.4 ([filecoin-project/lotus#6958](https://github.com/filecoin-project/lotus/pull/6958)) - - chore: disable flaky test ([filecoin-project/lotus#6957](https://github.com/filecoin-project/lotus/pull/6957)) - - Test/pledge batching msg prop ([filecoin-project/lotus#6537](https://github.com/filecoin-project/lotus/pull/6537)) - - set buildtype in nerpa and butterfly ([filecoin-project/lotus#6085](https://github.com/filecoin-project/lotus/pull/6085)) - - reasonable max value for initial sector expiration ([filecoin-project/lotus#6099](https://github.com/filecoin-project/lotus/pull/6099)) - - fix skipCount ([filecoin-project/lotus#6940](https://github.com/filecoin-project/lotus/pull/6940)) - - fix bug in MpoolPending message exclusion ([filecoin-project/lotus#6945](https://github.com/filecoin-project/lotus/pull/6945)) - - Improve formatting of workers CLI ([filecoin-project/lotus#6942](https://github.com/filecoin-project/lotus/pull/6942)) - - support MARKETS_API_INFO env var, and markets-repo, markets-api-url CLI flags. ([filecoin-project/lotus#6936](https://github.com/filecoin-project/lotus/pull/6936)) - - Update state machine deps for logging ([filecoin-project/lotus#6941](https://github.com/filecoin-project/lotus/pull/6941)) - - Update deps for more logging in data transfer and markets ([filecoin-project/lotus#6937](https://github.com/filecoin-project/lotus/pull/6937)) - - release v1.11.1 backport -> master ([filecoin-project/lotus#6929](https://github.com/filecoin-project/lotus/pull/6929)) - - make: set default GOCC earlier ([filecoin-project/lotus#6932](https://github.com/filecoin-project/lotus/pull/6932)) - - Moving GC Followup ([filecoin-project/lotus#6905](https://github.com/filecoin-project/lotus/pull/6905)) - - PR #5109 + suggested fix ([filecoin-project/lotus#6927](https://github.com/filecoin-project/lotus/pull/6927)) - - Log more call context during errors ([filecoin-project/lotus#6918](https://github.com/filecoin-project/lotus/pull/6918)) - - make: fix version check when using gotip ([filecoin-project/lotus#6916](https://github.com/filecoin-project/lotus/pull/6916)) - - polish(errors): better state tree errors ([filecoin-project/lotus#6923](https://github.com/filecoin-project/lotus/pull/6923)) - - Update to branches with improved logging ([filecoin-project/lotus#6919](https://github.com/filecoin-project/lotus/pull/6919)) - - adding an RuntimeSubsystems API to storage miner; fix `lotus-miner info` ([filecoin-project/lotus#6906](https://github.com/filecoin-project/lotus/pull/6906)) - - fix ticket check ([filecoin-project/lotus#6882](https://github.com/filecoin-project/lotus/pull/6882)) - - update go-libp2p-pubsub to v0.5.3 ([filecoin-project/lotus#6907](https://github.com/filecoin-project/lotus/pull/6907)) - - Configurable CC Sector Expiration ([filecoin-project/lotus#6803](https://github.com/filecoin-project/lotus/pull/6803)) - - Drop townhall/chainwatch ([filecoin-project/lotus#6912](https://github.com/filecoin-project/lotus/pull/6912)) - - make: Allow setting Go compiler with GOCC ([filecoin-project/lotus#6911](https://github.com/filecoin-project/lotus/pull/6911)) - - chore: fixup issue templates ([filecoin-project/lotus#6899](https://github.com/filecoin-project/lotus/pull/6899)) - - bump master version to v1.11.2-dev ([filecoin-project/lotus#6903](https://github.com/filecoin-project/lotus/pull/6903)) - - releases -> master for v1.11.0 ([filecoin-project/lotus#6894](https://github.com/filecoin-project/lotus/pull/6894)) - - Reduce entropy in the chain package ([filecoin-project/lotus#6889](https://github.com/filecoin-project/lotus/pull/6889)) +## Highlights +- ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ Introduce Dagstore and CARv2 for deal-making (#6671) ([filecoin-project/lotus#6671](https://github. + com/filecoin-project/lotus/pull/6671)) + - **[lotus miner markets' Dagstore](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview)** is a + component of the `markets` subsystem in lotus-miner. It is a sharded store to hold large IPLD graphs efficiently, + packaged as location-transparent attachable CAR files and it replaces the former Badger staging blockstore. It + is designed to provide high efficiency and throughput, and minimize resource utilization during deal-making operations. + The dagstore also leverages the indexing features of [CARv2](https://github.com/ipld/ipld/blob/master/specs/transport/car/carv2/index.md) to enable plan CAR files to act as read and write + blockstores, which are served as the direct medium for data exchanges in markets for both storage and retrieval + deal making without requiring intermediate buffers. + - In the future, lotus will leverage and interact with Dagstore a lot for new features and improvements for deal + making, therefore, it's highly recommended to lotus users to go through [Lotus Miner: About the markets dagstore](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview) thoroughly to learn more about Dagstore's + conceptual overview, terminology, directory structure, configuration and so on. + - **Note**: + - When you first start your lotus-miner or market subsystem with this release, a one-time/first-time **dagstore + migration** will be triggered which replaces the former Badger staging blockstore with dagstore. We highly + recommend storage providers to read this [section](https://docs.filecoin. io/mine/lotus/dagstore/#first-time-migration) to learn more about + what the process does, what to expect and how monitor it. + - It is highly recommended to **wait all ongoing data transfer to finish or cancel inbound storage deals that + are still transferring**, using the `lotus-miner data-transfers cancel` command before upgrade your market nodes. Reason being that the new dagstore changes attributes in the internal deal state objects, and the paths to the staging CARs where the deal data was being placed will be lost. + - โฎ Rollback Alert(from v1.11.2-rcX to any version lower): If a storages deal is initiated with M1/v1.11.2(-rcX) + release, it needs to get to the `StorageDealAwaitingPrecommit` state before you can do a version rollback or the markets process may panic. + - ๐Ÿ’™ **Special thanks to [MinerX fellows for testing and providing valuable feedbacks](https://github.com/filecoin-project/lotus/discussions/6852) for Dagstore in the past month!** +- ๐ŸŒŸ๐ŸŒŸ rpcenc: Support reader redirect ([filecoin-project/lotus#6952](https://github.com/filecoin-project/lotus/pull/6952)) + - This allows market processes to send piece bytes directly to workers involved on `AddPiece`. +- Extending sectors: more practical and flexible tools ([filecoin-project/lotus#6097](https://github.com/filecoin-project/lotus/pull/6097)) + - `lotus-miner sectors check-expire` to inspect expiring sectors. + - `lotus-miner sectors renew` for renewing expiring sectors, see the command help menu for customizable option + like `extension`, `new-expiration` and so on. +- โ€ผ๏ธ MpoolReplaceCmd ( lotus mpool replace`) now takes FIL for fee-limit ([filecoin-project/lotus#6927](https://github.com/filecoin-project/lotus/pull/6927)) +- Drop townhall/chainwatch ([filecoin-project/lotus#6912](https://github.com/filecoin-project/lotus/pull/6912)) + - ChainWatch is no longer supported by lotus. +- Configurable CC Sector Expiration ([filecoin-project/lotus#6803](https://github.com/filecoin-project/lotus/pull/6803)) + - Set `CommittedCapacitySectorLifetime` in lotus-miner/config.toml to specify the default expiration for a new CC + sector, value must be between 180-540 days inclusive. + +## New Features +- api/command for encoding actor params ([filecoin-project/lotus#7150](https://github.com/filecoin-project/lotus/pull/7150)) +- shed: Support raw encoding in cid id ([filecoin-project/lotus#7149](https://github.com/filecoin-project/lotus/pull/7149)) +- feat(miner deals): create subdir to miner repo for staged deals ([filecoin-project/lotus#6853](https://github.com/filecoin-project/lotus/pull/6853)) +- Support --actor in miner actor control list ([filecoin-project/lotus#7027](https://github.com/filecoin-project/lotus/pull/7027)) +- Shed: Include network name in genesis-verify ([filecoin-project/lotus#7019](https://github.com/filecoin-project/lotus/pull/7019)) +- feat: add ChainGetTipSetAfterHeight ([filecoin-project/lotus#6990](https://github.com/filecoin-project/lotus/pull/6990)) +- lotus-shed splitstore clear command ([filecoin-project/lotus#6967](https://github.com/filecoin-project/lotus/pull/6967)) + +## Improvements +- improve get api error messages ([filecoin-project/lotus#7088](https://github.com/filecoin-project/lotus/pull/7088)) +- Strict major minor version checking on v0 and v1 apis ([filecoin-project/lotus#7038](https://github.com/filecoin-project/lotus/pull/7038)) +- make lotus-miner net commands hit markets subsystem. ([filecoin-project/lotus#7042](https://github.com/filecoin-project/lotus/pull/7042)) +- Test with latest actors version ([filecoin-project/lotus#6998](https://github.com/filecoin-project/lotus/pull/6998)) +- Reduce splitstore memory usage during chain walks ([filecoin-project/lotus#6949](https://github.com/filecoin-project/lotus/pull/6949)) +- Remove forgotten non-functioning config from the pre-mainnet days ([filecoin-project/lotus#6970](https://github.com/filecoin-project/lotus/pull/6970)) +- add explicit error msg if repo dir does not exist ([filecoin-project/lotus#6909](https://github.com/filecoin-project/lotus/pull/6909)) +- Test/pledge batching msg prop ([filecoin-project/lotus#6537](https://github.com/filecoin-project/lotus/pull/6537)) +- reasonable max value for initial sector expiration ([filecoin-project/lotus#6099](https://github.com/filecoin-project/lotus/pull/6099)) +- support MARKETS_API_INFO env var, and markets-repo, markets-api-url CLI flags. ([filecoin-project/lotus#6936](https://github.com/filecoin-project/lotus/pull/6936)) +- Improve formatting of workers CLI ([filecoin-project/lotus#6942](https://github.com/filecoin-project/lotus/pull/6942)) +- make: set default GOCC earlier ([filecoin-project/lotus#6932](https://github.com/filecoin-project/lotus/pull/6932)) +- Moving GC Followup ([filecoin-project/lotus#6905](https://github.com/filecoin-project/lotus/pull/6905)) +- Log more call context during errors ([filecoin-project/lotus#6918](https://github.com/filecoin-project/lotus/pull/6918)) +- polish(errors): better state tree errors ([filecoin-project/lotus#6923](https://github.com/filecoin-project/lotus/pull/6923)) +- adding an RuntimeSubsystems API to storage miner; fix `lotus-miner info` ([filecoin-project/lotus#6906](https://github.com/filecoin-project/lotus/pull/6906)) +- Reduce entropy in the chain package ([filecoin-project/lotus#6889](https://github.com/filecoin-project/lotus/pull/6889)) +- make: Allow setting Go compiler with GOCC ([filecoin-project/lotus#6911](https://github.com/filecoin-project/lotus/pull/6911)) + +## Bug Fixes +- sealing: Fix RecoverDealIDs loop with changed PieceCID ([filecoin-project/lotus#7117](https://github.com/filecoin-project/lotus/pull/7117)) +- Fix error handling in SectorAddPieceToAny api impl ([filecoin-project/lotus#7135](https://github.com/filecoin-project/lotus/pull/7135)) +- add rice box to required binaries ([filecoin-project/lotus#7125](https://github.com/filecoin-project/lotus/pull/7125)) +- fix(miner): always create miner deal staging directory (#7098) ([filecoin-project/lotus#7098](https://github.com/filecoin-project/lotus/pull/7098)) +- fix build after merging #6097. (#7096) ([filecoin-project/lotus#7096](https://github.com/filecoin-project/lotus/pull/7096)) +- fix: don't check for t_aux when proving ([filecoin-project/lotus#7011](https://github.com/filecoin-project/lotus/pull/7011)) +- fix: vet actors shims ([filecoin-project/lotus#6999](https://github.com/filecoin-project/lotus/pull/6999)) +- fix: more logging in maybeStartBatch error ([filecoin-project/lotus#6996](https://github.com/filecoin-project/lotus/pull/6996)) +- fix flaky TestDealPublisher and re-enable ([filecoin-project/lotus#6991](https://github.com/filecoin-project/lotus/pull/6991)) +- fix skipCount ([filecoin-project/lotus#6940](https://github.com/filecoin-project/lotus/pull/6940)) +- fix bug in MpoolPending message exclusion ([filecoin-project/lotus#6945](https://github.com/filecoin-project/lotus/pull/6945)) +- PreCommitPolicy: Don't try to align expirations on proving period boundaries ([filecoin-project/lotus#7018](https://github.com/filecoin-project/lotus/pull/7018)) +- make: fix version check when using gotip ([filecoin-project/lotus#6916](https://github.com/filecoin-project/lotus/pull/6916)) +- fix ticket check ([filecoin-project/lotus#6882](https://github.com/filecoin-project/lotus/pull/6882)) + +## Dependency Updates - github.com/filecoin-project/go-data-transfer (v1.7.2 -> v1.7.8): - - send cancel async (#245) ([filecoin-project/go-data-transfer#245](https://github.com/filecoin-project/go-data-transfer/pull/245)) - - release: v1.7.7 ([filecoin-project/go-data-transfer#242](https://github.com/filecoin-project/go-data-transfer/pull/242)) - - reduce channel monitor log verbosity (#241) ([filecoin-project/go-data-transfer#241](https://github.com/filecoin-project/go-data-transfer/pull/241)) - - release: v1.7.6 ([filecoin-project/go-data-transfer#239](https://github.com/filecoin-project/go-data-transfer/pull/239)) - - feat: improve graphsync transport logging (#238) ([filecoin-project/go-data-transfer#238](https://github.com/filecoin-project/go-data-transfer/pull/238)) - - Log completion message flow (#236) ([filecoin-project/go-data-transfer#236](https://github.com/filecoin-project/go-data-transfer/pull/236)) - - Handle data-sent and data-queued events in the TransferFinished state (#233) ([filecoin-project/go-data-transfer#233](https://github.com/filecoin-project/go-data-transfer/pull/233)) - - Log closing of completion channel (#232) ([filecoin-project/go-data-transfer#232](https://github.com/filecoin-project/go-data-transfer/pull/232)) - - fix log statement. (#230) ([filecoin-project/go-data-transfer#230](https://github.com/filecoin-project/go-data-transfer/pull/230)) - - Simplify graphsync cancel (#229) ([filecoin-project/go-data-transfer#229](https://github.com/filecoin-project/go-data-transfer/pull/229)) - github.com/filecoin-project/go-fil-markets (v1.6.2 -> v1.8.1): - - Update data-transfer and graphsync (#611) ([filecoin-project/go-fil-markets#611](https://github.com/filecoin-project/go-fil-markets/pull/611)) - - close file descriptors + log piece handoff to sealing subsystem (#609) ([filecoin-project/go-fil-markets#609](https://github.com/filecoin-project/go-fil-markets/pull/609)) - - release: v1.8.0. (#605) ([filecoin-project/go-fil-markets#605](https://github.com/filecoin-project/go-fil-markets/pull/605)) - - Revert "refactor: pass deal proposal instead of deal ID to OnDealExpiredOrSlashed (#476)" (#604) ([filecoin-project/go-fil-markets#604](https://github.com/filecoin-project/go-fil-markets/pull/604)) - - migrate to DAG store + CARv2 blockstores for storage and retrieval (#576) ([filecoin-project/go-fil-markets#576](https://github.com/filecoin-project/go-fil-markets/pull/576)) - - release: 1.7.0 (#597) ([filecoin-project/go-fil-markets#597](https://github.com/filecoin-project/go-fil-markets/pull/597)) - - refactor: pass deal proposal instead of deal ID to OnDealExpiredOrSlashed (#476) ([filecoin-project/go-fil-markets#476](https://github.com/filecoin-project/go-fil-markets/pull/476)) +- update go-libp2p-pubsub to v0.5.4 ([filecoin-project/lotus#6958](https://github.com/filecoin-project/lotus/pull/6958)) +- integrate the proof patch: tag proofs-v9-revert-deps-hotfix +- Update markets, dt and graphsync ([filecoin-project/lotus#7160](https://github.com/filecoin-project/lotus/pull/7160)) +- Remove replace directive for multihash dep (#7113) ([filecoin-project/lotus#7113](https://github.com/filecoin-project/lotus/pull/7113)) +- upgrade upstream dependencies. ([filecoin-project/lotus#7115](https://github.com/filecoin-project/lotus/pull/7115)) +- Update to latest FFI ([filecoin-project/lotus#7110](https://github.com/filecoin-project/lotus/pull/7110)) +- Update state machine deps for logging ([filecoin-project/lotus#6941](https://github.com/filecoin-project/lotus/pull/6941)) +- Update deps for more logging in data transfer and markets ([filecoin-project/lotus#6937](https://github.com/filecoin-project/lotus/pull/6937)) +- Update to branches with improved logging ([filecoin-project/lotus#6919](https://github.com/filecoin-project/lotus/pull/6919)) +- update go-libp2p-pubsub to v0.5.3 ([filecoin-project/lotus#6907](https://github.com/filecoin-project/lotus/pull/6907)) + +## Others +- Fix nits and see if codecov works now with auto ([filecoin-project/lotus#7151](https://github.com/filecoin-project/lotus/pull/7151)) +- Codecov Projects ([filecoin-project/lotus#7147](https://github.com/filecoin-project/lotus/pull/7147)) +- remove m1 templates and make area selection multi-optionable ([filecoin-project/lotus#7121](https://github.com/filecoin-project/lotus/pull/7121)) +- release -> master ([filecoin-project/lotus#7105](https://github.com/filecoin-project/lotus/pull/7105)) +- Lotus release process - how we make releases ([filecoin-project/lotus#6944](https://github.com/filecoin-project/lotus/pull/6944)) +- codecov: fix mock name ([filecoin-project/lotus#7039](https://github.com/filecoin-project/lotus/pull/7039)) +- codecov: fix regexes ([filecoin-project/lotus#7037](https://github.com/filecoin-project/lotus/pull/7037)) +- chore: disable flaky test ([filecoin-project/lotus#6957](https://github.com/filecoin-project/lotus/pull/6957)) +- set buildtype in nerpa and butterfly ([filecoin-project/lotus#6085](https://github.com/filecoin-project/lotus/pull/6085)) +- release v1.11.1 backport -> master ([filecoin-project/lotus#6929](https://github.com/filecoin-project/lotus/pull/6929)) +- chore: fixup issue templates ([filecoin-project/lotus#6899](https://github.com/filecoin-project/lotus/pull/6899)) +- bump master version to v1.11.2-dev ([filecoin-project/lotus#6903](https://github.com/filecoin-project/lotus/pull/6903)) +- releases -> master for v1.11.0 ([filecoin-project/lotus#6894](https://github.com/filecoin-project/lotus/pull/6894)) + Contributors | Contributor | Commits | Lines ยฑ | Files Changed | |-------------|---------|---------|---------------| -| ลukasz Magiera | 23 | +5040/-8389 | 114 | -| Aarsh Shah | 11 | +4859/-1078 | 101 | -| raulk | 5 | +4170/-1662 | 104 | -| vyzo | 30 | +1092/-702 | 49 | -| Anton Evangelatov | 6 | +630/-472 | 19 | -| ZenGround0 | 31 | +556/-274 | 74 | -| He Weidong | 16 | +680/-128 | 16 | -| Raรบl Kripalani | 16 | +444/-277 | 49 | -| Steven Allen | 11 | +403/-259 | 48 | -| Jennifer Wang | 11 | +231/-257 | 31 | -| dirkmc | 5 | +204/-138 | 20 | -| Mike Greenberg | 7 | +178/-77 | 17 | -| Dragan Z | 1 | +138/-0 | 1 | -| Frrist | 1 | +63/-56 | 2 | -| Aayush Rajasekaran | 7 | +74/-42 | 13 | -| frrist | 2 | +67/-6 | 6 | -| hannahhoward | 2 | +13/-11 | 3 | -| Cory Schwartz | 1 | +16/-6 | 3 | -| whyrusleeping | 1 | +7/-7 | 1 | -| hunjixin | 1 | +8/-6 | 1 | -| aarshkshah1992 | 1 | +6/-6 | 2 | -| Dirk McCormick | 2 | +8/-0 | 2 | -| mx | 2 | +6/-1 | 2 | -| Travis Person | 1 | +3/-2 | 1 | -| Jiaying Wang | 2 | +2/-2 | 2 | -| Peter Rabbitson | 1 | +1/-2 | 2 | - +| @magik6k | 23 | +5040/-8389 | 114 | +| @aarshkshah1992 | 11 | +4859/-1078 | 101 | +| @raulk | 5 | +4170/-1662 | 104 | +| @vyzo | 30 | +1092/-702 | 49 | +| @nonsense | 6 | +630/-472 | 19 | +| @ZenGround0 | 31 | +556/-274 | 74 | +| @He Weidong | 16 | +680/-128 | 16 | +| @raulk | 16 | +444/-277 | 49 | +| @Stebalien | 11 | +403/-259 | 48 | +| @jennijuju| 17 | +276/-281 | 42 | +| @dirkmc | 5 | +204/-138 | 20 | +| @placer14 | 7 | +178/-77 | 17 | +| @BlocksOnAChain | 1 | +138/-0 | 1 | +| @Frrist | 1 | +63/-56 | 2 | +| @arajasek | 7 | +74/-42 | 13 | +| @frrist | 2 | +67/-6 | 6 | +| @hannahhoward | 2 | +13/-11 | 3 | +| @coryschwartz | 1 | +16/-6 | 3 | +| @whyrusleeping | 1 | +7/-7 | 1 | +| @hunjixin | 1 | +8/-6 | 1 | +| @aarshkshah1992 | 1 | +6/-6 | 2 | +| @dirkmc | 2 | +8/-0 | 2 | +| @mx | 2 | +6/-1 | 2 | +| @travisperson | 1 | +3/-2 | 1 | +| @jennijuju | 2 | +2/-2 | 2 | +| @ribasushi | 1 | +1/-2 | 2 | # 1.11.1 / 2021-08-16 From f7b90cb5c1ffe1fdc3547e0a2db35a163fb57c2a Mon Sep 17 00:00:00 2001 From: Jennifer Wang Date: Mon, 6 Sep 2021 19:36:10 -0400 Subject: [PATCH 4/5] docsgen --- build/openrpc/full.json.gz | Bin 25412 -> 25409 bytes build/openrpc/miner.json.gz | Bin 10375 -> 10372 bytes build/openrpc/worker.json.gz | Bin 2711 -> 2708 bytes documentation/en/cli-lotus-miner.md | 2 +- documentation/en/cli-lotus-worker.md | 2 +- documentation/en/cli-lotus.md | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 4ef30c549cc22e32122b166ff30dad60b8277b84..66813c3f1d106c39b3b61faefda98882300a0b72 100644 GIT binary patch literal 25409 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 delta 10330 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 diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 17b5b1c187760f0c2819278f62ad69b46c1a4dea..a71f29c26ae04ee05681f1af01a37ecb71c7d079 100644 GIT binary patch delta 2606 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 Date: Mon, 6 Sep 2021 19:50:59 -0400 Subject: [PATCH 5/5] add dag bulk initialization note in changelog --- CHANGELOG.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bd1c6b13..72584e87a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,11 @@ # v1.11.2 / 2021-09-06 -lotus v1.11.2 is a feature release that's **highly recommend ALL lotus users to upgrade**, including node operators, +lotus v1.11.2 is a feature release that's **highly recommended ALL lotus users to upgrade**, including node operators, storage providers and clients. ## Highlights -- ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ Introduce Dagstore and CARv2 for deal-making (#6671) ([filecoin-project/lotus#6671](https://github. - com/filecoin-project/lotus/pull/6671)) +- ๐ŸŒŸ๐ŸŒŸ๐ŸŒŸ Introduce Dagstore and CARv2 for deal-making (#6671) ([filecoin-project/lotus#6671](https://github.com/filecoin-project/lotus/pull/6671)) - **[lotus miner markets' Dagstore](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview)** is a component of the `markets` subsystem in lotus-miner. It is a sharded store to hold large IPLD graphs efficiently, packaged as location-transparent attachable CAR files and it replaces the former Badger staging blockstore. It @@ -19,12 +18,15 @@ storage providers and clients. making, therefore, it's highly recommended to lotus users to go through [Lotus Miner: About the markets dagstore](https://docs.filecoin.io/mine/lotus/dagstore/#conceptual-overview) thoroughly to learn more about Dagstore's conceptual overview, terminology, directory structure, configuration and so on. - **Note**: - - When you first start your lotus-miner or market subsystem with this release, a one-time/first-time **dagstore - migration** will be triggered which replaces the former Badger staging blockstore with dagstore. We highly - recommend storage providers to read this [section](https://docs.filecoin. io/mine/lotus/dagstore/#first-time-migration) to learn more about + - When you first start your lotus-miner or market subsystem with this release, a one-time/first-time **dagstore migration** will be triggered which replaces the former Badger staging blockstore with dagstore. We highly + recommend storage providers to read this [section](https://docs.filecoin.io/mine/lotus/dagstore/#first-time-migration) to learn more about what the process does, what to expect and how monitor it. - It is highly recommended to **wait all ongoing data transfer to finish or cancel inbound storage deals that are still transferring**, using the `lotus-miner data-transfers cancel` command before upgrade your market nodes. Reason being that the new dagstore changes attributes in the internal deal state objects, and the paths to the staging CARs where the deal data was being placed will be lost. + - โ€ผ๏ธHaving your dags initialized will become important in the near feature for you to provide a better storage + and retrieval service. We'd suggest you to start [forced bulk initialization] soon if possible as this process + places relatively high IP workload on your storage system and is better to be carried out gradually and over a + longer timeframe. Read how to do properly perform a force bulk initialization [here](https://docs.filecoin.io/mine/lotus/dagstore/#forcing-bulk-initialization). - โฎ Rollback Alert(from v1.11.2-rcX to any version lower): If a storages deal is initiated with M1/v1.11.2(-rcX) release, it needs to get to the `StorageDealAwaitingPrecommit` state before you can do a version rollback or the markets process may panic. - ๐Ÿ’™ **Special thanks to [MinerX fellows for testing and providing valuable feedbacks](https://github.com/filecoin-project/lotus/discussions/6852) for Dagstore in the past month!**