Repository navigation
Releases: ChainSafe/forest
Release list
v0.38.0 "Ayanant"
Mandatory release for mainnet node operators. It includes support for the NV29 Solstice network upgrade for mainnet, which is set to activate at epoch 6470279 (2026-10-19T12:59:30Z).
For RPC providers
- JSON-RPC batches are now limited to 100 requests by default. Larger batches are rejected with error
-32010. If your clients send bigger batches, raise the limit withFOREST_RPC_MAX_BATCH_LEN. - Size the RPC caches for your traffic. The defaults suit a general node. If you serve trace methods or clients that walk block ranges, the defaults evict cache entries before they are reused, and every miss re-executes a tipset or rebuilds a block. The RPC fine-tuning guide says which setting to raise for which traffic, what each costs in memory, and which metrics confirm the effect.
What's Changed
- chore(deps-dev): bump @types/node from 26.1.2 to 26.6.1 in /docs by @dependabot[bot] in #7662
- chore(deps): bump the patch-versions group with 4 updates by @dependabot[bot] in #7663
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7665
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7666
- chore: update the faster hex to 0.10.1 by @akaladarshi in #7667
- fix!: wait-api returns an error on timeout by @LesnyRumcajs in #7650
- fix: GC write ops race by @LesnyRumcajs in #7661
- fix: secp message gas floor by @LesnyRumcajs in #7652
- chore: issue warning when set env value is not parseable by @LesnyRumcajs in #7673
- chore(docs): fix dead links by @LesnyRumcajs in #7675
- fix(test): fix null round handling in
eth_getfilterLogstests by @LesnyRumcajs in #7674 - docs: include discussion announcement for network upgrades in release checklist by @akaladarshi in #7671
- feat: trace cache size configurable by @LesnyRumcajs in #7676
- fix: migrate from parent once by @LesnyRumcajs in #7677
- chore: rm legacy migration tests by @LesnyRumcajs in #7680
- chore: add solstice
calibnetepoch in migration test by @akaladarshi in #7682 - fix(state_manager): pick the beacon entry algorithm by network version by @EclesioMeloJunior in #7636
- chore: update wasmtime to fix cargo advisory by @akaladarshi in #7686
- [automated] Update Lotus version in API tests by @leshyatwork[bot] in #7685
- fix: snapshot GC pre-flight check by @LesnyRumcajs in #7689
- chore(deps): bump the patch-versions group with 4 updates by @dependabot[bot] in #7694
- chore: error formatting by @akaladarshi in #7687
- [automated] Add monthly RPC parity conformance report by @leshyatwork[bot] in #7696
- chore(deps): bump the patch-versions group in /docs with 3 updates by @dependabot[bot] in #7691
- chore(beacon/tests): setup
MockDrandServerby @EclesioMeloJunior in #7683 - feat: allow batch size limit by @LesnyRumcajs in #7697
- fix(rpc):
eth_callandtrace_callhonor provided gas limit by @LesnyRumcajs in #7701 - feat:
trace_replayBlockTransactionscaching by @LesnyRumcajs in #7681 - refactor: private message fields by @LesnyRumcajs in #7690
- perf: memoize a message's CID and encoded length by @LesnyRumcajs in #7692
- refactor: immutable Message by @LesnyRumcajs in #7708
- fix: car footer flush by @LesnyRumcajs in #7710
- docs: fix some typos in comment by @fmterrors in #7712
- refactor:
rstestin snapshot import tests by @LesnyRumcajs in #7714 - refactor: simplify state diff tests with
rstestby @LesnyRumcajs in #7716 - refactor: prefer
rstestfor multiple similar cases by @LesnyRumcajs in #7718 - refactor: simplify nv29 test cases with
rstestby @LesnyRumcajs in #7717 - [automated] Update Lotus version in API tests by @leshyatwork[bot] in #7719
- chore: shim cleanup by @LesnyRumcajs in #7713
- refactor:
rstestin snapshot hamt tests by @LesnyRumcajs in #7715 - fix: honor gas limit in
eth_estimateGasby @LesnyRumcajs in #7703 - chore: nv29 mainnet support by @akaladarshi in #7721
- chore(deps): bump the patch-versions group with 2 updates by @dependabot[bot] in #7726
- feat(api): state reward distribution v2 api by @akaladarshi in #7709
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7727
- chore(deps): bump jdx/mise-action from 4 to 5 by @dependabot[bot] in #7725
- fix(ci): align dependabot cooldown with pnpm by @LesnyRumcajs in #7728
- chore: prepare release
v0.38.0by @akaladarshi in #7730
New Contributors
- @fmterrors made their first contribution in #7712
Full Changelog: v0.37.0...v0.38.0
v0.37.0 "Sharad Sampat"
Mandatory release for calibnet node operators. It includes support for the NV29 Solstice network upgrade for calibnet, which is set to activate at epoch 4109133 (2026-09-28T12:59:30Z). There are also additional (breaking) changes and improvements; see below.
What's Changed
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7580
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7581
- chore(deps): bump hadolint/hadolint-action from 3.4.0 to 3.5.0 by @dependabot[bot] in #7585
- chore(deps-dev): bump @types/react-dom from 19.2.4 to 19.2.5 in /docs in the patch-versions group by @dependabot[bot] in #7584
- chore(deps): bump flate2 from 1.1.9 to 1.1.10 in the patch-versions group by @dependabot[bot] in #7586
- feat(bench): tipset benchmarking over snapshot & ranges by @LesnyRumcajs in #7583
- fix(cli):
forest-toolindex backfill ensure proof parameters by @EclesioMeloJunior in #7588 - Drop
--recomputeflag on index backfill by @sudo-shashank in #7594 - Implement
forest-cli evm deployandforest-cli evm callby @sudo-shashank in #7582 - chore(deps-dev): bump tsx from 4.23.12 to 4.23.13 in /docs in the patch-versions group by @dependabot[bot] in #7604
- chore(deps): bump the patch-versions group with 5 updates by @dependabot[bot] in #7605
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7602
- Implement
forest-cli evm invokeby @sudo-shashank in #7595 - [automated] Update Forest CLI docs by @leshyatwork[bot] in #7606
- [automated] Update Forest checkpoints by @leshyatwork[bot] in #7610
- chore: bump deps via cargo update by @LesnyRumcajs in #7613
- chore: fix rust 1.98 manifest parsing by @LesnyRumcajs in #7615
- chore: suppress toolchain override warn during install by @LesnyRumcajs in #7623
- docs: fix hardware requirements typo by @LesnyRumcajs with @Copilot in #7624
- chore(docs): add proof params entry in docs by @LesnyRumcajs in #7627
- Extend forest-wallet send with calldata and method params by @sudo-shashank in #7607
- chore: bump fvm by @LesnyRumcajs in #7631
- chore(deps): bump hashlink from 0.11.1 to 0.12.2 by @dependabot[bot] in #7629
- feat: move to new proof params hosting by @LesnyRumcajs in #7630
- fix(ci): test a published dataset day in the external RPC checks by @EclesioMeloJunior in #7621
- chore(tests): pledge calc coverage by @LesnyRumcajs in #7626
- fix: return eth hash from eth_sendRawTransaction by @wjmelements in #7625
- chore(deps): bump react from 19.2.8 to 19.3.0 in /docs in the react group across 1 directory by @dependabot[bot] in #7628
- feat: integrate v19 actor by @akaladarshi in #7593
- chore: nv29 skeleton by @akaladarshi in #7598
- feat: nv29 base by @akaladarshi in #7599
- feat: nv29 support for devnet by @akaladarshi in #7635
- chore: butterflynet reset by @akaladarshi in #7638
- fix(ci): backfill verification on null rounds by @LesnyRumcajs in #7642
- Remove redundant CBOR allocations by @sudo-shashank in #7634
- fix(ci): deprecation notice on
app-idby @LesnyRumcajs in #7643 - [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7647
- chore: nv29 cleanup changes by @akaladarshi in #7645
- chore: enable mainnet on external-rpc-checks by @EclesioMeloJunior in #7603
- feat!: change proof parameter fallback by @LesnyRumcajs in #7649
- [automated] Update Forest checkpoints by @leshyatwork[bot] in #7653
- chore: reduce allocations in conversions by @LesnyRumcajs in #7646
- fix: missing guard in block message handling by @LesnyRumcajs in #7651
- chore(docs): add some missing subcommand docs by @LesnyRumcajs in #7659
- chore: nv29 latest bundles by @akaladarshi in #7654
- chore(release): prepare release v0.37.0 by @akaladarshi in #7660
Full Changelog: v0.36.1...v0.37.0
Forest v0.36.1 “Kaaguy”
Non-mandatory release for all node operators. Mostly fixes and improvements around RPC methods.
Check the CHANGELOG.md for details
What's Changed
- chore: fast path in
resolve_to_keyby @LesnyRumcajs in #7522 - fix: filecoin chain notify API and tests by @akaladarshi in #7493
- chore: fast-path mpool pending by @LesnyRumcajs in #7524
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7525
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7526
- chore: improve
StateAccountKeyperf for bad queries by @LesnyRumcajs in #7521 - chore: avoid wasteful loading tipset in
eth_getLogsby @LesnyRumcajs in #7530 - [automated] Update Forest checkpoints by @leshyatwork[bot] in #7534
- chore: fast-track
eth_getCodeby @LesnyRumcajs in #7523 - chore(perf): optimize
eth_feeHistoryby @LesnyRumcajs in #7529 - fix: block producing fixes by @LesnyRumcajs in #7535
- chore(perf): fast track
eth_getStorageAtby @LesnyRumcajs in #7531 - fix(eth): respect tombstone by @LesnyRumcajs in #7537
- chore(deps): bump the patch-versions group with 2 updates by @dependabot[bot] in #7558
- fix(eth): allow eth_call and eth_estimateGas from contract and non-existent senders by @sudo-shashank in #7435
- Added devnet skip sender test by @sudo-shashank in #7541
- chore: remove panic on overflow in release builds by @LesnyRumcajs in #7559
- feat(test): forest + lotus-miner devnet in CI by @LesnyRumcajs in #7556
- feat(drand): include drand metrics around HTTP retrieval by @EclesioMeloJunior in #7533
- chore: apply clippy
inlined-format-argsby @LesnyRumcajs in #7561 - chore: enable more perf lints by @LesnyRumcajs in #7562
- chore: wait till lotus funded in devnet tests by @LesnyRumcajs in #7564
- fix:(drand):
SizeTrackingCachecache name per drand network name by @EclesioMeloJunior in #7532 - Add --as-default flag to forest-wallet import by @sudo-shashank in #7565
- [automated] Update Lotus version in API tests by @leshyatwork[bot] in #7475
- fix: mpool-pending fixes by @LesnyRumcajs in #7566
- chore(deps-dev): bump typescript from 6.0.3 to 7.0.2 in /docs by @dependabot[bot] in #7557
- chore: bump toolchain to rust-1.98.0 by @LesnyRumcajs in #7568
- feat: external-rpc-checks runs on dispatch and on labeled PRs by @EclesioMeloJunior in #7509
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7573
- [automated] Add monthly RPC parity conformance report by @leshyatwork[bot] in #7574
- fix(ci): set the forest entrypoint in the external RPC checks by @EclesioMeloJunior in #7570
- chore: temporarily ignore wasmtime advisory by @LesnyRumcajs in #7575
- fix: message wait race in devnet tests by @LesnyRumcajs in #7576
- chore(docs): include important warn on release checklist by @EclesioMeloJunior in #7577
- chore(release): prepare 0.36.1 by @EclesioMeloJunior in #7578
Full Changelog: v0.36.0...v0.36.1
Forest v0.36.0 "bafy2bza...o2g"
Non-mandatory release for all node operators. Lots of fixes and improvements, notably around RPC methods. It's also the first release where a Forest + Curio pair managed to successfully produce blocks on a devnet! Great success!
Check the CHANGELOG for details.
What's Changed
- chore(docs): include versioning note in the release checklist by @akaladarshi in #7407
- Serialize wallet + mpool tests by @sudo-shashank in #7379
- feat!: standarize casing in RPC methods by @LesnyRumcajs in #7411
- chore: update the chain follower logs to report validation by @akaladarshi in #7382
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7415
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7416
- [automated] Update Forest checkpoints by @leshyatwork[bot] in #7417
- fix: let gc scheduler_loop explicitly return never type by @hanabi1224 in #7418
- feat(filters): add
ttlin eth filters by @akaladarshi in #7386 - fix: internal trace calls should not compete the semaphore by @hanabi1224 in #7421
- chore(deps): bump mozilla-actions/sccache-action from 0.0.10 to 0.0.11 by @dependabot[bot] in #7423
- chore(deps): bump the patch-versions group in /docs with 4 updates by @dependabot[bot] in #7424
- chore(deps): bump the patch-versions group with 9 updates by @dependabot[bot] in #7425
- Implement online index backfill by @sudo-shashank in #7408
- feat: forest-tool db import-tipset-lookup by @hanabi1224 in #7426
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7428
- [automated] Add monthly RPC parity conformance report by @leshyatwork[bot] in #7431
- fix cargo advisories failure by @sudo-shashank in #7434
- fix: simplify docker-compose.yml for api compare tests by @hanabi1224 in #7437
- fix: limit hello request handling by @LesnyRumcajs in #7439
- fix
MinerGetBaseInforeturns the correctBeaconEntriesby @EclesioMeloJunior in #7427 - fix: limit bitswap requests by @LesnyRumcajs in #7440
- fix: no unwrap on
ChainNotifychannel subscription by @LesnyRumcajs in #7446 - chore(deps): bump clap from 4.6.4 to 4.6.5 in the patch-versions group by @dependabot[bot] in #7452
- fix: improve blocking task usage by @LesnyRumcajs in #7444
- fix eth transaction receipt cache by @sudo-shashank in #7420
- chore(deps): bump the patch-versions group in /docs with 2 updates by @dependabot[bot] in #7450
- chore(test): bitswap limit tests by @LesnyRumcajs in #7443
- chore: bitswap async block by @LesnyRumcajs in #7445
- chore(deps): bump hadolint/hadolint-action from 3.3.0 to 3.4.0 by @dependabot[bot] in #7451
- fix(rpc): require non-empty tipset key in MinerGetBaseInfo by @0xDevNinja in #7438
- chore: limit unsound unwraps by @LesnyRumcajs in #7455
- chore(perf): limit message receipt clones by @LesnyRumcajs in #7456
- chore: rm leftover
InvocResultby @LesnyRumcajs in #7457 - chore(perf): avoid redundant
GenesisInforeconstructions by @LesnyRumcajs in #7458 - fix(blocks): validate all beacon entries for all covered epochs on quicknet by @EclesioMeloJunior in #7441
- fix(build): rerun build on f3 sidecar opt out env change by @LesnyRumcajs in #7465
- docs: fix incorrect CLI help and a garbled doc comment by @0xDevNinja in #7463
- fix(forest-cli):
sync wait -wno longer leaves a staleStatus:line by @EclesioMeloJunior in #7453 - fix(build): wasteful go ffi tests rebuild by @LesnyRumcajs in #7466
- fix: limit possible underflows/overflows by @LesnyRumcajs in #7459
- chore(build): rm cargo test feature to unify test compilation by @LesnyRumcajs in #7468
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7476
- chore: bump js deps by @LesnyRumcajs in #7474
- fix: potential benign panics + ban unwraps by @LesnyRumcajs in #7479
- chore(deps): bump the patch-versions group with 7 updates by @dependabot[bot] in #7483
- chore(deps): bump mermaid from 11.16.0 to 11.16.1 in /docs in the patch-versions group by @dependabot[bot] in #7482
- [automated] Update Forest checkpoints by @leshyatwork[bot] in #7484
- fix(rpc): raise
eth_estimateGasuntil the message succeeds + tests by @LesnyRumcajs in #7473 - fix index backfill start epoch by @sudo-shashank in #7480
- chore: improve decode revert reason handling and logging by @LesnyRumcajs in #7486
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7488
- chore: rm redundant clones + enforce via clippy by @LesnyRumcajs in #7487
- chore: rm legacy db migrations from before NV28 by @LesnyRumcajs in #7489
- fix: head change publisher by @LesnyRumcajs in #7485
- docs: document
FOREST_F3_SIDECAR_FFI_BUILD_OPT_OUTinenv_variables.mdby @EclesioMeloJunior in #7492 - chore(perf): improve getting sector info perf by @LesnyRumcajs in #7491
- chore: enumify head change type by @LesnyRumcajs in #7490
- chore: increase coverage via trivial tests + macros by @LesnyRumcajs in #7496
- feat(ci): verifies that the committed Go FFI binding by @EclesioMeloJunior in #7478
- fix: proofset conversion bug by @LesnyRumcajs in #7499
- feat: improve
eth_getBlockReceiptsperf by @LesnyRumcajs in #7498 - feat: impl
Filecoin.StateMinerCreationDepositby @LesnyRumcajs in #7495 - feat:
Filecoin.NetBandwidthStatsstub by @LesnyRumcajs in #7505 - chore: limit state loading by @LesnyRumcajs in #7500
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7511
- chore: update the h2 to 0.4.16 by @akaladarshi in #7512
- feat(scripts): include
ribasushi-rpc-checksby @EclesioMeloJunior in #7477 - coreos-k3s: pin hostname so k3s node name survives reboots by @parkan in #7513
- chore: improve devnet forest join by @LesnyRumcajs in #7516
- chore(deps-dev): bump tsx from 4.23.5 to 4.23.12 in /docs in the patch-versions group by @dependabot[bot] in #7517
- chore(deps): bump the patch-versions group with 3 updates by @dependabot[bot] in #7518
- chore(docs): enriched snapshots by @LesnyRumcajs in #7515
- fix: forward fetch drand rounds by @LesnyRumcajs in #7508
- chore(release): prepare 0.36.0 by @LesnyRumcajs in #7520
New Contributors
- @EclesioMeloJunior made their first contribution in #7427
Full Changelog: v0.35.0...v0.36.0
v0.35.0 "Shravan"
Non-mandatory release for all node operators. It includes some fixes and improvements, notably around state-related RPC. Note that this release contains breaking changes, so please read the changelog carefully before upgrading.
What's Changed
- chore: refactor and improve gossipsub coverage by @LesnyRumcajs in #7373
- chore: use
/dnsaddrto aggregate CS bootstrappers by @LesnyRumcajs in #7375 - [automated] Update Forest CLI docs by @leshyatwork[bot] in #7378
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7377
- fix(rpc): bound nEpochs in StateCompute by @hanabi1224 in #7374
- chore: update the contribution guidelines for external contributors by @akaladarshi in #7371
- refactor(filters): reduce the clones while updating the filters by @akaladarshi in #7360
- chore(logs): add difference of HEAD catchup by @LesnyRumcajs in #7380
- chore: bump
spinby @LesnyRumcajs in #7381 - [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7384
- chore: bump Go deps by @hanabi1224 in #7388
- chore: bump
parity-dbto v0.5.6 by @LesnyRumcajs in #7389 - chore(test): add regression test for paritydb deadlock by @LesnyRumcajs in #7390
- chore: bump pnpm deps by @LesnyRumcajs in #7391
- fix(api): reject
StateWaitMsgconfidence above chain finality by @sudo-shashank in #7387 - feat: add
--augmented-dataand--tipset-lookuptoforest-cli snapshot exportby @hanabi1224 in #7376 - fix:
ethnew block filter stateful test by @akaladarshi in #7392 - [automated] Update Forest CLI docs by @leshyatwork[bot] in #7397
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7396
- Docs: Node comparison report by @sudo-shashank in #7346
- feat: improve export status info by @LesnyRumcajs in #7383
- chore(deps): bump the patch-versions group in /docs with 6 updates by @dependabot[bot] in #7399
- chore(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in #7398
- chore(deps): bump the patch-versions group with 4 updates by @dependabot[bot] in #7400
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7403
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7402
- test(lotus_json): assert LotusJson<Option> is nullable in schema by @0xDevNinja in #7347
- feat(perf):
faster-hexinstead ofhexby @LesnyRumcajs in #7395 - fix: disable overflow checks in
quinn-protoby @LesnyRumcajs in #7404 - fix(rpc): serve StateReplay from the tipset trace cache + semaphore by @LesnyRumcajs in #7405
- chore(release): prepare release v0.35.0 "Shravan" by @akaladarshi in #7406
Full Changelog: v0.34.1...v0.35.0
v0.34.1 "Ashadh"
Non-mandatory release for all node operators. It includes fixes and RPC improvements.
What's Changed
- Strict raw JSON check in RPC snapshot tests by @sudo-shashank in #7335
- fix:
allow_replacedhandling inwait_for_messageby @sudo-shashank in #7352 - fix: finality-gated address cache by @LesnyRumcajs in #7355
- chore: demote ignore event logs by @LesnyRumcajs in #7357
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7358
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7359
- chore: constrain ticket quality in mpool by @LesnyRumcajs in #7361
- add coreos + k3s deployment example by @parkan in #7363
- chore(deps): bump quick_cache from 0.6.24 to 0.7.0 by @dependabot[bot] in #7365
- fix:
confidencehandling inwait_for_messageby @sudo-shashank in #7353 - fix: eth block returns correctly filled logs bloom field by @akaladarshi in #7156
- fix: stuck lookup table by @LesnyRumcajs in #7362
- chore: really update quick-cache by @LesnyRumcajs in #7369
- chore(release): prepare release 0.34.1 "Ashadh" by @akaladarshi in #7372
New Contributors
Full Changelog: v0.34.0...v0.34.1
v0.34.0 "Pinochet"
Non-mandatory release for all node operators. It includes some fixes and improvements, notably around RPC and snapshot export. Note that there are some breaking changes in this release, so please read the changelog carefully before upgrading.
Pinochet from the release name is a Pirate from Forgotten Realms. 🏴☠️
Breaking
-
#7252:
forest-cli snapshot exportnow generates checksum file at {filepath}.sha256sum. The default file extension is changed from.forest.car.sha256sumto.forest.car.zst.sha256sum. -
#7321: The chain indexer, which populates the Ethereum transaction-hash mappings used by
eth_getTransactionByHash,eth_getTransactionReceipt, and related methods, is now enabled by default. Opt out withFOREST_CHAIN_INDEXER_ENABLED=0.
Changed
-
#7320: Increase the default Eth transaction receipt cache size to 10000 and make it configurable via the
FOREST_ETH_TRANSACTION_RECEIPT_CACHE_SIZEenvironment variable. -
#7350: Allow snapshot GC to be cancelled in-progress, same as regular snapshot export.
Fixed
-
#6748: The Ethereum trace methods (
trace_transaction,trace_block,trace_replayBlockTransactions) now reportRevertedfor a reverted contract creation instead of a mis-classified actor error. -
#7270:
eth_getTransactionByBlockNumberAndIndexandeth_getTransactionByBlockHashAndIndexnow resolve the transaction'stoaddress against the tipset's post-execution state (matchingeth_getBlockByNumber/eth_getTransactionByHash), instead of the pre-execution state which returned a0xff…ffffffffffffffffmasked-ID sentinel for recipients created within the tipset. -
#7329:
Filecoin.NodeStatusnow matches Lotus:SyncStatus.Behindis reported in epochs (not seconds), and the method takes aninclChainStatusboolean parameter that gates the chain-status computation. Also fixed casing in output JSON to match LotusPascalCaseconvention. -
#7348: In case of snapshot export getting stuck, Forest will now error after a timeout of 5 minutes of no progress.
Full Changelog: v0.33.8...v0.34.0
v0.33.8 "Amiga 1200"
Non-mandatory release for all node operators. It includes mostly fixes and performance improvements for the RPC methods.
Added
-
#7269: Added
--wait-confidenceand--wait-timeouttoforest-wallet sendcommand. -
#7275: Added the
--remove-existing-chainflag to delete the existing chain data on snapshot import.
Changed
-
#6442:
forest-wallet signandforest-wallet verifynow apply the FRC-0102 signing envelope to the message by default. Pass--rawon both sides to reproduce the previous raw-bytes behaviour. -
#7270:
eth_getBlockReceiptsandeth_getBlockReceiptsLimitednow return anErrNullRounderror (JSON-RPC code12) for a null-round block number instead of resolving to the previous tipset, matching upstream Lotus (lotus#13694). SetFOREST_ETH_GET_BLOCK_RECEIPTS_LEGACY_NULL_ROUND=1to restore the previous behavior for parity with Lotus releases predating that fix.
Fixed
-
#7314:
eth_traceFilternow skips null rounds within its[fromBlock, toBlock]range instead of failing with anErrNullRounderror when the range spans one, matching Lotus. -
#7276:
eth_getBlockByNumber,eth_getBlockTransactionCountByNumber,eth_getTransactionByBlockNumberAndIndex,eth_traceBlock, andeth_traceReplayBlockTransactionsnow return anErrNullRounderror (JSON-RPC code12) when the requested block number is a null round, matching Lotus, instead of silently returning the previous tipset. Thanks to thechain.data.riba.plusdataset, which surfaced this discrepancy; see #7270 for the broader effort to reconcile remaining Eth RPC discrepancies against it. -
#4645: An invalid RPC
Authorizationheader (malformed header or unverifiable JWT) is now rejected with an HTTP401 Unauthorizedinstead of the misleading-32600 Invalid requestJSON-RPC error. A call that authenticates but lacks the permission its method requires now returns a JSON-RPC error with code-32003and amissing permission to invoke '<method>' (need '<perm>')message. -
#7256:
Filecoin.AuthVerifynow verifies its argument as a raw JWT, matching Lotus, instead of stripping a leadingBearerprefix. -
#7214: Aligned the
ethtransactionaccessListfield with go-ethereum/reth (typed:[], legacy: omitted, nevernull). -
#7270:
ethtransactions now serialize"to": nullfor contract-creation transactions instead of omitting the field, matching go-ethereum/reth/Lotus and the execution-apis transaction schema. -
#7227: Fixed invalid
Filecoin.GasEstimateGasPremiumandFilecoin.GasEstimateFeeCapresponses that were returning a fraction instead of an integer. -
#7096:
eth_subscribelogsnow re-emits the logs of reorg-reverted tipsets withremoved: true, ahead of the logs of the replacing tipsets.
Full Changelog: v0.33.7...v0.33.8
v0.33.7 "Shimmergloom"
Non-mandatory release for all node operators.
Added
-
#6008: Added the
FOREST_PATHenvironment variable to override the Forest data directory (taking precedence over the configuration file and the default), mirroring Lotus'LOTUS_PATH. It is honored by allforest*binaries, soforest-cli/forest-toolread the JWT admin token from the same directory. The resolved data directory is now logged on daemon startup. -
#7168: Added the
FOREST_RPC_METRICS_DISABLEDenvironment variable to disable JSON-RPC per-method metrics while leaving other metrics intact. -
#7195: Added the
rpc_in_flight_requestsmetric reporting the number of JSON-RPC requests currently being processed.
Changed
- #7164: JSON-RPC authentication is now performed once per connection (e.g. at the WebSocket upgrade) instead of on every request, matching Lotus. Note that token expiry is no longer re-checked for the lifetime of an established connection.
Fixed
-
#7194: Added
UpgradeXxHeightplaceholder for the NV29 network upgrade. -
#7211: Fixed
forest-walletto allow using the unencrypted keystore with--encrypt falsewhen an encrypted keystore also exists. -
#7129: Fixed a few inaccurate cache size metrics.
-
#6974: Fixed the message pool reporting a still-pending nonce as the next nonce after an applied message was removed.
-
#6975: Fixed
Filecoin.MpoolSelectto not remove the messages from the live pool, only simulate the head change. -
#7217: Fixed a bug that
Filecoin.StateCirculatingSupplyreturns error on mainnet.
More details
- feat: add
jemalloc-profilingfeature for heap profiling by @hanabi1224 in #7146 - [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7147
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7148
- chore: bump Go deps by @hanabi1224 in #7149
- chore: bump npm deps by @hanabi1224 in #7150
- fix: Inaccurate GetSize impl for a few types by @hanabi1224 in #7129
- chore: adjust cache sizes for better RPC performance by @hanabi1224 in #7152
- feat: add mise task jemalloc:heap for memory leak profiling by @hanabi1224 in #7153
- feat:
trace_blockcaching by @LesnyRumcajs in #7157 - fix: clear chain tmp folder on startup by @hanabi1224 in #7158
- fix: unify
HashSetandHashMapusages by @hanabi1224 in #7159 - fix: more server logs for snapshot export by @hanabi1224 in #7160
- chore(deps): bump the patch-versions group in /docs with 3 updates by @dependabot[bot] in #7162
- chore(deps): bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #7161
- chore(deps): bump chrono from 0.4.44 to 0.4.45 in the patch-versions group by @dependabot[bot] in #7163
- fix: RPC cache prefilling for eth pending tag by @hanabi1224 in #7165
- feat: single authentication per connection by @LesnyRumcajs in #7166
- fix: increase tipset cache size by @hanabi1224 in #7167
- feat: allow RPC metrics disable + less locks by @LesnyRumcajs in #7168
- fix: integrate EC finality into chain follower by @hanabi1224 in #7171
- fix: less locking in ExportStatus by @hanabi1224 in #7173
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7174
- chore: demote failed fetch tipset log by @LesnyRumcajs in #7178
- fix(ci): install lint tools with --locked by @hanabi1224 in #7176
- fix(mpool): removing the applied tipset from pending store should advance with correct nonce by @akaladarshi in #7180
- chore: remove
FOREST_ETH_RPC_COMPUTE_STATE_ON_INDEX_MISSworkaround in snapshot tests and update affected snapshots by @sudo-shashank in #7154 - fix: less clones in
start_rpcby @hanabi1224 in #7181 - fix(mpool):
run_head_changein select message to only simulate the head change by @akaladarshi in #7182 - chore(deps): bump the patch-versions group with 2 updates by @dependabot[bot] in #7186
- fix(rpc): set
TCP_NODELAYon RPC by @sudo-shashank in #7187 - chore(deps): bump the patch-versions group in /docs with 2 updates by @dependabot[bot] in #7185
- fix: cleanup dangling forks in chain follower by @hanabi1224 in #7179
- Normalize remaining non-Common RPC param names to camelCase in OpenRPC by @LesnyRumcajs with @Copilot in #7190
- chore: add in-flight RPC metric by @LesnyRumcajs in #7195
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7196
- fix: use ArcSwap for ChainStore::heaviest_tipset by @hanabi1224 in #7191
- fix: spawn_blocking for fvm calls by @hanabi1224 in #7184
- fix(ci): cleanup disk space in calibnet checks by @LesnyRumcajs in #7198
- [automated] Update Lotus version in API tests by @leshyatwork[bot] in #7192
- docs(rpc): add DESCRIPTION to state RPC methods by @LesnyRumcajs in #7204
- chore: use U256 for
EthBigIntby @LesnyRumcajs in #7201 - feat: Eth RPC descriptions by @LesnyRumcajs in #7202
- docs(rpc): add DESCRIPTION to net RPC methods by @LesnyRumcajs in #7203
- docs(rpc): add DESCRIPTION to wallet RPC methods by @LesnyRumcajs in #7206
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7212
- fix(wallet): support explicit --encrypt false for forest-wallet by @sudo-shashank in #7211
- docs(rpc): add DESCRIPTION to F3 RPC methods by @LesnyRumcajs in #7208
- fix: use ArcSwap for SyncStatus by @hanabi1224 in #7213
- fix(rpc): add
UpgradeXxHeighttoFilecoin.StateGetNetworkParamsby @sudo-shashank in #7194 - feat:
FOREST_PATHenv variable by @LesnyRumcajs in #7200 - fix: datacap actor should be counted in get_state_circulating_supply by @hanabi1224 in #7217
- chore(release): Forest v0.33.7 "Shimmergloom" by @LesnyRumcajs in #7219
Full Changelog: v0.33.6...v0.33.7
v0.33.6 "Ebb"
Forest v0.33.6 "Ebb"
Non-mandatory release for all node operators. It fixes a critical memory leak in v0.33.5. (Earlier releases are not affected)
What's Changed
- [automated] Update Forest CLI docs by @leshyatwork[bot] in #7139
- chore(deps-dev): bump tsx from 4.21.0 to 4.22.3 in /docs by @dependabot[bot] in #7140
- [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7138
- chore: fix some typos in comments by @solunolab in #7142
- Implement
Filecoin.MpoolGetConfigand align replace_by_fee_ratio by @sudo-shashank in #7141 - [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #7144
- fix: critical memory leak in quick_cache by @hanabi1224 in #7143
- chore(release): prepare release 0.33.6 "Ebb" by @hanabi1224 in #7145
New Contributors
- @solunolab made their first contribution in #7142
Full Changelog: v0.33.5...v0.33.6