Releases: filecoin-project/lotus
v1.33.0
The Lotus v1.33.0 release introduces experimental v2 APIs with F3 awareness, featuring a new TipSet selection mechanism that significantly enhances how applications interact with the Filecoin blockchain. This release candidate also adds F3-aware Ethereum APIs via the /v2 endpoint. All of the /v2 APIs implement intelligent fallback mechanisms between F3 and Expected Consensus and are exposed through the Lotus Gateway.
Please review the detailed documentation for these experimental APIs, as they are subject to change and have important operational considerations for node operators and API providers.
☢️ Upgrade Warnings ☢️
- There are no upgrade warnings for this release candidate.
⭐ Feature/Improvement Highlights:
Experimental v2 APIs with F3 awareness
The Lotus V2 APIs introduce a powerful new TipSet selection mechanism that significantly enhances how applications interact with the Filecoin blockchain. The design reduces API footprint, seamlessly handles both traditional Expected Consensus (EC) and the new F3 protocol, and provides graceful fallbacks.
Note
V2 APIs are highly experimental and subject to change without notice.
See Filecoin v2 APIs docs for an in-depth overview. /v2 APIs are exosed through Lotus Gateway.
This work was primarily done in (filecoin-project/lotus#13003), (filecoin-project/lotus#13027), (filecoin-project/lotus#13034), (filecoin-project/lotus#13075), (filecoin-project/lotus#13066)
F3-aware Ethereum APIs via /v2
endpoint and improvements to existing /v1
APIs
Lotus now offers two versions of its Ethereum-compatible APIs (eth_*
, trace_*
, net_*
, web3_*
and associated Filecoin.*
APIs including Filecoin-specific functions such as Filecoin.EthAddressToFilecoinAddress
and Filecoin.FilecoinAddressToEthAddress
) with different finality handling:
/v2
APIs (New & Experimental): These APIs consult the F3 subsystem (if enabled) for finality information."finalized"
tag maps to the F3 finalized epoch."safe"
tag maps to the F3 finalized epoch or 200 epochs behind head, whichever is more recent.
/v1
APIs (Existing & Recommended): These maintain behavior closer to pre-F3 Lotus (EC finality) for compatibility."finalized"
tag continues to use a fixed 900-epoch delay from the head (EC finality)."safe"
tag uses a 30-epoch delay from the head.- One or both of these tags may be adjusted in a future upgrade to take advantage of F3 finality.
- Note: Previously,
"finalized"
and"safe"
tags referred to epochsN-1
. This-1
offset has been removed in both V1 and V2. - Additional improvements affecting both
/v1
and/v2
Ethereum APIs:eth_getBlockTransactionCountByNumber
now accepts standard Ethereum block specifiers (hex numbers or tags like"latest"
,"safe"
,"finalized"
).- Methods accepting
BlockNumberOrHash
now support all standard tags ("pending"
,"latest"
,"safe"
,"finalized"
). This includeseth_estimateGas
,eth_call
,eth_getCode
,eth_getStorageAt
,eth_getBalance
,eth_getTransactionCount
, andeth_getBlockReceipts
. - Removed internal
Eth*Limited
methods (e.g.,EthGetTransactionByHashLimited
) from the supported gateway API surface. - Improved error handling: block selection endpoints now consistently return
ErrNullRound
(and corresponding JSONRPC errors) for null tipsets.
This work was done in (filecoin-project/lotus#13026), (filecoin-project/lotus#13070).
Others
- feat: add gas to application metric reporting
vm/applyblocks_early_gas
,vm/applyblocks_messages_gas
,vm/applyblocks_cron_gas
(filecoin-project/lotus#13030) - feat(metrics): capture total gas metric from ApplyBlocks (filecoin-project/lotus#13037)
- feat: add F3 Grafana Dashboard Template (filecoin-project/lotus#12934)
- fix(f3): limit the concurrency of F3 power table calculation (filecoin-project/lotus#13085)
- feat(f3): remove dynnamic manifest functionality and use static manifest (filecoin-project/lotus#13074)
🐛 Bug Fix Highlights
- fix(eth): apply limit in EthGetBlockReceiptsLimited (filecoin-project/lotus#12883)
- fix(eth): always return nil for eth transactions not found (filecoin-project/lotus#12999)
- fix(deps): fix Ledger hardware wallet support (filecoin-project/lotus#13048)
📝 Changelog
For the full set of changes since the last stable release:
👨👩👧👦 Contributors
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Rod Vagg | 19 | +13805/-3639 | 129 |
Masih H. Derkani | 19 | +11910/-2369 | 119 |
Jakub Sztandera | 14 | +2528/-202 | 32 |
Phi-rjan | 12 | +1707/-79 | 42 |
Steve Loeppky | 3 | +1287/-32 | 8 |
Piotr Galar | 2 | +298/-3 | 4 |
Barbara Peric | 3 | +182/-73 | 5 |
ZenGround0 | 1 | +191/-0 | 4 |
CoolCu | 1 | +15/-49 | 6 |
Volker Mische | 1 | +18/-31 | 5 |
Phi | 3 | +32/-14 | 10 |
dependabot[bot] | 1 | +15/-15 | 2 |
Amit Gaikwad | 1 | +19/-2 | 2 |
tom | 1 | +0/-14 | 2 |
xixishidibei | 1 | +2/-11 | 1 |
Tomass | 1 | +4/-4 | 2 |
tsinghuacoder | 1 | +3/-2 | 1 |
dropbigfish | 1 | +1/-1 | 1 |
James Niken | 1 | +1/-1 | 1 |
Hubert | 1 | +1/-0 | 1 |
Steven Allen | 1 | +0/-0 | 2 |
v1.33.0-rc1
The Lotus v1.33.0-rc1 release introduces experimental v2 APIs with F3 awareness, featuring a new TipSet selection mechanism that significantly enhances how applications interact with the Filecoin blockchain. This release candidate also adds F3-aware Ethereum APIs via the /v2 endpoint. All of the /v2 APIs implement intelligent fallback mechanisms between F3 and Expected Consensus and are exposed through the Lotus Gateway.
Please review the detailed documentation for these experimental APIs, as they are subject to change and have important operational considerations for node operators and API providers.
☢️ Upgrade Warnings ☢️
- There are no upgrade warnings for this release candidate.
⭐ Feature/Improvement Highlights:
Experimental v2 APIs with F3 awareness
The Lotus V2 APIs introduce a powerful new TipSet selection mechanism that significantly enhances how applications interact with the Filecoin blockchain. The design reduces API footprint, seamlessly handles both traditional Expected Consensus (EC) and the new F3 protocol, and provides graceful fallbacks.
Note
V2 APIs are highly experimental and subject to change without notice.
See Filecoin v2 APIs docs for an in-depth overview. /v2 APIs are exosed through Lotus Gateway.
This work was primarily done in (filecoin-project/lotus#13003), (filecoin-project/lotus#13027), (filecoin-project/lotus#13034), (filecoin-project/lotus#13075), (filecoin-project/lotus#13066)
F3-aware Ethereum APIs via /v2
endpoint and improvements to existing /v1
APIs
Lotus now offers two versions of its Ethereum-compatible APIs (eth_*
, trace_*
, net_*
, web3_*
and associated Filecoin.*
APIs including Filecoin-specific functions such as Filecoin.EthAddressToFilecoinAddress
and Filecoin.FilecoinAddressToEthAddress
) with different finality handling:
/v2
APIs (New & Experimental): These APIs consult the F3 subsystem (if enabled) for finality information."finalized"
tag maps to the F3 finalized epoch."safe"
tag maps to the F3 finalized epoch or 200 epochs behind head, whichever is more recent.
/v1
APIs (Existing & Recommended): These maintain behavior closer to pre-F3 Lotus (EC finality) for compatibility."finalized"
tag continues to use a fixed 900-epoch delay from the head (EC finality)."safe"
tag uses a 30-epoch delay from the head.- One or both of these tags may be adjusted in a future upgrade to take advantage of F3 finality.
- Note: Previously,
"finalized"
and"safe"
tags referred to epochsN-1
. This-1
offset has been removed in both V1 and V2. - Additional improvements affecting both
/v1
and/v2
Ethereum APIs:eth_getBlockTransactionCountByNumber
now accepts standard Ethereum block specifiers (hex numbers or tags like"latest"
,"safe"
,"finalized"
).- Methods accepting
BlockNumberOrHash
now support all standard tags ("pending"
,"latest"
,"safe"
,"finalized"
). This includeseth_estimateGas
,eth_call
,eth_getCode
,eth_getStorageAt
,eth_getBalance
,eth_getTransactionCount
, andeth_getBlockReceipts
. - Removed internal
Eth*Limited
methods (e.g.,EthGetTransactionByHashLimited
) from the supported gateway API surface. - Improved error handling: block selection endpoints now consistently return
ErrNullRound
(and corresponding JSONRPC errors) for null tipsets.
This work was done in (filecoin-project/lotus#13026), (filecoin-project/lotus#13070).
Others
- feat: add gas to application metric reporting
vm/applyblocks_early_gas
,vm/applyblocks_messages_gas
,vm/applyblocks_cron_gas
(filecoin-project/lotus#13030) - feat(metrics): capture total gas metric from ApplyBlocks (filecoin-project/lotus#13037)
- feat: add F3 Grafana Dashboard Template (filecoin-project/lotus#12934)
- fix(f3): limit the concurrency of F3 power table calculation (filecoin-project/lotus#13085)
- feat(f3): remove dynnamic manifest functionality and use static manifest (filecoin-project/lotus#13074)
🐛 Bug Fix Highlights
- fix(eth): apply limit in EthGetBlockReceiptsLimited (filecoin-project/lotus#12883)
- fix(eth): always return nil for eth transactions not found (filecoin-project/lotus#12999)
- fix(deps): fix Ledger hardware wallet support (filecoin-project/lotus#13048)
📝 Changelog
For the full set of changes since the last stable release:
👨👩👧👦 Contributors
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Rod Vagg | 19 | +13805/-3639 | 129 |
Masih H. Derkani | 19 | +11910/-2369 | 119 |
Jakub Sztandera | 14 | +2528/-202 | 32 |
Phi-rjan | 12 | +1707/-79 | 42 |
Steve Loeppky | 3 | +1287/-32 | 8 |
Piotr Galar | 2 | +298/-3 | 4 |
Barbara Peric | 3 | +182/-73 | 5 |
ZenGround0 | 1 | +191/-0 | 4 |
CoolCu | 1 | +15/-49 | 6 |
Volker Mische | 1 | +18/-31 | 5 |
Phi | 3 | +32/-14 | 10 |
dependabot[bot] | 1 | +15/-15 | 2 |
Amit Gaikwad | 1 | +19/-2 | 2 |
tom | 1 | +0/-14 | 2 |
xixishidibei | 1 | +2/-11 | 1 |
Tomass | 1 | +4/-4 | 2 |
tsinghuacoder | 1 | +3/-2 | 1 |
dropbigfish | 1 | +1/-1 | 1 |
James Niken | 1 | +1/-1 | 1 |
Hubert | 1 | +1/-0 | 1 |
Steven Allen | 1 | +0/-0 | 2 |
v1.32.3
This Node v1.32.3 patch release contains a critical update for all node operators. This release ensures that the F3 initial power table CID is correctly set in your Lotus node now that F3 is activated on Mainnet. All node operators must upgrade to this release before their next node restart to ensure proper F3 functionality.
☢️ Upgrade Warnings ☢️
- All node operators must upgrade to this release before their next node restart to ensure proper F3 functionality. Storage providers only needs to upgrade their Lotus chain node to this release.
📝 Changelog
- feat: set F3 initial power table for mainnet (filecoin-project/lotus#13077)
For the set of changes since the last stable release:
- Node: v1.31.2...v1.32.3
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Jakub Sztandera | 1 | +7/-5 | 2 |
Phi | 1 | +2/-2 | 1 |
miner/v1.32.3
This Node v1.32.3 patch release contains a critical update for all node operators. This release ensures that the F3 initial power table CID is correctly set in your Lotus node now that F3 is activated on Mainnet. All node operators must upgrade to this release before their next node restart to ensure proper F3 functionality.
☢️ Upgrade Warnings ☢️
- All node operators must upgrade to this release before their next node restart to ensure proper F3 functionality. Storage providers only needs to upgrade their Lotus chain node to this release.
📝 Changelog
- feat: set F3 initial power table for mainnet (filecoin-project/lotus#13077)
For the set of changes since the last stable release:
- Node: v1.31.2...v1.32.3
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Jakub Sztandera | 1 | +7/-5 | 2 |
Phi | 1 | +2/-2 | 1 |
v1.32.2
This Lotus v1.32.2 release is a MANDATORY patch release. After the Calibration network upgraded to nv25, a bug was discovered in the ref-fvm KAMT library affecting ERC-20 token minting operations. You can read the the full techincal breakdown of the issue here.
This patch release includes the following updates:
- Schedules a mandatory Calibration upgrade, happening on
2025-04-07T23:00:00Z
, to fix the ERC-20 token minting bug on the Calibration network. - Postpones the mandatory Mainnet nv25 upgrade by 4 days, to
2025-04-14T23:00:00Z
☢️ Upgrade Warnings ☢️
- All Lotus node and Storage Provider (SP) operators must upgrade to this patch release before the specified dates for the Calibration and Mainnet networks.
- Please check the upgrade warning section for the v1.32.1 release for more upgrade warnings if you are upgrading from a version prior to v1.32.0.
🏛️ 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.1
🚚 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.
Bug Fixes and Chores
- feat!: actors bun 10000 dle v16.0.1 & special handling for calibnet (filecoin-project/lotus#13006).
- chore: update new Mainnet nv25 date to 2025-04-14T23:00:00Z (filecoin-project/lotus#13007).
- chore: make TockFix epoch for 2k network configurable (filecoin-project/lotus#13008).
- chore(deps): update filecoin-ffi (filecoin-project/lotus#13011).
📝 Changelog
For the set of changes since the last stable release:
- Node: v1.31.1...v1.32.2
- Miner: v1.31.1...miner/v1.32.2
miner/v1.32.2
This Lotus v1.32.2 release is a MANDATORY patch release. After the Calibration network upgraded to nv25, a bug was discovered in the ref-fvm KAMT library affecting ERC-20 token minting operations. You can read the the full techincal breakdown of the issue here.
This patch release includes the following updates:
- Schedules a mandatory Calibration upgrade, happening on
2025-04-07T23:00:00Z
, to fix the ERC-20 token minting bug on the Calibration network. - Postpones the mandatory Mainnet nv25 upgrade by 4 days, to
2025-04-14T23:00:00Z
☢️ Upgrade Warnings ☢️
- All Lotus node and Storage Provider (SP) operators must upgrade to this patch release before the specified dates for the Calibration and Mainnet networks.
- Please check the upgrade warning section for the v1.32.1 release for more upgrade warnings if you are upgrading from a version prior to v1.32.0.
🏛️ 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.1
🚚 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.
Bug Fixes and Chores
- feat!: actors bundle v16.0.1 & special handling for calibnet (filecoin-project/lotus#13006).
- chore: update new Mainnet nv25 date to 2025-04-14T23:00:00Z (filecoin-project/lotus#13007).
- chore: make TockFix epoch for 2k network configurable (filecoin-project/lotus#13008).
- chore(deps): update filecoin-ffi (filecoin-project/lotus#13011).
📝 Changelog
For the set of changes since the last stable release:
- Node: v1.31.1...v1.32.2
- Miner: v1.31.1...miner/v1.32.2
v1.32.1
The Lotus v1.32.1 release is a MANDATORY patch release, which will deliver the Filecoin network version 25, codenamed “Teep” 🦵. This release sets the upgrade epoch for the Mainnet to Epoch 4867320 - 2025-04-10T23:00:00Z, and correctly sets the F3 activationcontract address to 0xA19080A1Bcb82Bb61bcb9691EC94653Eb5315716
. You can find more details about how the F3 activation on Mainnet will be executed in the F3 Activation Procedure.
☢️ Upgrade Warnings ☢️
- The Lotus v1.32.0 release had an issue where the F3 activation contract address was not set correctly. This release corrects that issue.
- 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
🚚 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!: 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: integrate & test FIP-0098 additions (filecoin-project/lotus#12968)
- 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(miner): remove batch balancer-related functionality (filecoin-project/lotus#12919)
- feat(market): expose access to ProviderSectors on the market actor abstraction (filecoin-project/lotus#12978)
- feat: expose market ProviderSectors access on state-types abstraction (filecoin-project/lotus#12978)
- feat(shed): lotus-shed miner-fees - to inspect FIP-0100 fees for a miner (filecoin-project/lotus#12980)
- Set the F3 contract address on mainnet (filecoin-project/lotus#12994)
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)
- chore(eth): make
EthGetBlockByNumber
&EthGetBlockByHash
share the same cache and be impacted byEthBlkCacheSize
config settings (filecoin-project/lotus#12979) - chore(deps): bump go-state-types to v0.16.0-rc8 (filecoin-project/lotus#12973)
- chore: set Mainnet nv25 upgrade epoch and update deps (filecoin-project/lotus#12986)
- chore(eth): make EthGetBlockByNumber & EthGetBlockByHash share cache code (filecoin-project/lotus#12979)
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.1
- Miner: v1.31.1...miner/v1.32.1
👨👩👧👦 Contributors
| Contr...
miner/v1.32.1
The Lotus v1.32.1 release is a MANDATORY patch release, which will deliver the Filecoin network version 25, codenamed “Teep” 🦵. This release sets the upgrade epoch for the Mainnet to Epoch 4867320 - 2025-04-10T23:00:00Z, and correctly sets the F3 activationcontract address to 0xA19080A1Bcb82Bb61bcb9691EC94653Eb5315716
. You can find more details about how the F3 activation on Mainnet will be executed in the F3 Activation Procedure.
☢️ Upgrade Warnings ☢️
- The Lotus v1.32.0 release had an issue where the F3 activation contract address was not set correctly. This release corrects that issue.
- 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
🚚 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!: 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: integrate & test FIP-0098 additions (filecoin-project/lotus#12968)
- 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(miner): remove batch balancer-related functionality (filecoin-project/lotus#12919)
- feat(market): expose access to ProviderSectors on the market actor abstraction (filecoin-project/lotus#12978)
- feat: expose market ProviderSectors access on state-types abstraction (filecoin-project/lotus#12978)
- feat(shed): lotus-shed miner-fees - to inspect FIP-0100 fees for a miner (filecoin-project/lotus#12980)
- Set the F3 contract address on mainnet (filecoin-project/lotus#12994)
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)
- chore(eth): make
EthGetBlockByNumber
&EthGetBlockByHash
share the same cache and be impacted byEthBlkCacheSize
config settings (filecoin-project/lotus#12979) - chore(deps): bump go-state-types to v0.16.0-rc8 (filecoin-project/lotus#12973)
- chore: set Mainnet nv25 upgrade epoch and update deps (filecoin-project/lotus#12986)
- chore(eth): make EthGetBlockByNumber & EthGetBlockByHash share cache code (filecoin-project/lotus#12979)
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.1
- Miner: v1.31.1...miner/v1.32.1
👨👩👧👦 Contributors
| Contr...
v1.32.0-rc3
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 |
miner/v1.32.0-rc3
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” 🦵. T 78DA his 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 |