This is the stable release of Lotus node v1.35.1, a patch release that extends EC finality tooling into the v2 API, Eth RPC, and lotus-shed, improves Ethereum RPC and gas estimation behavior, lowers several CLI batch defaults to reduce out-of-gas failures, and raises the minimum supported Golang version to 1.25.0. The final release also includes late backports for Ethereum RLP hardening, proof-parameter fetch robustness, indexed StateSearchMsg lookback handling, tightened Ethereum filter block-range enforcement, and null-round-aware EC finality chain walks.
☢️ Upgrade Warnings ☢️
- The minimum supported Golang version is now
1.25.0. (filecoin-project/lotus#13538)
⭐ New Features
- feat(api): integrate FRC-0089 EC finality calculator into v2 API and Eth RPC, so
"finalized"and"safe"tags reflect actual chain health (~20-30 epochs) rather than worst-case static 900-epoch fallback. AddsChainGetTipSetFinalityStatusv2 endpoint for finality diagnostics. (filecoin-project/lotus#13547) - feat(shed): add
lotus-shed finality-calculatorfor EC finality probability computation per FRC-0089 (filecoin-project/lotus#12093)
🐛 Bug Fixes
- fix(rlp): modernize and harden Ethereum RLP decoding with tighter canonical-encoding validation, explicit nesting and input bounds, and expanded roundtrip coverage for transaction parsing (filecoin-project/lotus#13555)
- fix(gateway): return
ErrFilterNotFoundinstead of an empty result for unknown filter IDs inEthGetFilterLogs(filecoin-project/lotus#13519) - fix(eth): handle failed contract creates with nil result addresses in
trace_filter(filecoin-project/lotus#13549) - fix(chainstore): remove expected CBOR decode warnings in
GetCMessagefor Ethereum-style transactions, reducing log spam on busy nodes (filecoin-project/lotus#13524) - fix(net): update FIL DevTTY WebTransport certhashes in the mainnet bootstrap list (filecoin-project/lotus#13530)
- fix(gas): stricter bounds for
GasEstimateGasPremiumlookback (filecoin-project/lotus#13556) - fix: remove duplicate SQL statement entries from
preparedStatementMapping(filecoin-project/lotus#13545) - fix(api): make
StateSearchMsgrespectlookbackLimitwhen returning indexed results (filecoin-project/lotus#13562) - fix(eth): tighten block range handling for
trace_filterandeth_getLogs, including consistent-32005limit-exceeded errors and gateway range enforcement fortrace_filter(filecoin-project/lotus#13561) - fix(ecfinality): account for null rounds in EC finality calculator chain walk, aligning with FRC-0089 theoretical model and fixing depth-to-height conversion (filecoin-project/lotus#13565)
👌 Improvements
- perf(MessagePool): cache
Pending()snapshots to reduce repeated message pool reconstruction work (filecoin-project/lotus#13542) - chore(cli): lower default batch sizes for claim extension, deal settlement, and sector extension commands to reduce out-of-gas failures (filecoin-project/lotus#13537)
- chore(paramfetch): bump
go-paramfetchtov0.0.5, improving parameter downloads by rejecting unexpected HTTP responses and avoiding redundant concurrent fetches (filecoin-project/lotus#13559) - build(deps): bump
github.com/ipfs/boxoto0.37.0,github.com/drand/drand/v2to2.1.4,github.com/drand/kyberto1.3.2, andgithub.com/libp2p/go-libp2p-kad-dhtto0.38.0(filecoin-project/lotus#13541, filecoin-project/lotus#13510, filecoin-project/lotus#13516, filecoin-project/lotus#13502)
📝 Changelog
For the set of changes since the last stable release:
👨👩👧👦 Contributors
| Contributor | Commits | Lines ± | Files Changed |
|---|---|---|---|
| Rod Vagg | 10 | +3670/-595 | 63 |
| Phi-rjan | 6 | +485/-159 | 49 |
| dependabot[bot] | 4 | +98/-89 | 8 |
| William Morriss | 3 | +351/-15 | 18 |
| beck | 1 | +6/-6 | 5 |
| eroderust | 1 | +7/-7 | 5 |
| hanabi1224 | 1 | +0/-17 | 1 |
| Hubert | 1 | +0/-1 | 1 |
| relotnek | 1 | +1/-1 | 1 |
| Shashank | 1 | +3/-2 | 3 |
| stringsbuilder | 1 | +2/-2 | 1 |
| TippyFlits | 1 | +0/-5 | 1 |