Skip to content

Releases: ChainSafe/forest

Forest v0.36.1 “Kaaguy”

Choose a tag to compare

@EclesioMeloJunior EclesioMeloJunior released this 01 Sep 21:03
d231c4f

Non-mandatory release for all node operators. Mostly fixes and improvements around RPC methods.

Check the CHANGELOG.md for details

What's Changed

Full Changelog: v0.36.0...v0.36.1

Forest v0.36.0 "bafy2bza...o2g"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 20 Aug 11:33
78cc905

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

New Contributors

Full Changelog: v0.35.0...v0.36.0

v0.35.0 "Shravan"

Choose a tag to compare

@akaladarshi akaladarshi released this 24 Jul 07:54
d3cd966

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 /dnsaddr to 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 spin by @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-db to 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 StateWaitMsg confidence above chain finality by @sudo-shashank in #7387
  • feat: add --augmented-data and --tipset-lookup to forest-cli snapshot export by @hanabi1224 in #7376
  • fix: eth new 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-hex instead of hex by @LesnyRumcajs in #7395
  • fix: disable overflow checks in quinn-proto by @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"

Choose a tag to compare

@akaladarshi akaladarshi released this 16 Jul 09:59
0ba362e

Non-mandatory release for all node operators. It includes fixes and RPC improvements.

What's Changed

New Contributors

Full Changelog: v0.34.0...v0.34.1

v0.34.0 "Pinochet"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 14 Jul 10:21
c1b23d6

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 export now generates checksum file at {filepath}.sha256sum. The default file extension is changed from .forest.car.sha256sum to .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 with FOREST_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_SIZE environment 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 report Reverted for a reverted contract creation instead of a mis-classified actor error.

  • #7270: eth_getTransactionByBlockNumberAndIndex and eth_getTransactionByBlockHashAndIndex now resolve the transaction's to address against the tipset's post-execution state (matching eth_getBlockByNumber/eth_getTransactionByHash), instead of the pre-execution state which returned a 0xff…ffffffffffffffff masked-ID sentinel for recipients created within the tipset.

  • #7329: Filecoin.NodeStatus now matches Lotus: SyncStatus.Behind is reported in epochs (not seconds), and the method takes an inclChainStatus boolean parameter that gates the chain-status computation. Also fixed casing in output JSON to match Lotus PascalCase convention.

  • #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"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 08 Jul 11:51
7e7adc2

Non-mandatory release for all node operators. It includes mostly fixes and performance improvements for the RPC methods.

Added

  • #7269: Added --wait-confidence and --wait-timeout to forest-wallet send command.

  • #7275: Added the --remove-existing-chain flag to delete the existing chain data on snapshot import.

Changed

  • #6442: forest-wallet sign and forest-wallet verify now apply the FRC-0102 signing envelope to the message by default. Pass --raw on both sides to reproduce the previous raw-bytes behaviour.

  • #7270: eth_getBlockReceipts and eth_getBlockReceiptsLimited now return an ErrNullRound error (JSON-RPC code 12) for a null-round block number instead of resolving to the previous tipset, matching upstream Lotus (lotus#13694). Set FOREST_ETH_GET_BLOCK_RECEIPTS_LEGACY_NULL_ROUND=1 to restore the previous behavior for parity with Lotus releases predating that fix.

Fixed

  • #7314: eth_traceFilter now skips null rounds within its [fromBlock, toBlock] range instead of failing with an ErrNullRound error when the range spans one, matching Lotus.

  • #7276: eth_getBlockByNumber, eth_getBlockTransactionCountByNumber, eth_getTransactionByBlockNumberAndIndex, eth_traceBlock, and eth_traceReplayBlockTransactions now return an ErrNullRound error (JSON-RPC code 12) when the requested block number is a null round, matching Lotus, instead of silently returning the previous tipset. Thanks to the chain.data.riba.plus dataset, which surfaced this discrepancy; see #7270 for the broader effort to reconcile remaining Eth RPC discrepancies against it.

  • #4645: An invalid RPC Authorization header (malformed header or unverifiable JWT) is now rejected with an HTTP 401 Unauthorized instead of the misleading -32600 Invalid request JSON-RPC error. A call that authenticates but lacks the permission its method requires now returns a JSON-RPC error with code -32003 and a missing permission to invoke '<method>' (need '<perm>') message.

  • #7256: Filecoin.AuthVerify now verifies its argument as a raw JWT, matching Lotus, instead of stripping a leading Bearer prefix.

  • #7214: Aligned the eth transaction accessList field with go-ethereum/reth (typed: [], legacy: omitted, never null).

  • #7270: eth transactions now serialize "to": null for contract-creation transactions instead of omitting the field, matching go-ethereum/reth/Lotus and the execution-apis transaction schema.

  • #7227: Fixed invalid Filecoin.GasEstimateGasPremium and Filecoin.GasEstimateFeeCap responses that were returning a fraction instead of an integer.

  • #7096: eth_subscribe logs now re-emits the logs of reorg-reverted tipsets with removed: true, ahead of the logs of the replacing tipsets.

Full Changelog: v0.33.7...v0.33.8

v0.33.7 "Shimmergloom"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 22 Jun 16:51
f0a56d2

Non-mandatory release for all node operators.

Added

  • #6008: Added the FOREST_PATH environment variable to override the Forest data directory (taking precedence over the configuration file and the default), mirroring Lotus' LOTUS_PATH. It is honored by all forest* binaries, so forest-cli/forest-tool read the JWT admin token from the same directory. The resolved data directory is now logged on daemon startup.

  • #7168: Added the FOREST_RPC_METRICS_DISABLED environment variable to disable JSON-RPC per-method metrics while leaving other metrics intact.

  • #7195: Added the rpc_in_flight_requests metric 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 UpgradeXxHeight placeholder for the NV29 network upgrade.

  • #7211: Fixed forest-wallet to allow using the unencrypted keystore with --encrypt false when 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.MpoolSelect to not remove the messages from the live pool, only simulate the head change.

  • #7217: Fixed a bug that Filecoin.StateCirculatingSupply returns error on mainnet.

More details

Full Changelog: v0.33.6...v0.33.7

v0.33.6 "Ebb"

Choose a tag to compare

@hanabi1224 hanabi1224 released this 05 Jun 05:49
128a84e

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.MpoolGetConfig and 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

Full Changelog: v0.33.5...v0.33.6

[YANKED] v0.33.5 "Drift"

Choose a tag to compare

@hanabi1224 hanabi1224 released this 03 Jun 10:50
1805998

(v0.33.5 is yanked due to a critical memory leak that is fixed in v0.33.6; earlier releases are not affected)

Non-mandatory release for all node operators. It includes a few bug fixes as well as performance improvements for JSON-RPC calls, especially for batch requests.

What's Changed

New Contributors

Full Changelog: v0.33.4...v0.33.5

v0.33.4 "Stray"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 13 May 13:52
ff926a4

Mandatory release for mainnet node operators. It includes support for the NV28 FireHorse network upgrade on mainnet, which is set to activate at epoch 6052800 (2026-05-27T14:00:00Z). It also includes a few improvements and fixes for the JSON-RPC server.

What's Changed

Full Changelog: v0.33.3...v0.33.4