This is the first release candidate of the upcoming MANDATORY Lotus v1.37.0 release, which will deliver Filecoin network version 29, codenamed "Solstice". This release candidate sets the upgrade epoch for the Calibration network to Epoch 4109133: 2026-09-28T12:59:30Z. See the local time for other timezones.
Mainnet activation is not yet scheduled in this release candidate, and will be determined after a successful upgrade on the Calibration network.
☢️ Upgrade Warnings ☢️
- All Lotus node and Storage Provider (SP) operators on the Calibration network must upgrade to this release candidate before the specified upgrade date.
- Network version 29 (Solstice, FIP-0118) introduces built-in actors v19. 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 filplusdatacap commands retire,lotus-miner sectors extend --drop-claimsis rejected, and--only-cchas been removed in favour of--exclude. Uselotus-miner sectors upgrade-qualityto raise legacy sectors instead. (filecoin-project/lotus#13747) StateMinerInitialPledgeCollateralreturns an error from nv29, because aSectorPreCommitInfono longer describes any part of the pledge. UseStateMinerInitialPledgeForSector, passing the full sector size as the verified size. (filecoin-project/lotus#13747)PreCommitSectorBatch2rejects a non-emptydeal_idsfrom nv29, and the sealing pipeline refuses such a sector when it is queued. (filecoin-project/lotus#13747)- Schedules the Calibration network upgrade to nv29 (Solstice), happening on
2026-09-28T12:59:30Z. (filecoin-project/lotus#13809) - 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_secondsor_bytessuffixes in their Prometheus names. This only affectsf3_*metrics -- core Lotus metrics (lotus_*) are exported via the separate OpenCensus exporter, which is unchanged. Operators with dashboards or alerting rules that queryf3_*metrics should verify metric names after upgrading. (filecoin-project/lotus#13511)
⭐ New Features
- feat(cli):
lotus-miner sectors(FIP-0118 Solstice / nv29) gained anupgrade-qualitysubcommand to upgrade legacy 1x-QA sectors to full QA power. (filecoin-project/lotus#13781)
🐛 Bug Fixes
- fix(types):
TipSetKey's JSON decoder now rejects anullelement instead of silently dropping it. (filecoin-project/lotus#13755)
👌 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.iosource. (filecoin-project/lotus#13810) - feat(cli):
lotus filpluscommands 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)
Release Log
- github.com/filecoin-project/lotus:
- Merge 5d52c77 into 1064a7a
- chore: set nv29 Calibration upgrade epoch and Solstice contract addresses (#13809) (filecoin-project/lotus#13809)
- chore(deps): update actors bundle to v19.0.1 (#13813) (filecoin-project/lotus#13813)
- fix(cli): use upper limit in sector upgrade command (#13805) (filecoin-project/lotus#13805)
- feat(solstice): nv29 node support and itest consolidation
- test(solstice): consolidate Solstice integration suites
- feat(solstice,actors): configure Solstice networks and contracts
- chore(solstice,miner): print a note when faulted sectors (#13802) (filecoin-project/lotus#13802)
- feat(solstice,actors): upgrade actors bundle to latest, fix broken APIs
- feat(solstice,miner): update miner CLI and QA filters
- feat(solstice): reward migration, actors v19 and genesis integration
- chore(deps): update go-paramfetch to v0.0.6 (#13810) (filecoin-project/lotus#13810)
- build(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.50.0 to 0.68.0 (#13511) (filecoin-project/lotus#13511)
- build(deps): bump github.com/libp2p/go-libp2p-kad-dht from 0.42.1 to 0.42.2 in the libp2p-ecosystem group across 1 directory (#13764) (filecoin-project/lotus#13764)
- build(deps): bump github.com/cheggaaa/pb/v3 from 3.2.0 to 3.2.1 (#13768) (filecoin-project/lotus#13768)
- chore(deps): update filecoin-ffi to v1.37.0 (#13804) (filecoin-project/lotus#13804)
- feat(cli): warn about FIL+ write retirement before nv29 (#13798) (filecoin-project/lotus#13798)
- test(itests): stop double proving-period waits at null-round deadline boundaries (#13793) (filecoin-project/lotus#13793)
- chore(release): cherry-pick v1.36.3 changelog back to master (#13794) (filecoin-project/lotus#13794)
- fix(types): reject undefined CIDs in TipSetKey JSON decoding (#13755) (filecoin-project/lotus#13755)
- refactor: use WaitGroup.Go in parmap (#13756) (filecoin-project/lotus#13756)
- build: bump Go to 1.25.14 (#13786) (filecoin-project/lotus#13786)
- fix(docker): move builder and runtime images to Debian trixie (#13785) (filecoin-project/lotus#13785)
- chore(docs): tweak agents instructions to trim changelog entries (#13787) (filecoin-project/lotus#13787)
- feat(gateway): limit event filter height ranges (#13776) (filecoin-project/lotus#13776)
- chore(ci): make installs more resillient, assign blame where due (#13777) (filecoin-project/lotus#13777)
- chore(docs): add basic agent context docs (#13775) (filecoin-project/lotus#13775)
- build(deps): bump github.com/elastic/gosigar from 0.14.3 to 0.14.4 (#13769) (filecoin-project/lotus#13769)
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.49 to 1.14.50 in the data-storage group (#13765) (filecoin-project/lotus#13765)
- build(deps): bump github.com/ipfs/boxo from 0.42.1 to 0.42.2 in the ipfs-ecosystem group (#13763) (filecoin-project/lotus#13763)
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.46.0 (#13767) (filecoin-project/lotus#13767)
- fix(httpreader): preserve Content-Length parse errors (#13773) (filecoin-project/lotus#13773)
- fix(chain): reject incomplete event query results from eth event indexing (#13762) (filecoin-project/lotus#13762)
- ci(pr-title-check): make title check resilient to out-of-order runs (#13772) (filecoin-project/lotus#13772)
- chore: update nv29 codename (#13748) (filecoin-project/lotus#13748)
- docs(release): mention create-release-issue workflow (#13759) (filecoin-project/lotus#13759)
- perf(openrpc): decode openrpc docs only once per process lifetime (#13754) (filecoin-project/lotus#13754)
- fix(wallet): render signing bytes for unrecognized message types in interactive mode (#13746) (filecoin-project/lotus#13746)
- feat(blockstore): opt-in verify-on-read mode to check for bad blocks (#13752) (filecoin-project/lotus#13752)
- feat(shed): add
lotus-shed eth storage-{dump,decode}(#13730) (filecoin-project/lotus#13730) - chore: fix some comments to improve readability (#13750) (filecoin-project/lotus#13750)
- refactor(chain): use slices.SortFunc for peer ordering (#13753) (filecoin-project/lotus#13753)
- fix(eth): reject non-minimal RLP integers in transaction parsing (#13744) (filecoin-project/lotus#13744)
- fix(events): reject negative toHeight in parseHeightRange (#13751) (filecoin-project/lotus#13751)
- ci: bind create-release-issue inputs via env before shell (#13745) (filecoin-project/lotus#13745)
- build(deps): bump the ipfs-ecosystem group across 1 directory with 2 updates (#13734) (filecoin-project/lotus#13734)
- feat(cli): merge state active-sectors into state sectors (#13743) (filecoin-project/lotus#13743)
- build(deps): bump github.com/cheggaaa/pb/v3 from 3.1.7 to 3.2.0 (#13741) (filecoin-project/lotus#13741)
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.48 to 1.14.49 in the data-storage group across 1 directory (#13737) (filecoin-project/lotus#13737)
- build(deps): bump github.com/xorcare/golden from 0.8.3 to 0.8.4 (#13742) (filecoin-project/lotus#13742)
- build(deps): bump github.com/multiformats/go-multiaddr-dns from 0.5.0 to 0.6.0 in the multiformats group (#13736) (filecoin-project/lotus#13736)
- build(deps): bump github.com/mattn/go-isatty from 0.0.22 to 0.0.24 (#13739) (filecoin-project/lotus#13739)
- build(deps): bump golang.org/x/tools from 0.47.0 to 0.48.0 (#13740) (filecoin-project/lotus#13740)
- chore: set CODEOWNERS (#13733) (filecoin-project/lotus#13733)
- fix(release): render the release issue template with text/template (#13732) (filecoin-project/lotus#13732)
- docs(release): support no-RC release flow (#13697) (filecoin-project/lotus#13697)
- chore(release): cherry-pick v1.36.2 changelog back to master (#13729) (filecoin-project/lotus#13729)
- test(eth): group eth_{call,estimateGas} tests, expand skip-sender estimates
- refactor(stmgr): replace synthetic sender with ephemeral placeholder
- feat(eth): allow eth_call and eth_estimateGas from contract and non-existent senders
- feat(shed): accept Ethereum transaction hashes in msg (#13727) (filecoin-project/lotus#13727)
- build(deps): bump go-jsonrpc and go-f3 (#13726) (filecoin-project/lotus#13726)
- chore(bootstrap): use
/dnsaddrfor CS bootstrappers & rm deadfil.devtty.euone (#13715) (filecoin-project/lotus#13715) - docs: fix some comments (#13718) (filecoin-project/lotus#13718)
- fix(pubsub): adapt to protobuf API changes
- build(deps): bump github.com/libp2p/go-libp2p-pubsub
- build(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0 in the crypto-hardware group across 1 directory (#13709) (filecoin-project/lotus#13709)
- build(deps): bump github.com/invopop/jsonschema from 0.13.0 to 0.14.0 (#13712) (filecoin-project/lotus#13712)
- build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.19.0 (#13713) (filecoin-project/lotus#13713)
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.47 to 1.14.48 in the data-storage group (#13708) (filecoin-project/lotus#13708)
- build(deps): bump the ipfs-ecosystem group with 5 updates (#13706) (filecoin-project/lotus#13706)
- build(deps): bump golang.org/x/mod from 0.37.0 to 0.38.0 (#13714) (filecoin-project/lotus#13714)
- fix(api): honour and bound StateWaitMsg confidence (#13705) (filecoin-project/lotus#13705)
- fix(eth): resolve by-index transactions against post-state (#13699) (filecoin-project/lotus#13699)
- refactor(tracing): replace deprecated jaeger exporter with OTLP (#13533) (filecoin-project/lotus#13533)
- fix(eth): reject eth log filters with more than 4 topics (#13676) (filecoin-project/lotus#13676)
- test: more deflake for api_v2 itest; be patient for block miners to Stop() (#13698) (filecoin-project/lotus#13698)
- fix(eth): validate nonce length in EthNonce.UnmarshalJSON (#13696) (filecoin-project/lotus#13696)
- fix(eth): return null for replaced transaction lookups (#13664) (filecoin-project/lotus#13664)
- build(deps): bump the ipfs-ecosystem group across 1 directory with 2 updates (#13695) (filecoin-project/lotus#13695)
- chore(deps): adapt to libp2p changes
- build(deps): bump the libp2p-ecosystem group across 1 directory with 3 updates
- fix(eth): reject null epochs for block execution APIs (#13694) (filecoin-project/lotus#13694)
- build(deps): bump golang.org/x/tools from 0.45.0 to 0.47.0 (#13691) (filecoin-project/lotus#13691)
- build(deps): bump github.com/mattn/go-sqlite3 from 1.14.44 to 1.14.47 in the data-storage group across 1 directory (#13686) (filecoin-project/lotus#13686)
- build(deps): bump github.com/zondax/ledger-filecoin-go from 1.2.1 to 1.2.2 in the crypto-hardware group (#13687) (filecoin-project/lotus#13687)
- build(deps): bump github.com/consensys/gnark-crypto from 0.19.2 to 0.20.1 (#13649) (filecoin-project/lotus#13649)
- build(deps): bump github.com/elastic/go-sysinfo from 1.15.4 to 1.15.5 (#13688) (filecoin-project/lotus#13688)
- build(deps): bump github.com/drand/drand/v2 from 2.1.4 to 2.1.6 (#13690) (filecoin-project/lotus#13690)
- build(deps): bump golang.org/x/mod from 0.36.0 to 0.37.0 (#13692) (filecoin-project/lotus#13692)
- test(ci): derive proof params from explicit real-proof markers (#13685) (filecoin-project/lotus#13685)
- chore(ci): switch to mockproofs where real proofs aren't needed (#13683) (filecoin-project/lotus#13683)
- chore(release): cherry-pick v1.36.1 changelog back to master (#13684) (filecoin-project/lotus#13684)
- chore: bump version in master to v1.36.2-dev (#13681) (filecoin-project/lotus#13681)
- refactor: drop obsolete network-version guards (#13680) (filecoin-project/lotus#13680)
- feat(cli): gas-aware adaptive batching for settle-deal (#13669) (filecoin-project/lotus#13669)
- test: deflake API v2 RPC itest (#13675) (filecoin-project/lotus#13675)
- ci: grant pull-requests: read to precheck job (#13674) (filecoin-project/lotus#13674)
- fix(rpc): websocket GasEstimateMessageGas repanic (#13672) (filecoin-project/lotus#13672)
- fix(cli): warn when --api overrides configured API listen address (#13670) (filecoin-project/lotus#13670)
- chore: bump go-state-types to v0.19.0-rc1 (#13671) (filecoin-project/lotus#13671)
- build(deps): bump github.com/gdamore/tcell/v2 from 2.13.9 to 2.13.10 (#13656) (filecoin-project/lotus#13656)
- build(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.6 (#13654) (filecoin-project/lotus#13654)
- build(deps): bump go.opentelemetry.io/otel/bridge/opencensus from 1.43.0 to 1.44.0 (#13652) (filecoin-project/lotus#13652)
- build(deps): bump golang.org/x/tools from 0.44.0 to 0.45.0 (#13651) (filecoin-project/lotus#13651)
- build(deps): bump golang.org/x/mod from 0.35.0 to 0.36.0 (#13650) (filecoin-project/lotus#13650)
- docs(release): v1.36.1 release template improvements (#13666) (filecoin-project/lotus#13666)
- github.com/filecoin-project/filecoin-ffi (v1.36.1 -> v1.37.0):
- chore: v1.37.0 release (#589) (filecoin-project/filecoin-ffi#589)
- chore(deps): bump fvm to ~4.8.3 and drop nv29-dev feature (#588) (filecoin-project/filecoin-ffi#588)
- fix(deps): use curiostorage/sppark fork (filecoin-project/filecoin-ffi#586)
- chore: set CODEOWNERS (#585) (filecoin-project/filecoin-ffi#585)
- github.com/filecoin-project/go-f3 (v0.8.13 -> v0.8.14):
- chore: bump go-f3 version to v0.8.14 (#1086) (filecoin-project/go-f3#1086)
- fix: bump go-libp2p-pubsub to v0.17.0 (#1085) (filecoin-project/go-f3#1085)
- build(deps): bump golang.org/x/crypto from 0.51.0 to 0.52.0 (#1084) (filecoin-project/go-f3#1084)
- build(deps): bump golang.org/x/net from 0.52.0 to 0.55.0 (#1083) (filecoin-project/go-f3#1083)
- fix(f3): throttle delayed bootstrap retries (#1080) (filecoin-project/go-f3#1080)
- build(deps): bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0 (#1075) (filecoin-project/go-f3#1075)
- build(deps): bump github.com/ipld/go-ipld-prime from 0.21.0 to 0.23.0 (#1078) (filecoin-project/go-f3#1078)
- github.com/filecoin-project/go-jsonrpc (v0.10.1 -> v0.10.2):
- chore: v0.10.2 bump (filecoin-project/go-jsonrpc#149)
- fix(rpc): harden response encoding and channel handling
- chore: modernise JSON-RPC internals and batch handling
- chore: modernise and clean-up ws decoding paths
- fix(websocket): reply to inbound pings (#147) (filecoin-project/go-jsonrpc#147)
- github.com/filecoin-project/go-paramfetch (v0.0.5 -> v0.0.6):
- chore: bump version to v0.0.6 (#39) (filecoin-project/go-paramfetch#39)
- feat: support multiple parameter gateways with fallback (filecoin-project/go-paramfetch#38)
- Bump golang.org/x/crypto from 0.45.0 to 0.52.0 (#37) (filecoin-project/go-paramfetch#37)
- github.com/filecoin-project/go-state-types (v0.19.0-rc1 -> v0.19.0):
- chore: v0.19.0 bump (#469) (filecoin-project/go-state-types#469)
- chore: slow down dependabot (#459) (filecoin-project/go-state-types#459)
- feat(fip-0118): actor changes and migration (#462) (filecoin-project/go-state-types#462)
- chore(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.1 (#464) (filecoin-project/go-state-types#464)
- chore(deps): bump golang.org/x/crypto from 0.54.0 to 0.55.0 (#463) (filecoin-project/go-state-types#463)
- chore: set CODEOWNERS (#461) (filecoin-project/go-state-types#461)
- chore(deps): bump github.com/ipfs/go-block-format from 0.2.3 to 0.2.4 (#456) (filecoin-project/go-state-types#456)
- chore(deps): bump github.com/ipfs/go-ipld-cbor from 0.2.1 to 0.3.0 (#457) (filecoin-project/go-state-types#457)
- chore(deps): bump github.com/ipfs/go-cid from 0.6.1 to 0.6.2 (#458) (filecoin-project/go-state-types#458)
- chore(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0 (#455) (filecoin-project/go-state-types#455)
- chore(deps): bump golang.org/x/sync from 0.21.0 to 0.22.0 (#454) (filecoin-project/go-state-types#454)
Contributors
| Contributor | Commits | Lines ± | Files Changed |
|---|---|---|---|
| Rod Vagg | 31 | +22116/-8165 | 341 |
| LexLuthr | 5 | +2480/-2311 | 34 |
| snail8501 | 1 | +4353/-90 | 28 |
| dependabot[bot] | 47 | +974/-557 | 97 |
| nijoe1 | 1 | +1277/-123 | 15 |
| Phi-rjan | 10 | +518/-389 | 40 |
| Steve Loeppky | 16 | +602/-268 | 46 |
| ZenGround0 | 1 | +171/-366 | 17 |
| beck-8 | 3 | +387/-51 | 4 |
| Matt Van Horn | 1 | +246/-19 | 4 |
| beck | 5 | +158/-95 | 10 |
| Kaif | 5 | +177/-62 | 18 |
| iyiola-dev | 1 | +89/-113 | 9 |
| William Morriss | 1 | +114/-2 | 6 |
| Linghao | 1 | +58/-0 | 3 |
| Jakub Sztandera | 1 | +26/-10 | 2 |
| fmterrors | 1 | +29/-5 | 2 |
| Sash | 2 | +20/-9 | 2 |
| Phi | 2 | +9/-7 | 6 |
| Hubert | 1 | +2/-9 | 2 |
| zloglevel | 2 | +4/-6 | 3 |
| futurehua | 1 | +5/-5 | 5 |
| zjuzhongwen | 1 | +3/-3 | 1 |
| Andrew Jackson (Ajax) | 1 | +4/-2 | 2 |
| web3-bot | 1 | +1/-1 | 1 |