Releases: ChainSafe/forest
Forest v0.3.0
This release supports Filecoin network version 15.
Notable updates:
- Support nv15 entirely through the FVM.
- Resolve two security concerns by removing legacy code (RUSTSEC-2020-0071 and RUSTSEC-2021-0130).
- Fixed Docker image and released it to GH container registry.
- Network selection (ie mainnet vs testnet) moved to a CLI flag rather than a compile-time flag.
All changes
- implement NetDisconnect by @leviathanbeak in #1531
- docs: update changelog by @q9f in #1521
- Use
anyhow::Error
where possible. by @elmattic in #1519 - Upgrade to nv15 (actors v7, fvm v0.8) by @lemmih in #1487
- cleanup Forest to make CI green by @LesnyRumcajs in #1538
- Add tyshkor to CODEOWNERS. by @lemmih in #1540
- Remove native implementation of the v6 (nv14) actors. by @lemmih in #1559
- Remove native smart-contract backend. by @lemmih in #1542
- Move CID-related constants to FVM-owned crates. by @lemmih in #1543
- Runtime network selection by @elmattic in #1482
- Running config dump subcommand on a new machine fails by @tyshko5 in #1564
- Fix Forest docker image by @LesnyRumcajs in #1565
- Make event logging less verbose in steady-state mode. by @lemmih in #1557
- Remove audit exceptions for RUSTSEC-2020-0071 and RUSTSEC-2021-0130 by @lemmih in #1547
- PR 1534 LLVM code coverage by @tyshko5 in #1558
- use FVM ApplyRet and remove Forest's by @connormullett in #1567
- Remove ipld/hamt source code by @elmattic in #1572
- Subset of Forest Maintenance Tasks (Part 1) v2 by @jdjaustin in #1568
- remove commcid in favor of the fvm commcid by @connormullett in #1570
- Use GasTracker from fvm by @tyshko5 in #1566
- Remove utils/bigint in favor of fvm_shared::bigint by @tyshko5 in #1574
- Remove disabled code for handling older actor versions. by @tyshko5 in #1583
- Fix docker certs by @LesnyRumcajs in #1588
- Remove the clock crate. by @tyshko5 in #1586
- Refactor chain-specific database location code by @tyshko5 in #1582
- Update proof parameters file to most recent version. by @lemmih in #1595
- use fvm-ipld-bitfield by @LesnyRumcajs in #1597
- improve pretty-print of BigInt byte values by @LesnyRumcajs in #1593
- remove forest ipld amt by @LesnyRumcajs in #1600
- Subset of Forest Maintenance Tasks (Part 2) by @jdjaustin in #1571
- switch to nightly on release workflow by @LesnyRumcajs in #1607
- Propagate FVM error values. by @lemmih in #1604
- Update changelog for upcoming release. by @lemmih in #1606
- Remove PriceList in favor of fvm::gas::PriceList by @tyshko5 in #1592
- Remove dead code from the VM. by @tyshko5 in #1608
- Get rid of the dirs dependency. #1577 by @tyshko5 in #1584
- Move to anyhow::Error by @elmattic in #1605
New Contributors
Full Changelog: v0.2.2...v0.3.0
Forest v0.2.2 alpha
Forest v0.2.2 alpha is a service release improving performance and stability. This release supports Filecoin network version 14.
Notable updates:
- Forest now supports Calibnet:
make calibnet
(nv14) - FVM is available both native and as external crate: ref-fvm
- Reading config from a default config location unless a file is specified.
- Improved logging and display of synchronization progress.
- Defaulting to Rust Edition 2021 from now on.
System | Architecture | Binary | SHA-256 Checksum |
---|---|---|---|
x64 | forest-v0.2.2-linux-amd64.zip | 189d8bb2d19d56c93b5a7acaaf69a2b0484954f5fea74680a9d8caf8daf1bed9 |
|
x64 | forest-v0.2.2-macos-amd64.zip | ee2dc148fe0fabc3df92c38bc2f55556215ec689f985b16c34c72dfc4b0e6e81 |
|
x64 | soon(TM) | N/A |
|
System | Option | - | Resource |
Compile from Source | git checkout v0.2.2 && cargo build --release --bin forest --features release |
All changes:
- Log: don't override default filters (#1504) by @jdjaustin in #1530
- Crates: bump wasmtime by @q9f in #1526
- Ci: add wasm target to release script by @q9f in #1524
- Ci: add codecov target threshold tolerance of 1% by @q9f in #1525
- Node: demote noisy warnings to debug by @q9f in #1518
- Workaround fix for prometheus endpoint by @LesnyRumcajs in #1516
- Fixed bug label for bug template by @LesnyRumcajs in #1514
- Crates: purge unused dependencies by @q9f in #1509
- Github: update code owners by @q9f in #1507
- Ci: enable rustc version trinity for builds by @q9f in #1506
- Crates: bump dependencies by @q9f in #1503
- Re-use some code from ref-fvm by @LesnyRumcajs in #1500
- Connor/default config location by @connormullett in #1494
- Deps: simplify os dependencies by @q9f in #1496
- Use exports from ref-fvm by @LesnyRumcajs in #1495
- Start the prometheus server before loading snapshots. by @lemmih in #1484
- Config dump with tests by @LesnyRumcajs in #1485
- Use the v6 version of the actor's bundle. by @lemmih in #1474
- Exposed more rocksdb options, increased max files by @LesnyRumcajs in #1481
- Parametrize current rocksdb settings by @LesnyRumcajs in #1479
- Use progress bars when downloading headers and scanning the blockchain. by @lemmih in #1480
- Night job scripts by @LesnyRumcajs in #1475
- Add more metrics of syncing by @LesnyRumcajs in #1467
- Limit RocksDB to 200 open files. by @lemmih in #1468
- Ci: Include conformance tests in code coverage results by @lemmih in #1470
- Show a progressbar when downloading tipset headers. by @lemmih in #1469
- Add 'fvm' backend in parallel to our native backend. by @lemmih in #1403
- Update regex to v1.5.5 (from 1.5.4) to avoid performance vulnerability. by @lemmih in #1472
- Ci: Allow codecov policies to fail. by @lemmih in #1471
- Improve docker-compose for monitoring stack by @LesnyRumcajs in #1461
- Revert "Enforce max length when serializing/deserializing arrays" by @lemmih in #1462
- Introduce serde_generic_array by @clearloop in #1434
- Fixed new clippy warnings by @LesnyRumcajs in #1449
- Improve license check script by @LesnyRumcajs in #1443
- Elmattic/actors review f26 by @elmattic in #1340
- Calibnet Support by @connormullett in #1370
- Blockchain/sync: demote chain exchange warning to debug message by @q9f in #1439
- Fix clippy fiascoes introduced in #1437 by @LesnyRumcajs in #1438
- Fix signature verification fiasco by @LesnyRumcajs in #1437
- Clippy for tests by @LesnyRumcajs in #1436
- Rustc: switch to rust edition 2021 by @q9f in #1429
- Forest: bump version to 0.2.2 by @q9f in #1428
- Move from chrono to time crate by @LesnyRumcajs in #1426
New Contributors
- @jdjaustin made their first contribution in #1530
Full Changelog: v0.2.1...v0.2.2
Forest v0.2.1 alpha
Forest v0.2.1 alpha is a service release improving performance and stability.
System | Architecture | Binary | SHA-256 Checksum |
---|---|---|---|
x64 | forest-v0.2.1-linux-amd64.zip | 6c0581e462b099ea2d0fe6d93136f1cc128c1d4d5cdc3f3ad5c59716c0502b9c |
|
x64 | forest-v0.2.1-macos-amd64.zip | daf70bfb21381260be251d3a2e42fb24ff8c4c0f278e0a209024a48f29fce793 |
|
x64 | soon(TM) | N/A |
|
System | Option | - | Resource |
Compile from Source | git checkout v0.2.1 && cargo build --release --bin forest --features release |
What's Changed
- Move
/docs
to/documentation
by @connormullett in #1390 - fix 1369 by @willeslau in #1397
- Include network in forest version string. by @lemmih in #1401
- chore: bump rocksdb to 0.17 by @q9f in #1398
- Use human readable units when loading snapshots. by @lemmih in #1407
- Update conformance test vectors (and fix test driver) by @lemmih in #1404
- Improve snapshot parsing performance by ~2.5x by @lemmih in #1408
- fix exit code mismatch by @noot in #1412
- forest: bump version to 0.2.1 by @q9f in #1417
- vm/actor: remove unused fields in paych actor tests by @q9f in #1415
- ci: temporarily ignore RUSTSEC-2022-0009 by @q9f in #1424
- add LesnyRumcajs to CODEOWNERS by @LesnyRumcajs in #1425
- crates: replace monkey-patched cs_* crates by upstream deps by @q9f in #1414
- Fail CI on failed fmt or other linting file changes by @LesnyRumcajs in #1422
- add shellcheck to CI by @LesnyRumcajs in #1423
- Add assert in debug mode and tests by @elmattic in #1416
- feat(encoding): add max length check for bytes by @clearloop in #1399
- ci: fix documentation in release workflow by @q9f in #1427
New Contributors
- @willeslau made their first contribution in #1397
- @LesnyRumcajs made their first contribution in #1425
- @clearloop made their first contribution in #1399
Full Changelog: v0.2.0...v0.2.1
Forest v0.2.0 alpha
ChainSafe System's second alpha release of the Forest Filecoin Rust protocol implementation. This release fixes a series of bugs and performance issues and introduces, among others, support for:
- Full mainnet compatibility
- Filecoin network version 14 "Chocolate"
- Forest actors version 6
- Further audit fixes
To compile release binaries, check out the v0.2.0
tag and build with the release
feature.
System | Architecture | Binary | SHA-256 Checksum |
---|---|---|---|
x64 | forest-v0.2.0-linux-amd64.zip | ea051b1cff24c3689546a1ae515f1d0864043a2fd08a6fd551ea75f9ae5572fc |
|
x64 | forest-v0.2.0-macos-amd64.zip | b37cf58979285708de93a96961be23c56790e9669170bbe64bd715faa26244f8 |
|
x64 | soon(TM) | N/A |
|
System | Option | - | Resource |
Compile from Source | cargo build --release --bin forest --features release |
What's Changed
- docs: add release notes by @q9f in #1246
- Add MdBook Documentation by @olibearo in #1249
- Build and deploy Mdbook by @olibearo in #1250
- Remove extra step for docs deployment in CI by @olibearo in #1251
- Add Guillaume to code owners by @connormullett in #1283
- update codeowners by @noot in #1306
- Elmattic/actors review F2 by @elmattic in #1289
- ci: add gh actions workflows by @noot in #1317
- Fix clippy errors for the new cargo 1.57.0 by @elmattic in #1316
- ci: attempt to improve gh actions time by @noot in #1319
- Fix logic to be the same as in the spec actors by @elmattic in #1292
- Elmattic/actors review F4 by @elmattic in #1294
- Elmattic/actors review F5 by @elmattic in #1295
- Elmattic/actors review F6 by @elmattic in #1296
- Elmattic/actors review F8 by @elmattic in #1298
- Elmattic/actors review F7 by @elmattic in #1297
- Elmattic/actors review F10 by @elmattic in #1308
- Elmattic/actors review F14 by @elmattic in #1309
- Elmattic/actors review F16 by @elmattic in #1310
- Elmattic/actors review F1 by @elmattic in #1293
- Elmattic/actors review F12 by @elmattic in #1290
- add to troubleshooting docs by @connormullett in #1282
- v6 actors upgrade by @noot in #1260
- Elmattic/actors review f18 by @elmattic in #1321
- Laudiacay/actors review f15 by @laudiacay in #1314
- laudiacay actors review F11 fix by @laudiacay in #1312
- laudiacay/actors review F21 by @laudiacay in #1311
- laudiacay actors review f13 fix by @laudiacay in #1313
- Elmattic/actors review f20 by @elmattic in #1322
- laudiacay/actors review f9 fix by @laudiacay in #1315
- laudiacay/actors review F24 by @laudiacay in #1323
- remove .swp file by @noot in #1326
- fix market actor publish_storage_deals by @noot in #1327
- laudiacay/actors review f23 by @laudiacay in #1325
- laudiacay/actors review f17 by @laudiacay in #1324
- Elmattic/actors review f27 by @elmattic in #1328
- v6: fix market actor bug by @noot in #1341
- drand v14 update: fix fetching around null tipsets by @noot in #1339
- ci: --ignore RUSTSEC-2021-0130 by @q9f in #1350
- Elmattic/actors review f25 by @elmattic in #1342
- Elmattic/actors review f28 by @elmattic in #1343
- v6: fix market and power actors to match go by @noot in #1348
- fix market logic by @noot in #1356
- docs: fix snapshot retrieval command by @noot in #1353
- The 'base64' dependency for key_management is no longer optional. by @lemmih in #1372
- catch panic in
verify_window_post
by @ec2 in #1365 - Apply clippy lints from rust-1.58 by @lemmih in #1378
- Add David to repo maintainers by @elmattic in #1374
- Disable test 'test_optimal_message_selection3' because it is inconsistent by @lemmih in #1381
- networks: Show an informative error message if the selected feature set is invalid. by @lemmih in #1373
- Use pre-made action to deploy documentation to gh-pages. by @lemmih in #1380
- ci: documentation dry-run for PRs. by @lemmih in #1383
- ci: run github actions on buildjet by @q9f in #1366
- fixing by adding max index computation in bitfield validation by @laudiacay in #1344
- Remove unused lint exceptions. by @lemmih in #1385
- Auto-detect available cores on Linux and MacOS. by @lemmih in #1387
- Fix command line for running conformance tests. by @lemmih in #1394
- Fix encoding size constraints for BigInt and BigUint not enforced by @elmattic in #1367
- Elmattic/actors review c1 by @elmattic in #1368
- release forest v0.2.0 alpha by @q9f in #1393
New Contributors
Full Changelog: v0.1.0...v0.2.0
Forest v0.1.0 alpha
ChainSafe System's first alpha release of the Forest Filecoin Rust protocol implementation.
- It synchronizes and verifies the latest Filecoin main network and is able to query the latest state.
- It implements all core systems of the Filecoin protocol specification exposed through a command-line interface.
- The set of functionalities for this first alpha-release include: Message Pool, State Manager, Chain and Wallet CLI functionality, Prometheus Metrics, and a JSON-RPC Server.
System | Architecture | Binary | SHA-256 Checksum |
---|---|---|---|
x64 | forest-linux-v0.1.0.tar.gz | e3e59f586ef1f7c5780ded3a92cbf85dc07a658244f0232e0bf5ac8cbfe9e31b |
|
x64 | soon | N/A |
|
x64 | soon | N/A |
|
System | Option | - | Resource |
Compile from Source | cargo build --release --bin forest --features release |
To compile release binaries, checkout the v0.1.0
tag and build with the release
feature.
git checkout v0.1.0
cargo build --release --bin forest --features release
./target/release/forest --help
The Forest mono-repository contains ten main components (in logical order):
forest
: the command-line interface and daemon (1 crate/workspace)node
: the networking stack and storage (7 crates)blockchain
: the chain structure and synchronization (6 crates)vm
: state transition and actors, messages, addresses (9 crates)key_management
: Filecoin account management (1 crate)crypto
: cryptographic functions, signatures, and verification (1 crate)encoding
: serialization library for encoding and decoding (1 crate)ipld
: the IPLD model for content-addressable data (9 crates)types
: the forest types (2 crates)utils
: the forest toolbox (12 crates)
For a full list of changes, please refer to the CHANGELOG.