Skip to content

v1.36.2

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Jul 05:53
c6f4d02

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; configure LOTUS_OTEL_EXPORTER_ENDPOINT and LOTUS_OTEL_EXPORTER_INSECURE instead. (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-deal now 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 single SettleDealPaymentsExported message hogs block capacity (filecoin-project/lotus#13669)

🐛 Bug Fixes

  • fix(eth): eth_call and eth_estimateGas now accept a from address 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): StateWaitMsg now 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-gateway defaults to a 20-epoch maximum, configurable with --api-wait-confidence-limit (filecoin-project/lotus#13705)
  • fix(eth): resolve native Filecoin transaction recipients in eth_getTransactionByBlockHashAndIndex and eth_getTransactionByBlockNumberAndIndex against the block post-state, matching eth_getBlockByNumber and eth_getTransactionByHash for transfers that create the recipient account (filecoin-project/lotus#13699)
  • fix(eth): return ErrNullRound for explicit null epochs in singleton block-execution ETH APIs. eth_getBlockReceipts / EthGetBlockReceiptsLimited now reject a null block number instead of returning receipts for the previous non-null tipset. State-at-epoch APIs such as eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount, eth_call, eth_estimateGas, and FilecoinAddressToEthAddress continue 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 as eth_feeHistory also continue to walk real tipsets and skip null epochs, including when resolving a null newestBlock anchor to the previous non-null tipset. (filecoin-project/lotus#13694)
  • fix(eth): return null from eth_getTransactionByHash and eth_getTransactionReceipt for transaction hashes that were replaced before execution, matching Ethereum replacement semantics (filecoin-project/lotus#13664)
  • fix(eth): eth_getLogs, eth_newFilter and the logs variant of eth_subscribe now 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 most t1..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 EthNonce JSON 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-pubsub to 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-jsonrpc to v0.10.2 and go-f3 to v0.8.14, including WebSocket ping handling, response/channel hardening, and delayed F3 bootstrap retry throttling. (filecoin-project/lotus#13726)
  • chore(bootstrap): use /dnsaddr for ChainSafe bootstrap peers to allow peer changes through DNS, and remove the inactive fil.devtty.eu peers. (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