github.com/cdmixer/woolloomooloo@v0.1.0/CHANGELOG.md (about) 1 # Lotus changelog 2 3 # 1.8.0 / 2021-04-27 4 5 This is a mandatory release of Lotus that upgrades the network to version 12, which introduces various performance improvements to the cron processing of the power actor. The network will upgrade at height 712320, which is 2021-04-29T06:00:00Z. 6 7 ## Changes 8 9 - v4 specs-actors integration, nv12 migration (https://github.com/filecoin-project/lotus/pull/6116) 10 11 # 1.6.0 / 2021-04-05 12 13 This is a mandatory release of Lotus that upgrades the network to version 11, which implements [FIP-0014](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0014.md). The network will upgrade at height 665280, which is 2021-04-12T22:00:00Z. 14 15 ## v1 sector extension CLI 16 17 This release also expands the `lotus-miner sectors extend` CLI, with a new option that automatically extends all extensible v1 sectors. The option can be run using `lotus-miner sectors extend --v1-sectors`. 18 19 - The `tolerance` flag can be passed to indicate what durations aren't "worth" extending. It defaults to one week, which means that sectors whose current lifetime's are within one week of the maximum possible lifetime will not be extended. 20 21 - The `expiration-cutoff` flag can be passed to skip sectors whose expiration is past a certain point from the current head. It defaults to infinity (no cutoff), but if, say, 28800 was specified, then only sectors expiring in the next 10 days would be extended (2880 epochs in 1 day). 22 23 ## Changes 24 25 - Util for miners to extend all v1 sectors (https://github.com/filecoin-project/lotus/pull/5924) 26 - Upgrade the butterfly network (https://github.com/filecoin-project/lotus/pull/5929) 27 - Introduce the v11 network upgrade (https://github.com/filecoin-project/lotus/pull/5904) 28 - Debug mode: Make upgrade heights controllable by an envvar (https://github.com/filecoin-project/lotus/pull/5919) 29 30 # 1.5.3 / 2021-03-24 31 32 This is a patch release of Lotus that introduces small fixes to the Storage FSM. 33 34 ## Changes 35 36 - storagefsm: Fix double unlock with ready WaitDeals sectors (https://github.com/filecoin-project/lotus/pull/5783) 37 - backupds: Allow larger values in write log (https://github.com/filecoin-project/lotus/pull/5776) 38 - storagefsm: Don't log the SectorRestart event (https://github.com/filecoin-project/lotus/pull/5779) 39 40 # 1.5.2 / 2021-03-11 41 42 This is an hotfix release of Lotus that fixes a critical bug introduced in v1.5.1 in the miner windowPoSt logic. This upgrade is only affecting miner nodes. 43 44 ## Changes 45 - fix window post rand check (https://github.com/filecoin-project/lotus/pull/5773) 46 - wdpost: Always use head tipset to get randomness (https://github.com/filecoin-project/lotus/pull/5774) 47 48 # 1.5.1 / 2021-03-10 49 50 This is an optional release of Lotus that introduces an important fix to the WindowPoSt computation process. The change is to wait for some confidence before drawing beacon randomness for the proof. Without this, invalid proofs might be generated as the result of a null tipset. 51 52 ## Splitstore 53 54 This release also introduces the splitstore, a new optional blockstore that segregates the monolithic blockstore into cold and hot regions. The hot region contains objects from the last 4-5 finalities plus all reachable objects from two finalities away. All other objects are moved to the cold region using a compaction process that executes every finality, once 5 finalities have elapsed. 55 56 The splitstore allows us to separate the two regions quite effectively, using two separate badger blockstores. The separation 57 means that the live working set is much smaller, which results in potentially significant performance improvements. In addition, it means that the coldstore can be moved to a separate (bigger, slower, cheaper) disk without loss of performance. 58 59 The design also allows us to use different implementations for the two blockstores; for example, an append-only blockstore could be used for coldstore and a faster memory mapped blockstore could be used for the hotstore (eg LMDB). We plan to experiment with these options in the future. 60 61 Once the splitstore has been enabled, the existing monolithic blockstore becomes the coldstore. On the first head change notification, the splitstore will warm up the hotstore by copying all reachable objects from the current tipset into the hotstore. All new writes go into the hotstore, with the splitstore tracking the write epoch. Once 5 finalities have elapsed, and every finality thereafter, the splitstore compacts by moving cold objects into the coldstore. There is also experimental support for garbage collection, whereby nunreachable objects are simply discarded. 62 63 To enable the splitstore, add the following to config.toml: 64 65 ``` 66 [Chainstore] 67 EnableSplitstore = true 68 ``` 69 70 ## Highlights 71 72 Other highlights include: 73 74 - Improved deal data handling - now multiple deals can be adding to sectors in parallel 75 - Rewriten sector pledging - it now actually cares about max sealing sector limits 76 - Better handling for sectors stuck in the RecoverDealIDs state 77 - lotus-miner sectors extend command 78 - Optional configurable storage path size limit 79 - Config to disable owner/worker fallback from control addresses (useful when owner is a key on a hardware wallet) 80 - A write log for node metadata, which can be restored as a backup when the metadata leveldb becomes corrupted (e.g. when you run out of disk space / system crashes in some bad way) 81 82 ## Changes 83 84 - avoid use mp.cfg directly to avoid race (https://github.com/filecoin-project/lotus/pull/5350) 85 - Show replacing message CID is state search-msg cli (https://github.com/filecoin-project/lotus/pull/5656) 86 - Fix riceing by importing the main package (https://github.com/filecoin-project/lotus/pull/5675) 87 - Remove sectors with all deals expired in RecoverDealIDs (https://github.com/filecoin-project/lotus/pull/5658) 88 - storagefsm: Rewrite input handling (https://github.com/filecoin-project/lotus/pull/5375) 89 - reintroduce Refactor send command for better testability (https://github.com/filecoin-project/lotus/pull/5668) 90 - Improve error message with importing a chain (https://github.com/filecoin-project/lotus/pull/5669) 91 - storagefsm: Cleanup CC sector creation (https://github.com/filecoin-project/lotus/pull/5612) 92 - chain list --gas-stats display capacity (https://github.com/filecoin-project/lotus/pull/5676) 93 - Correct some logs (https://github.com/filecoin-project/lotus/pull/5694) 94 - refactor blockstores (https://github.com/filecoin-project/lotus/pull/5484) 95 - Add idle to sync stage's String() (https://github.com/filecoin-project/lotus/pull/5702) 96 - packer provisioner (https://github.com/filecoin-project/lotus/pull/5604) 97 - add DeleteMany to Blockstore interface (https://github.com/filecoin-project/lotus/pull/5703) 98 - segregate chain and state blockstores (https://github.com/filecoin-project/lotus/pull/5695) 99 - fix(multisig): The format of the amount is not correct in msigLockApp (https://github.com/filecoin-project/lotus/pull/5718) 100 - Update butterfly network (https://github.com/filecoin-project/lotus/pull/5627) 101 - Collect worker task metrics (https://github.com/filecoin-project/lotus/pull/5648) 102 - Correctly format disputer log (https://github.com/filecoin-project/lotus/pull/5716) 103 - Log block CID in the large delay warning (https://github.com/filecoin-project/lotus/pull/5704) 104 - Move api client builders to a cliutil package (https://github.com/filecoin-project/lotus/pull/5728) 105 - Implement net peers --extended (https://github.com/filecoin-project/lotus/pull/5734) 106 - Command to extend sector expiration (https://github.com/filecoin-project/lotus/pull/5666) 107 - garbage collect hotstore after compaction (https://github.com/filecoin-project/lotus/pull/5744) 108 - tune badger gc to repeatedly gc the value log until there is no rewrite (https://github.com/filecoin-project/lotus/pull/5745) 109 - Add configuration option for pubsub IPColocationWhitelist subnets (https://github.com/filecoin-project/lotus/pull/5735) 110 - hot/cold blockstore segregation (aka. splitstore) (https://github.com/filecoin-project/lotus/pull/4992) 111 - Customize verifreg root key and remainder account when making genesis (https://github.com/filecoin-project/lotus/pull/5730) 112 - chore: update go-graphsync to 0.6.0 (https://github.com/filecoin-project/lotus/pull/5746) 113 - Add connmgr metadata to NetPeerInfo (https://github.com/filecoin-project/lotus/pull/5749) 114 - test: attempt to make the splitstore test deterministic (https://github.com/filecoin-project/lotus/pull/5750) 115 - Feat/api no dep build (https://github.com/filecoin-project/lotus/pull/5729) 116 - Fix bootstrapper profile setting (https://github.com/filecoin-project/lotus/pull/5756) 117 - Check liveness of sectors when processing termination batches (https://github.com/filecoin-project/lotus/pull/5759) 118 - Configurable storage path storage limit (https://github.com/filecoin-project/lotus/pull/5624) 119 - miner: Config to disable owner/worker address fallback (https://github.com/filecoin-project/lotus/pull/5620) 120 - Fix TestUnpadReader on Go 1.16 (https://github.com/filecoin-project/lotus/pull/5761) 121 - Metadata datastore log (https://github.com/filecoin-project/lotus/pull/5755) 122 - Remove the SR2 stats, leave just the network totals (https://github.com/filecoin-project/lotus/pull/5757) 123 - fix: wait a bit before starting to compute window post proofs (https://github.com/filecoin-project/lotus/pull/5764) 124 - fix: retry proof when randomness changes (https://github.com/filecoin-project/lotus/pull/5768) 125 126 127 # 1.5.0 / 2021-02-23 128 129 This is a mandatory release of Lotus that introduces the fifth upgrade to the Filecoin network. The network upgrade occurs at height 550321, before which time all nodes must have updated to this release (or later). At this height, [v3 specs-actors](https://github.com/filecoin-project/specs-actors/releases/tag/v3.0.0) will take effect, which in turn implements the following two FIPs: 130 131 - [FIP-0007 h/amt-v3](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0007.md) which improves the performance of the Filecoin HAMT and AMT. 132 - [FIP-0010 off-chain Window PoSt Verification](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0010.md) which reduces the gas consumption of `SubmitWindowedPoSt` messages significantly by optimistically accepting Window PoSt proofs without verification, and allowing them to be disputed later by off-chain verifiers. 133 134 Note that the integration of v3 actors was already completed in 1.4.2, this upgrade simply sets the epoch for the upgrade to occur. 135 136 ## Disputer 137 138 FIP-0010 introduces the ability to dispute bad Window PoSts. Node operators are encouraged to run the new Lotus disputer alongside their Lotus daemons. For more information, see the announcement [here](https://github.com/filecoin-project/lotus/discussions/5617#discussioncomment-387333). 139 140 ## Changes 141 142 - [#5341](https://github.com/filecoin-project/lotus/pull/5341) Add a `LOTUS_DISABLE_V3_ACTOR_MIGRATION` envvar 143 - Setting this envvar to 1 disables the v3 actor migration, should only be used in the event of a failed migration 144 145 # 1.4.2 / 2021-02-17 146 147 This is a large, and highly recommended, optional release with new features and improvements for lotus miner and deal-making UX. The release also integrates [v3 specs-actors](https://github.com/filecoin-project/specs-actors/releases/tag/v3.0.0), which implements two FIPs: 148 149 - [FIP-0007 h/amt-v3](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0007.md) which improves the performance of the Filecoin HAMT and AMT. 150 - [FIP-0010 off-chain Window PoSt Verification](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0010.md) which reduces the gas consumption of `SubmitWindowedPoSt` messages significantly by optimistically accepting Window PoSt proofs without verification, and allowing them to be disputed later by off-chain verifiers. 151 152 Note that this release does NOT set an upgrade epoch for v3 actors to take effect. That will be done in the upcoming 1.5.0 release. 153 154 ## New Features 155 156 - [#5341](https://github.com/filecoin-project/lotus/pull/5341) Added sector termination API and CLI 157 - Run `lotus-miner sectors terminate` 158 - [#5342](https://github.com/filecoin-project/lotus/pull/5342) Added CLI for using a multisig wallet as miner's owner address 159 - See how to set it up [here](https://github.com/filecoin-project/lotus/pull/5342#issue-554009129) 160 - [#5363](https://github.com/filecoin-project/lotus/pull/5363), [#5418](https://github.com/filecoin-project/lotus/pull/), [#5476](https://github.com/filecoin-project/lotus/pull/5476), [#5459](https://github.com/filecoin-project/lotus/pull/5459) Integrated [spec-actor v3](https://github.com/filecoin-pro5418ject/specs-actors/releases/tag/v3.0.0) 161 - [#5472](https://github.com/filecoin-project/lotus/pull/5472) Generate actor v3 methods for pond 162 - [#5379](https://github.com/filecoin-project/lotus/pull/5379) Added WindowPoSt disputer 163 - This is to support [FIP-0010 off-chian Window PoSt verification](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0010.md) 164 - See how to run a disputer [here](https://github.com/filecoin-project/lotus/pull/5379#issuecomment-776482445) 165 - [#5309](https://github.com/filecoin-project/lotus/pull/5309) Batch multiple deals in one `PublishStorageMessages` 166 - [#5411](https://github.com/filecoin-project/lotus/pull/5411) Handle batch `PublishStorageDeals` message in sealing recovery 167 - [#5505](https://github.com/filecoin-project/lotus/pull/5505) Exclude expired deals from batching in `PublishStorageDeals` messages 168 - Added `PublishMsgPeriod` and `MaxDealsPerPublishMsg` to miner `Dealmaking` [configuration](https://docs.filecoin.io/mine/lotus/miner-configuration/#dealmaking-section). See how they work [here](https://docs.filecoin.io/mine/lotus/miner-configuration/#publishing-several-deals-in-one-message). 169 - [#5538](https://github.com/filecoin-project/lotus/pull/5538), [#5549](https://github.com/filecoin-project/lotus/pull/5549) Added a command to list pending deals and force publish messages. 170 - Run `lotus-miner market pending-publish` 171 - [#5428](https://github.com/filecoin-project/lotus/pull/5428) Moved waiting for `PublishStorageDeals` messages' receipt from markets to lotus 172 - [#5510](https://github.com/filecoin-project/lotus/pull/5510) Added `nerpanet` build option 173 - To build `nerpanet`, run `make nerpanet` 174 - [#5433](https://github.com/filecoin-project/lotus/pull/5433) Added `AlwaysKeepUnsealedCopy` option to the miner configuration 175 - [#5520](https://github.com/filecoin-project/lotus/pull/5520) Added `MsigGetPending` to get pending transactions for multisig wallets 176 - [#5219](https://github.com/filecoin-project/lotus/pull/5219) Added interactive mode for lotus-wallet 177 - [5529](https://github.com/filecoin-project/lotus/pull/5529) Added support for minder nodes in `lotus-shed rpc` util 178 179 ## Bug Fixes 180 181 - [#5210](https://github.com/filecoin-project/lotus/pull/5210) Miner should not dial client on restart 182 - [#5403](https://github.com/filecoin-project/lotus/pull/5403) When estimating GasLimit only apply prior messages up to the nonce 183 - [#5410](https://github.com/filecoin-project/lotus/pull/510) Fix the calibnet build option 184 - [#5492](https://github.com/filecoin-project/lotus/pull/5492) Fixed `has` for ipfsbstore for non-existing blocks 185 - [#5361](https://github.com/filecoin-project/lotus/pull/5361) Fixed retrieval hangs when using `IpfsOnlineMode=true` 186 - [#5493](https://github.com/filecoin-project/lotus/pull/5493) Fixed retrieval failure when price-per-byte is zero 187 - [#5506](https://github.com/filecoin-project/lotus/pull/5506) Fixed contexts in the storage adpater 188 - [#5515](https://github.com/filecoin-project/lotus/pull/5515) Properly wire up `StateReadState` on gateway API 189 - [#5582](https://github.com/filecoin-project/lotus/pull/5582) Fixed error logging format strings 190 - [#5614](https://github.com/filecoin-project/lotus/pull/5614) Fixed websocket reconnecting handling 191 192 193 ## Improvements 194 195 - [#5389](https://github.com/filecoin-project/lotus/pull/5389) Show verified indicator for `./lotus-miner storage-deals list` 196 - [#5229](https://github.com/filecoin-project/lotus/pull/5220) Show power for verified deals in `./lotus-miner setocr list` 197 - [#5407](https://github.com/filecoin-project/lotus/pull/5407) Added explicit check of the miner address protocol 198 - [#5399](https://github.com/filecoin-project/lotus/pull/5399) watchdog: increase heapprof capture threshold to 90% 199 - [#5398](https://github.com/filecoin-project/lotus/pull/5398) storageadapter: Look at precommits on-chain since deal publish msg 200 - [#5470](https://github.com/filecoin-project/lotus/pull/5470) Added `--no-timing` option for `./lotus state compute-state --html` 201 - [#5417](https://github.com/filecoin-project/lotus/pull/5417) Storage Manager: Always unseal full sectors 202 - [#5393](https://github.com/filecoin-project/lotus/pull/5393) Switched to [filecoin-ffi bls api ](https://github.com/filecoin-project/filecoin-ffi/pull/159)for bls signatures 203 - [#5380](https://github.com/filecoin-project/lotus/pull/5210) Refactor deals API tests 204 - [#5397](https://github.com/filecoin-project/lotus/pull/5397) Fixed a flake in the sync manager edge case test 205 - [#5406](https://github.com/filecoin-project/lotus/pull/5406) Added a test to ensure a correct window post cannot be disputed 206 - [#5294](https://github.com/filecoin-project/lotus/pull/5394) Added jobs to build Lotus docker image and push it to AWS ECR 207 - [#5387](https://github.com/filecoin-project/lotus/pull/5387) Added network info(mainnet|calibnet) in version 208 - [#5497](https://github.com/filecoin-project/lotus/pull/5497) Export metric for lotus-gateaway 209 - [#4950](https://github.com/filecoin-project/lotus/pull/4950) Removed bench policy 210 - [#5047](https://github.com/filecoin-project/lotus/pull/5047) Improved the UX for `./lotus-shed bitfield enc` 211 - [#5282](https://github.com/filecoin-project/lotus/pull/5282) Snake a context through the chian blockstore creation 212 - [#5350](https://github.com/filecoin-project/lotus/pull/5350) Avoid using `mp.cfg` directrly to prevent race condition 213 - [#5449](https://github.com/filecoin-project/lotus/pull/5449) Documented the block-header better 214 - [#5404](https://github.com/filecoin-project/lotus/pull/5404) Added retrying proofs if an incorrect one is generated 215 - [#4545](https://github.com/filecoin-project/lotus/pull/4545) Made state tipset usage consistent in the API 216 - [#5540](https://github.com/filecoin-project/lotus/pull/5540) Removed unnecessary database reads in validation check 217 - [#5554](https://github.com/filecoin-project/lotus/pull/5554) Fixed `build lotus-soup` CI job 218 - [#5552](https://github.com/filecoin-project/lotus/pull/5552) Updated CircleCI to halt gracefully 219 - [#5555](https://github.com/filecoin-project/lotus/pull/5555) Cleanup and add docstrings of node builder 220 - [#5564](https://github.com/filecoin-project/lotus/pull/5564) Stopped depending on gocheck with gomod 221 - [#5574](https://github.com/filecoin-project/lotus/pull/5574) Updated CLI UI 222 - [#5570](https://github.com/filecoin-project/lotus/pull/5570) Added code CID to `StateReadState` return object 223 - [#5565](https://github.com/filecoin-project/lotus/pull/5565) Added storageadapter.PublishMsgConfig to miner in testkit for lotus-soup testplan 224 - [#5571](https://github.com/filecoin-project/lotus/pull/5571) Added `lotus-seed gensis car` to generate lotus block for devnets 225 - [#5613](https://github.com/filecoin-project/lotus/pull/5613) Check format in client commP util 226 - [#5507](https://github.com/filecoin-project/lotus/pull/5507) Refactored coalescing logic into its own function and take both cancellation sets into account 227 - [#5592](https://github.com/filecoin-project/lotus/pull/5592) Verify FFI version before building 228 229 ## Dependency Updates 230 - [#5296](https://github.com/filecoin-project/lotus/pull/5396) Upgraded to [raulk/go-watchdog@v1.0.1](https://github.com/raulk/go-watchdog/releases/tag/v1.0.1) 231 - [#5450](https://github.com/filecoin-project/lotus/pull/5450) Dependency updates 232 - [#5425](https://github.com/filecoin-project/lotus/pull/5425) Fixed stale imports in testplans/lotus-soup 233 - [#5535](https://github.com/filecoin-project/lotus/pull/5535) Updated to [go-fil-markets@v1.1.7](https://github.com/filecoin-project/go-fil-markets/releases/tag/v1.1.7) 234 - [#5616](https://github.com/filecoin-project/lotus/pull/5600) Updated to [filecoin-ffi@b6e0b35fb49ed0fe](https://github.com/filecoin-project/filecoin-ffi/releases/tag/b6e0b35fb49ed0fe) 235 - [#5599](https://github.com/filecoin-project/lotus/pull/5599) Updated to [go-bitfield@v0.2.4](https://github.com/filecoin-project/go-bitfield/releases/tag/v0.2.4) 236 - [#5614](https://github.com/filecoin-project/lotus/pull/5614), , [#5621](https://github.com/filecoin-project/lotus/pull/5621) Updated to [go-jsonrpc@v0.1.3](https://github.com/filecoin-project/go-jsonrpc/releases/tag/v0.1.3) 237 - [#5459](https://github.com/filecoin-project/lotus/pull/5459) Updated to [spec-actors@v3.0.1](https://github.com/filecoin-project/specs-actors/releases/tag/v3.0.1) 238 239 240 ## Network Version v10 Upgrade 241 - [#5473](https://github.com/filecoin-project/lotus/pull/5473) Merged staging branch for v1.5.0 242 - [#5603](https://github.com/filecoin-project/lotus/pull/5603) Set nerpanet's upgrade epochs up to v3 actors 243 - [#5471](https://github.com/filecoin-project/lotus/pull/5471), [#5456](https://github.com/filecoin-project/lotus/pull/5456) Set calibration net actor v3 migration epochs for testing 244 - [#5434](https://github.com/filecoin-project/lotus/pull/5434) Implemented pre-migration framework 245 - [#5476](https://github.com/filecoin-project/lotus/pull/5477) Tune migration 246 247 # 1.4.1 / 2021-01-20 248 249 This is an optional Lotus release that introduces various improvements to the sealing, mining, and deal-making processes. In particular, [#5341](https://github.com/filecoin-project/lotus/pull/5341) introduces the ability for Lotus miners to terminate sectors. 250 251 ## Changes 252 253 #### Core Lotus 254 255 - fix(sync): enforce ForkLengthThreshold for synced chain (https://github.com/filecoin-project/lotus/pull/5182) 256 - introduce memory watchdog; LOTUS_MAX_HEAP (https://github.com/filecoin-project/lotus/pull/5101) 257 - Skip bootstrapping if no peers specified (https://github.com/filecoin-project/lotus/pull/5301) 258 - Chainxchg write response timeout (https://github.com/filecoin-project/lotus/pull/5254) 259 - update NewestNetworkVersion (https://github.com/filecoin-project/lotus/pull/5277) 260 - fix(sync): remove checks bypass when we submit the block (https://github.com/filecoin-project/lotus/pull/4192) 261 - chore: export vm.ShouldBurn (https://github.com/filecoin-project/lotus/pull/5355) 262 - fix(sync): enforce fork len when changing head (https://github.com/filecoin-project/lotus/pull/5244) 263 - Use 55th percentile instead of median for gas-price (https://github.com/filecoin-project/lotus/pull/5369) 264 - update go-libp2p-pubsub to v0.4.1 (https://github.com/filecoin-project/lotus/pull/5329) 265 266 #### Sealing 267 268 - Sector termination support (https://github.com/filecoin-project/lotus/pull/5341) 269 - update weight canSeal and canStore when attach (https://github.com/filecoin-project/lotus/pull/5242/files) 270 - sector-storage/mock: improve mocked readpiece (https://github.com/filecoin-project/lotus/pull/5208) 271 - Fix deadlock in runWorker in sched_worker.go (https://github.com/filecoin-project/lotus/pull/5251) 272 - Skip checking terminated sectors provable (https://github.com/filecoin-project/lotus/pull/5217) 273 - storagefsm: Fix unsealedInfoMap.lk init race (https://github.com/filecoin-project/lotus/pull/5319) 274 - Multicore AddPiece CommP (https://github.com/filecoin-project/lotus/pull/5320) 275 - storagefsm: Send correct event on ErrExpiredTicket in CommitFailed (https://github.com/filecoin-project/lotus/pull/5366) 276 - expose StateSearchMessage on gateway (https://github.com/filecoin-project/lotus/pull/5382) 277 - fix FileSize to return correct disk usage recursively (https://github.com/filecoin-project/lotus/pull/5384) 278 279 #### Dealmaking 280 281 - Better error message when withdrawing funds (https://github.com/filecoin-project/lotus/pull/5293) 282 - add verbose for list transfers (https://github.com/filecoin-project/lotus/pull/5259) 283 - cli - rename `client info` to `client balances` (https://github.com/filecoin-project/lotus/pull/5304) 284 - Better CLI for wallet market withdraw and client info (https://github.com/filecoin-project/lotus/pull/5303) 285 286 #### UX 287 288 - correct flag usages for replace cmd (https://github.com/filecoin-project/lotus/pull/5255) 289 - lotus state call will panic (https://github.com/filecoin-project/lotus/pull/5275) 290 - fix get sector bug (https://github.com/filecoin-project/lotus/pull/4976) 291 - feat: lotus wallet market add (adds funds to storage market actor) (https://github.com/filecoin-project/lotus/pull/5300) 292 - Fix client flag parsing in client balances cli (https://github.com/filecoin-project/lotus/pull/5312) 293 - delete slash-consensus miner (https://github.com/filecoin-project/lotus/pull/4577) 294 - add fund sufficient check in send (https://github.com/filecoin-project/lotus/pull/5252) 295 - enable parse and shorten negative FIL values (https://github.com/filecoin-project/lotus/pull/5315) 296 - add limit and rate for chain noise (https://github.com/filecoin-project/lotus/pull/5223) 297 - add bench env print (https://github.com/filecoin-project/lotus/pull/5222) 298 - Implement full-node restore option (https://github.com/filecoin-project/lotus/pull/5362) 299 - add color for token amount (https://github.com/filecoin-project/lotus/pull/5352) 300 - correct log in maybeUseAddress (https://github.com/filecoin-project/lotus/pull/5359) 301 - add slash-consensus from flag (https://github.com/filecoin-project/lotus/pull/5378) 302 303 #### Testing 304 305 - tvx extract: more tipset extraction goodness (https://github.com/filecoin-project/lotus/pull/5258) 306 - Fix race in blockstore test suite (https://github.com/filecoin-project/lotus/pull/5297) 307 308 309 #### Build & Networks 310 311 - Remove LOTUS_DISABLE_V2_ACTOR_MIGRATION envvar (https://github.com/filecoin-project/lotus/pull/5289) 312 - Create a calibnet build option (https://github.com/filecoin-project/lotus/pull/5288) 313 - Calibnet: Set Orange epoch (https://github.com/filecoin-project/lotus/pull/5325) 314 315 #### Management 316 317 - Update SECURITY.md (https://github.com/filecoin-project/lotus/pull/5246) 318 - README: Contribute section (https://github.com/filecoin-project/lotus/pull/5330) 319 - README: refine Contribute section (https://github.com/filecoin-project/lotus/pull/5331) 320 - Add misc tooling to codecov ignore list (https://github.com/filecoin-project/lotus/pull/5347) 321 322 # 1.4.0 / 2020-12-19 323 324 This is a MANDATORY hotfix release of Lotus that resolves a chain halt at height 336,459 caused by nondeterminism in specs-actors. The fix is to update actors to 2.3.3 in order to incorporate this fix https://github.com/filecoin-project/specs-actors/pull/1334. 325 326 # 1.3.0 / 2020-12-16 327 328 This is a mandatory release of Lotus that introduces the third post-liftoff upgrade to the Filecoin network. The network upgrade occurs at height 343200, before which time all nodes must have updated to this release (or later). The change that breaks consensus is an implementation of FIP-0009(https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0009.md). 329 330 ## Changes 331 332 - Disable gas burning for window post messages (https://github.com/filecoin-project/lotus/pull/5200) 333 - fix lock propose (https://github.com/filecoin-project/lotus/pull/5197) 334 335 # 1.2.3 / 2020-12-15 336 337 This is an optional Lotus release that introduces many performance improvements, bugfixes, and UX improvements. 338 339 ## Changes 340 341 - When waiting for deal commit messages, ignore unsuccessful messages (https://github.com/filecoin-project/lotus/pull/5189) 342 - Bigger copy buffer size for stores (https://github.com/filecoin-project/lotus/pull/5177) 343 - Print MinPieceSize when querying ask (https://github.com/filecoin-project/lotus/pull/5178) 344 - Optimize miner info & sectors list loading (https://github.com/filecoin-project/lotus/pull/5176) 345 - Allow miners to filter (un)verified deals (https://github.com/filecoin-project/lotus/pull/5094) 346 - Fix curSealing out of MaxSealingSectors limit (https://github.com/filecoin-project/lotus/pull/5166) 347 - Add mpool pending from / to filter (https://github.com/filecoin-project/lotus/pull/5169) 348 - Add metrics for delayed blocks (https://github.com/filecoin-project/lotus/pull/5171) 349 - Fix PushUntrusted publishing -- the message is local (https://github.com/filecoin-project/lotus/pull/5173) 350 - Avoid potential hang in events API when starting event listener (https://github.com/filecoin-project/lotus/pull/5159) 351 - Show data transfer ID in list-deals (https://github.com/filecoin-project/lotus/pull/5150) 352 - Fix events API mutex locking (https://github.com/filecoin-project/lotus/pull/5160) 353 - Message pool refactors (https://github.com/filecoin-project/lotus/pull/5162) 354 - Fix lotus-shed cid output (https://github.com/filecoin-project/lotus/pull/5072) 355 - Use FundManager to withdraw funds, add MarketWithdraw API (https://github.com/filecoin-project/lotus/pull/5112) 356 - Add keygen outfile (https://github.com/filecoin-project/lotus/pull/5118) 357 - Update sr2 stat aggregation (https://github.com/filecoin-project/lotus/pull/5114) 358 - Fix miner control address lookup (https://github.com/filecoin-project/lotus/pull/5119) 359 - Fix send with declared nonce 0 (https://github.com/filecoin-project/lotus/pull/5111) 360 - Introduce memory watchdog; LOTUS_MAX_HEAP (https://github.com/filecoin-project/lotus/pull/5101) 361 - Miner control address config for (pre)commits (https://github.com/filecoin-project/lotus/pull/5103) 362 - Delete repeated call func (https://github.com/filecoin-project/lotus/pull/5099) 363 - lotus-shed ledger show command (https://github.com/filecoin-project/lotus/pull/5098) 364 - Log a message when there aren't enough peers for sync (https://github.com/filecoin-project/lotus/pull/5105) 365 - Miner code cleanup (https://github.com/filecoin-project/lotus/pull/5107) 366 367 # 1.2.2 / 2020-12-03 368 369 This is an optional Lotus release that introduces various improvements to the mining logic and deal-making workflow, as well as several new UX features. 370 371 ## Changes 372 373 - Set lower feecap on PoSt messages with low balance (https://github.com/filecoin-project/lotus/pull/4217) 374 - Add options to set BlockProfileRate and MutexProfileFraction (https://github.com/filecoin-project/lotus/pull/4140) 375 - Shed/post find (https://github.com/filecoin-project/lotus/pull/4355) 376 - tvx extract: make it work with secp messages.(https://github.com/filecoin-project/lotus/pull/4583) 377 - update go from 1.14 to 1.15 (https://github.com/filecoin-project/lotus/pull/4909) 378 - print multiple blocks from miner cid (https://github.com/filecoin-project/lotus/pull/4767) 379 - Connection Gater support (https://github.com/filecoin-project/lotus/pull/4849) 380 - just return storedask.NewStoredAsk to reduce unuseful code (https://github.com/filecoin-project/lotus/pull/4902) 381 - add go main version (https://github.com/filecoin-project/lotus/pull/4910) 382 - Use version0 when pre-sealing (https://github.com/filecoin-project/lotus/pull/4911) 383 - optimize code UpgradeTapeHeight and go fmt (https://github.com/filecoin-project/lotus/pull/4913) 384 - CLI to get network version (https://github.com/filecoin-project/lotus/pull/4914) 385 - Improve error for ActorsVersionPredicate (https://github.com/filecoin-project/lotus/pull/4915) 386 - upgrade to go-fil-markets 1.0.5 (https://github.com/filecoin-project/lotus/pull/4916) 387 - bug:replace with func recordFailure (https://github.com/filecoin-project/lotus/pull/4919) 388 - Remove unused key (https://github.com/filecoin-project/lotus/pull/4924) 389 - change typeV7 make len (https://github.com/filecoin-project/lotus/pull/4943) 390 - emit events for peer disconnections and act upon them in the blocksync tracker (https://github.com/filecoin-project/lotus/pull/4754) 391 - Fix lotus bench error (https://github.com/filecoin-project/lotus/pull/4305) 392 - Reduce badger ValueTreshold to 128 (https://github.com/filecoin-project/lotus/pull/4629) 393 - Downgrade duplicate nonce logs to debug (https://github.com/filecoin-project/lotus/pull/4933) 394 - readme update golang version from 1.14.7 to 1.15.5 (https://github.com/filecoin-project/lotus/pull/4974) 395 - add data transfer logging (https://github.com/filecoin-project/lotus/pull/4975) 396 - Remove all temp file generation for deals (https://github.com/filecoin-project/lotus/pull/4929) 397 - fix get sector bug (https://github.com/filecoin-project/lotus/pull/4976) 398 - fix nil pointer in StateSectorPreCommitInfo (https://github.com/filecoin-project/lotus/pull/4082) 399 - Add logging on data-transfer to miner (https://github.com/filecoin-project/lotus/pull/4980) 400 - bugfix: fixup devnet script (https://github.com/filecoin-project/lotus/pull/4956) 401 - modify for unsafe (https://github.com/filecoin-project/lotus/pull/4024) 402 - move testground/lotus-soup testplan from oni to lotus (https://github.com/filecoin-project/lotus/pull/4727) 403 - Setup remainder msig signers when parsing genesis template (https://github.com/filecoin-project/lotus/pull/4904) 404 - Update JSON RPC server to enforce a maximum request size (https://github.com/filecoin-project/lotus/pull/4923) 405 - New SR-specific lotus-shed cmd (https://github.com/filecoin-project/lotus/pull/4971) 406 - update index to sectorNumber (https://github.com/filecoin-project/lotus/pull/4987) 407 - storagefsm: Fix expired ticket retry loop (https://github.com/filecoin-project/lotus/pull/4876) 408 - add .sec scale to measurements; humanize for metric tags (https://github.com/filecoin-project/lotus/pull/4989) 409 - Support seal proof type switching (https://github.com/filecoin-project/lotus/pull/4873) 410 - fix log format (https://github.com/filecoin-project/lotus/pull/4984) 411 - Format workerID as string (https://github.com/filecoin-project/lotus/pull/4973) 412 - miner: Winning PoSt Warmup (https://github.com/filecoin-project/lotus/pull/4824) 413 - Default StartDealParams's fast retrieval field to true over JSON (https://github.com/filecoin-project/lotus/pull/4998) 414 - Fix actor not found in chain inspect-usage (https://github.com/filecoin-project/lotus/pull/5010) 415 - storagefsm: Improve new deal sector logic (https://github.com/filecoin-project/lotus/pull/5007) 416 - Configure simultaneous requests (https://github.com/filecoin-project/lotus/pull/4996) 417 - miner: log winningPoSt duration separately (https://github.com/filecoin-project/lotus/pull/5005) 418 - fix wallet dead lock (https://github.com/filecoin-project/lotus/pull/5002) 419 - Update go-jsonrpc to v0.1.2 (https://github.com/filecoin-project/lotus/pull/5015) 420 - markets - separate watching for pre-commit from prove-commit (https://github.com/filecoin-project/lotus/pull/4945) 421 - storagefsm: Add missing planners (https://github.com/filecoin-project/lotus/pull/5016) 422 - fix wallet delete address where address is default (https://github.com/filecoin-project/lotus/pull/5019) 423 - worker: More robust remote checks (https://github.com/filecoin-project/lotus/pull/5008) 424 - Add new booststrappers (https://github.com/filecoin-project/lotus/pull/4007) 425 - add a tooling to make filecoin accounting a little easier (https://github.com/filecoin-project/lotus/pull/5025) 426 - fix: start a new line in print miner-info to avoid ambiguous display (https://github.com/filecoin-project/lotus/pull/5029) 427 - Print gas limit sum in mpool stat (https://github.com/filecoin-project/lotus/pull/5035) 428 - Fix chainstore tipset leak (https://github.com/filecoin-project/lotus/pull/5037) 429 - shed rpc: Allow calling with args (https://github.com/filecoin-project/lotus/pull/5036) 430 - Make --gas-limit optional in mpool replace cli (https://github.com/filecoin-project/lotus/pull/5059) 431 - client list-asks --by-ping (https://github.com/filecoin-project/lotus/pull/5060) 432 - Ledger signature verification (https://github.com/filecoin-project/lotus/pull/5068) 433 - Fix helptext for verified-deal default in client deal (https://github.com/filecoin-project/lotus/pull/5074) 434 - worker: Support setting task types at runtime (https://github.com/filecoin-project/lotus/pull/5023) 435 - Enable Callers tracing when GasTracing is enabled (https://github.com/filecoin-project/lotus/pull/5080) 436 - Cancel transfer cancels storage deal (https://github.com/filecoin-project/lotus/pull/5032) 437 - Sector check command (https://github.com/filecoin-project/lotus/pull/5041) 438 - add commp-to-cid base64 decode (https://github.com/filecoin-project/lotus/pull/5079) 439 - miner info cli improvements (https://github.com/filecoin-project/lotus/pull/5083) 440 - miner: Add slow mode to proving check (https://github.com/filecoin-project/lotus/pull/5086) 441 - Error out deals that are not activated by proposed deal start epoch (https://github.com/filecoin-project/lotus/pull/5061) 442 443 # 1.2.1 / 2020-11-20 444 445 This is a very small release of Lotus that fixes an issue users are experiencing when importing snapshots. There is no need to upgrade unless you experience an issue with creating a new datastore directory in the Lotus repo. 446 447 ## Changes 448 449 - fix blockstore directory not created automatically (https://github.com/filecoin-project/lotus/pull/4922) 450 - WindowPoStScheduler.checkSectors() delete useless judgment (https://github.com/filecoin-project/lotus/pull/4918) 451 452 453 # 1.2.0 / 2020-11-18 454 455 This is a mandatory release of Lotus that introduces the second post-liftoff upgrade to the Filecoin network. The network upgrade occurs at height 265200, before which time all nodes must have updated to this release (or later). This release also bumps the required version of Go to 1.15. 456 457 The changes that break consensus are: 458 459 - Upgrading to sepcs-actors 2.3.2 (https://github.com/filecoin-project/specs-actors/releases/tag/v2.3.2) 460 - Introducing proofs v5.4.0 (https://github.com/filecoin-project/rust-fil-proofs/releases/tag/storage-proofs-v5.4.0), and switching between the proof types (https://github.com/filecoin-project/lotus/pull/4873) 461 - Don't use terminated sectors for winning PoSt (https://github.com/filecoin-project/lotus/pull/4770) 462 - Various small VM-level edge-case handling (https://github.com/filecoin-project/lotus/pull/4783) 463 - Correction of the VM circulating supply calculation (https://github.com/filecoin-project/lotus/pull/4862) 464 - Retuning gas costs (https://github.com/filecoin-project/lotus/pull/4830) 465 - Avoid sending messages to the zero BLS address (https://github.com/filecoin-project/lotus/pull/4888) 466 467 ## Other Changes 468 469 - delayed pubsub subscribe for messages topic (https://github.com/filecoin-project/lotus/pull/3646) 470 - add chain base64 decode params (https://github.com/filecoin-project/lotus/pull/4748) 471 - chore(dep): update bitswap to fix an initialization race that could panic (https://github.com/filecoin-project/lotus/pull/4855) 472 - Chore/blockstore nits (https://github.com/filecoin-project/lotus/pull/4813) 473 - Print Consensus Faults in miner info (https://github.com/filecoin-project/lotus/pull/4853) 474 - Truncate genesis file before generating (https://github.com/filecoin-project/lotus/pull/4851) 475 - miner: Winning PoSt Warmup (https://github.com/filecoin-project/lotus/pull/4824) 476 - Fix init actor address map diffing (https://github.com/filecoin-project/lotus/pull/4875) 477 - Bump API versions to 1.0.0 (https://github.com/filecoin-project/lotus/pull/4884) 478 - Fix cid recording issue (https://github.com/filecoin-project/lotus/pull/4874) 479 - Speed up worker key retrieval (https://github.com/filecoin-project/lotus/pull/4885) 480 - Add error codes to worker return (https://github.com/filecoin-project/lotus/pull/4890) 481 - Update go to 1.15.5 (https://github.com/filecoin-project/lotus/pull/4896) 482 - Fix MaxSealingSectrosForDeals getting reset to 0 (https://github.com/filecoin-project/lotus/pull/4879) 483 - add sanity check for maximum block size (https://github.com/filecoin-project/lotus/pull/3171) 484 - Check (pre)commit receipt before other checks in failed states (https://github.com/filecoin-project/lotus/pull/4712) 485 - fix badger double open on daemon --import-snapshot; chainstore lifecycle (https://github.com/filecoin-project/lotus/pull/4872) 486 - Update to ipfs-blockstore 1.0.3 (https://github.com/filecoin-project/lotus/pull/4897) 487 - break loop when found warm up sector (https://github.com/filecoin-project/lotus/pull/4869) 488 - Tweak handling of bad beneficaries in DeleteActor (https://github.com/filecoin-project/lotus/pull/4903) 489 - cap maximum number of messages per block in selection (https://github.com/filecoin-project/lotus/pull/4905) 490 - Set Calico epoch (https://github.com/filecoin-project/lotus/pull/4889) 491 492 # 1.1.3 / 2020-11-13 493 494 This is an optional release of Lotus that upgrades Lotus dependencies, and includes many performance enhancements, bugfixes, and UX improvements. 495 496 ## Highlights 497 498 - Refactored much of the miner code (https://github.com/filecoin-project/lotus/pull/3618), improving its recovery from restarts and overall sector success rate 499 - Updated [proofs](https://github.com/filecoin-project/rust-fil-proofs) to v5.3.0, which brings significant performance improvements 500 - Updated [markets](https://github.com/filecoin-project/go-fil-markets/releases/tag/v1.0.4) to v1.0.4, which reduces failures due to reorgs (https://github.com/filecoin-project/lotus/pull/4730) and uses the newly refactored fund manager (https://github.com/filecoin-project/lotus/pull/4736) 501 502 ## Changes 503 504 #### Core Lotus 505 506 - polish: add Equals method to MinerInfo shim (https://github.com/filecoin-project/lotus/pull/4604) 507 - Fix messagepool accounting (https://github.com/filecoin-project/lotus/pull/4668) 508 - Prep for gas balancing (https://github.com/filecoin-project/lotus/pull/4651) 509 - Reduce badger ValueThreshold to 128 (https://github.com/filecoin-project/lotus/pull/4629) 510 - Config for default max gas fee (https://github.com/filecoin-project/lotus/pull/4652) 511 - bootstrap: don't return early when one drand resolution fails (https://github.com/filecoin-project/lotus/pull/4626) 512 - polish: add ClaimsChanged and DiffClaims method to power shim (https://github.com/filecoin-project/lotus/pull/4628) 513 - Simplify chain event Called API (https://github.com/filecoin-project/lotus/pull/4664) 514 - Cache deal states for most recent old/new tipset (https://github.com/filecoin-project/lotus/pull/4623) 515 - Add miner available balance and power info to state miner info (https://github.com/filecoin-project/lotus/pull/4618) 516 - Call GetHeaviestTipSet() only once when syncing (https://github.com/filecoin-project/lotus/pull/4696) 517 - modify runtime gasUsed printf (https://github.com/filecoin-project/lotus/pull/4704) 518 - Rename builtin actor generators (https://github.com/filecoin-project/lotus/pull/4697) 519 - Move gas multiplier as property of pricelist (https://github.com/filecoin-project/lotus/pull/4728) 520 - polish: add msig pendingtxn diffing and comp (https://github.com/filecoin-project/lotus/pull/4719) 521 - Optional chain Bitswap (https://github.com/filecoin-project/lotus/pull/4717) 522 - rewrite sync manager (https://github.com/filecoin-project/lotus/pull/4599) 523 - async connect to bootstrappers (https://github.com/filecoin-project/lotus/pull/4785) 524 - head change coalescer (https://github.com/filecoin-project/lotus/pull/4688) 525 - move to native badger blockstore; leverage zero-copy View() to deserialize in-place (https://github.com/filecoin-project/lotus/pull/4681) 526 - badger blockstore: minor improvements (https://github.com/filecoin-project/lotus/pull/4811) 527 - Do not fail wallet delete because of pre-existing trashed key (https://github.com/filecoin-project/lotus/pull/4589) 528 - Correctly delete the default wallet address (https://github.com/filecoin-project/lotus/pull/4705) 529 - Reduce badger ValueTreshold to 128 (https://github.com/filecoin-project/lotus/pull/4629) 530 - predicates: Fast StateGetActor wrapper (https://github.com/filecoin-project/lotus/pull/4835) 531 532 #### Mining 533 534 - worker key should change when set sender found key not equal with the value on chain (https://github.com/filecoin-project/lotus/pull/4595) 535 - extern/sector-storage: fix GPU usage overwrite bug (https://github.com/filecoin-project/lotus/pull/4627) 536 - sectorstorage: Fix manager restart edge-case (https://github.com/filecoin-project/lotus/pull/4645) 537 - storagefsm: Fix GetTicket loop when the sector is already precommitted (https://github.com/filecoin-project/lotus/pull/4643) 538 - Debug flag to force running sealing scheduler (https://github.com/filecoin-project/lotus/pull/4662) 539 - Fix worker reenabling, handle multiple restarts in worker (https://github.com/filecoin-project/lotus/pull/4666) 540 - keep retrying the proof until we run out of sectors to skip (https://github.com/filecoin-project/lotus/pull/4633) 541 - worker: Commands to pause/resume task processing (https://github.com/filecoin-project/lotus/pull/4615) 542 - struct name incorrect (https://github.com/filecoin-project/lotus/pull/4699) 543 - optimize code replace strings with constants (https://github.com/filecoin-project/lotus/pull/4769) 544 - optimize pledge sector (https://github.com/filecoin-project/lotus/pull/4765) 545 - Track sealing processes across lotus-miner restarts (https://github.com/filecoin-project/lotus/pull/3618) 546 - Fix scheduler lockups after storage is freed (https://github.com/filecoin-project/lotus/pull/4778) 547 - storage: Track worker hostnames with work (https://github.com/filecoin-project/lotus/pull/4779) 548 - Expand sched-diag; Command to abort sealing calls (https://github.com/filecoin-project/lotus/pull/4804) 549 - miner: Winning PoSt Warmup (https://github.com/filecoin-project/lotus/pull/4824) 550 - docsgen: Support miner/worker (https://github.com/filecoin-project/lotus/pull/4817) 551 - miner: Basic storage cleanup command (https://github.com/filecoin-project/lotus/pull/4834) 552 553 #### Markets and Data Transfer 554 555 - Flesh out data transfer features (https://github.com/filecoin-project/lotus/pull/4572) 556 - Fix memory leaks in data transfer (https://github.com/filecoin-project/lotus/pull/4619) 557 - Handle deal id changes in OnDealSectorCommitted (https://github.com/filecoin-project/lotus/pull/4730) 558 - Refactor FundManager (https://github.com/filecoin-project/lotus/pull/4736) 559 - refactor: integrate new FundManager (https://github.com/filecoin-project/lotus/pull/4787) 560 - Fix race in paych manager when req context is cancelled (https://github.com/filecoin-project/lotus/pull/4803) 561 - fix race in paych manager add funds (https://github.com/filecoin-project/lotus/pull/4597) 562 - Fix panic in FundManager (https://github.com/filecoin-project/lotus/pull/4808) 563 - Fix: dont crash on startup if funds migration fails (https://github.com/filecoin-project/lotus/pull/4827) 564 565 #### UX 566 567 - Make EarlyExpiration in sectors list less scary (https://github.com/filecoin-project/lotus/pull/4600) 568 - Add commands to change the worker key (https://github.com/filecoin-project/lotus/pull/4513) 569 - Expose ClientDealSize via CLI (https://github.com/filecoin-project/lotus/pull/4569) 570 - client deal: Cache CommD when creating multiple deals (https://github.com/filecoin-project/lotus/pull/4535) 571 - miner sectors list: flags for events/seal time (https://github.com/filecoin-project/lotus/pull/4649) 572 - make IPFS online mode configurable (https://github.com/filecoin-project/lotus/pull/4650) 573 - Add sync status to miner info command (https://github.com/filecoin-project/lotus/pull/4669) 574 - Add a StateDecodeParams method (https://github.com/filecoin-project/lotus/pull/4105) 575 - sched: Interactive RPC Shell (https://github.com/filecoin-project/lotus/pull/4692) 576 - Add api for getting status given a code (https://github.com/filecoin-project/lotus/pull/4210) 577 - Update lotus-stats with a richer cli (https://github.com/filecoin-project/lotus/pull/4718) 578 - Use TSK passed to GasEstimateGasLimit (https://github.com/filecoin-project/lotus/pull/4739) 579 - match data type for reward state api (https://github.com/filecoin-project/lotus/pull/4745) 580 - Add `termination-estimate` to get an estimation for how much a termination penalty will be (https://github.com/filecoin-project/lotus/pull/4617) 581 - Restrict `ParseFIL` input length (https://github.com/filecoin-project/lotus/pull/4780) 582 - cmd sectors commitIDs len debug (https://github.com/filecoin-project/lotus/pull/4786) 583 - Add client deal-stats CLI (https://github.com/filecoin-project/lotus/pull/4788) 584 - Modify printf format (https://github.com/filecoin-project/lotus/pull/4795) 585 - Updated msig inspect (https://github.com/filecoin-project/lotus/pull/4533) 586 - Delete the duplicate output (https://github.com/filecoin-project/lotus/pull/4819) 587 - miner: Storage list sectors command (https://github.com/filecoin-project/lotus/pull/4831) 588 - drop a few logs down to debug (https://github.com/filecoin-project/lotus/pull/4832) 589 590 #### Testing and Tooling 591 592 - refactor: share code between CLI tests (https://github.com/filecoin-project/lotus/pull/4598) 593 - Fix flaky TestCLIDealFlow (https://github.com/filecoin-project/lotus/pull/4608) 594 - Fix flaky testMiningReal (https://github.com/filecoin-project/lotus/pull/4609) 595 - Add election run-dummy command (https://github.com/filecoin-project/lotus/pull/4498) 596 - Fix .gitmodules (https://github.com/filecoin-project/lotus/pull/4713) 597 - fix metrics wiring.(https://github.com/filecoin-project/lotus/pull/4691) 598 - shed: Util for creating ID CIDs (https://github.com/filecoin-project/lotus/pull/4726) 599 - Run kumquat upgrade on devnets (https://github.com/filecoin-project/lotus/pull/4734) 600 - Make pond work again (https://github.com/filecoin-project/lotus/pull/4775) 601 - lotus-stats: fix influx flags (https://github.com/filecoin-project/lotus/pull/4810) 602 - 2k sync BootstrapPeerThreshold (https://github.com/filecoin-project/lotus/pull/4797) 603 - test for FundManager panic to ensure it is fixed (https://github.com/filecoin-project/lotus/pull/4825) 604 - Stop mining at the end of tests (https://github.com/filecoin-project/lotus/pull/4826) 605 - Make some logs quieter (https://github.com/filecoin-project/lotus/pull/4709) 606 607 #### Dependencies 608 609 - update filecoin-ffi in go mod (https://github.com/filecoin-project/lotus/pull/4584) 610 - Update FFI (https://github.com/filecoin-project/lotus/pull/4613) 611 - feat: integrate new optional blst backend and verification optimizations from proofs (https://github.com/filecoin-project/lotus/pull/4630) 612 - Use https for blst submodule (https://github.com/filecoin-project/lotus/pull/4710) 613 - Update go-bitfield (https://github.com/filecoin-project/lotus/pull/4756) 614 - Update Yamux (https://github.com/filecoin-project/lotus/pull/4758) 615 - Update to latest go-bitfield (https://github.com/filecoin-project/lotus/pull/4793) 616 - Update to latest go-address (https://github.com/filecoin-project/lotus/pull/4798) 617 - update libp2p for stream interface changes (https://github.com/filecoin-project/lotus/pull/4814) 618 619 # 1.1.2 / 2020-10-24 620 621 This is a patch release of Lotus that builds on the fixes involving worker keys that was introduced in v1.1.1. Miners and node operators should update to this release as soon as possible in order to ensure their blocks are propagated and validated. 622 623 ## Changes 624 625 - Handle worker key changes correctly in runtime (https://github.com/filecoin-project/lotus/pull/4579) 626 627 # 1.1.1 / 2020-10-24 628 629 This is a patch release of Lotus that addresses some issues caused by when miners change their worker keys. Miners and node operators should update to this release as soon as possible, especially any miner who has changed their worker key recently. 630 631 ## Changes 632 633 - Miner finder for interactive client deal CLI (https://github.com/filecoin-project/lotus/pull/4504) 634 - Disable blockstore bloom filter (https://github.com/filecoin-project/lotus/pull/4512) 635 - Add api for getting status given a code (https://github.com/filecoin-project/lotus/pull/4210) 636 - add batch api for push messages (https://github.com/filecoin-project/lotus/pull/4236) 637 - add measure datastore wrapper around bench chain datastore (https://github.com/filecoin-project/lotus/pull/4302) 638 - Look at block base fee for PCR (https://github.com/filecoin-project/lotus/pull/4313) 639 - Add a shed util to determine % of power that has won a block (https://github.com/filecoin-project/lotus/pull/4318) 640 - Shed/borked cmd (https://github.com/filecoin-project/lotus/pull/4339) 641 - optimize mining code (https://github.com/filecoin-project/lotus/pull/4379) 642 - heaviestTipSet reurning nil is a ok (https://github.com/filecoin-project/lotus/pull/4523) 643 - Remove most v0 actor imports (https://github.com/filecoin-project/lotus/pull/4383) 644 - Small chain export optimization (https://github.com/filecoin-project/lotus/pull/4536) 645 - Add block list to pcr (https://github.com/filecoin-project/lotus/pull/4314) 646 - Fix circ supply default in conformance (https://github.com/filecoin-project/lotus/pull/4449) 647 - miner: fix init --create-worker-key (https://github.com/filecoin-project/lotus/pull/4475) 648 - make push and addLocal atomic (https://github.com/filecoin-project/lotus/pull/4500) 649 - add some methods that oni needs (https://github.com/filecoin-project/lotus/pull/4501) 650 - MinerGetBaseInfo: if miner is not found in lookback, check current (https://github.com/filecoin-project/lotus/pull/4508) 651 - Delete wallet from local wallet cache (https://github.com/filecoin-project/lotus/pull/4526) 652 - Fix lotus-shed ledger list (https://github.com/filecoin-project/lotus/pull/4521) 653 - Manage sectors by size instead of proof type (https://github.com/filecoin-project/lotus/pull/4511) 654 - Feat/api request metrics wrapper (https://github.com/filecoin-project/lotus/pull/4516) 655 - Fix chain sync stopping to sync (https://github.com/filecoin-project/lotus/pull/4541) 656 - Use the correct lookback for the worker key when creating blocks (https://github.com/filecoin-project/lotus/pull/4539) 657 - Cleanup test initialization and always validate VRFs in tests (https://github.com/filecoin-project/lotus/pull/4538) 658 - Add a market WithdrawBalance CLI (https://github.com/filecoin-project/lotus/pull/4524) 659 - wallet list: Add market balance and ID address flags (https://github.com/filecoin-project/lotus/pull/4555) 660 - tvx simulate command; tvx extract --ignore-sanity-checks (https://github.com/filecoin-project/lotus/pull/4554) 661 - lotus-lite: CLI tests for `lotus client` commands (https://github.com/filecoin-project/lotus/pull/4497) 662 - lite-mode - market storage and retrieval clients (https://github.com/filecoin-project/lotus/pull/4263) 663 - Chore: update drand to v1.2.0 (https://github.com/filecoin-project/lotus/pull/4420) 664 - Fix random test failures (https://github.com/filecoin-project/lotus/pull/4559) 665 - Fix flaky TestTimedBSSimple (https://github.com/filecoin-project/lotus/pull/4561) 666 - Make wallet market withdraw usable with miner addresses (https://github.com/filecoin-project/lotus/pull/4556) 667 - Fix flaky TestChainExportImportFull (https://github.com/filecoin-project/lotus/pull/4564) 668 - Use older randomness for the PoSt commit on specs-actors version 2 (https://github.com/filecoin-project/lotus/pull/4563) 669 - shed: Commad to decode messages (https://github.com/filecoin-project/lotus/pull/4565) 670 - Fetch worker key from correct block on sync (https://github.com/filecoin-project/lotus/pull/4573) 671 672 # 1.1.0 / 2020-10-20 673 674 This is a mandatory release that introduces the first post-liftoff upgrade to the Filecoin network. The changes that break consensus are an upgrade to specs-actors v2.2.0 at epoch 170000. 675 676 ## Changes 677 678 - Introduce Network version 6 (https://github.com/filecoin-project/lotus/pull/4506) 679 - Update markets v1.0.0 (https://github.com/filecoin-project/lotus/pull/4505) 680 - Add some extra logging to try and debug sync issues (https://github.com/filecoin-project/lotus/pull/4486) 681 - Circle: Run tests for some subsystems separately (https://github.com/filecoin-project/lotus/pull/4496) 682 - Add a terminate sectors command to lotus-shed (https://github.com/filecoin-project/lotus/pull/4507) 683 - Add a comment to BlockMessages to address #4446 (https://github.com/filecoin-project/lotus/pull/4491) 684 685 # 1.0.0 / 2020-10-19 686 687 It's 1.0.0! This is an optional release of Lotus that introduces some UX improvements to the 0.10 series. 688 689 This very small release is largely cosmetic, and intended to flag the code that the Filecoin mainnet was launched with. 690 691 ## API changes 692 693 - `StateMsgGasCost` has been removed. The equivalent information can be gained by calling `StateReplay`. 694 - A `GasCost` field has been added to the `InvocResult` type, meaning detailed gas costs will be returned when calling `StateReplay`, `StateCompute`, and `StateCall`. 695 - The behaviour of `StateReplay` in response to an empty tipset key has been changed. Instead of simply using the heaviest tipset (which is almost guaranteed to be an unsuccessful replay), we search now search the chain for the tipset that included the message, and replay the message in that tipset (we fail if no such tipset is found). 696 697 ## Changes 698 699 - Increase code coverage! (https://github.com/filecoin-project/lotus/pull/4410) 700 - Mpool: Don't block node startup loading messages (https://github.com/filecoin-project/lotus/pull/4411) 701 - Improve the UX of multisig approves (https://github.com/filecoin-project/lotus/pull/4398) 702 - Use build.BlockDelaySecs for deal start buffer (https://github.com/filecoin-project/lotus/pull/4415) 703 - Conformance: support multiple protocol versions (https://github.com/filecoin-project/lotus/pull/4393) 704 - Ensure msig inspect cli works with lotus-lite (https://github.com/filecoin-project/lotus/pull/4421) 705 - Add command to (slowly) prune lotus chain datastore (https://github.com/filecoin-project/lotus/pull/3876) 706 - Add WalletVerify to lotus-gateway (https://github.com/filecoin-project/lotus/pull/4373) 707 - Improve StateMsg APIs (https://github.com/filecoin-project/lotus/pull/4429) 708 - Add endpoints needed by spacegap (https://github.com/filecoin-project/lotus/pull/4426) 709 - Make audit balances capable of printing robust addresses (https://github.com/filecoin-project/lotus/pull/4423) 710 - Custom filters for retrieval deals (https://github.com/filecoin-project/lotus/pull/4424) 711 - Fix message list api (https://github.com/filecoin-project/lotus/pull/4422) 712 - Replace bootstrap peers (https://github.com/filecoin-project/lotus/pull/4447) 713 - Don't overwrite previously-configured maxPieceSize for a persisted ask (https://github.com/filecoin-project/lotus/pull/4480) 714 - State: optimize state snapshot address cache (https://github.com/filecoin-project/lotus/pull/4481) 715 716 # 0.10.2 / 2020-10-14 717 718 This is an optional release of Lotus that updates markets to 0.9.1, which fixes an issue affecting deals that were mid-transfer when the node was upgraded to 0.9.0. This release also includes some tweaks to default gas values and minor performance improvements. 719 720 ## Changes 721 722 - Use updated stored ask API (https://github.com/filecoin-project/lotus/pull/4384) 723 - tvx: trace puts to blockstore for inclusion in CAR. (https://github.com/filecoin-project/lotus/pull/4278) 724 - Add propose remove (https://github.com/filecoin-project/lotus/pull/4311) 725 - Update to 0.9.1 bugfix release (https://github.com/filecoin-project/lotus/pull/4402) 726 - Update drand endpoints (https://github.com/filecoin-project/lotus/pull/4125) 727 - fix: return true when deadlines changed (https://github.com/filecoin-project/lotus/pull/4403) 728 - sync wait --watch (https://github.com/filecoin-project/lotus/pull/4396) 729 - reduce garbage in blockstore (https://github.com/filecoin-project/lotus/pull/4406) 730 - give the TimeCacheBS tests a bit more time (https://github.com/filecoin-project/lotus/pull/4407) 731 - Improve gas defaults (https://github.com/filecoin-project/lotus/pull/4408) 732 - Change default gas premium to for 10 block inclusion (https://github.com/filecoin-project/lotus/pull/4222) 733 734 # 0.10.1 / 2020-10-14 735 736 This is an optional release of Lotus that updates markets to 0.9.0, which adds the ability to restart data transfers. This release also introduces Ledger support, and various UX improvements. 737 738 ## Changes 739 740 - Test the tape upgrade (https://github.com/filecoin-project/lotus/pull/4328) 741 - Adding in Ledger support (https://github.com/filecoin-project/lotus/pull/4290) 742 - Improve the UX for lotus-miner sealing workers (https://github.com/filecoin-project/lotus/pull/4329) 743 - Add a CLI tool for miner's to repay debt (https://github.com/filecoin-project/lotus/pull/4319) 744 - Rename params_testnet to params_mainnet (https://github.com/filecoin-project/lotus/pull/4336) 745 - Use seal-duration in calculating the earliest StartEpoch (https://github.com/filecoin-project/lotus/pull/4337) 746 - Reject deals that are > 7 days in the future in the BasicDealFilter (https://github.com/filecoin-project/lotus/pull/4173) 747 - Add an API endpoint to calculate the exact circulating supply (https://github.com/filecoin-project/lotus/pull/4148) 748 - lotus-pcr: ignore all other market messages (https://github.com/filecoin-project/lotus/pull/4341) 749 - Add message CID to InvocResult (https://github.com/filecoin-project/lotus/pull/4382) 750 - types: Add CID fields to messages in json marshalers (https://github.com/filecoin-project/lotus/pull/4338) 751 - fix(sync state): set state height to actual tipset height (https://github.com/filecoin-project/lotus/pull/4347) 752 - Fix off by one tipset in searchBackForMsg (https://github.com/filecoin-project/lotus/pull/4367) 753 - fix a panic on startup when we fail to load the tipset (https://github.com/filecoin-project/lotus/pull/4376) 754 - Avoid having the same message CID show up in execution traces (https://github.com/filecoin-project/lotus/pull/4350) 755 - feat(markets): update markets 0.9.0 and add data transfer restart (https://github.com/filecoin-project/lotus/pull/4363) 756 757 # 0.10.0 / 2020-10-12 758 759 This is a consensus-breaking hotfix that addresses an issue in specs-actors v2.0.3 that made it impossible to pledge new 32GiB sectors. The change in Lotus is to update to actors v2.1.0, behind the new network version 5. 760 761 ## Changes 762 763 - make pledge test pass with the race detector (https://github.com/filecoin-project/lotus/pull/4291) 764 - fix a race in tipset cache usage (https://github.com/filecoin-project/lotus/pull/4282) 765 - add an api for removing multisig signers (https://github.com/filecoin-project/lotus/pull/4274) 766 - cli: Don't output errors to stdout (https://github.com/filecoin-project/lotus/pull/4298) 767 - Fix panic in wallet export when key is not found (https://github.com/filecoin-project/lotus/pull/4299) 768 - Dump the block validation cache whenever we perform an import (https://github.com/filecoin-project/lotus/pull/4287) 769 - Fix two races (https://github.com/filecoin-project/lotus/pull/4301) 770 - sync unmark-bad --all (https://github.com/filecoin-project/lotus/pull/4296) 771 - decode parameters for multisig transactions in inspect (https://github.com/filecoin-project/lotus/pull/4312) 772 - Chain is love (https://github.com/filecoin-project/lotus/pull/4321) 773 - lotus-stats: optmize getting miner power (https://github.com/filecoin-project/lotus/pull/4315) 774 - implement tape upgrade (https://github.com/filecoin-project/lotus/pull/4322) 775 776 # 0.9.1 / 2020-10-10 777 778 This release fixes an issue which may cause the actors v2 migration to compute the state incorrectly when more than one migration is running in parallel. 779 780 ## Changes 781 782 - Make concurrent actor migrations safe (https://github.com/filecoin-project/lotus/pull/4293) 783 - Remote wallet backends (https://github.com/filecoin-project/lotus/pull/3583) 784 - Track funds in FundMgr correctly in case of AddFunds failing (https://github.com/filecoin-project/lotus/pull/4273) 785 - Partial lite-node mode (https://github.com/filecoin-project/lotus/pull/4095) 786 - Fix potential infinite loop in GetBestMiningCandidate (https://github.com/filecoin-project/lotus/pull/3444) 787 - sync wait: Handle processed message offset (https://github.com/filecoin-project/lotus/pull/4253) 788 - Add some new endpoints for querying Msig info (https://github.com/filecoin-project/lotus/pull/4250) 789 - Update markets v0.7.1 (https://github.com/filecoin-project/lotus/pull/4254) 790 - Optimize SearchForMessage and GetReceipt (https://github.com/filecoin-project/lotus/pull/4246) 791 - Use FIL instead of attoFIL in CLI more consistently (https://github.com/filecoin-project/lotus/pull/4249) 792 - fix: clash between daemon --api flag and cli tests (https://github.com/filecoin-project/lotus/pull/4241) 793 - add more info to chain sync lookback failure (https://github.com/filecoin-project/lotus/pull/4245) 794 - Add message counts to inspect chain output (https://github.com/filecoin-project/lotus/pull/4230) 795 796 # 0.9.0 / 2020-10-07 797 798 This consensus-breaking release of Lotus upgrades the actors version to v2.0.0. This requires migrating actor state from v0 to v2. The changes that break consensus are: 799 800 - Introducing v2 actors and its migration (https://github.com/filecoin-project/lotus/pull/3936) 801 - Runtime's Receiver() should only return ID addresses (https://github.com/filecoin-project/lotus/pull/3589) 802 - Update miner eligibility checks for v2 actors (https://github.com/filecoin-project/lotus/pull/4188) 803 - Add funds that have left FilReserve to circ supply (https://github.com/filecoin-project/lotus/pull/4160) 804 - Set WinningPoStSectorSetLookback to finality post-v2 actors (https://github.com/filecoin-project/lotus/pull/4190) 805 - fix: error when actor panics directly (https://github.com/filecoin-project/lotus/pull/3697) 806 807 ## Changes 808 809 #### Dependencies 810 811 - Update go-bitfield (https://github.com/filecoin-project/lotus/pull/4171) 812 - update the AMT implementation (https://github.com/filecoin-project/lotus/pull/4194) 813 - Update to actors v0.2.1 (https://github.com/filecoin-project/lotus/pull/4199) 814 815 #### Core Lotus 816 817 - Paych: fix voucher amount verification (https://github.com/filecoin-project/lotus/pull/3821) 818 - Cap market provider messages (https://github.com/filecoin-project/lotus/pull/4141) 819 - Run fork function after cron for null block safety (https://github.com/filecoin-project/lotus/pull/4114) 820 - use bitswap sessions when fetching messages, and cancel them (https://github.com/filecoin-project/lotus/pull/4142) 821 - relax pubsub IPColocationFactorThreshold to 5 (https://github.com/filecoin-project/lotus/pull/4183) 822 - Support addresses with mainnet prefixes (https://github.com/filecoin-project/lotus/pull/4186) 823 - fix: make message signer nonce generation transactional (https://github.com/filecoin-project/lotus/pull/4165) 824 - build: Env var to keep test address output (https://github.com/filecoin-project/lotus/pull/4213) 825 - make vm.EnableGasTracing public (https://github.com/filecoin-project/lotus/pull/4214) 826 - introduce separate state-tree versions (https://github.com/filecoin-project/lotus/pull/4197) 827 - reject explicit "calls" at the upgrade height (https://github.com/filecoin-project/lotus/pull/4231) 828 - return an illegal actor error when we see an unsupported actor version (https://github.com/filecoin-project/lotus/pull/4232) 829 - Set head should unmark blocks as valid (https://gist.github.com/travisperson/3c7cddd77a33979a519ccef4e6515f20) 830 831 #### Mining 832 833 - Increased ExpectedSealDuration and and WaitDealsDelay (https://github.com/filecoin-project/lotus/pull/3743) 834 - Miner backup/restore commands (https://github.com/filecoin-project/lotus/pull/4133) 835 - lotus-miner: add more help text to storage / attach (https://github.com/filecoin-project/lotus/pull/3961) 836 - Reject deals that are > 7 days in the future in the BasicDealFilter (https://github.com/filecoin-project/lotus/pull/4173) 837 - feat(miner): add miner deadline diffing logic (https://github.com/filecoin-project/lotus/pull/4178) 838 839 #### UX 840 841 - Improve the UX for replacing messages (https://github.com/filecoin-project/lotus/pull/4134) 842 - Add verified flag to interactive deal creation (https://github.com/filecoin-project/lotus/pull/4145) 843 - Add command to (slowly) prune lotus chain datastore (https://github.com/filecoin-project/lotus/pull/3876) 844 - Some helpers for verifreg work (https://github.com/filecoin-project/lotus/pull/4124) 845 - Always use default 720h for setask duration and hide the duration param option (https://github.com/filecoin-project/lotus/pull/4077) 846 - Convert ID addresses to key addresses before checking wallet (https://github.com/filecoin-project/lotus/pull/4122) 847 - add a command to view block space utilization (https://github.com/filecoin-project/lotus/pull/4176) 848 - allow usage inspection on a chain segment (https://github.com/filecoin-project/lotus/pull/4177) 849 - Add mpool stats for base fee (https://github.com/filecoin-project/lotus/pull/4170) 850 - Add verified status to api.DealInfo (https://github.com/filecoin-project/lotus/pull/4153) 851 - Add a CLI command to set a miner's owner address (https://github.com/filecoin-project/lotus/pull/4189) 852 853 #### Tooling and validation 854 855 - Lotus-pcr: add recover-miners command (https://github.com/filecoin-project/lotus/pull/3714) 856 - MpoolPushUntrusted API for gateway (https://github.com/filecoin-project/lotus/pull/3915) 857 - Test lotus-miner info all (https://github.com/filecoin-project/lotus/pull/4166) 858 - chain export: Error with unfinished exports (https://github.com/filecoin-project/lotus/pull/4179) 859 - add printf in TestWindowPost (https://github.com/filecoin-project/lotus/pull/4043) 860 - add trace wdpost (https://github.com/filecoin-project/lotus/pull/4020) 861 - Fix noncefix (https://github.com/filecoin-project/lotus/pull/4202) 862 - Lotus-pcr: Limit the fee cap of messages we will process, refund gas fees for windowed post and storage deals (https://github.com/filecoin-project/lotus/pull/4198) 863 - Fix pond (https://github.com/filecoin-project/lotus/pull/4203) 864 - allow manual setting of noncefix fee cap (https://github.com/filecoin-project/lotus/pull/4205) 865 - implement command to get execution traces of any message (https://github.com/filecoin-project/lotus/pull/4200) 866 - conformance: minor driver refactors (https://github.com/filecoin-project/lotus/pull/4211) 867 - lotus-pcr: ignore all other messages (https://github.com/filecoin-project/lotus/pull/4218) 868 - lotus-pcr: zero refund (https://github.com/filecoin-project/lotus/pull/4229) 869 870 ## Contributors 871 872 The following contributors had 5 or more commits go into this release. 873 We are grateful for every contribution! 874 875 | Contributor | Commits | Lines ± | 876 |--------------------|---------|---------------| 877 | Stebalien | 84 | +3425/-2287 | 878 | magik6k | 41 | +2121/-506 | 879 | arajasek | 39 | +2467/-424 | 880 | Kubuxu | 25 | +2344/-775 | 881 | raulk | 21 | +287/-196 | 882 | whyrusleeping | 13 | +727/-71 | 883 | hsanjuan | 13 | +5886/-7956 | 884 | dirkmc | 11 | +2634/-576 | 885 | travisperson | 8 | +923/-202 | 886 | ribasushi | 6 | +188/-128 | 887 | zgfzgf | 5 | +21/-17 | 888 889 # 0.8.1 / 2020-09-30 890 891 This optional release of Lotus introduces a new version of markets which switches to CBOR-map encodings, and allows datastore migrations. The release also introduces several improvements to the mining process, a few performance optimizations, and a battery of UX additions and enhancements. 892 893 ## Changes 894 895 #### Dependencies 896 897 - Markets 0.7.0 with updated data stores (https://github.com/filecoin-project/lotus/pull/4089) 898 - Update ffi to code with blst fixes (https://github.com/filecoin-project/lotus/pull/3998) 899 900 #### Core Lotus 901 902 - Fix GetPower with no miner address (https://github.com/filecoin-project/lotus/pull/4049) 903 - Refactor: Move nonce generation out of mpool (https://github.com/filecoin-project/lotus/pull/3970) 904 905 #### Performance 906 907 - Implement caching syscalls for import-bench (https://github.com/filecoin-project/lotus/pull/3888) 908 - Fetch tipset blocks in parallel (https://github.com/filecoin-project/lotus/pull/4074) 909 - Optimize Tipset equals() (https://github.com/filecoin-project/lotus/pull/4056) 910 - Make state transition in validation async (https://github.com/filecoin-project/lotus/pull/3868) 911 912 #### Mining 913 914 - Add trace window post (https://github.com/filecoin-project/lotus/pull/4020) 915 - Use abstract types for Dont recompute post on revert (https://github.com/filecoin-project/lotus/pull/4022) 916 - Fix injectNulls logic in test miner (https://github.com/filecoin-project/lotus/pull/4058) 917 - Fix potential panic in FinalizeSector (https://github.com/filecoin-project/lotus/pull/4092) 918 - Don't recompute post on revert (https://github.com/filecoin-project/lotus/pull/3924) 919 - Fix some failed precommit handling (https://github.com/filecoin-project/lotus/pull/3445) 920 - Add --no-swap flag for worker (https://github.com/filecoin-project/lotus/pull/4107) 921 - Allow some single-thread tasks to run in parallel with PC2/C2 (https://github.com/filecoin-project/lotus/pull/4116) 922 923 #### UX 924 925 - Add an envvar to set address network version (https://github.com/filecoin-project/lotus/pull/4028) 926 - Add logging to chain export (https://github.com/filecoin-project/lotus/pull/4030) 927 - Add JSON output to state compute (https://github.com/filecoin-project/lotus/pull/4038) 928 - Wallet list CLI: Print balances/nonces (https://github.com/filecoin-project/lotus/pull/4088) 929 - Added an option to show or not show sector info for `lotus-miner info` (https://github.com/filecoin-project/lotus/pull/4003) 930 - Add a command to import an ipld object into the chainstore (https://github.com/filecoin-project/lotus/pull/3434) 931 - Improve the lotus-shed dealtracker (https://github.com/filecoin-project/lotus/pull/4051) 932 - Docs review and re-organization (https://github.com/filecoin-project/lotus/pull/3431) 933 - Fix wallet list (https://github.com/filecoin-project/lotus/pull/4104) 934 - Add an endpoint to validate whether a string is a well-formed address (https://github.com/filecoin-project/lotus/pull/4106) 935 - Add an option to set config path (https://github.com/filecoin-project/lotus/pull/4103) 936 - Add printf in TestWindowPost (https://github.com/filecoin-project/lotus/pull/4043) 937 - Improve miner sectors list UX (https://github.com/filecoin-project/lotus/pull/4108) 938 939 #### Tooling 940 941 - Move policy change to seal bench (https://github.com/filecoin-project/lotus/pull/4032) 942 - Add back network power to stats (https://github.com/filecoin-project/lotus/pull/4050) 943 - Conformance: Record and feed circulating supply (https://github.com/filecoin-project/lotus/pull/4078) 944 - Snapshot import progress bar, add HTTP support (https://github.com/filecoin-project/lotus/pull/4070) 945 - Add lotus shed util to validate a tipset (https://github.com/filecoin-project/lotus/pull/4065) 946 - tvx: a test vector extraction and execution tool (https://github.com/filecoin-project/lotus/pull/4064) 947 948 #### Bootstrap 949 950 - Add new bootstrappers (https://github.com/filecoin-project/lotus/pull/4007) 951 - Add Glif node to bootstrap peers (https://github.com/filecoin-project/lotus/pull/4004) 952 - Add one more node located in China (https://github.com/filecoin-project/lotus/pull/4041) 953 - Add ipfsmain bootstrapper (https://github.com/filecoin-project/lotus/pull/4067) 954 955 # 0.8.0 / 2020-09-26 956 957 This consensus-breaking release of Lotus introduces an upgrade to the network. The changes that break consensus are: 958 959 - Upgrading to specs-actors v0.9.11, which reduces WindowPoSt faults per [FIP 0002](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0002.md) to reduce cost for honest miners with occasional faults (see https://github.com/filecoin-project/specs-actors/pull/1181) 960 - Revisions to some cryptoeconomics and network params 961 962 This release also updates go-fil-markets to fix an incompatibility issue between v0.7.2 and earlier versions. 963 964 ## Changes 965 966 #### Dependencies 967 968 - Update spec actors to 0.9.11 (https://github.com/filecoin-project/lotus/pull/4039) 969 - Update markets to 0.6.3 (https://github.com/filecoin-project/lotus/pull/4013) 970 971 #### Core Lotus 972 973 - Network upgrade (https://github.com/filecoin-project/lotus/pull/4039) 974 - Fix AddSupportedProofTypes (https://github.com/filecoin-project/lotus/pull/4033) 975 - Return an error when we fail to find a sector when checking sector expiration (https://github.com/filecoin-project/lotus/pull/4026) 976 - Batch blockstore copies after block validation (https://github.com/filecoin-project/lotus/pull/3980) 977 - Remove a misleading miner actor abstraction (https://github.com/filecoin-project/lotus/pull/3977) 978 - Fix out-of-bounds when loading all sector infos (https://github.com/filecoin-project/lotus/pull/3976) 979 - Fix break condition in the miner (https://github.com/filecoin-project/lotus/pull/3953) 980 981 #### UX 982 983 - Correct helptext around miners setting ask (https://github.com/filecoin-project/lotus/pull/4009) 984 - Make sync wait nicer (https://github.com/filecoin-project/lotus/pull/3991) 985 986 #### Tooling and validation 987 988 - Small adjustments following network upgradability changes (https://github.com/filecoin-project/lotus/pull/3996) 989 - Add some more big pictures stats to stateroot stat (https://github.com/filecoin-project/lotus/pull/3995) 990 - Add some actors policy setters for testing (https://github.com/filecoin-project/lotus/pull/3975) 991 992 ## Contributors 993 994 The following contributors had 5 or more commits go into this release. 995 We are grateful for every contribution! 996 997 | Contributor | Commits | Lines ± | 998 |--------------------|---------|---------------| 999 | arajasek | 66 | +3140/-1261 | 1000 | Stebalien | 64 | +3797/-3434 | 1001 | magik6k | 48 | +1892/-976 | 1002 | raulk | 40 | +2412/-1549 | 1003 | vyzo | 22 | +287/-196 | 1004 | alanshaw | 15 | +761/-146 | 1005 | whyrusleeping | 15 | +736/-52 | 1006 | hannahhoward | 14 | +1237/-837 | 1007 | anton | 6 | +32/-8 | 1008 | travisperson | 5 | +502/-6 | 1009 | Frank | 5 | +78/-39 | 1010 | Jennifer | 5 | +148/-41 | 1011 1012 # 0.7.2 / 2020-09-23 1013 1014 This optional release of Lotus introduces a major refactor around how a Lotus node interacts with code from the specs-actors repo. We now use interfaces to read the state of actors, which is required to be able to reason about different versions of actors code at the same time. 1015 1016 Additionally, this release introduces various improvements to the sync process, as well as changes to better the overall UX experience. 1017 1018 ## Changes 1019 1020 #### Core Lotus 1021 1022 - Network upgrade support (https://github.com/filecoin-project/lotus/pull/3781) 1023 - Upgrade markets to `v0.6.2` (https://github.com/filecoin-project/lotus/pull/3974) 1024 - Validate chain sync response indices when fetching messages (https://github.com/filecoin-project/lotus/pull/3939) 1025 - Add height diff to sync wait (https://github.com/filecoin-project/lotus/pull/3926) 1026 - Replace Requires with Wants (https://github.com/filecoin-project/lotus/pull/3898) 1027 - Update state diffing for market actor (https://github.com/filecoin-project/lotus/pull/3889) 1028 - Parallel fetch for sync (https://github.com/filecoin-project/lotus/pull/3887) 1029 - Fix SectorState (https://github.com/filecoin-project/lotus/pull/3881) 1030 1031 #### User Experience 1032 1033 - Add basic deal stats api server for spacerace slingshot (https://github.com/filecoin-project/lotus/pull/3963) 1034 - When doing `sectors update-state`, show a list of existing states if user inputs an invalid one (https://github.com/filecoin-project/lotus/pull/3944) 1035 - Fix `lotus-miner storage find` error (https://github.com/filecoin-project/lotus/pull/3927) 1036 - Log shutdown method for lotus daemon and miner (https://github.com/filecoin-project/lotus/pull/3925) 1037 - Update build and setup instruction link (https://github.com/filecoin-project/lotus/pull/3919) 1038 - Add an option to hide removed sectors from `sectors list` output (https://github.com/filecoin-project/lotus/pull/3903) 1039 1040 #### Testing and validation 1041 1042 - Add init.State#Remove() for testing (https://github.com/filecoin-project/lotus/pull/3971) 1043 - lotus-shed: add consensus check command (https://github.com/filecoin-project/lotus/pull/3933) 1044 - Add keyinfo verify and jwt token command to lotus-shed (https://github.com/filecoin-project/lotus/pull/3914) 1045 - Fix conformance gen (https://github.com/filecoin-project/lotus/pull/3892) 1046 1047 # 0.7.1 / 2020-09-17 1048 1049 This optional release of Lotus introduces some critical fixes to the window PoSt process. It also upgrades some core dependencies, and introduces many improvements to the mining process, deal-making cycle, and overall User Experience. 1050 1051 ## Changes 1052 1053 #### Some notable improvements: 1054 1055 - Correctly construct params for `SubmitWindowedPoSt` messages (https://github.com/filecoin-project/lotus/pull/3909) 1056 - Skip sectors correctly for Window PoSt (https://github.com/filecoin-project/lotus/pull/3839) 1057 - Split window PoST submission into multiple messages (https://github.com/filecoin-project/lotus/pull/3689) 1058 - Improve journal coverage (https://github.com/filecoin-project/lotus/pull/2455) 1059 - Allow retrievals while sealing (https://github.com/filecoin-project/lotus/pull/3778) 1060 - Don't prune locally published messages (https://github.com/filecoin-project/lotus/pull/3772) 1061 - Add get-ask, set-ask retrieval commands (https://github.com/filecoin-project/lotus/pull/3886) 1062 - Consistently name winning and window post in logs (https://github.com/filecoin-project/lotus/pull/3873)) 1063 - Add auto flag to mpool replace (https://github.com/filecoin-project/lotus/pull/3752)) 1064 1065 #### Dependencies 1066 1067 - Upgrade markets to `v0.6.1` (https://github.com/filecoin-project/lotus/pull/3906) 1068 - Upgrade specs-actors to `v0.9.10` (https://github.com/filecoin-project/lotus/pull/3846) 1069 - Upgrade badger (https://github.com/filecoin-project/lotus/pull/3739) 1070 1071 # 0.7.0 / 2020-09-10 1072 1073 This consensus-breaking release of Lotus is designed to test a network upgrade on the space race testnet. The changes that break consensus are: 1074 1075 - Upgrading the Drand network used from the test Drand network to the League of Entropy main drand network. This is the same Drand network that will be used in the Filecoin mainnet. 1076 - Upgrading to specs-actors v0.9.8, which adds a new method to the Multisig actor. 1077 1078 ## Changes 1079 1080 #### Core Lotus 1081 1082 - Fix IsAncestorOf (https://github.com/filecoin-project/lotus/pull/3717) 1083 - Update to specs-actors v0.9.8 (https://github.com/filecoin-project/lotus/pull/3725) 1084 - Increase chain throughput by 20% (https://github.com/filecoin-project/lotus/pull/3732) 1085 - Updare to go-libp2p-pubsub `master` (https://github.com/filecoin-project/lotus/pull/3735) 1086 - Drand upgrade (https://github.com/filecoin-project/lotus/pull/3670) 1087 - Multisig API additions (https://github.com/filecoin-project/lotus/pull/3590) 1088 1089 #### Storage Miner 1090 1091 - Increase the number of times precommit2 is attempted before moving back to precommit1 (https://github.com/filecoin-project/lotus/pull/3720) 1092 1093 #### Message pool 1094 1095 - Relax mpool add strictness checks for local pushes (https://github.com/filecoin-project/lotus/pull/3724) 1096 1097 1098 #### Maintenance 1099 1100 - Fix devnets (https://github.com/filecoin-project/lotus/pull/3712) 1101 - Fix(chainwatch): compare prev miner with cur miner (https://github.com/filecoin-project/lotus/pull/3715) 1102 - CI: fix statediff build; make optional (https://github.com/filecoin-project/lotus/pull/3729) 1103 - Feat: Chaos abort (https://github.com/filecoin-project/lotus/pull/3733) 1104 1105 ## Contributors 1106 1107 The following contributors had commits go into this release. 1108 We are grateful for every contribution! 1109 1110 | Contributor | Commits | Lines ± | 1111 |--------------------|---------|---------------| 1112 | arajasek | 28 | +1144/-239 | 1113 | Kubuxu | 19 | +452/-261 | 1114 | whyrusleeping | 13 | +456/-87 | 1115 | vyzo | 11 | +318/-20 | 1116 | raulk | 10 | +1289/-350 | 1117 | magik6k | 6 | +188/-55 | 1118 | dirkmc | 3 | +31/-8 | 1119 | alanshaw | 3 | +176/-37 | 1120 | Stebalien | 2 | +9/-12 | 1121 | lanzafame | 1 | +1/-1 | 1122 | frrist | 1 | +1/-1 | 1123 | mishmosh | 1 | +1/-1 | 1124 | nonsense | 1 | +1/-0 | 1125 1126 # 0.6.2 / 2020-09-09 1127 1128 This release introduces some critical fixes to message selection and gas estimation logic. It also adds the ability for nodes to mark a certain tipset as checkpointed, as well as various minor improvements and bugfixes. 1129 1130 ## Changes 1131 1132 #### Messagepool 1133 1134 - Warn when optimal selection fails to pack a block and we fall back to random selection (https://github.com/filecoin-project/lotus/pull/3708) 1135 - Add basic command for printing gas performance of messages in the mpool (https://github.com/filecoin-project/lotus/pull/3701) 1136 - Adjust optimal selection to always try to fill blocks (https://github.com/filecoin-project/lotus/pull/3685) 1137 - Fix very minor bug in repub baseFeeLowerBound (https://github.com/filecoin-project/lotus/pull/3663) 1138 - Add an auto flag to mpool replace (https://github.com/filecoin-project/lotus/pull/3676) 1139 - Fix mpool optimal selection packing failure (https://github.com/filecoin-project/lotus/pull/3698) 1140 1141 #### Core Lotus 1142 1143 - Don't use latency as initital estimate for blocksync (https://github.com/filecoin-project/lotus/pull/3648) 1144 - Add niceSleep 1 second when drand errors (https://github.com/filecoin-project/lotus/pull/3664) 1145 - Fix isChainNearSync check in block validator (https://github.com/filecoin-project/lotus/pull/3650) 1146 - Add peer to peer manager before fetching the tipset (https://github.com/filecoin-project/lotus/pull/3667) 1147 - Add StageFetchingMessages to sync status (https://github.com/filecoin-project/lotus/pull/3668) 1148 - Pass tipset through upgrade logic (https://github.com/filecoin-project/lotus/pull/3673) 1149 - Allow nodes to mark tipsets as checkpointed (https://github.com/filecoin-project/lotus/pull/3680) 1150 - Remove hard-coded late-fee in window PoSt (https://github.com/filecoin-project/lotus/pull/3702) 1151 - Gas: Fix median calc (https://github.com/filecoin-project/lotus/pull/3686) 1152 1153 #### Storage 1154 1155 - Storage manager: bail out with an error if unsealed cid is undefined (https://github.com/filecoin-project/lotus/pull/3655) 1156 - Storage: return true from Sealer.ReadPiece() on success (https://github.com/filecoin-project/lotus/pull/3657) 1157 1158 #### Maintenance 1159 1160 - Resolve lotus, test-vectors, statediff dependency cycle (https://github.com/filecoin-project/lotus/pull/3688) 1161 - Paych: add docs on how to use paych status (https://github.com/filecoin-project/lotus/pull/3690) 1162 - Initial CODEOWNERS (https://github.com/filecoin-project/lotus/pull/3691) 1163 1164 # 0.6.1 / 2020-09-08 1165 1166 This optional release introduces a minor improvement to the sync process, ensuring nodes don't fall behind and then resync. 1167 1168 ## Changes 1169 1170 - Update `test-vectors` (https://github.com/filecoin-project/lotus/pull/3645) 1171 - Revert "only subscribe to pubsub topics once we are synced" (https://github.com/filecoin-project/lotus/pull/3643) 1172 1173 # 0.6.0 / 2020-09-07 1174 1175 This consensus-breaking release of Lotus is designed to test a network upgrade on the space race testnet. The changes that break consensus are: 1176 1177 - Tweaking of some cryptoecon parameters in specs-actors 0.9.7 (https://github.com/filecoin-project/specs-actors/releases/tag/v0.9.7) 1178 - Rebalancing FIL distribution to make testnet FIL scarce, which prevents base fee spikes and sets better expectations for mainnet 1179 1180 This release also introduces many improvements to Lotus! Among them are a new version of go-fil-markets that supports non-blocking retrieval, various spam reduction measures in the messagepool and p2p logic, and UX improvements to payment channels, dealmaking, and state inspection. 1181 1182 ## Changes 1183 1184 #### Core Lotus and dependencies 1185 1186 - Implement faucet funds reallocation logic (https://github.com/filecoin-project/lotus/pull/3632) 1187 - Network upgrade: Upgrade to correct fork threshold (https://github.com/filecoin-project/lotus/pull/3628) 1188 - Update to specs 0.9.7 and markets 0.6.0 (https://github.com/filecoin-project/lotus/pull/3627) 1189 - Network upgrade: Perform base fee tamping (https://github.com/filecoin-project/lotus/pull/3623) 1190 - Chain events: if cache best() is nil, return chain head (https://github.com/filecoin-project/lotus/pull/3611) 1191 - Update to specs actors v0.9.6 (https://github.com/filecoin-project/lotus/pull/3603) 1192 1193 #### Messagepool 1194 1195 - Temporarily allow negative chains (https://github.com/filecoin-project/lotus/pull/3625) 1196 - Improve publish/republish logic (https://github.com/filecoin-project/lotus/pull/3592) 1197 - Fix selection bug; priority messages were not included if other chains were negative (https://github.com/filecoin-project/lotus/pull/3580) 1198 - Add defensive check for minimum GasFeeCap for inclusion within the next 20 blocks (https://github.com/filecoin-project/lotus/pull/3579) 1199 - Add additional info about gas premium (https://github.com/filecoin-project/lotus/pull/3578) 1200 - Fix GasPremium capping logic (https://github.com/filecoin-project/lotus/pull/3552) 1201 1202 #### Payment channels 1203 1204 - Get available funds by address or by from/to (https://github.com/filecoin-project/lotus/pull/3547) 1205 - Create `lotus paych status` command (https://github.com/filecoin-project/lotus/pull/3523) 1206 - Rename CLI command from "paych get" to "paych add-funds" (https://github.com/filecoin-project/lotus/pull/3520) 1207 1208 #### Peer-to-peer 1209 1210 - Only subscribe to pubsub topics once we are synced (https://github.com/filecoin-project/lotus/pull/3602) 1211 - Reduce mpool add failure log spam (https://github.com/filecoin-project/lotus/pull/3562) 1212 - Republish messages even if the chains have negative performance(https://github.com/filecoin-project/lotus/pull/3557) 1213 - Adjust gossipsub gossip factor (https://github.com/filecoin-project/lotus/pull/3556) 1214 - Integrate pubsub Random Early Drop (https://github.com/filecoin-project/lotus/pull/3518) 1215 1216 #### Miscellaneous 1217 1218 - Fix panic in OnDealExpiredSlashed (https://github.com/filecoin-project/lotus/pull/3553) 1219 - Robustify state manager against holes in actor method numbers (https://github.com/filecoin-project/lotus/pull/3538) 1220 1221 #### UX 1222 1223 - VM: Fix an error message (https://github.com/filecoin-project/lotus/pull/3608) 1224 - Documentation: Batch replacement,update lotus-storage-miner to lotus-miner (https://github.com/filecoin-project/lotus/pull/3571) 1225 - CLI: Robust actor lookup (https://github.com/filecoin-project/lotus/pull/3535) 1226 - Add agent flag to net peers (https://github.com/filecoin-project/lotus/pull/3534) 1227 - Add watch option to storage-deals list (https://github.com/filecoin-project/lotus/pull/3527) 1228 1229 #### Testing & tooling 1230 1231 - Decommission chain-validation (https://github.com/filecoin-project/lotus/pull/3606) 1232 - Metrics: add expected height metric (https://github.com/filecoin-project/lotus/pull/3586) 1233 - PCR: Use current tipset during refund (https://github.com/filecoin-project/lotus/pull/3570) 1234 - Lotus-shed: Add math command (https://github.com/filecoin-project/lotus/pull/3568) 1235 - PCR: Add tipset aggergation (https://github.com/filecoin-project/lotus/pull/3565)- Fix broken paych tests (https://github.com/filecoin-project/lotus/pull/3551) 1236 - Make chain export ~1000x times faster (https://github.com/filecoin-project/lotus/pull/3533) 1237 - Chainwatch: Stop SyncIncomingBlocks from leaking into chainwatch processing; No panics during processing (https://github.com/filecoin-project/lotus/pull/3526) 1238 - Conformance: various changes (https://github.com/filecoin-project/lotus/pull/3521) 1239 1240 # 0.5.10 / 2020-09-03 1241 1242 This patch includes a crucial fix to the message pool selection logic, strongly disfavouring messages that might cause a miner penalty. 1243 1244 ## Changes 1245 1246 - Fix calculation of GasReward in messagepool (https://github.com/filecoin-project/lotus/pull/3528) 1247 1248 # 0.5.9 / 2020-09-03 1249 1250 This patch includes a hotfix to the `GasEstimateFeeCap` method, capping the estimated fee to a reasonable level by default. 1251 1252 ## Changes 1253 1254 - Added target height to sync wait (https://github.com/filecoin-project/lotus/pull/3502) 1255 - Disable codecov annotations (https://github.com/filecoin-project/lotus/pull/3514) 1256 - Cap fees to reasonable level by default (https://github.com/filecoin-project/lotus/pull/3516) 1257 - Add APIs and command to inspect bandwidth usage (https://github.com/filecoin-project/lotus/pull/3497) 1258 - Track expected nonce in mpool, ignore messages with large nonce gaps (https://github.com/filecoin-project/lotus/pull/3450) 1259 1260 # 0.5.8 / 2020-09-02 1261 1262 This patch includes some bugfixes to the sector sealing process, and updates go-fil-markets. It also improves the performance of blocksync, adds a method to export chain state trees, and improves chainwatch. 1263 1264 ## Changes 1265 1266 - Upgrade markets to v0.5.9 (https://github.com/filecoin-project/lotus/pull/3496) 1267 - Improve blocksync to load fewer messages: (https://github.com/filecoin-project/lotus/pull/3494) 1268 - Fix a panic in the ffi-wrapper's `ReadPiece` (https://github.com/filecoin-project/lotus/pull/3492/files) 1269 - Fix a deadlock in the sealing scheduler (https://github.com/filecoin-project/lotus/pull/3489) 1270 - Add test vectors for tipset tests (https://github.com/filecoin-project/lotus/pull/3485/files) 1271 - Improve the advance-block debug command (https://github.com/filecoin-project/lotus/pull/3476) 1272 - Add toggle for message processing to Lotus PCR (https://github.com/filecoin-project/lotus/pull/3470) 1273 - Allow exporting recent chain state trees (https://github.com/filecoin-project/lotus/pull/3463) 1274 - Remove height from chain rand (https://github.com/filecoin-project/lotus/pull/3458) 1275 - Disable GC on chain badger datastore (https://github.com/filecoin-project/lotus/pull/3457) 1276 - Account for `GasPremium` in `GasEstimateFeeCap` (https://github.com/filecoin-project/lotus/pull/3456) 1277 - Update go-libp2p-pubsub to `master` (https://github.com/filecoin-project/lotus/pull/3455) 1278 - Chainwatch improvements (https://github.com/filecoin-project/lotus/pull/3442) 1279 1280 # 0.5.7 / 2020-08-31 1281 1282 This patch release includes some bugfixes and enhancements to the sector lifecycle and message pool logic. 1283 1284 ## Changes 1285 1286 - Rebuild unsealed infos on miner restart (https://github.com/filecoin-project/lotus/pull/3401) 1287 - CLI to attach storage paths to workers (https://github.com/filecoin-project/lotus/pull/3405) 1288 - Do not select negative performing message chains for inclusion (https://github.com/filecoin-project/lotus/pull/3392) 1289 - Remove a redundant error-check (https://github.com/filecoin-project/lotus/pull/3421) 1290 - Correctly move unsealed sectors in `FinalizeSectors` (https://github.com/filecoin-project/lotus/pull/3424) 1291 - Improve worker selection logic (https://github.com/filecoin-project/lotus/pull/3425) 1292 - Don't use context to close bitswap (https://github.com/filecoin-project/lotus/pull/3430) 1293 - Correctly estimate gas premium when there is only one message on chain (https://github.com/filecoin-project/lotus/pull/3428) 1294 1295 # 0.5.6 / 2020-08-29 1296 1297 Hotfix release that fixes a panic in the sealing scheduler (https://github.com/filecoin-project/lotus/pull/3389). 1298 1299 # 0.5.5 1300 1301 This patch release introduces a large number of improvements to the sealing process. 1302 It also updates go-fil-markets to 1303 [version 0.5.8](https://github.com/filecoin-project/go-fil-markets/releases/tag/v0.5.8), 1304 and go-libp2p-pubsub to [v0.3.5](https://github.com/libp2p/go-libp2p-pubsub/releases/tag/v0.3.5). 1305 1306 #### Downstream upgrades 1307 1308 - Upgrades markets to v0.5.8 (https://github.com/filecoin-project/lotus/pull/3384) 1309 - Upgrades go-libp2p-pubsub to v0.3.5 (https://github.com/filecoin-project/lotus/pull/3305) 1310 1311 #### Sector sealing 1312 1313 - The following improvements were introduced in https://github.com/filecoin-project/lotus/pull/3350. 1314 1315 - Allow `lotus-miner sectors remove` to remove a sector in any state. 1316 - Create a separate state in the storage FSM dedicated to submitting the Commit message. 1317 - Recovery for when the Deal IDs of deals in a sector get changed in a reorg. 1318 - Auto-retry sending Precommit and Commit messages if they run out of gas 1319 - Auto-retry sector remove tasks when they fail 1320 - Compact worker windows, and allow their tasks to be executed in any order 1321 1322 - Don't simply skip PoSt for bad sectors (https://github.com/filecoin-project/lotus/pull/3323) 1323 1324 #### Message Pool 1325 1326 - Spam Protection: Track required funds for pending messages (https://github.com/filecoin-project/lotus/pull/3313) 1327 1328 #### Chainwatch 1329 1330 - Add more power and reward metrics (https://github.com/filecoin-project/lotus/pull/3367) 1331 - Fix raciness in sector deal table (https://github.com/filecoin-project/lotus/pull/3275) 1332 - Parallelize miner processing (https://github.com/filecoin-project/lotus/pull/3380) 1333 - Accept Lotus API and token (https://github.com/filecoin-project/lotus/pull/3337) 1334 1335 # 0.5.4 1336 1337 A patch release, containing a few nice bugfixes and improvements: 1338 1339 - Fix parsing of peer ID in `lotus-miner actor set-peer-id` (@whyrusleeping) 1340 - Update dependencies, fixing several bugs (@Stebalien) 1341 - Fix remaining linter warnings (@Stebalien) 1342 - Use safe string truncation (@Ingar) 1343 - Allow tweaking of blocksync message window size (@whyrusleeping) 1344 - Add some additional gas stats to metrics (@Kubuxu) 1345 - Fix an edge case bug in message selection, add many tests (@vyzo) 1346 1347 # 0.5.3 1348 1349 Yet another hotfix release. 1350 A lesson for readers, having people who have been awake for 12+ hours review 1351 your hotfix PR is not a good idea. Find someone who has enough slept recently 1352 enough to give you good code review, otherwise you'll end up quickly bumping 1353 versions again. 1354 1355 - Fixed a bug in the mempool that was introduced in v0.5.2 1356 1357 # 0.5.2 / 2020-08-24 1358 1359 This is a hotfix release. 1360 1361 - Fix message selection to not include messages that are invalid for block 1362 inclusion. 1363 - Improve SelectMessage handling of the case where the message pools tipset 1364 differs from our mining base. 1365 1366 # 0.5.1 / 2020-08-24 1367 1368 The Space Race release! 1369 This release contains the genesis car file and bootstrap peers for the space 1370 race network. 1371 1372 Additionally, we included two small fixes to genesis creation: 1373 - Randomize ticket value in genesis generation 1374 - Correctly set t099 (burnt funds actor) to have valid account actor state 1375 1376 # 0.5.0 / 2020-08-20 1377 1378 This version of Lotus will be used for the incentivized testnet Space Race competition, 1379 and can be considered mainnet-ready code. It includes some protocol 1380 changes, upgrades of core dependencies, and various bugfixes and UX/performance improvements. 1381 1382 ## Highlights 1383 1384 Among the highlights included in this release are: 1385 1386 - Gas changes: We implemented EIP-1559 and introduced real gas values. 1387 - Deal-making: We now support "Committed Capacity" sectors, "fast-retrieval" deals, 1388 and the packing of multiple deals into a single sector. 1389 - Renamed features: We renamed some of the binaries, environment variables, and default 1390 paths associated with a Lotus node. 1391 1392 ### Gas changes 1393 1394 We made some significant changes to the mechanics of gas in this release. 1395 1396 #### Network fee 1397 1398 We implemented something similar to 1399 [Ethereum's EIP-1559](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md). 1400 The `Message` structure had three changes: 1401 - The `GasPrice` field has been removed 1402 - A new `GasFeeCap` field has been added, which controls the maximum cost 1403 the sender incurs for the message 1404 - A new `GasPremium` field has been added, which controls the reward a miner 1405 earns for including the message 1406 1407 A sender will never be charged more than `GasFeeCap * GasLimit`. 1408 A miner will typically earn `GasPremium * GasLimit` as a reward. 1409 1410 The `Blockheader` structure has one new field, called `ParentBaseFee`. 1411 Informally speaking,the `ParentBaseFee` 1412 is increased when blocks are densely packed with messages, and decreased otherwise. 1413 1414 The `ParentBaseFee` is used when calculating how much a sender burns when executing a message. _Burning_ simply refers to sending attoFIL to a dedicated, unreachable account. 1415 A message causes `ParentBaseFee * GasUsed` attoFIL to be burnt. 1416 1417 #### Real gas values 1418 1419 This release also includes our first "real" gas costs for primitive operations. 1420 The costs were designed to account for both the _time_ that message execution takes, 1421 as well as the _space_ a message adds to the state tree. 1422 1423 ## Deal-making changes 1424 1425 There are three key changes to the deal-making process. 1426 1427 #### Committed Capacity sectors 1428 1429 Miners can now pledge "Committed Capacity" (CC) sectors, which are explicitly 1430 stated as containing junk data, and must not include any deals. Miners can do this 1431 to increase their storage power, and win block rewards from this pledged storage. 1432 1433 They can mark these sectors as "upgradable" with `lotus-miner sectors mark-for-upgrade`. 1434 If the miner receives and accepts one or more storage deals, the sector that includes 1435 those deals will _replace_ the CC sector. This is intended to maximize the amount of useful 1436 storage on the Filecoin network. 1437 1438 #### Fast-retrieval deals 1439 1440 Clients can now include a `fast-retrieval` flag when proposing deals with storage miners. 1441 If set to true, the miner will include an extra copy of the deal data. This 1442 data can be quickly served in a retrieval deal, since it will not need to be unsealed. 1443 1444 #### Multiple deals per sector 1445 1446 Miners can now pack multiple deals into a single sector, so long as all the deals 1447 fit into the sector capacity. This should increase the packing efficiency of miners. 1448 1449 ### Renamed features 1450 1451 To improve the user experience, we updated several names to mainatin 1452 standard prefixing, and to better reflect the meaning of the features being referenced. 1453 1454 In particular, the Lotus miner binary is now called `lotus-miner`, the default 1455 path for miner data is now `~/.lotusminer`, and the environment variable 1456 that sets the path for miner data is now `$LOTUS_MINER_PATH`. A full list of renamed 1457 features can be found [here](https://github.com/filecoin-project/lotus/issues/2304). 1458 1459 ## Changelog 1460 1461 #### Downstream upgrades 1462 - Upgrades markets to v0.5.6 (https://github.com/filecoin-project/lotus/pull/3058) 1463 - Upgrades specs-actors to v0.9.3 (https://github.com/filecoin-project/lotus/pull/3151) 1464 1465 #### Core protocol 1466 - Introduces gas values, replacing placeholders (https://github.com/filecoin-project/lotus/pull/2343) 1467 - Implements EIP-1559, introducing a network base fee, message gas fee cap, and message gas fee premium (https://github.com/filecoin-project/lotus/pull/2874) 1468 - Implements Poisson Sortition for elections (https://github.com/filecoin-project/lotus/pull/2084) 1469 1470 #### Deal-making lifecycle 1471 - Introduces "Committed Capacity" sectors (https://github.com/filecoin-project/lotus/pull/2220) 1472 - Introduces "fast-retrieval" flag for deals (https://github.com/filecoin-project/lotus/pull/2323 1473 - Supports packing multiple deals into one sector (https://github.com/filecoin-project/storage-fsm/pull/38) 1474 1475 #### Enhancements 1476 1477 - Optimized message pool selection logic (https://github.com/filecoin-project/lotus/pull/2838) 1478 - Window-based scheduling of sealing tasks (https://github.com/filecoin-project/sector-storage/pull/67) 1479 - Faster window PoSt (https://github.com/filecoin-project/lotus/pull/2209/files) 1480 - Refactors the payment channel manager (https://github.com/filecoin-project/lotus/pull/2640) 1481 - Refactors blocksync (https://github.com/filecoin-project/lotus/pull/2715/files) 1482 1483 #### UX 1484 1485 - Provide status updates for data-transfer (https://github.com/filecoin-project/lotus/pull/3162, https://github.com/filecoin-project/lotus/pull/3191) 1486 - Miners can customise asks (https://github.com/filecoin-project/lotus/pull/2046) 1487 - Miners can toggle auto-acceptance of deals (https://github.com/filecoin-project/lotus/pull/1994) 1488 - Miners can maintain a blocklist of piece CIDs (https://github.com/filecoin-project/lotus/pull/2069) 1489 1490 ## Contributors 1491 1492 The following contributors had 10 or more commits go into this release. 1493 We are grateful for every contribution! 1494 1495 | Contributor | Commits | Lines ± | 1496 |--------------------|---------|---------------| 1497 | magik6k | 361 | +13197/-6136 | 1498 | Kubuxu | 227 | +5670/-2587 | 1499 | arajasek | 120 | +2916/-1264 | 1500 | whyrusleeping | 112 | +3979/-1089 | 1501 | vyzo | 99 | +3343/-1305 | 1502 | dirkmc | 68 | +8732/-3621 | 1503 | laser | 45 | +1489/-501 | 1504 | hannahhoward | 43 | +2654/-990 | 1505 | frrist | 37 | +6630/-4338 | 1506 | schomatis | 28 | +3016/-1368 | 1507 | placer14 | 27 | +824/-350 | 1508 | raulk | 25 | +28718/-29849 | 1509 | mrsmkl | 22 | +560/-368 | 1510 | travisperson | 18 | +1354/-314 | 1511 | nonsense | 16 | +2956/-2842 | 1512 | ingar | 13 | +331/-123 | 1513 | daviddias | 11 | +311/-11 | 1514 | Stebalien | 11 | +1204/-980 | 1515 | RobQuistNL | 10 | +69/-74 | 1516 1517 # 0.1.0 / 2019-12-11 1518 1519 We are very excited to release **lotus** 0.1.0. This is our testnet release. To install lotus and join the testnet, please visit [lotu.sh](lotu.sh). Please file bug reports as [issues](https://github.com/filecoin-project/lotus/issues). 1520 1521 A huge thank you to all contributors for this testnet release!