Skip to content

Releases: ChainSafe/forest

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

v0.33.3 "Dawn"

Choose a tag to compare

@hanabi1224 hanabi1224 released this 08 May 09:53
a7e6df4

Non-mandatory release for all node operators. It includes a few fixes to make the chain following logic more robust and eliminate a few non-critical warnings.

What's Changed

Full Changelog: v0.33.2...v0.33.3

v0.33.2 "Night Mare"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 30 Apr 10:34
04e17aa

Mandatory release for calibnet node operators. It includes support for the NV28 FireHorse network upgrade for calibnet, which is set to activate at epoch 3694534 (2026-05-07T14:00:00Z). It also includes important fixes around the P2P protocols that could cause high memory usage.

Added

  • #6916: Added NV28 FireHorse network upgrade support for calibnet. The upgrade epoch is set to 3694534 which corresponds to 2026-05-07T14:00:00Z.

Fixed

  • #6972 ChainExchange hardening to limit the node memory usage.

  • #6976 Hello and ChainExchange response timeouts and additional bounds to prevent hanging connections.

Full Changelog: v0.33.1...v0.33.2

v0.33.1 "Paradyzja"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 22 Apr 09:56
d13c21d

Non-mandatory release for all node operators. It includes support for the NV28 FireHorse network upgrade for devnets (not calibnet or mainnet yet), a number of significant performance improvements and bug fixes.

Added

  • #6913: Added support for NV28 for devnets. Use FOREST_FIREHORSE_HEIGHT environment variable to set the upgrade height.

  • #6926: Added strict JSON validation to deny unknown fields in RPC request parameters and response results when FOREST_STRICT_JSON is enabled.

Changed

  • #6939: Refactored snapshot export and garbage collection logic to use disk-backed hash set for de-de-duplicating reachable blocks. This results in less RAM usage (~6-7GiB) and more disk usage (~7-8GiB on mainnet).

Removed

  • #6948: Removed the FOREST_FEES_FIP0115HEIGHT environment variable. The FIP-0115 will be automatically activated at FireHorse network upgrade.

Fixed

  • #6951: Set the HTTP response compression threshold for the RPC server to 1 KiB. Configurable via FOREST_RPC_COMPRESS_MIN_BODY_SIZE; set a negative value to disable compression entirely. Small JSON-RPC responses such as eth_chainId are no longer gzip-encoded, yielding a large throughput and latency improvement on high-QPS workloads.

Full Changelog: v0.33.0...v0.33.1

v0.33.0

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 14 Apr 18:07
d9746f2

Non-mandatory release with a couple of larger internal changes, especially around mempool and garbage collection. It also includes support for the new finality resolution mechanism. Also, a couple of fixes!

