github filecoin-project/lotus v1.37.0

latest release: miner/v1.37.0
5 hours ago

This is the stable release of the MANDATORY Lotus v1.37.0 release, which delivers Filecoin network version 29, codenamed "Solstice". This release sets the upgrade epoch for the Mainnet network to Epoch 6470279: 2026-10-19T12:59:30Z. See the local time for other timezones.

These notes consolidate the RC1, RC2 and final backport changes.

☢️ Upgrade Warnings ☢️

  • All Lotus node and Storage Provider (SP) operators on Mainnet must upgrade to v1.37.0 before epoch 6470279, corresponding to 2026-10-19T12:59:30Z. (filecoin-project/lotus#13874)
  • Network version 29 (Solstice, FIP-0118) introduces built-in actors v19.0.1. Every new sector receives maximum quality-adjusted power regardless of its content, and the verified registry and DataCap actors are frozen. (filecoin-project/lotus#13747)
  • The Solstice migration installs reward actor bootstrap state from per-network parameters, resolving the service-weight authority, service-rewards actor and initial orchestrator to ID addresses against the state tree at the upgrade epoch. (filecoin-project/lotus#13747)
  • DataCap and verified-registry writes are refused from nv29: lotus filplus datacap commands retire, lotus-miner sectors extend --drop-claims is rejected, and --only-cc has been removed in favour of --exclude. Use lotus-miner sectors upgrade-quality to raise legacy sectors instead. (filecoin-project/lotus#13747)
  • StateMinerInitialPledgeCollateral returns an error from nv29, because a SectorPreCommitInfo no longer describes any part of the pledge. Use StateMinerInitialPledgeForSector, passing the full sector size as the verified size. (filecoin-project/lotus#13747)
  • PreCommitSectorBatch2 rejects a non-empty deal_ids from nv29, and the sealing pipeline refuses such a sector when it is queued. (filecoin-project/lotus#13747)
  • F3 Prometheus metric names may change: The OpenTelemetry Prometheus exporter has been bumped from v0.50.0 to v0.68.0, which changes how metric unit suffixes are applied. F3 metrics with unit "s" (seconds) or "By" (bytes) may gain _seconds or _bytes suffixes in their Prometheus names. This only affects f3_* metrics -- core Lotus metrics (lotus_*) are exported via the separate OpenCensus exporter, which is unchanged. Operators with dashboards or alerting rules that query f3_* metrics should verify metric names after upgrading. (filecoin-project/lotus#13511)

🏛️ Filecoin network version 29 FIPs

📦 v19 Builtin Actor Bundle

This release uses v19.0.1.

🚚 Migration

All node operators, including storage providers, should be aware that ONE pre-migration is scheduled 120 epochs before the network upgrade. In a mainnet benchmark on 2026-09-18 (64-thread AMD EPYC 7282, 503GiB RAM, NVMe datastore; see filecoin-project/lotus#12432), the pre-migration took about 64 seconds and the migration at the upgrade epoch itself took about 63 seconds while the node was syncing, with peak daemon memory around 38 GiB. Nodes on slower disks/CPUs, or under heavier load, should expect longer times.

⭐ New Features

  • feat(cli): lotus-miner sectors (FIP-0118 Solstice / nv29) gained an upgrade-quality subcommand to upgrade legacy 1x-QA sectors to full QA power. (filecoin-project/lotus#13781)
  • feat(api): add v2 StateRewardDistribution for block rewards, recipient earnings, payments and tipset totals. (filecoin-project/lotus#13808)
  • feat(cli): add --sectors selection and skipped-sector summaries to lotus-miner sectors upgrade-quality. (filecoin-project/lotus#13818)

🐛 Bug Fixes

  • fix(mpool): MpoolCheckReplaceMessages rejects nil replacement messages. (filecoin-project/lotus#13866)
  • fix(types): TipSetKey's JSON decoder now rejects a null element instead of silently dropping it. (filecoin-project/lotus#13755)
  • fix(chainindex): lotus index validate-backfill --backfill restores missing event-index completion markers in older indexed tipsets. Run it over affected ranges if eth_getLogs reports not found in index; validation without --backfill reports missing markers as failures. (filecoin-project/lotus#13829)
  • fix(miner): correct replica-update pledge estimates, including zero additional pledge for sectors already at full QA power from nv29. (filecoin-project/lotus#13819)
  • fix(gateway): enforce v2 selector lookback limits, accept safe/finalized tags in Ethereum state calls, and avoid duplicate preflight rate-limit charges. (filecoin-project/lotus#13822)
  • fix(eth): reject malformed EthBigInt JSON instead of decoding it as zero. (filecoin-project/lotus#13824)
  • fix(chainindex): avoid memory-intensive SQLite VACUUM operations after migrations. (filecoin-project/lotus#13828)
  • fix(genesis): load embedded actor bundles when genesis CAR files omit actor bytecode. (filecoin-project/lotus#13821)
  • fix(gateway): lotus-gateway no longer serves the process-global /debug/pprof and /debug/vars handlers on its public API port. (filecoin-project/lotus#13853)

👌 Improvements

  • chore(deps): update go-paramfetch to v0.0.6, adding a second proof-parameter download gateway with automatic fallback and removing the retired proofs.filecoin.io source. (filecoin-project/lotus#13810)
  • feat(cli): lotus filplus commands now print a retirement warning ahead of nv29, when DataCap and verified-registry writes stop working. (filecoin-project/lotus#13798)
  • chore(deps): update filecoin-ffi to v1.37.0, which moves to ref-fvm v4.8.3 with nv29 (Solstice) support in the FVM. (filecoin-project/lotus#13804)
  • fix(splitstore): GC walks decide traversal by CID codec while keeping liveness keyed by multihash. (filecoin-project/lotus#13848)
  • chore(blockstore): drop support for inline (identity-multihash) CIDs, which Filecoin does not use; ChainReadObj and ChainHasObj now return an error for them. (filecoin-project/lotus#13847)
  • refactor(chain): consolidate event and receipt AMT reads; ChainGetEvents and ChainGetParentReceipts responses are capped at 128 MiB and 32 MiB of decoded data. (filecoin-project/lotus#13875)

📝 Changelog

For the full set of changes since the last stable release:

Miner operators upgrading from v1.36.1 should also review the v1.36.2 and v1.36.3 notes for intervening fixes and upgrade guidance.

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Rod Vagg 19 +18403/-7264 260
LexLuthr 4 +3069/-2194 39
snail8501 1 +4353/-90 28
Phi-rjan 2 +1900/-537 54
Steve Loeppky 15 +453/-263 43
beck-8 3 +387/-51 4
parthshah1 1 +136/-15 2
dependabot[bot] 11 +70/-76 23
beck 4 +99/-15 6
Phi 2 +57/-13 13
Kaif 2 +38/-3 6
zloglevel 1 +2/-4 1
Andrew Jackson (Ajax) 1 +4/-2 2

Don't miss a new lotus release

NewReleases is sending notifications on new releases.