This Node and Miner minor release is recommended for gateway operators and storage providers. It bounds expensive lotus-gateway trace and replay requests and fixes sealing problems, including a panic on CommitFailed sectors missing CommR or CommD and a cancelled task blocking the scheduler. Review the upgrade warnings before upgrading.
✨ Notable Changes
- ⚠️ Upgrade warning:
lotus-gatewaynow applies its message lookback totrace_transactionand toStateReplaywith an empty tipset key, which previously reached any height. The default is 20 epochs (about 10 minutes). To look back further, raise--api-wait-lookback-limitand--api-max-lookback, or query a node directly. (#13931, #13958) - ⚠️ Upgrade warning: API addresses that are URLs ending in
/rpc/v<N>, such asKEY:https://api.node.glif.io/rpc/v1, are now rejected because Lotus adds the RPC path itself. Remove the suffix. (#13870) - ⚠️ Upgrade warning: The debug endpoints (
/debug/pprof/*,/debug/vars,/debug/pprof-set/*) on the daemon, miner, worker and wallet only answer local, non-browser-cross-origin clients. SetLOTUS_DEBUG_ALLOW_REMOTE=1to serve all clients. (#13913) - ⚠️ Upgrade warning: A lookup by block number that stalls while the chain height index is warming after a restart now fails after 5 seconds with a
-32002"resource unavailable" error instead of timing out. Go API users must replaceapi.ErrExpensiveForkwithapi.ErrResourceUnavailable, which includes aReason. (#13959) - ⚠️ Upgrade warning: The
lotus filplusandlotus-shed verifregcommands andlotus-miner sectors extend --drop-claimsare removed. The verified registry and DataCap actors are frozen since nv29 and slated for removal. (#13968, #13982) lotus-shed chainindex restore-bloomsrestores missing tipset blooms on a stopped node from its existing index. A tipset bloom rebuilt from the index, aslotus index validate-backfilldoes, now includes the emitter of an event with no topics or data, such as EVMLOG0with empty data, matching the bloom written at indexing time. (#13960)- go-libp2p is updated to v0.51.0, go-libp2p-kad-dht to v0.43.0 and go-libp2p-pubsub to v0.19.0. The DHT now persists its routing table to the metadata datastore (hourly and on shutdown) and redials saved peers on restart, speeding up peer discovery after a restart. (#13995)
📝 All Changes
- Node: Changes since v1.38.3
- Miner: Changes since miner/v1.38.3
All PRs (45)
Features
- feat(api): serve debug endpoints to local clients only (#13913)
- feat(eth): err code -32002 for lookups stalled on a cold height index (#13959)
- feat(genesis): optional reward SWA at genesis & 2k starts at nv29 (#13967)
- feat(release): generate the changelog from PR titles at release (#13984)
- feat(release): group the changelog's PR list by change type (#14005)
- feat(shed): add chainindex restore-blooms (#13960)
Fixes
- fix(chain): zero-pad the hundredths digit in Percent.String (#13965)
- fix(chainindex): prevent historical event queries timing out after restart (#13957)
- fix(cli): reject API URLs that already end in the RPC path (#13870)
- fix(cli): reject malformed ranges in
lotus-miner sectors numbers reserve(#13966) - fix(cli): remove deprecated filplus commands (#13968)
- fix(eth): reject non-canonical signature values in raw tx parsing (#13918)
- fix(eth): include LOG0 events with empty data in getLogs and receipts (#13961)
- fix(gateway): enforce lookback limits on trace_transaction (#13931)
- fix(gateway): remove the eth subscription sink when the websocket closes (#13936)
- fix(gateway): enforce lookback limits on StateReplay with an empty tipset key (#13958)
- fix(httpreader): resume snapshot downloads after stream resets (#13962)
- fix(miner): redo precommit when a CommitFailed sector has no CommR or CommD (#13843)
- fix(mpool): correct pool size accounting and journaling on clear (#13831)
- fix(mpool): check nonce before signature verification in Add (#13970)
- fix(paths): skip stray files instead of blocking miner or worker startup (#13950)
- fix(sealing): don't let a cancelled task block scheduling of other tasks (#13869)
- fix(sealing): don't require free space to move files already in storage (#13949)
Chores and other
- build(deps): bump github.com/drand/drand/v2 from 2.1.6 to 2.1.8 (#13981)
- build(deps): bump github.com/go-openapi/spec from 0.22.9 to 1.0.1 (#13975)
- build(deps): bump github.com/jpillora/backoff from 1.0.0 to 1.1.0 (#13976)
- build(deps): bump github.com/klauspost/compress from 1.19.1 to 1.20.3 (#13994)
- build(deps): bump github.com/prometheus/client_golang from 1.24.1 to 1.25.0 (#14000)
- build(deps): bump github.com/sirupsen/logrus from 1.9.4 to 1.10.2 (#13999)
- build(deps): bump go.opentelemetry.io/otel/bridge/opencensus from 1.46.0 to 1.47.0 (#13998)
- build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp from 1.46.0 to 1.47.0 (#13977)
- build(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.68.0 to 0.69.0 (#13997)
- build(deps): bump golang.org/x/tools from 0.51.0 to 0.52.0 (#13978)
- build(deps): bump the github-actions group across 2 directories with 3 updates (#14001)
- build(deps): bump the libp2p-ecosystem group across 1 directory with 3 updates (#13995)
- build(docker): fix Dockerfile build-check warnings (#13953)
- build(renovate): add Renovate config for golangci-lint and actionlint Makefile pins (#13983)
- chore(cli): remove the remaining filplus & verifreg commands (#13982)
- chore(lint): upgrade golangci-lint to v2 (#13629)
- chore(release): copy v1.38.3 changelog back to master (#13956)
- chore(sub): remove the ratelimit pkg (#13969)
- chore: create nv30 Lotus skeleton (#13900)
- ci: add an AI check that PR titles describe the change (#13993)
- ci: retry Go module download before running tests (#13971)
- docs(release): v1.38.3 release template improvements (#13954)
👨👩👧👦 Contributors
| Contributor | Commits | Lines ± | Files Changed |
|---|---|---|---|
| Rod Vagg | 11 | +4370/-3228 | 381 |
| Phi-rjan | 1 | +3635/-234 | 98 |
| Steve Loeppky | 8 | +1973/-410 | 35 |
| LexLuthr | 1 | +21/-1647 | 12 |
| Hamed Yousefi | 5 | +552/-7 | 19 |
| Kaif | 4 | +443/-0 | 12 |
| dependabot[bot] | 12 | +169/-167 | 29 |
| Viraj Bhartiya | 1 | +127/-0 | 2 |
| parthod0x | 2 | +20/-3 | 4 |