What's Changed

  • chore: archival snapshot docs by @LesnyRumcajs in #6713
  • chore: fix duplicate word in comment by @tsinglua in #6718
  • fix: spellcheck issues and pin cargo spellcheck by @LesnyRumcajs in #6719
  • [automated] Update Forest CLI docs by @leshyatwork[bot] in #6717
  • fix: update TipsetKey save and load logic to match Lotus by @hanabi1224 in #6712
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6716
  • chore(deps): bump the patch-versions group in /docs with 2 updates by @dependabot[bot] in #6723
  • chore(deps): bump toml from 1.0.3+spec-1.1.0 to 1.0.4+spec-1.1.0 in the patch-versions group by @dependabot[bot] in #6724
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6726
  • Add more test variants for Filecoin.EthTraceReplayBlockTransactions by @sudo-shashank in #6725
  • test: check RPC batch request via websocket by @hanabi1224 in #6727
  • chore: remove workaround for HTML tags by @LesnyRumcajs in #6721
  • chore(deps): bump the docker group with 3 updates by @dependabot[bot] in #6722
  • Added support for f4 addresses in forest-wallet by @sudo-shashank in #6710
  • feat: snapshot calculator by @LesnyRumcajs in #6715
  • chore: integrate docs format into all format by @LesnyRumcajs in #6730
  • Disable flaky checks in wallet test by @sudo-shashank in #6734
  • feat(dev): add missing snapshots checker by @LesnyRumcajs in #6736
  • chore: add merge snapshot admonition by @LesnyRumcajs in #6735
  • [automated] Update Forest CLI docs by @leshyatwork[bot] in #6738
  • chore: parallelize some calls with tokio::try_join! by @LesnyRumcajs in #6737
  • chore: enable ref-option* lints by @LesnyRumcajs in #6740
  • chore(deps-dev): bump @types/node from 25.3.5 to 25.4.0 in /docs by @dependabot[bot] in #6745
  • chore(deps): bump jdx/mise-action from 3 to 4 by @dependabot[bot] in #6746
  • [automated] Update Forest checkpoints by @leshyatwork[bot] in #6743
  • fix: remove unnecessary async_trait usages by @hanabi1224 in #6744
  • fix: use auto_impl to simplify trait implemention for (&, Box, Arc) by @hanabi1224 in #6742
  • feat: impl basefee change from FIP-0115 by @LesnyRumcajs in #6702
  • fix: broadcast HeadChange::Revert(Tipset) in set_heaviest_tipset by @hanabi1224 in #6732
  • refactor: prepare for the changes in debug trace transaction by @akaladarshi in #6731
  • test(ci): upload CI test results to codecov by @hanabi1224 in #6749
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6752
  • chore: prefer infallible conversions via From over as by @LesnyRumcajs in #6754
  • fix: optimize collect_events in Eth RPC by @hanabi1224 in #6750
  • chore: cleanup unused enable_receipt_event_caching by @hanabi1224 in #6758
  • chore(deps): bump go deps by @hanabi1224 in #6757
  • refactor: simplify EthTx implementation by @hanabi1224 in #6760
  • chore(deps): bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #6762
  • chore(deps): bump the patch-versions group with 2 updates by @dependabot[bot] in #6764
  • chore(deps): bump mermaid from 11.12.3 to 11.13.0 in /docs by @dependabot[bot] in #6763
  • refactor: remove a few unnecessary .expect("infallible") by @hanabi1224 in #6766
  • fix: broadcast head changes only when subscribed by @hanabi1224 in #6759
  • chore(deps): bump libp2p-gossipsub from 0.49.2 to 0.49.3 by @dependabot[bot] in #6771
  • chore(deps): bump svgo from 3.3.2 to 3.3.3 in /docs by @dependabot[bot] in #6776
  • chore(deps): bump actions/create-github-app-token from 2 to 3 by @dependabot[bot] in #6777
  • chore(deps): bump nick-fields/retry from 3 to 4 by @dependabot[bot] in #6778
  • chore(deps): bump deps and fix cargo deny advisories errors by @hanabi1224 in #6775
  • fix(ci): speed up unit test workflow by @hanabi1224 in #6779
  • refactor: optimize some code with zerocopy by @hanabi1224 in #6774
  • fix: optimize tipset cache usage by @hanabi1224 in #6781
  • refactor: refine msgs_in_tipset cache usage by @hanabi1224 in #6782
  • chore: bump min release age to 7 days for pnpm packages by @LesnyRumcajs in #6789
  • perf: add lru cache for load_executed_tipset to speed up hot queries by @hanabi1224 in #6761
  • feat: finality calculator by @hanabi1224 in #6785
  • fix: track F3 finalized tipset in chain store by @hanabi1224 in #6780
  • feat(api): Implement debug_traceTransaction API by @akaladarshi in #6751
  • chore: update hardware requirements doc by @LesnyRumcajs in #6794
  • chore(deps-dev): bump @types/node from 25.4.0 to 25.5.0 in /docs by @dependabot[bot] in #6796
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6799
  • fix: replace unnecessary Arc with Box where shared ownership is not needed by @hanabi1224 in #6798
  • fix: unify logic of getting finalized tipset by @hanabi1224 in #6797
  • fix: avoid validating forest car twice in AnyCar::new by @hanabi1224 in #6793
  • chore: add bandwidth mention to HW docs by @LesnyRumcajs in #6801
  • fix: log full context of anyhow::Error by @hanabi1224 in #6795
  • chore(deps): bump undici from 7.22.0 to 7.24.4 in /docs by @dependabot[bot] in #6804
  • fix: add missing golden week entry in StateGetNetworkParams by @LesnyRumcajs in #6805
  • chore: mise insta task for openrpc specs by @LesnyRumcajs in #6806
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6807
  • [automated] Update Forest checkpoints by @leshyatwork[bot] in #6808
  • chore(deps): bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #6814
  • fix: RPC parity test failure by @hanabi1224 in #6813
  • chore(deps): bump npm deps by @hanabi1224 in #6815
  • [automated] Update Lotus version in API tests by @leshyatwork[bot] in #6809
  • chore(deps): bump toml from 1.0.7+spec-1.1.0 to 1.1.0+spec-1.1.0 by @dependabot[bot] in #6816
  • fix(rpc): update StateSearchMsg to return null instead of error when not found by @hanabi1224 in #6817
  • refactor: simplify hasher usage by @hanabi1224 in #6812
  • refactor: relax generic constraint on ReadOpsTrackingStore by @hanabi1224 in #6819
  • feat(tool): print message receipt size and event size in forest-tool archive info by @hanabi1224 in #6821
  • fix(ci): migrate from buildjet to warpbuild by @hanabi1224 in #6818
  • fix(ci): update warpbuild images by @hanabi1224 in #6822
  • [automated] Update Forest RPC reference docs by @leshyatwork[bot] in #6823
  • fix: match filter criteria return None on contract creation failure by @akaladarshi in #6820
  • lotus-gateway: Unfilter Filecoin.EthGetFilterLogs b...
Read more

v0.32.4 "Mild Inconvenience"

Choose a tag to compare

@hanabi1224 hanabi1224 released this 10 Mar 16:19
56382dd

Non-mandatory release enabling F3 finality resolution on ETH v1 RPC methods.

What's Changed

Full Changelog: v0.32.3...v0.32.4

v0.32.3 "Unimpressive Serenity"

Choose a tag to compare

@LesnyRumcajs LesnyRumcajs released this 02 Mar 13:41
07c12a9

Non-mandatory release adding improved support for eth_traceFilter support, and garbage collector change to better accommodate RPC providers.

What's Changed

Full Changelog: v0.32.2...v0.32.3