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 ☢️
- 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)
- chore: legacy syscalls: Cleanup ComputeUnsealedSectorCID (filecoin-project/lotus#11119)
- sector import: fix evaluating randomness when importing a sector (filecoin-project/lotus#11123)
- fix: failing test: Tweak TestWindowPostV1P1NV20 test condition (filecoin-project/lotus#11121)
- Add new lotus-shed command for backfillling actor events (filecoin-project/lotus#11088)
- fix: ethtypes: handle length overflow case (filecoin-project/lotus#11082)
- chore: stmgr: migrations: do not log noisily on cache misses (filecoin-project/lotus#11083)
- fix: daemon: set real beacon schedule when importing chain (filecoin-project/lotus#11080)
- chore: update go-libp2p to v0.28.1 (filecoin-project/lotus#10998)
- fix: DecodeRLP can panic (filecoin-project/lotus#11079)
- refactor: Make all validation error actions explicit (filecoin-project/lotus#11016)
- fix: events: Improve performance of event migration from V1 to V2 (filecoin-project/lotus#11064)
- chore: Extract stable release and post release portion outside of RC testing in template (filecoin-project/lotus#11000)
- chore: build: update to v1.23.4-dev (filecoin-project/lotus#11049)
- Update and rename epic.md to task.md
- Create epic.md
- github.com/filecoin-project/go-amt-ipld/v4 (v4.0.0 -> v4.2.0):
- fix: skip traversal of links with the same cid (#76) (filecoin-project/go-amt-ipld#76)
- Test cid stability (#26) (filecoin-project/go-amt-ipld#26)
- Add a fuzz tester. (#31) (filecoin-project/go-amt-ipld#31)
- Bump golang.org/x/crypto from 0.0.0-20191011191535-87dc89f01550 to 0.1.0
- Bump golang.org/x/sys from 0.0.0-20210630005230-0f9fa26af87c to 0.1.0 (#75) (filecoin-project/go-amt-ipld#75)
- update .github/workflows/release-check.yml
- update .github/workflows/go-check.yml
- update .github/workflows/go-test.yml
- fix comment about bitWidth (#72) (filecoin-project/go-amt-ipld#72)
- chore: bump version to 4.1.0
- update .github/workflows/go-check.yml
- update .github/workflows/go-test.yml
- run gofmt -s
- Use cbor-gen readers and writers (#65) (filecoin-project/go-amt-ipld#65)
- fix: pass workers to diff scheduler (#68) (filecoin-project/go-amt-ipld#68)
- Migrate deadlines using diff (#199) (filecoin-project/go-state-types#199)
- update go-amt-ipld to use version with latest optimizations (#196) (filecoin-project/go-state-types#196)
- fix: Add SynthPoReps to SealProofPoliciesV11 (#200) (filecoin-project/go-state-types#200)
- PorepID / ReplicaID utils on RegisteredSealProof (#191) (filecoin-project/go-state-types#191)
- Nv21 sector activation migration (#195) (filecoin-project/go-state-types#195)
- Synthetic PoRep (#193) (filecoin-project/go-state-types#193)
- Remove incorrect invariants (#188) (filecoin-project/go-state-types#188)
- github.com/filecoin-project/test-vectors/schema (v0.0.5 -> v0.0.7):
- no information