Lotus Node v1.36.2 is a recommended patch release focused on Ethereum RPC correctness and compatibility, StateWaitMsg confidence handling, dependency reliability, and operator tooling.
☢️ Upgrade Warnings ☢️
- Tracing configuration has changed: the deprecated Jaeger exporter has been replaced by an OTLP HTTP exporter. The
LOTUS_JAEGER_*environment variables are no longer supported; configureLOTUS_OTEL_EXPORTER_ENDPOINTandLOTUS_OTEL_EXPORTER_INSECUREinstead. (filecoin-project/lotus#13533)
⭐ New Features
- feat(lotus-shed): accept Ethereum transaction hashes in msg (filecoin-project/lotus#13727)
- feat(cli):
lotus-miner actor settle-dealnow uses gas-aware adaptive batching — deal batches whose estimated gas would exceed a fraction of the block gas limit (tunable via--max-gas-fraction, default 1/4) are automatically split so no singleSettleDealPaymentsExportedmessage hogs block capacity (filecoin-project/lotus#13669)
🐛 Bug Fixes
- fix(eth):
eth_callandeth_estimateGasnow accept afromaddress that is an EVM contract or that doesn't exist on chain, matching Geth and unblocking tooling that simulates from such senders (Safe SDK EIP-1271 signature checks, gas estimation before an account is funded). (filecoin-project/lotus#13724) - fix(api):
StateWaitMsgnow honors non-zero confidence when the message was executed by the current head at call time, waiting for the requested depth and tracking reverts instead of returning immediately. Full nodes reject confidence above chain finality (currently 900 epochs);lotus-gatewaydefaults to a 20-epoch maximum, configurable with--api-wait-confidence-limit(filecoin-project/lotus#13705) - fix(eth): resolve native Filecoin transaction recipients in
eth_getTransactionByBlockHashAndIndexandeth_getTransactionByBlockNumberAndIndexagainst the block post-state, matchingeth_getBlockByNumberandeth_getTransactionByHashfor transfers that create the recipient account (filecoin-project/lotus#13699) - fix(eth): return
ErrNullRoundfor explicit null epochs in singleton block-execution ETH APIs.eth_getBlockReceipts/EthGetBlockReceiptsLimitednow reject a null block number instead of returning receipts for the previous non-null tipset. State-at-epoch APIs such aseth_getBalance,eth_getCode,eth_getStorageAt,eth_getTransactionCount,eth_call,eth_estimateGas, andFilecoinAddressToEthAddresscontinue to resolve null epochs to the previous non-null tipset because Filecoin state is defined at the null epoch and is unchanged from that previous state. Range/sampling APIs such aseth_feeHistoryalso continue to walk real tipsets and skip null epochs, including when resolving a nullnewestBlockanchor to the previous non-null tipset. (filecoin-project/lotus#13694) - fix(eth): return
nullfrometh_getTransactionByHashandeth_getTransactionReceiptfor transaction hashes that were replaced before execution, matching Ethereum replacement semantics (filecoin-project/lotus#13664) - fix(eth):
eth_getLogs,eth_newFilterand thelogsvariant ofeth_subscribenow reject a filter that specifies more than 4 topic positions, matching the Ethereum JSON-RPC spec and go-ethereum. Previously the surplus positions were accepted but could never match an event (EVM logs carry at mostt1..t4), so the filter silently returned no results while still adding one event-index join per position. (filecoin-project/lotus#13676) - fix(eth): reject malformed
EthNonceJSON values that do not decode to exactly 8 bytes instead of panicking on short inputs or silently truncating long inputs. (filecoin-project/lotus#13696)
👌 Improvements
- chore(deps): update
go-libp2p-pubsubto v0.17.0. Lotus now uses the replacement outbound-stream trace events and the Google Protobuf size API. (filecoin-project/lotus#13707) - chore(deps): update libp2p networking dependencies. This includes libp2p's updated handling of unspecified listen addresses, so nodes listening on
0.0.0.0/::may report or advertise concrete interface addresses returned by libp2p. (filecoin-project/lotus#13588) - chore(deps): update
go-jsonrpcto v0.10.2 andgo-f3to v0.8.14, including WebSocket ping handling, response/channel hardening, and delayed F3 bootstrap retry throttling. (filecoin-project/lotus#13726) - chore(bootstrap): use
/dnsaddrfor ChainSafe bootstrap peers to allow peer changes through DNS, and remove the inactivefil.devtty.eupeers. (filecoin-project/lotus#13715)
📝 Changelog
For the full set of changes since the last stable release:
👨👩👧👦 Contributors
| Contributor | Commits | Lines ± | Files Changed |
|---|---|---|---|
| Rod Vagg | 17 | +2851/-1774 | 99 |
| nijoe1 | 1 | +1277/-123 | 15 |
| dependabot[bot] | 25 | +767/-340 | 50 |
| Phi-rjan | 7 | +284/-299 | 21 |
| ZenGround0 | 1 | +171/-366 | 17 |
| Matt Van Horn | 1 | +246/-19 | 4 |
| iyiola-dev | 1 | +89/-113 | 9 |
| William Morriss | 1 | +114/-2 | 6 |
| LexLuthr | 1 | +101/-6 | 3 |
| Kaif | 2 | +59/-7 | 5 |
| Linghao | 1 | +58/-0 | 3 |
| Jakub Sztandera | 1 | +26/-10 | 2 |
| Phi | 3 | +18/-16 | 15 |
| Hubert | 1 | +2/-9 | 2 |
| futurehua | 1 | +5/-5 | 5 |
| web3-bot | 1 | +1/-1 | 1 |