This is the third release candidate of the upcoming MANDATORY Lotus v1.32.0 release, which will deliver the Filecoin network version 25, codenamed “Teep” 🦵. This release candidate sets the upgrade epoch for the calibration network to Epoch 2523454 - 2025-03-26T23:00:00Z. This is equivalent to:
- 16:00 in Los-Angeles
- 23:00 in London
- 07:00 in Beijing (NB: 2025-03-27 in CST)
You can follow this release issue for keeping up with the other expected release dates, epochs, and updates: (filecoin-project/lotus#12750)
Note
- This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected week of 2025-03-24).
☢️ Upgrade Warnings ☢️
- If you are running the v1.30.0 version of Lotus, please go through the Upgrade Warnings section for the v1.31.0 releases and v1.31.1 before upgrading to this release.
- The minimum supported Golang version is now
1.23.6
(filecoin-project/lotus#12910). - The
SupportedProofTypes
field has been removed from theFilecoin.StateGetNetworkParams
method because it was frequently overlooked during proof type updates and did not accurately reflect the FVM's supported proofs (filecoin-project/lotus#12881). - Introduced
Agent
field to theFilecoin.Version
response. Note that this change may be breaking, depending on the clients deserialization capabilities. (filecoin-project/lotus#12904). - The
--only-cc
option has been removed from thelotus-miner sectors extend
command.
🏛️ Filecoin network version 25 FIPs
- FIP-0097: Add Support for EIP-1153 (Transient Storage) in the FEVM
- FIP-0098: Simplify termination fee calculation to a fixed percentage of initial pledge
- FIP-0100: Removing Batch Balancer, Replacing It With a Per-sector Fee and Removing Gas-limited Constraints
- F3 Mainnet Activation
📦 v16 Builtin Actor Bundle
This release candidate uses the v16.0.0-rc3
🚚 Migration
All node operators, including storage providers, should be aware that ONE pre-migration is being scheduled 120 epochs before the network upgrade. The migration for the NV25 upgrade is expected to be medium with a bit longer pre-migration compared to the two previous network upgrade.
Pre-Migration is expected to take between 4 to 8 minutes on a SplitStore node. The migration on the upgrade epoch is expected to take 30 seconds on a node with a NVMe-drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take around 1 minute. We recommend node operators (who haven't enabled splitstore discard mode) that do not care about historical chain states, to prune the chain blockstore by syncing from a snapshot 1-2 days before the upgrade.
For certain node operators, such as full archival nodes or systems that need to keep large amounts of state (RPC providers), we recommend skipping the pre-migration and run the non-cached migration (i.e., just running the migration at the network upgrade epoch), and schedule for some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.
New Features highlight
- feat(cli): the
lotus state sectors
command now supports the--show-partitions
flag and printing CSV output. (filecoin-project/lotus#12834). - feat: handle non-existing actors gracefully in F3 power proportion CLI. (filecoin-project/lotus#12840)
- feat: check ETH events indexed in range (filecoin-project/lotus#12728)
- feat: exposed
StateGetNetworkParams
in the Lotus Gateway API (filecoin-project/lotus#12881) - feat: add
--csv
option to thelotus send
command (filecoin-project/lotus#12892) - feat: add
GenesisTimestamp
toStateGetNetworkParams
response (filecoin-project/lotus#12925) - feat: add
ChainGetMessagesInTipset
to Lotus Gateway API (filecoin-project/lotus#12947) - feat(f3): Implement contract based parameter setting as for FRC-0099 (filecoin-project/lotus#12861)
- feat!: FIP-0100 and FIP-0098 implementation.
- Adds a scheduled nv26 "Tock" upgrade exactly 90 days after nv25 to signal the end of the sector extensions grace period for FIP-0100. This grace period is 7 days for calibnet.
- Deadlines on the public API now have a
DailyFee
field DealIDs
has now been removed from the public API'sSectorOnChainInfo
(was deprecated in FIP-0079)- Removed
--only-cc
fromspcli sectors extend
command - Change circulating supply calculation for calibnet, butterflynet and 2k for nv25 upgrade; see (filecoin-project/lotus#12938) for more information.
- feat(miner): remove batch balancer-related functionality (filecoin-project/lotus#12919)
Improvements
- refactor(eth): attach ToFilecoinMessage converter to EthCall (filecoin-project/lotus#12844)
- feat: automatically detect if genesis CAR is compressed when using the
--genesis
flag in thelotus daemon
command (filecoin-project/lotus#12885) - fix: In addition to existing network, also publish 2k docker images (filecoin-project/lotus#12911)
- docs(api): document 10% overestimation in collateral/pledge APIs (filecoin-project/lotus#12922)
- fix(drand): add null HistoricalBeaconClient for old beacons (filecoin-project/lotus#12830)
- chore: reduce participation log verbosity when F3 isn't read (filecoin-project/lotus#12937)
- fix: allow users to optionally configure node startup even if index reconciliation fails (filecoin-project/lotus#12930)
- feat: add a
LOTUS_DISABLE_F3_ACTIVATION
enviroment variable allowing disabling F3 activation for a specific contract address or epoch (filecoin-project/lotus#12920). - chore: switch to pure-go zstd decoder for snapshot imports. (filecoin-project/lotus#12857)
- chore: upgrade go-state-types with big.Int{} change that means an empty big.Int is now treated as zero for all operations (filecoin-project/lotus#12936)
Bug Fixes
- fix(eth): minor improvements to event range checking (filecoin-project/lotus#12867)
- fix(wallet): allow delegated wallet import (filecoin-project/lotus#12876)
- fix: use the correct environment variable (
FIL_PROOFS_PARAMETER_CACHE
) for proof params path (filecoin-project/lotus#12891)
📝 Changelog
For the set of changes since the last stable release:
- Node: v1.31.1...v1.32.0-rc3
- Miner: v1.31.1...miner/v1.31.0-rc3
👨👩👧👦 Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Rod Vagg | 46 | +16240/-12784 | 286 |
Masih H. Derkani | 76 | +5697/-2175 | 290 |
Jakub Sztandera | 38 | +2048/-1652 | 244 |
Aryan Tikarya | 2 | +1931/-1444 | 43 |
Phi-rjan | 19 | +1777/-1251 | 69 |
Piotr Galar | 4 | +1052/-261 | 14 |
Mikers | 2 | +664/-149 | 12 |
Steven Allen | 8 | +325/-148 | 31 |
dependabot[bot] | 15 | +190/-208 | 30 |
Phi | 4 | +214/-156 | 12 |
Viraj Bhartiya | 2 | +190/-49 | 13 |
Aarsh Shah | 1 | +104/-47 | 6 |
caseylove | 1 | +71/-67 | 1 |
asamuj | 2 | +39/-43 | 14 |
ZenGround0 | 1 | +64/-0 | 1 |
Krishang Shah | 1 | +30/-30 | 2 |
tediou5 | 1 | +38/-15 | 14 |
dockercui | 1 | +19/-19 | 19 |
XiaoBei | 2 | +15/-15 | 7 |
Hubert | 1 | +21/-5 | 9 |
wmjae | 2 | +9/-9 | 7 |
taozui472 | 1 | +9/-9 | 6 |
Yash Jagtap | 1 | +7/-7 | 5 |
Peter Cover | 1 | +6/-6 | 4 |
Andi | 1 | +6/-6 | 2 |
root | 1 | +5/-5 | 4 |
growfrow | 1 | +3/-3 | 1 |
Łukasz Magiera | 1 | +4/-0 | 2 |
wgyt | 1 | +2/-2 | 1 |
web3-bot | 2 | +2/-2 | 2 |
parthshah1 | 1 | +2/-2 | 1 |
leo | 1 | +2/-2 | 2 |
futreall | 1 | +2/-2 | 2 |
Pranav Konde | 1 | +2/-2 | 1 |
Steve Loeppky | 1 | +2/-0 | 1 |
LexLuthr | 1 | +2/-0 | 1 |