Releases: filecoin-project/lotus
v1.24.0-rc6
This is the 6th release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
❗ Mainnet Upgrade Date Update
Mainnet upgrade date has been adjusted due to the rescope of nv21 & retesting on test network, as well as giving the community enough time to upgrade their infrastructure.
The new date and epoch for the Mainnet nv21 upgrade has therefore been set to epoch 3469380 - 2023-12-12T13:30:00Z.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
FIP0070 descoped for nv21
FIP0070: Allow SPs to move partitions between deadlines was originally scoped for network version 21. However, during the testing on calibrationnet testing, this FIP has proven to be quite error prune to implement due to the complexity of the protocol and a couple bugs were discovered.
As the path to resolving this bug is not yet clear, core devs have decided to descope FIP-0070 from the upcoming nv21 upgrade ensure the security and stability of the network post upgrade.
Calibration WatermelonFix2
For the calibration network, the descoping of FIP0070 means that we will need to do another CodeCID migration to drop FIP0070 from nv21, and to get the test network into a state which will be similar to when the mainnet upgrades to nv21.
This migration will happen at epoch 1108174 - 2023-11-21T13:00:00Z.
Make sure to upgrade you calibration network nodes and storage providers to this release candidate before this epoch.
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacednzb3pkrfnbfhmoqtb3bc6dgvxszpqklf3qcc7qzcage4ewzxsca
Actor CID
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
storageminer bafk2bzaceb7qzqsi5uyxe4o5iuasi47l2hnznvmqr2eu4pl3qscvarjqlnuxo
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
- chore: deps: update to go-state-types v0.12.5 (filecoin-project/lotus#11339)
- chore: backport calibnet lightweight patch (filecoin-project/lotus#11423)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)
- chore: backport #11365 to release/v1.24.0 (filecoin-project/lotus#11368)
- chore: backport #11395 to release/v1.24.0 (filecoin-project/lotus#11395)
- chore: backport #11408 to release/v1.24.0 (filecoin-project/lotus#11408)
v1.25.0-rc4
This is the fourth release candidate of the upcoming OPTIONAL release Lotus v1.25.0. This optional release also supports the Filecoin network version 21 upgrade, codenamed Watermelon 🍉, in addition to the numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
Calibration Testnet WatermelonFix Upgrade Recovery
The Calibration Testnet halted 60 epochs after the WatermelonFix upgrade, we believe the cause is the new fixed miner actor CID isn't registered in the system actor state. Fortunately, this could be fixedby winding back the time prior to the upgrade, and reperform the migration with new miner actor CID registered in the system actor state. We would like to ask all calibrationnet node operators to run the following:
- Upgrade your nodes and miners to v1.25.0-rc4
- Shut down your daemon and restart it (miners too if applicable)
Please reach out to us in #fil-net-calibration-discuss if you have any questions!
Make sure to check out the release log for Lotus v1.24.0-rc5 to see the FIPs delivered in the network version 21 upgrade, v12 Builtin Actor Bundles, features and improvements.
☢️ Upgrade Warnings ☢️
- Please remove and clone a new Lotus repo (
git clone https://github.com/filecoin-project/lotus.git
) when upgrading to this version. - This feature release requires a minimum Go version of v1.20.7 or higher to successfully build Lotus. Go version 1.21.x is not supported yet.
- EthRPC providers, please check out the new tracing API to Lotus RPC
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This feature release introduces significant improvements and bugfixes with regards to unsealing, and ensures that unsealing operates as one would expect. Consequently, unsealing of all sector types (deal sectors, snap-sectors without sector keys, and snap-sectors with sector keys) now all function seamlessly.
Some additional unsealing improvements are:
- Unsealing on workers with only sealing paths works. 🎉
- Transferring unsealed files to long-term storage upon successful unsealing. ➡️
- Ensuring no residual files in sealing paths post a successful unsealing operation. 🧹
SupraSeal C2
Lotus-workers can now be built to leverage the SupraSeal C2 sealing optimizations in your sealing pipeline. The code optimizations are currently behind the FFI_USE_CUDA_SUPRASEAL
feature flag. We advice users to test this feature on a test-network, before trying to use it on the mainnet. Users can test out the feature by building their lotus-workers by exporting the FFI_USE_CUDA_SUPRASEAL=1
enviroment variable, and building from source. For questions about the SupraSeal C2 sealing optimizations, reach out in the #fil-proofs or the #dsa-sealing slack channel.
New features
- feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
- feat: profiling: state summary and visualization (filecoin-project/lotus#11012)
- feat: snapshot: remove existing chain (filecoin-project/lotus#11032)
- feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
- feat:shed:gather partition metadata (filecoin-project/lotus#11078)
- feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
- Add new lotus-shed command for backfillling actor events (filecoin-project/lotus#11088)
- feat: Add new tracing API (filecoin-project/lotus#11100)
- feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
- feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
- feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
- feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
- feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
- feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
- feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188) - feat: miner: defensive check for equivocation (filecoin-project/lotus#11328)
Improvements
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
- fix: Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- refactor: Make all validation error actions explicit (filecoin-project/lotus#11016)
- feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
- fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
- feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
- feat: slasher: improve UX (filecoin-project/lotus#11060)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
- fix: events: Improve performance of event migration from V1 to V2 (filecoin-project/lotus#11064)
- feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
- fix: DecodeRLP can panic (filecoin-project/lotus#11079)
- fix: daemon: set real beacon schedule when importing chain (filecoin-project/lotus#11080)
- fix: ethtypes: handle length overflow case (filecoin-project/lotus#11082)
- chore: stmgr: migrations: do not log noisily on cache misses (filecoin-project/lotus#11083)
- feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)
- sector import: fix evaluating randomness when importing a sector (filecoin-project/lotus#11123)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- fix: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set...
v1.24.0-rc5
This is the 5th release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
Calibration Testnet WatermelonFix Upgrade Recovery
The Calibration Testnet halted 60 epochs after the WatermelonFix upgrade, we believe the cause is the new fixed miner actor CID isn't registered in the system actor state. Fortunately, this could be fixedby winding back the time prior to the upgrade, and reperform the migration with new miner actor CID registered in the system actor state. We would like to ask all calibrationnet node operators to run the following:
- Upgrade your nodes and miners to v1.24.0-rc5
- Shut down your daemon and restart it (miners too if applicable)
Please reach out to us in #fil-net-calibration-discuss if you have any questions!
This release candidate also sets an upgrade epoch for mainnet at 3431940
2023-11-29T13:30:00Z.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0070: Allow SPs to move partitions between deadlines
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
before 1070494
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacedrunxfqta5skb7q7x32lnp4efz2oq7fn226ffm7fu5iqs62jkmvs
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzacecnh2ouohmonvebq7uughh4h3ppmg4cjsk74dzxlbbtlcij4xbzxq
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
after 1070494
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacebl4w5ptfvuw6746w7ev562idkbf5ppq72e6zub22435ws2rukzru
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzaced7emkbbnrewv5uvrokxpf5tlm4jslu2jsv77ofw2yqdglg657uie
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
- chore: deps: update to go-state-types v0.12.5 (filecoin-project/lotus#11339)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)
- chore: backport #11365 to release/v1.24.0 (filecoin-project/lotus#11368)
v1.25.0-rc3
This is the third release candidate of the upcoming OPTIONAL release Lotus v1.25.0. This optional release also supports the Filecoin network version 21 upgrade, codenamed Watermelon 🍉, in addition to the numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
This release candidate also sets an upgrade epoch for mainnet at 3431940 2023-11-29T13:30:00Z.
It includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-07T13:00:00Z.
Make sure to check out the release log for Lotus v1.24.0-rc4 to see the FIPs delivered in the network version 21 upgrade, v12 Builtin Actor Bundles, features and improvements.
☢️ Upgrade Warnings ☢️
- Please remove and clone a new Lotus repo (
git clone https://github.com/filecoin-project/lotus.git
) when upgrading to this version. - This feature release requires a minimum Go version of v1.20.7 or higher to successfully build Lotus. Go version 1.21.x is not supported yet.
- EthRPC providers, please check out the new tracing API to Lotus RPC
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This feature release introduces significant improvements and bugfixes with regards to unsealing, and ensures that unsealing operates as one would expect. Consequently, unsealing of all sector types (deal sectors, snap-sectors without sector keys, and snap-sectors with sector keys) now all function seamlessly.
Some additional unsealing improvements are:
- Unsealing on workers with only sealing paths works. 🎉
- Transferring unsealed files to long-term storage upon successful unsealing. ➡️
- Ensuring no residual files in sealing paths post a successful unsealing operation. 🧹
SupraSeal C2
Lotus-workers can now be built to leverage the SupraSeal C2 sealing optimizations in your sealing pipeline. The code optimizations are currently behind the FFI_USE_CUDA_SUPRASEAL
feature flag. We advice users to test this feature on a test-network, before trying to use it on the mainnet. Users can test out the feature by building their lotus-workers by exporting the FFI_USE_CUDA_SUPRASEAL=1
enviroment variable, and building from source. For questions about the SupraSeal C2 sealing optimizations, reach out in the #fil-proofs or the #dsa-sealing slack channel.
New features
- feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
- feat: profiling: state summary and visualization (filecoin-project/lotus#11012)
- feat: snapshot: remove existing chain (filecoin-project/lotus#11032)
- feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
- feat:shed:gather partition metadata (filecoin-project/lotus#11078)
- feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
- Add new lotus-shed command for backfillling actor events (filecoin-project/lotus#11088)
- feat: Add new tracing API (filecoin-project/lotus#11100)
- feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
- feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
- feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
- feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
- feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
- feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
- feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188) - feat: miner: defensive check for equivocation (filecoin-project/lotus#11328)
Improvements
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
- fix: Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- refactor: Make all validation error actions explicit (filecoin-project/lotus#11016)
- feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
- fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
- feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
- feat: slasher: improve UX (filecoin-project/lotus#11060)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
- fix: events: Improve performance of event migration from V1 to V2 (filecoin-project/lotus#11064)
- feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
- fix: DecodeRLP can panic (filecoin-project/lotus#11079)
- fix: daemon: set real beacon schedule when importing chain (filecoin-project/lotus#11080)
- fix: ethtypes: handle length overflow case (filecoin-project/lotus#11082)
- chore: stmgr: migrations: do not log noisily on cache misses (filecoin-project/lotus#11083)
- feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)
- sector import: fix evaluating randomness when importing a sector (filecoin-project/lotus#11123)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- fix: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set (filecoin-project/lotus#11224) - chore: backport #11338 onto release/v...
v1.24.0-rc4
This is the 4th release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
This release candidate also sets an upgrade epoch for mainnet at 3431940
2023-11-29T13:30:00Z.
It includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-07T13:00:00Z.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0070: Allow SPs to move partitions between deadlines
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
before 1070494
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacedrunxfqta5skb7q7x32lnp4efz2oq7fn226ffm7fu5iqs62jkmvs
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzacecnh2ouohmonvebq7uughh4h3ppmg4cjsk74dzxlbbtlcij4xbzxq
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
after 1070494
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacebl4w5ptfvuw6746w7ev562idkbf5ppq72e6zub22435ws2rukzru
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzaced7emkbbnrewv5uvrokxpf5tlm4jslu2jsv77ofw2yqdglg657uie
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
- chore: deps: update to go-state-types v0.12.5 (filecoin-project/lotus#11339)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)
- chore: backport #11365 to release/v1.24.0 (filecoin-project/lotus#11368)
v1.25.0-rc2
This is the second release candidate of the upcoming OPTIONAL release Lotus v1.25.0. This optional release also supports the Filecoin network version 21 upgrade, codenamed Watermelon 🍉, in addition to the numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
This optional feature release candidate does NOT set an upgrade epoch for mainnet. However, it includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-08T11:00:00Z.
Make sure to check out the release log for Lotus v1.24.0-rc3 to see the FIPs delivered in the network version 21 upgrade, v12 Builtin Actor Bundles, features and improvements.
☢️ Upgrade Warnings ☢️
- Please remove and clone a new Lotus repo (
git clone https://github.com/filecoin-project/lotus.git
) when upgrading to this version. - This feature release requires a minimum Go version of v1.20.7 or higher to successfully build Lotus. Go version 1.21.x is not supported yet.
- EthRPC providers, please check out the new tracing API to Lotus RPC
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This feature release introduces significant improvements and bugfixes with regards to unsealing, and ensures that unsealing operates as one would expect. Consequently, unsealing of all sector types (deal sectors, snap-sectors without sector keys, and snap-sectors with sector keys) now all function seamlessly.
Some additional unsealing improvements are:
- Unsealing on workers with only sealing paths works. 🎉
- Transferring unsealed files to long-term storage upon successful unsealing. ➡️
- Ensuring no residual files in sealing paths post a successful unsealing operation. 🧹
SupraSeal C2
Lotus-workers can now be built to leverage the SupraSeal C2 sealing optimizations in your sealing pipeline. The code optimizations are currently behind the FFI_USE_CUDA_SUPRASEAL
feature flag. We advice users to test this feature on a test-network, before trying to use it on the mainnet. Users can test out the feature by building their lotus-workers by exporting the FFI_USE_CUDA_SUPRASEAL=1
enviroment variable, and building from source. For questions about the SupraSeal C2 sealing optimizations, reach out in the #fil-proofs or the #dsa-sealing slack channel.
New features
- feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
- feat: profiling: state summary and visualization (filecoin-project/lotus#11012)
- feat: snapshot: remove existing chain (filecoin-project/lotus#11032)
- feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
- feat:shed:gather partition metadata (filecoin-project/lotus#11078)
- feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
- Add new lotus-shed command for backfillling actor events (filecoin-project/lotus#11088)
- feat: Add new tracing API (filecoin-project/lotus#11100)
- feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
- feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
- feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
- feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
- feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
- feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
- feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188) - feat: miner: defensive check for equivocation (filecoin-project/lotus#11328)
Improvements
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
- fix: Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- refactor: Make all validation error actions explicit (filecoin-project/lotus#11016)
- feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
- fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
- feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
- feat: slasher: improve UX (filecoin-project/lotus#11060)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
- fix: events: Improve performance of event migration from V1 to V2 (filecoin-project/lotus#11064)
- feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
- fix: DecodeRLP can panic (filecoin-project/lotus#11079)
- fix: daemon: set real beacon schedule when importing chain (filecoin-project/lotus#11080)
- fix: ethtypes: handle length overflow case (filecoin-project/lotus#11082)
- chore: stmgr: migrations: do not log noisily on cache misses (filecoin-project/lotus#11083)
- feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)
- sector import: fix evaluating randomness when importing a sector (filecoin-project/lotus#11123)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- fix: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set (filecoin-project/lotus#11224) - chore: backport #11338 onto release/v1...
v1.24.0-rc3
This is the third release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
This release candidate does NOT set an upgrade epoch for mainnet. However, it includes a patch for the calibration testnet to fix an issue where partitions with expired sectors had to be compacted before they could be moved. Unfortunately, this bug impacts consensus and necessitates a coordinated upgrade on the Calibration network to deploy the new code. The calibration network is scheduled to upgrade all miner actors to the new, fixed miner actor CID at epoch 1070494, which is expected to occur at 2023-11-08T11:00:00Z.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0070: Allow SPs to move partitions between deadlines
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacebl4w5ptfvuw6746w7ev562idkbf5ppq72e6zub22435ws2rukzru
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzaced7emkbbnrewv5uvrokxpf5tlm4jslu2jsv77ofw2yqdglg657uie
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
- chore: deps: update to go-state-types v0.12.5 (filecoin-project/lotus#11339)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)
- chore: backport #11365 to release/v1.24.0 (filecoin-project/lotus#11368)
v1.25.0-rc1
This is the first release candidate of the upcoming OPTIONAL release Lotus v1.25.0. This optional release supports the Filecoin network version 21 upgrade, codenamed Watermelon 🍉, in addition to numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
This optional feature release candidate does NOT set an upgrade epoch for mainnet, but sets the calibration network to upgrade at epoch 1013134, which is 2023-10-19T13:00:00Z.
Make sure to check out the release log for Lotus v1.24.0-rc2 to see the FIPs delivered in the network version 21 upgrade, v12 Builtin Actor Bundles, features and improvements.
☢️ Upgrade Warnings ☢️
- Please remove and clone a new Lotus repo (
git clone https://github.com/filecoin-project/lotus.git
) when upgrading to this version. - This feature release requires a minimum Go version of v1.20.7 or higher to successfully build Lotus. Go version 1.21.x is not supported yet.
- EthRPC providers, please check out the new tracing API to Lotus RPC
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This feature release introduces significant improvements and bugfixes with regards to unsealing, and ensures that unsealing operates as one would expect. Consequently, unsealing of all sector types (deal sectors, snap-sectors without sector keys, and snap-sectors with sector keys) now all function seamlessly.
Some additional unsealing improvements are:
- Unsealing on workers with only sealing paths works. 🎉
- Transferring unsealed files to long-term storage upon successful unsealing. ➡️
- Ensuring no residual files in sealing paths post a successful unsealing operation. 🧹
SupraSeal C2
Lotus-workers can now be built to leverage the SupraSeal C2 sealing optimizations in your sealing pipeline. The optimizations are currently behind the FFI_USE_CUDA_SUPRASEAL
feature flag, as the feature is still being considered experimental. We advice users to test this feature on a test-network, before trying to use it on the mainnet. Users can test out the feature by building their lotus-workers by exporting the FFI_USE_CUDA_SUPRASEAL=1
enviroment variable, and building from source. For questions about the SupraSeal C2 sealing optimizations, reach out in the #fil-proofs or the #dsa-sealing slack channel.
New features
- feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
- feat: profiling: state summary and visualization (filecoin-project/lotus#11012)
- feat: snapshot: remove existing chain (filecoin-project/lotus#11032)
- feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
- feat:shed:gather partition metadata (filecoin-project/lotus#11078)
- feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
- Add new lotus-shed command for backfillling actor events (filecoin-project/lotus#11088)
- feat: Add new tracing API (filecoin-project/lotus#11100)
- feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
- feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
- feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
- feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
- feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
- feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
- feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188)
Improvements
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
- fix: Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- refactor: Make all validation error actions explicit (filecoin-project/lotus#11016)
- feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
- fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
- feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
- feat: slasher: improve UX (filecoin-project/lotus#11060)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
- fix: events: Improve performance of event migration from V1 to V2 (filecoin-project/lotus#11064)
- feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
- fix: DecodeRLP can panic (filecoin-project/lotus#11079)
- fix: daemon: set real beacon schedule when importing chain (filecoin-project/lotus#11080)
- fix: ethtypes: handle length overflow case (filecoin-project/lotus#11082)
- chore: stmgr: migrations: do not log noisily on cache misses (filecoin-project/lotus#11083)
- feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)
- sector import: fix evaluating randomness when importing a sector (filecoin-project/lotus#11123)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- fix: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set (filecoin-project/lotus#11224)
Dependencies
- deps: update go-libp2p to v0.28.1 (filecoin-project/lotus#10998)
- deps: update go-libp2p to v0.29.2 (filecoin-project/lotus#11164)
- deps: update go-libp2p to v0.30.0 (filecoin-project/lotus#11189)
- fix: build: use tagged releases ([#11194](https://github.com/filecoin-project/lotus/...
v1.24.0-rc2
This is the second release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
This release candidate does NOT set an upgrade epoch for mainnet, but sets the calibration network to upgrade at epoch 1013134, which is 2023-10-19T13:00:00Z.
This second release candidate updates go-state-types to v0.12.5, adding a internal proofs mapping that was missing in go-state-types v0.12.4. Lotus v1.24.0-rc1 remains valid for the network upgrade in the Calibration network. However, storage providers intending to conduct Synthetic PoRep testing are advised to use RC2.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0070: Allow SPs to move partitions between deadlines
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacedrunxfqta5skb7q7x32lnp4efz2oq7fn226ffm7fu5iqs62jkmvs
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzacecnh2ouohmonvebq7uughh4h3ppmg4cjsk74dzxlbbtlcij4xbzxq
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
- chore: deps: update to go-state-types v0.12.5 (filecoin-project/lotus#11339)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)
- build: release: v1.24.0-rc2 (filecoin-project/lotus#11340)
v1.24.0-rc1
This is the first release candidate of the upcoming MANDATORY Lotus v1.24.0 release, which will deliver the Filecoin network version 21, codenamed Watermelon 🍉.
This release candidate does NOT set an upgrade epoch for mainnet, but sets the calibration network to upgrade at epoch 1013134, which is 2023-10-19T13:00:00Z.
The Filecoin network version 21 delivers the following FIPs:
- FIP0052: Increase Max Sector Commitment to 3.5 years
- FIP0059: Synthetic PoRep
- FIP0070: Allow SPs to move partitions between deadlines
- FIP0071: Deterministic State Access (IPLD Reachability)
- FIP0072: Improved event syscall API
- FIP0073: Remove beneficiary from the self_destruct syscall
- FIP0075: Improvements to FVM randomness syscalls
v12 Builtin Actor Bundles
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=21
Network Version: 21
Actor Version: 12
Manifest CID: bafy2bzacedrunxfqta5skb7q7x32lnp4efz2oq7fn226ffm7fu5iqs62jkmvs
Actor CID
paymentchannel bafk2bzacebaxhk4itfiuvbftg7kz5zxugqnvdgerobitjq4vl6q4orcwk6wqg
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
ethaccount bafk2bzaceajmc3y3sedsqymfla3dzzqzmbu5kmr2iskm26ga2u34ll5fpztfw
evm bafk2bzaced4sozr7m6rzcgpobzeiupghthfw6afumysu3oz6bxxirv74uo3vw
system bafk2bzacecioupndtcnyw6iq2hbrxag3aufvczlv5nobnfbkbywqzcyfaa376
init bafk2bzaceaewh7b6zl2egclm7fqzx2lsqr57i75lb6cj43ndoa4mal3k5ld3m
multisig bafk2bzacednkwcpw5yzxjceoaliajgupzj6iqxe7ks2ll3unspbprbo5f2now
eam bafk2bzacecb6cnwftvavpph4p34zs4psuy5xvbrhf7vszkva4npw6mw3c42xe
reward bafk2bzacedra77pcglf7vdca2itcaa4vd6xrxynxmgfgdjdxqxfwqyhtoxehy
storagemarket bafk2bzacea7g46y7xxu2zjq2h75x6mmx3utz2uxnlvnwi6tzpsvulna3bmiva
storageminer bafk2bzacecnh2ouohmonvebq7uughh4h3ppmg4cjsk74dzxlbbtlcij4xbzxq
storagepower bafk2bzacedd3ka44k7d46ckbinjhv3diyuu2epgbyvhqqyjkc64qlrg3wlgzi
verifiedregistry bafk2bzaceavldupmf7bimeeacs67z5xdfdlfca6p7sn6bev3mt5ggepfqvhqo
account bafk2bzacechwwxdqvggkdylm37zldjsra2ivkdzwp7fee56bzxbzs544wv6u6
cron bafk2bzacec4gdxxkqwxqqodsv6ug5dmdbqdfqwyqfek3yhxc2wweh5psxaeq6
datacap bafk2bzacecq5ppfskxgv3iea3jarsix6jdduuhwsn4fbvngtbmzelzmlygorm
New features
- Implement and support FIP0052: Increase Max Sector Commitment to 3.5 years
- fix: docs: Update SectorLifetime to be in line with FIP-0052 (filecoin-project/lotus#11314)
- Implement and support FIP0059: Synthetic PoRep - Check out the Lotus documentation for Synthetic PoRep.
- feat: implement Synthetic PoRep (filecoin-project/lotus#11258)
- chore: config: Update todo in UseSyntheticPoRep (filecoin-project/lotus#11297)
- Implement and support FIP0070: Allow SPs to move partitions between deadlines - Check out the Lotus documentation for Moving Partitions
- Feat: Lotus cli: actor: Support move partition command to move partitions' deadline (filecoin-project/lotus#11301)
- feat: limit PoSted partitions to 3 (filecoin-project/lotus#11327)
Improvements
- Backport: feat: sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11215)
Dependencies
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0)
- chore: deps: update bulitin-actors, FVM, and go-state-types (filecoin-project/lotus#11291)
- chore: deps: update FFI, FVM, and actors (filecoin-project/lotus#11310)
- chore: deps: update to latest actors and FFI (filecoin-project/lotus#11330)
Others
- chore: nv-skeleton for feat/nv21-branch (filecoin-project/lotus#11176)
- chore: chain/actors: Use type proxies instead of versioned GST imports (filecoin-project/lotus#11216)
- chore: butterfly: Add preliminary nv21 assets (filecoin-project/lotus#11293)
- chore: butterfly: Update Butterfly Assets (filecoin-project/lotus#11312)
- chore: release: Set calibration upgrade height (filecoin-project/lotus#11331)
- chore: build: bump version to 1.24.0-rc1 (filecoin-project/lotus#11332)