This is the second release candidate of the upcoming MANDATORY Lotus v1.34.0 release, which will deliver the Filecoin network version 27, codenamed “Golden Week” 🏮. This release candidate sets the upgrade epoch for the calibration network to Epoch 3007294: 2025-09-10T23:00:00Z. (See the local time for other timezones.)
This RC is required for participation in the nv27 calibration upgrade.
You can follow filecoin-project/lotus#13269 for keeping up with the other expected release dates, epochs, and updates.
Note
This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected 2025-09-11).
☢️ Upgrade Warnings ☢️
- All Lotus node and Storage Provider (SP) operators must upgrade to v1.34.x before the specified dates for the Calibration and Mainnet networks.
- The
/v1
Ethereum APIs have "F3 awareness" for all Ethereum calls where"finalized"
or"safe"
are supplied. Nodes will likely return different (and likely more recent) results in v1.34.x+ than previous versions when these tags are used. See more info below.
🏛️ Filecoin network version 27 FIPs and FRCs
- FIP-0105: BLS12-381 Precompiles for FEVM (EIP-2537)
- FIP-0109: Smart contract notifications for Direct Data Onboarding (DDO)
- FIP-0077: Add deposit requirement for new miner creation
- FIP-0103: Remove ExtendSectorExpiration method
- FIP-0106: Remove ProveReplicaUpdates method
- FIP-0101: Remove ProveCommitAggregate method
- FRC-0108: F3-compatible snapshots
📦 v17 Builtin Actor Bundle
This release candidate uses v17.0.0-rc1.
🚚 Migration
There is no pre-migration or migration with this network upgrade.
⭐ New Features highlight
- feat(eth): use F3 for "finalized" and "safe" resolution in v1 APIs. This switches the /v1 Ethereum APIs to have the same resolution rules as /v2, enabling F3 awareness for all Ethereum calls where
"finalized"
or"safe"
is supplied. See F3-aware Ethereum APIs via/v2
endpoint and improvements to existing/v1
APIs below for details of how the /v2 APIs work as introduced in the 1.33.0 release. Set the environment variableLOTUS_ETH_V1_DISABLE_F3_FINALITY_RESOLUTION
to1
to revert this behaviour but note that the option to revert will likely be removed in a future release (tracking issue). (filecoin-project/lotus#13298) - feat(f3): expose simple ChainGetFinalizedTipSet API on v1 (and gateway) that just returns the latest F3 finalized tipset, or falls back to EC finality if F3 is not operational on the node or if the F3 finalized tipset is further back than EC finalized tipset. This API can be used for follow-up state calls that clamp to a specific tipset to have assurance of state finality. (filecoin-project/lotus#13299)
- feat: support for F3-aware snapshot v2 format per FRC-0108 (filecoin-project/lotus#13282)
- snapshot export now defaults to v2 format with embedded F3 finality certificates, dramatically reducing F3 catchup time from ~8 hours
- transparently imports both v1 and v2 snapshot formats
- to export v1 snapshots, use
lotus chain export --skip-old-msgs --recent-stateroots=2001 --snapshot-version=1 <filename>
- feat(net): add LOTUS_ENABLE_MESSAGE_FETCH_INSTRUMENTATION=1 to turn on metrics and debugging for local vs bitswap message fetching during block validation (filecoin-project/lotus#13221)
👌 Improvements
- chore(docs): mark v0 API as "deprecated" and v1 as "stable" (filecoin-project/lotus#13264)
- feat(api): add StateMinerCreationDeposit API method for FIP-0077 - calculates the deposit required for creating a new miner (filecoin-project/lotus#13308)
- feat(spcli): correctly handle the batch logic of
lotus-miner actor settle-deal
(#13189) - feat(spcli): add
--all-deals
tolotus-miner actor settle-deal
(#13243)
🐛 Bug Fixes
- fix: properly handle all RPC API retry errors (#13279)
- fix(api):
eth_getCode
andeth_getStorageAt
now return state after the specified block rather than before it (filecoin-project/lotus#13274) - fix(api):
eth_getTransactionCount
now returns state after the specified block rather than before it (filecoin-project/lotus#13275) - fix: handle partial reads in UnpadReader for non-power-of-2 pieces (filecoin-project/lotus#13306)
📝 Changelog
For the set of changes since the last stable release:
Changes since RC1
- Using actors bundle v17.0.0-rc1 instead of v17.0.0-dev1.
- Backported: fix: handle partial reads in UnpadReader for non-power-of-2 pieces (filecoin-project/lotus#13306)
👨👩👧👦 Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Rod Vagg | 11 | +1780/-717 | 47 |
TippyFlits | 2 | +1058/-734 | 32 |
tediou5 | 1 | +610/-22 | 14 |
chris-4chain | 1 | +222/-23 | 7 |
Steven Allen | 1 | +142/-68 | 3 |
beck | 2 | +141/-52 | 8 |
Phi-rjan | 7 | +114/-75 | 20 |
dependabot[bot] | 12 | +81/-86 | 24 |
Steve Loeppky | 7 | +132/-29 | 7 |
hanabi1224 | 2 | +91/-24 | 3 |
raul0ligma | 1 | +88/-4 | 5 |
William Morriss | 3 | +41/-13 | 7 |
Copilot | 1 | +46/-0 | 1 |
deepdring | 1 | +6/-6 | 6 |
Block Wizard | 3 | +6/-6 | 5 |
wmypku | 1 | +4/-4 | 2 |
queryfast | 1 | +4/-4 | 4 |
minxinyi | 1 | +4/-4 | 4 |
web3-bot | 2 | +3/-3 | 3 |
tzchenxixi | 1 | +3/-3 | 3 |
haouvw | 1 | +3/-3 | 2 |
TimberLake | 1 | +3/-3 | 2 |
Jakub Sztandera | 2 | +3/-3 | 3 |
Micke | 1 | +2/-2 | 2 |
longhutianjie | 1 | +1/-1 | 1 |