Releases: filecoin-project/lotus
v1.23.4-rc2
This is the second candidate for the upcoming feature release v1.23.4 of Lotus. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
☢️ 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.
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This 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. 🧹
New features
- feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
- feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188) - feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
- feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
- feat: deflake: TestGetBlockByNumber (filecoin-project/lotus#11155)
- feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
- feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
- feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
- feat:shed:gather partition metadata (filecoin-project/lotus#11078)
- feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
- feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
- (filecoin-project/lotus#11032)
- feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
- feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
- feat: deflake: Use MockProofs (filecoin-project/lotus#11059)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
- feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
- feat: slasher: improve UX (filecoin-project/lotus#11060)
- feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
- feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
- feat:profiling:state summary and visualization (filecoin-project/lotus#11012)
- feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
- fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
- feat: docs: include FFI steps in lotus RELEASE_ISSUE_TEMPLATE (filecoin-project/lotus#11047)
- feat: implement parallel diffing (#67) (filecoin-project/go-amt-ipld#67)
- update .github/workflows/go-check.yml
- update .github/workflows/go-test.yml
- update .github/workflows/automerge.yml
- Restructure tests to use subtests (#63) (filecoin-project/go-amt-ipld#63)
- github.com/filecoin-project/go-state-types (v0.11.1 -> v0.12.1):
- feat: add cbor gen for verifreg.AllocationRequest(s) (#201) (filecoin-project/go-state-types#201)
Fixes Since RC1
fix: networking: avoid dialing when trying to handshake peers. Backport PR #11265
fix: worker: Connect when --listen is not set. Backport PR #11295
Improvements
- Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set (filecoin-project/lotus#11224) - docs: Update PR template to callout remembering to update CHANGELOG (filecoin-project/lotus#11232)
- Add new tracing API (filecoin-project/lotus#11100)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: dockerfile: Bump to Go 1.20.7 image (filecoin-project/lotus#11221)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- ci: Use larger executor for cli tests (filecoin-project/lotus#11212)
- Take Download out of Sealer time (filecoin-project/lotus#11182)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- update go-libp2p to v0.30.0 (filecoin-project/lotus#11189)
- chore: merge feat/nv21 into master (filecoin-project/lotus#11201)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: test-vectors: update (filecoin-project/lotus#11196)
- fix: build: use tagged releases (filecoin-project/lotus#11194)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- #11181: feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- feat: test: Test that verified clients can directly transfer datacap, creating allocations (filecoin-project/lotus#11169)
- mac seal test (filecoin-project/lotus#11180)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- update go-libp2p to v0.29.2 (filecoin-project/lotus#11164)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- chore: merge releases into master (filecoin-project/lotus#11154)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: CI: make test-unit-rest actually be the rest of the tests (filecoin-project/lotus#11147)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)...
v1.23.4-rc1
This is the first candidate for the upcoming feature release v1.23.3 of Lotus. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
☢️ 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.
- Regression: A remote lotus-worker may fail to connect to the lotus-miner unless the
--listen
flag on the worker is explicitly set. We are actively working on a fix and plan to backport it. Until then, please ensure to set the--listen
flag when running a remote Lotus worker.
⭐️ Highlights ⭐️
Unsealing bugfixes and enhancements
This 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. 🧹
New features
-
feat: refactor: return randomness base to FVM without hashing (filecoin-project/lotus#11167)
-
feat: shed: Add exec traces to
lotus-shed msg
(filecoin-project/lotus#11188) -
feat: miner: implement FRC-0051 (filecoin-project/lotus#11157)
-
feat: miner: 2 minor refactors (filecoin-project/lotus#11158)
-
feat: deflake: TestGetBlockByNumber (filecoin-project/lotus#11155)
-
feat: chainstore: FRC-0051: Remove all equivocated blocks from tipsets (filecoin-project/lotus#11104)
-
feat: add Eip155ChainID to StateGetNetworkParams (filecoin-project/lotus#10987)
-
feat: chain node: Move consensus slasher to internal service (filecoin-project/lotus#11126)
-
feat:shed:gather partition metadata (filecoin-project/lotus#11078)
-
feat: FVM: do not error on unsuccessful implicit messages (filecoin-project/lotus#11120)
-
feat:lotus-bench:AMT benchmarking (filecoin-project/lotus#11075)
-
feat: daemon: import: only setup stmgr if validating chain (#11084) (filecoin-project/lotus#11084)
-
feat: vm: allow raw "cbor" in state and use the new go-multicodec (filecoin-project/lotus#11081)
-
feat: deflake: Use MockProofs (filecoin-project/lotus#11059)
-
feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#11063)
-
feat: types: apply a max length when decoding events (filecoin-project/lotus#11054)
-
feat: slasher: improve UX (filecoin-project/lotus#11060)
-
feat: Add a metric to display pruning of the node's peer (filecoin-project/lotus#11058)
-
feat: daemon: improvemens to the consensus slasher (filecoin-project/lotus#10979)
-
feat:profiling:state summary and visualization (filecoin-project/lotus#11012)
-
feat: shed: command for decoding block headers (filecoin-project/lotus#11031)
-
fix: stores: Tune down StorageDeclareSector` log-lvl (filecoin-project/lotus#11045)
-
feat: docs: include FFI steps in lotus RELEASE_ISSUE_TEMPLATE (filecoin-project/lotus#11047)
-
feat: implement parallel diffing (#67) (filecoin-project/go-amt-ipld#67)
-
update .github/workflows/go-check.yml
-
update .github/workflows/go-test.yml
-
update .github/workflows/automerge.yml
-
Restructure tests to use subtests (#63) (filecoin-project/go-amt-ipld#63)
-
github.com/filecoin-project/go-state-types (v0.11.1 -> v0.12.1):
- feat: add cbor gen for verifreg.AllocationRequest(s) (#201) (filecoin-project/go-state-types#201)
Improvements
- Snapdeals unsealing fixes (filecoin-project/lotus#11011)
- fix: worker: Convert
DC_[SectorSize]_[ResourceRestriction]
if set (filecoin-project/lotus#11224) - docs: Update PR template to callout remembering to update CHANGELOG (filecoin-project/lotus#11232)
- Add new tracing API (filecoin-project/lotus#11100)
- fix(client): single-root error message (filecoin-project/lotus#11214)
- fix: dockerfile: Bump to Go 1.20.7 image (filecoin-project/lotus#11221)
- fix: chain: cancel long operations upon ctx cancelation (filecoin-project/lotus#11206)
- ci: Use larger executor for cli tests (filecoin-project/lotus#11212)
- Take Download out of Sealer time (filecoin-project/lotus#11182)
- fix: chain: Do not update message info cache until after message validation (filecoin-project/lotus#11202)
- update go-libp2p to v0.30.0 (filecoin-project/lotus#11189)
- chore: merge feat/nv21 into master (filecoin-project/lotus#11201)
- fix: sealing pipeline: Fix PC1 retry loop (filecoin-project/lotus#11087)
- chore: test-vectors: update (filecoin-project/lotus#11196)
- fix: build: use tagged releases (filecoin-project/lotus#11194)
- fix: markets/dagstore: remove trace goroutine for dagstore wrapper (filecoin-project/lotus#11191)
- fix: sealing: Run unsealing in the background for better ux (filecoin-project/lotus#11177)
- #11181: feat: Lotus Gateway: add allocation and claim related GET APIs to gateway (filecoin-project/lotus#11183)
- fix: build: Allow lotus-wallet to be built independently (filecoin-project/lotus#11187)
- fix: wallet: Make import handle SIGINT/SIGTERM (filecoin-project/lotus#11190)
- feat: test: Test that verified clients can directly transfer datacap, creating allocations (filecoin-project/lotus#11169)
- mac seal test (filecoin-project/lotus#11180)
- fix: cli: Only display
warning
if behind sync (filecoin-project/lotus#11140) - fix: worker: Support IPv6 formatted API-keys (filecoin-project/lotus#11141)
- update go-libp2p to v0.29.2 (filecoin-project/lotus#11164)
- fix: chainstore: do not get stuck in unhappy equivocation cases (filecoin-project/lotus#11159)
- sealing: Switch to calling PreCommitSectorBatch2 (filecoin-project/lotus#11142)
- chore: merge releases into master (filecoin-project/lotus#11154)
- fix: gateway: return an error when an Eth filter is not found (filecoin-project/lotus#11152)
- fix: CI: make test-unit-rest actually be the rest of the tests (filecoin-project/lotus#11147)
- fix: downgrade harmless warning to debug (filecoin-project/lotus#11145)
- fix: sealing: Fix RetryCommitWait loop when sector cron activation fails (filecoin-project/lotus#11046)
- ch...
v1.23.3
This feature release of Lotus includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
This feature release requires a minimum Go version of v1.19.12 or higher to successfully build Lotus. Go version 1.20 is also supported, but 1.21 is NOT.
Highlights
- Lotus now includes a Slasher tool to monitor the network for Consensus Faults, and report them as appropriate
- The Slasher investigates all incoming blocks, and assesses whether they trigger any of the three Consensus Faults defined in the Filecoin protocol
- If any faults are detected, the Slasher sends a
ReportConsensusFault
message to the faulty miner - For more information on the Slasher, including how to run it, please find the documentation here
- The Ethereum-like RPC exposed by Lotus is now compatible with EIP-1898: #10815
- The lotus-miner PieceReader now supports parallel reads: #10913
- Added new environment variable
LOTUS_EXEC_TRACE_CACHE_SIZE
to configure execution trace cache size (filecoin-project/lotus#10585)- If unset, we default to caching 16 most recent execution traces. Storage Providers may want to set this to 0, while exchanges may want to crank it up.
New features
- feat: miner cli: sectors list upgrade-bounds tool (filecoin-project/lotus#10923)
- Add new RPC stress testing tool (lotus-bench rpc) with rich reporting (filecoin-project/lotus#10761)
- feat: alert: Add FVM_CONCURRENCY alert (filecoin-project/lotus#10933)
- feat: Add eth_syncing RPC method (filecoin-project/lotus#10719)
- feat: sealing: flag to run data_cid untied from addpiece (filecoin-project/lotus#10797)
- feat: Lotus Gateway: add MpoolPending, ChainGetBlock and MinerGetBaseInfo (filecoin-project/lotus#10929)
Improvements
- chore: update ffi & fvm (filecoin-project/lotus#11040)
- feat: Make sure we don't store duplidate actor events caused to reorgs in events.db (filecoin-project/lotus#11015)
- sealing: Use only non-assigned deals when selecting snap sectors (filecoin-project/lotus#11002)
- chore: not display privatekey (filecoin-project/lotus#11006)
- chore: shed: update actor version (filecoin-project/lotus#11020)
- chore: migrate to boxo (filecoin-project/lotus#10921)
- feat: deflake TestDealsWithFinalizeEarly (filecoin-project/lotus#10978)
- fix: pubsub: do not treat ErrExistingNonce as Reject (filecoin-project/lotus#10973)
- feat: deflake TestDMLevelPartialRetrieval (#10972) (filecoin-project/lotus#10972)
- fix: eth: ensure that the event topics are non-nil (filecoin-project/lotus#10971)
- Add comment stating msgIndex is an experimental feature (filecoin-project/lotus#10968)
- feat: cli(compute-state) default to the tipset at the given epoch (filecoin-project/lotus#10965)
- Upgrade urfave dependency which now supports DisableSliceFlagSeparato… (filecoin-project/lotus#10950)
- Add new lotus-shed command for computing eth hash for a given message cid (#10961) (filecoin-project/lotus#10961)
- Prefill GetTipsetByHeight skiplist cache on lotus startup (filecoin-project/lotus#10955)
- Add lotus-shed command for backfilling txhash.db (filecoin-project/lotus#10932)
- chore: deps: update to go-libp2p 0.27.5 (filecoin-project/lotus#10948)
- Small improvement to make gen output (filecoin-project/lotus#10951)
- fix: improve perf of msgindex backfill (filecoin-project/lotus#10941)
- deps: update libp2p (filecoin-project/lotus#10936)
- sealing: Improve upgrade sector selection (filecoin-project/lotus#10915)
- Add timing test for mpool select with a large mpool dump (filecoin-project/lotus#10650)
- feat: slashfilter: drop outdated near-upgrade check (filecoin-project/lotus#10925)
- opt: MinerInfo adds the PendingOwnerAddress field (filecoin-project/lotus#10927)
- feat: itest: force PoSt more aggressively around deadline closure (filecoin-project/lotus#10926)
- test: messagepool: gas rewards are negative if GasFeeCap too low (filecoin-project/lotus#10649)
- fix: types: error out on decoding BlockMsg with extraneous data (filecoin-project/lotus#10863)
- update interop upgrade schedule (filecoin-project/lotus#10879)
- itests: Test PoSt V1_1 on workers (filecoin-project/lotus#10732)
- Update gas_balancing.md (filecoin-project/lotus#10924)
- feat: cli: Make compact partitions cmd better (filecoin-project/lotus#9070)
- fix: include extra messages in ComputeState InvocResult output (filecoin-project/lotus#10628)
- feat: pubsub: treat ErrGasFeeCapTooLow as ignore, not reject (filecoin-project/lotus#10652)
- feat: run lotus-shed commands in context that is cancelled on sigterm (filecoin-project/lotus#10877)
- fix:lotus-fountain:set default data-cap same as MinVerifiedDealSize (filecoin-project/lotus#10920)
- pass the right g-recaptcha data
- fix: not call RUnlock (filecoin-project/lotus#10912)
- opt: cli: If present, print Events Root (filecoin-project/lotus#10893)
- Calibration faucet UI improvements (filecoin-project/lotus#10905)
- chore: chain: replace storetheindex with go-libipni (filecoin-project/lotus#10841)
- Add alerts to
Lotus info
cmd (filecoin-project/lotus#10894) - fix: cli: make redeclare cmd work properly (filecoin-project/lotus#10860)
- fix: shed remove datacap not working with ledger (filecoin-project/lotus#10880)
- Check if epoch is negative in GetTipsetByHeight (filecoin-project/lotus#10878)
- chore: update go-fil-markets (filecoin-project/lotus#10867)
- feat: alerts: Add lotus-miner legacy-markets alert (filecoin-project/lotus#10868)
- feat:fountain:add grant-datacap support (filecoin-project/lotus#10856)
- feat: itests: add logs to blockminer.go failure case (filecoin-project/lotus#10861)
- feat: eth: Add support for blockHash param in eth_getLogs (filecoin-project/lotus#10782)
- lotus-fountain: make compatible with 0x addresses #10560 (filecoin-project/lotus#10784)
- feat: deflake sector_import_simple (filecoin-project/lotus#10858)
- fix: splitstore: remove deadlock around waiting for sync (filecoin-project/lotus#10857)
- fix: sched: Address GET_32G_MAX_CONCURRENT regression (#10850) (filecoin-project/lotus#10850)
- feat: fix deadlock in splitstore-mpool interaction (filecoin-project/lotus#10840)
- chore: update go-libp2p to v0.27.3 ([#10671](https://github.com/...
v1.23.3-rc2
This is the second release candidate for the upcoming feature release v1.23.3 of Lotus. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
Highlights
- The Ethereum-like RPC exposed by Lotus is now compatible with EIP-1898: #10921
- The lotus-miner PieceReader now supports parallel reads: #10913
- The chain tipset cache is now based on a sharded mutex
- Added new environment variable
LOTUS_EXEC_TRACE_CACHE_SIZE
to configure execution trace cache size (filecoin-project/lotus#10585)- If unset, we default to caching 16 most recent execution traces. Storage Providers may want to set this to 0, while exchanges may want to crank it up.
New features
- Implement a tooling for slasher (filecoin-project/lotus#10928)
- feat: miner cli: sectors list upgrade-bounds tool (filecoin-project/lotus#10923)
- Add new RPC stress testing tool (lotus-bench rpc) with rich reporting (filecoin-project/lotus#10761)
- feat: alert: Add FVM_CONCURRENCY alert (filecoin-project/lotus#10933)
- feat: tracer: upgrade elastic search transport for pubsub traces (filecoin-project/lotus#10405)
- feat: Add eth_syncing RPC method (filecoin-project/lotus#10719)
- feat: sealing: flag to run data_cid untied from addpiece (filecoin-project/lotus#10797)
- feat: Lotus Gateway: add MpoolPending, ChainGetBlock and MinerGetBaseInfo (filecoin-project/lotus#10929)
For a full changelog, see here.
v1.23.3-rc1
This is the first candidate for the upcoming feature release v1.23.3 of Lotus. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
Highlights
- The Ethereum-like RPC exposed by Lotus is now compatible with EIP-1898: #10921
- The lotus-miner PieceReader now supports parallel reads: #10913
- The chain tipset cache is now based on a sharded mutex
- Added new environment variable
LOTUS_EXEC_TRACE_CACHE_SIZE
to configure execution trace cache size (filecoin-project/lotus#10585)- If unset, we default to caching 16 most recent execution traces. Storage Providers may want to set this to 0, while exchanges may want to crank it up.
New features
- Implement a tooling for slasher (filecoin-project/lotus#10928)
- feat: miner cli: sectors list upgrade-bounds tool (filecoin-project/lotus#10923)
- Add new RPC stress testing tool (lotus-bench rpc) with rich reporting (filecoin-project/lotus#10761)
- feat: alert: Add FVM_CONCURRENCY alert (filecoin-project/lotus#10933)
- feat: tracer: upgrade elastic search transport for pubsub traces (filecoin-project/lotus#10405)
- feat: Add eth_syncing RPC method (filecoin-project/lotus#10719)
- feat: sealing: flag to run data_cid untied from addpiece (filecoin-project/lotus#10797)
- feat: Lotus Gateway: add MpoolPending, ChainGetBlock and MinerGetBaseInfo (filecoin-project/lotus#10929)
For a full changelog, see here.
v1.23.2
v1.23.2 / 2023-06-28
This is a patch release on top of 1.23.1 containing the fix for #10906
This fixes the syncing issue seen by many node operators/SPs, usually when performing actions which would result in msgs staying in their mpool for longer periods of time (ex. PSD) resulting in these msgs being republished multiple times and possibly lowering your peer scores. Please refer to the above issue for more details.
We'd recommend everyone to accept this fix to better overall network health
Improvements
- fix: pubsub: do not treat ErrExistingNonce as Reject
v1.22.2
v1.22.2 / 2023-06-28
This is a patch release on top of 1.22.1 containing the fix for #10906
This fixes the syncing issue seen by many node operators/SPs, usually when performing actions which would result in msgs staying in their mpool for longer periods of time (ex. PSD) resulting in these msgs being republished multiple times and possibly lowering your peer scores. Please refer to the above issue for more details.
We'd recommend everyone to accept this fix to better overall network health
v1.23.1
v1.23.1 / 2023-06-20
This is an optional feature release of Lotus. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.
☢️ Upgrade Warnings ☢️
If you are upgrading to this release candidate from Lotus v1.22.1, please make sure to read the upgrade warnings section in the v1.23.0 release first.
- Storage providers: The Lotus-Miner legacy-markets has been disbled by default in this feature release and will be removed in the near term future. Users are adviced to migrate to Boost or other SP markets systems.
Highlights
🛣 Execution Lanes 🛣
This feature release introduces VM Execution Lanes! Execution lanes efficiently divide the workload between system processes (chainsync) and RPC requests. This way syncing the chain will not be at the mercy of responding to users' requests and RPC providers nodes should have less problems catching up.
To take advantage of VM Execution Lanes, you need to set up two environment variables:
LOTUS_FVM_CONCURRENCY
- read more about how this value should be set to hereLOTUS_FVM_CONCURRENCY_RESERVED = 4
🧱 Aggregation / Batching fixes 🔨
Numerous aggregation and batching fixes has been included in the feature release. Large ProveCommitAggregate
and PreCommitBatching
messages that exceeds the block limit will now automatically be split into smaller messages when sent to the chain.
Additionally we have added a new feature that staggers the amount of ProveCommit messages sent simulatanously to the chain if a storage provider has been aggregating many sectors in ProveCommitAggregate message, but at the time of publishing the BaseFee is below the aggregation threshold. This stagger feature prevents issues where some of the ProveCommit messages fail with the SysErrorOutOfGas message. You can tweak how many messages will be staggered per epoch by changing MaxSectorProveCommitsSubmittedPerEpoch
in the sealing section of the config.toml file.
NB: While these fixes are great for the reliability of aggregation and batching on the Lotus side, it has been uncovered that aggregating ProveCommit messages for sectors containing verified deals are currently more expensive then single messages due to an issue on the actors side. We therefore do not reccomend our users to aggregate ProveCommit messages when doing verified deals until that issue has been resolved. You can follow the discussion on resolving the issue on the actors side here.
Unsealing CLI/API
This feature release adds a dedicated lotus-miner sectors unseal
command and API, allowing you to unseal specific sealed sectors easily.
New features
- feat: VM Execution Lanes (filecoin-project/lotus#10551)
- Adds VM exections lanes, efficiently dividing the workload between system processes and RPC-requests.
- Add API and CLI to unseal sector (#10626) (filecoin-project/lotus#10626)
- Adds
lotus-miner sectors unseal
cmd, and a API-method to unseal a sector.
- Adds
- feat: sealing: Split PCA/PCB batches if gas used exceeds block limit (filecoin-project/lotus#10647)
- Splits ProveCommitAggregate and PreCommitBatch messages into multiple messages if the message exceeds the block limit.
- Add feature to stagger sector prove commit submission (#10543) (filecoin-project/lotus#10543)
- Staggers the amount of ProveCommit messages sent simultanously if a storage provider has been aggregating many message, but at the moment of publishing the BaseFee is below the threshold for aggregation to prevent unwanted SysErrorOutOfGas issues.
- Set default for MaxSectorProveCommitsSubmittedPerEpoch (filecoin-project/lotus#10728)
- Sets the default amount of ProveCommits submitted per epoch to 20.
- feat: worker: Ensure tempdir exists (#10433) (filecoin-project/lotus#10433)
- Ensures that a temporary directory exists on start of a lotus-worker with a custom TMPDIR set.
- feat: sync: harden chain sync (#10756) (filecoin-project/lotus#10756)
- feat: populate the index on snapshot import (filecoin-project/lotus#10556)
- feat:chain: Message Index (HIGHLY EXPERIMENTAL) (filecoin-project/lotus#10452)
- MVP of a message index that allows us to accelrate StateSearchMessage and related functionality, and eventually accelerate critical chain calls (follow up).
- feat: Add small cache to execution traces (filecoin-project/lotus#10517)
- feat: shed: incoming block-sub chainwatch tool (filecoin-project/lotus#10513)
Improvements
- feat: daemon: Auto-resume interrupted snapshot imports (filecoin-project/lotus#10636)
- Auto-resumes interrupted snapshot imports when using an URL.
- fix: storage: Remove temp fetching files after failed fetch (filecoin-project/lotus#10661)
- Clean up partially fetched failed after a failed fetch on a lotus-worker.
- feat: chainstore: batch writes of tipsets (filecoin-project/lotus#10800)
- Reduces the time to persist all headers from 4-5 minutes, to < 15 seconds.
- Check if epoch is negative in GetTipsetByHeight
- fix: sched: Address GET_32G_MAX_CONCURRENT regression
- fix: cli: Hide legacy markets cmds
- Hides the lotus-miner legacy markets commands from the lotus-miner CLI.
- fix: ci: Debugging m1 build
- Disable lotus markets by default (#10809) (filecoin-project/lotus#10809)
- Disables lotus-miner legacy markets [EOL] by default.
- perf: mempool: lower priority optimizations (#10693) (filecoin-project/lotus#10693)
- perf: message pool: change locks to RWMutexes for performance (filecoin-project/lotus#10561)
- perf: eth: gas estimate set applyTsMessages false (#10546) (filecoin-project/lotus#10546)
- Change args check (filecoin-project/lotus#10812)
- fix: sealing: Make lotus-worker report GPU usage to miner during ReplicaUpdate task (#10806) (filecoin-project/lotus#10806)
- fix:splitstore:Don't block when potentially holding txnLk as writer (filecoin-project/lotus#10811)
- fix: prover: Propagate skipped sectors in local PoSt
- fix: unseal: check if sealed/update sector exists (filecoin-project/lotus#10639)
- fix: sealing pipeline: Allow nil message in TerminateWait (filecoin-project/lotus#10696)
- fix: cli: Check if the sectorID exists before removing (filecoin-project/lotus#10611)
- feat:splitstore:limit moving gc threads (filecoin-project/lotus#10621)
- fix: cli: Make
net connect
to miner address work (filecoin-project/lotus#10599) - fix: log: Stop logging
file does not exists
(filecoin-project/lotus#10588) - Update config default value (#10605) (filecoin-project/lotus#10605)
- fix: cap the message gas limit at the block gas limit (#10637) (filecoin-project/lotus#10637)
- fix: miner: correctly count sector extensions (filecoin-project/lotus#10544)
- fix:mpool: prune excess messages before selection (filecoin-project/lotus#10648)
- fix: proving: Initialize slice with with same length as partition (filecoin-project/lotus#10569)
- perf: Address performance of EthGetTransactionCount (filecoin-project/lotus#10700)
- fix: sync: reduce log from error to info (filecoin-project/lotus#10759)
- fix: state: lotus-miner info should show deals info without admin permission (filecoin-project/lotus#10323)
- fix: tvx: make extract-multiple support the FVM (filecoin-project/lotus#10714)
- feat: badger: add a has check before writing to reduce duplicates (filecoin-project/lotus#10680)
- fix: chain: record heaviest tipset before notifying (#10694) (filecoin-project/lotus#10694)
- fix: Eth JSON...
v1.23.1-rc4
This is the 4th release candidate of the upcoming optional feature release of Lotus v1.23.1.
☢️ Upgrade Warnings ☢️
- If you are upgrading to this release candidate from Lotus v1.22.1, please make sure to read the upgrade warnings section in the v1.23.0 release first.
New features
- feat: daemon: Auto-resume interrupted snapshot imports (filecoin-project/lotus#10636)
- feat: VM Execution Lanes (filecoin-project/lotus#10551)
- feat: chainstore: batch writes of tipsets (filecoin-project/lotus#10800)
- Add API and CLI to unseal sector (#10626) (filecoin-project/lotus#10626)
- feat: sealing: Split PCA/PCB batches if gas used exceeds block limit (filecoin-project/lotus#10647)
- Add feature to stagger sector prove commit submission (#10543) (filecoin-project/lotus#10543)
- Set default for MaxSectorProveCommitsSubmittedPerEpoch (filecoin-project/lotus#10728)
- fix: storage: Remove temp fetching files after failed fetch (filecoin-project/lotus#10661)
- feat: worker: Ensure tempdir exists (#10433) (filecoin-project/lotus#10433)
- feat: sync: harden chain sync (#10756) (filecoin-project/lotus#10756)
- feat: populate the index on snapshot import (filecoin-project/lotus#10556)
- feat:chain: Message Index HIGHLY EXPERIMENTAL (filecoin-project/lotus#10452)
- feat: Add small cache to execution traces (filecoin-project/lotus#10517)
- feat: shed: incoming block-sub chainwatch tool (filecoin-project/lotus#10513)
Improvements
- feat: chainstore: sharded mutex for filling chain height index
- Check if epoch is negative in GetTipsetByHeight
- fix: sched: Address GET_32G_MAX_CONCURRENT regression
- fix: cli: Hide legacy markets cmds
- fix: ci: Debugging m1 build
- Disable lotus markets by default (#10809) (filecoin-project/lotus#10809)
- perf: mempool: lower priority optimizations (#10693) (filecoin-project/lotus#10693)
- perf: message pool: change locks to RWMutexes for performance (filecoin-project/lotus#10561)
- perf: eth: gas estimate set applyTsMessages false (#10546) (filecoin-project/lotus#10546)
- Change args check (filecoin-project/lotus#10812)
- fix: sealing: Make lotus-worker report GPU usage to miner during ReplicaUpdate task (#10806) (filecoin-project/lotus#10806)
- fix:splitstore:Don't block when potentially holding txnLk as writer (filecoin-project/lotus#10811)
- fix: prover: Propagate skipped sectors in local PoSt
- fix: unseal: check if sealed/update sector exists (filecoin-project/lotus#10639)
- fix: sealing pipeline: Allow nil message in TerminateWait (filecoin-project/lotus#10696)
- fix: cli: Check if the sectorID exists before removing (filecoin-project/lotus#10611)
- feat:splitstore:limit moving gc threads (filecoin-project/lotus#10621)
- fix: cli: Make
net connect
to miner address work (filecoin-project/lotus#10599) - fix: log: Stop logging
file does not exists
(filecoin-project/lotus#10588) - Update config default value (#10605) (filecoin-project/lotus#10605)
- fix: cap the message gas limit at the block gas limit (#10637) (filecoin-project/lotus#10637)
- fix: miner: correctly count sector extensions (filecoin-project/lotus#10544)
- fix:mpool: prune excess messages before selection (filecoin-project/lotus#10648)
- fix: proving: Initialize slice with with same length as partition (filecoin-project/lotus#10569)
- perf: Address performance of EthGetTransactionCount (filecoin-project/lotus#10700)
- fix: sync: reduce log from error to info (filecoin-project/lotus#10759)
- fix: state: lotus-miner info should show deals info without admin permission (filecoin-project/lotus#10323)
- fix: tvx: make extract-multiple support the FVM (filecoin-project/lotus#10714)
- feat: badger: add a has check before writing to reduce duplicates (filecoin-project/lotus#10680)
- fix: chain: record heaviest tipset before notifying (#10694) (filecoin-project/lotus#10694)
- fix: Eth JSON-RPC api: handle messages with gasFeeCap less than baseFee (#10614) (filecoin-project/lotus#10614)
- feat: chainstore: optimize BlockMsgsForTipset (filecoin-project/lotus#10552)
- refactor: stop using deprecated io/ioutil (filecoin-project/lotus#10596)
- feat: shed: refactor market cron-state command (filecoin-project/lotus#10746)
- fix: events: don't set GC confidence to 1 (filecoin-project/lotus#10713)
- feat: sync: validate (early) that blocks fall within range (#10691) (filecoin-project/lotus#10691)
- chainstore: Fix raw blocks getting scanned for links during snapshots (#10684) (filecoin-project/lotus#10684)
- fix: remove pointless panic (filecoin-project/lotus#10690)
- fix: check for nil bcastDict (#10646) (filecoin-project/lotus#10646)
- fix: make state compute --html work with unknown methods (filecoin-project/lotus#10619)
- shed: get balances of evm accounts (filecoin-project/lotus#10489)
- feat: Use MessageIndex in WaitForMessage (filecoin-project/lotus#10587)
- fix: searchForIndexedMsg always returns an error (filecoin-project/lotus#10586)
- Fix: export-range: Ignore ipld Blocks not found in Receipts. (filecoin-project/lotus#10535)
- feat: stmgr: speed up calculation of genesis circ supply (filecoin-project/lotus#10553)
- fix: gas estimation: don't special case paych collects (filecoin-project/lotus#10549)
- fix: tracer: emit raw peer ids for compatibility with libp2p tracer (filecoin-project/lotus#10271)
- Merge branch 'feat/new-gw-methods'
Dependencies
- chore: deps: update to go-libp2p 0.27.5
- devs: update libp2p #10937
- chore: deps: update to FVM 3.3.1 (filecoin-project/lotus#10786)
- chore: boxo: migrate from go-libipfs to boxo (filecoin-project/lotus#10562)
- chore: deps: update to go-state-types v0.11.0-alpha-3 (filecoin-project/lotus#10606)
- chore: bump go-libipfs (filecoin-project/lotus#10531)
Others
- feat:networking: (Synchronous) Consistent Broadcast for Filecoin EC (filecoin-project/lotus#9858)
- Revert #9858 (consistent broadcast changes) (filecoin-project/lotus#10777)
- Update build version for release/v1.23.1
- chore: drop flaky TestBatchDealInput subcase (filecoin-project/lotus#10810)
- chore: changelog clean up (filecoin-project/lotus#10744)
- chore: refactor: drop unused IsTicketWinner (#10801) (filecoin-project/lotus#10801)
- chore: build: bump matser version to v1.23.1-dev ([#10709](https://github.c...
v1.23.1-rc3 / 2023-05-31
This is the 3rd release candidate of the upcoming optional feature release of Lotus v1.23.1.
☢️ Upgrade Warnings ☢️
- If you are upgrading to this release candidate from Lotus v1.22.1, please make sure to read the upgrade warnings section in the v1.23.0 release first.
New features
- feat: daemon: Auto-resume interrupted snapshot imports (filecoin-project/lotus#10636)
- feat: VM Execution Lanes (filecoin-project/lotus#10551)
- feat: chainstore: batch writes of tipsets (filecoin-project/lotus#10800)
- Add API and CLI to unseal sector (#10626) (filecoin-project/lotus#10626)
- feat: sealing: Split PCA/PCB batches if gas used exceeds block limit (filecoin-project/lotus#10647)
- Add feature to stagger sector prove commit submission (#10543) (filecoin-project/lotus#10543)
- Set default for MaxSectorProveCommitsSubmittedPerEpoch (filecoin-project/lotus#10728)
- fix: storage: Remove temp fetching files after failed fetch (filecoin-project/lotus#10661)
- feat: worker: Ensure tempdir exists (#10433) (filecoin-project/lotus#10433)
- feat: sync: harden chain sync (#10756) (filecoin-project/lotus#10756)
- feat: populate the index on snapshot import (filecoin-project/lotus#10556)
- feat:chain: Message Index (filecoin-project/lotus#10452)
- feat: Add small cache to execution traces (filecoin-project/lotus#10517)
- feat: shed: incoming block-sub chainwatch tool (filecoin-project/lotus#10513)
Improvements
- feat: chainstore: sharded mutex for filling chain height index
- Check if epoch is negative in GetTipsetByHeight
- fix: sched: Address GET_32G_MAX_CONCURRENT regression
- fix: cli: Hide legacy markets cmds
- fix: ci: Debugging m1 build
- Disable lotus markets by default (#10809) (filecoin-project/lotus#10809)
- perf: mempool: lower priority optimizations (#10693) (filecoin-project/lotus#10693)
- perf: message pool: change locks to RWMutexes for performance (filecoin-project/lotus#10561)
- perf: eth: gas estimate set applyTsMessages false (#10546) (filecoin-project/lotus#10546)
- Change args check (filecoin-project/lotus#10812)
- fix: sealing: Make lotus-worker report GPU usage to miner during ReplicaUpdate task (#10806) (filecoin-project/lotus#10806)
- fix:splitstore:Don't block when potentially holding txnLk as writer (filecoin-project/lotus#10811)
- fix: prover: Propagate skipped sectors in local PoSt
- fix: unseal: check if sealed/update sector exists (filecoin-project/lotus#10639)
- fix: sealing pipeline: Allow nil message in TerminateWait (filecoin-project/lotus#10696)
- fix: cli: Check if the sectorID exists before removing (filecoin-project/lotus#10611)
- feat:splitstore:limit moving gc threads (filecoin-project/lotus#10621)
- fix: cli: Make
net connect
to miner address work (filecoin-project/lotus#10599) - fix: log: Stop logging
file does not exists
(filecoin-project/lotus#10588) - Update config default value (#10605) (filecoin-project/lotus#10605)
- fix: cap the message gas limit at the block gas limit (#10637) (filecoin-project/lotus#10637)
- fix: miner: correctly count sector extensions (filecoin-project/lotus#10544)
- fix:mpool: prune excess messages before selection (filecoin-project/lotus#10648)
- fix: proving: Initialize slice with with same length as partition (filecoin-project/lotus#10569)
- perf: Address performance of EthGetTransactionCount (filecoin-project/lotus#10700)
- fix: sync: reduce log from error to info (filecoin-project/lotus#10759)
- fix: state: lotus-miner info should show deals info without admin permission (filecoin-project/lotus#10323)
- fix: tvx: make extract-multiple support the FVM (filecoin-project/lotus#10714)
- feat: badger: add a has check before writing to reduce duplicates (filecoin-project/lotus#10680)
- fix: chain: record heaviest tipset before notifying (#10694) (filecoin-project/lotus#10694)
- fix: Eth JSON-RPC api: handle messages with gasFeeCap less than baseFee (#10614) (filecoin-project/lotus#10614)
- feat: chainstore: optimize BlockMsgsForTipset (filecoin-project/lotus#10552)
- refactor: stop using deprecated io/ioutil (filecoin-project/lotus#10596)
- feat: shed: refactor market cron-state command (filecoin-project/lotus#10746)
- fix: events: don't set GC confidence to 1 (filecoin-project/lotus#10713)
- feat: sync: validate (early) that blocks fall within range (#10691) (filecoin-project/lotus#10691)
- chainstore: Fix raw blocks getting scanned for links during snapshots (#10684) (filecoin-project/lotus#10684)
- fix: remove pointless panic (filecoin-project/lotus#10690)
- fix: check for nil bcastDict (#10646) (filecoin-project/lotus#10646)
- fix: make state compute --html work with unknown methods (filecoin-project/lotus#10619)
- shed: get balances of evm accounts (filecoin-project/lotus#10489)
- feat: Use MessageIndex in WaitForMessage (filecoin-project/lotus#10587)
- fix: searchForIndexedMsg always returns an error (filecoin-project/lotus#10586)
- Fix: export-range: Ignore ipld Blocks not found in Receipts. (filecoin-project/lotus#10535)
- feat: stmgr: speed up calculation of genesis circ supply (filecoin-project/lotus#10553)
- fix: gas estimation: don't special case paych collects (filecoin-project/lotus#10549)
- fix: tracer: emit raw peer ids for compatibility with libp2p tracer (filecoin-project/lotus#10271)
- Merge branch 'feat/new-gw-methods'
Dependencies
- devs: update libp2p #10937
- chore: deps: update to FVM 3.3.1 (filecoin-project/lotus#10786)
- chore: boxo: migrate from go-libipfs to boxo (filecoin-project/lotus#10562)
- chore: deps: update to go-state-types v0.11.0-alpha-3 (filecoin-project/lotus#10606)
- chore: bump go-libipfs (filecoin-project/lotus#10531)
Others
- feat:networking: (Synchronous) Consistent Broadcast for Filecoin EC (filecoin-project/lotus#9858)
- Revert #9858 (consistent broadcast changes) (filecoin-project/lotus#10777)
- Update build version for release/v1.23.1
- chore: drop flaky TestBatchDealInput subcase (filecoin-project/lotus#10810)
- chore: changelog clean up (filecoin-project/lotus#10744)
- chore: refactor: drop unused IsTicketWinner (#10801) (filecoin-project/lotus#10801)
- chore: build: bump matser version to v1.23.1-dev (filecoin-project/lotus#10709)
- fix: deflake: use 2 min...