diff --git a/CHANGELOG.md b/CHANGELOG.md index d0ed1319cbee..7279fc5840f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,35 @@ -## Forest v0.5.0 (unreleased, scheduled for 2022-12-30) +## Forest v0.6.0 (unreleased, scheduled for 2022-12-30) + +## Forest v0.5.0 (unreleased, scheduled for 2022-12-01) + +Notable updates: +* Support for nv17. +* Forest was split into two programs: a Filecoin node (forest), and a control + program (forest-cli). +* Improved snapshot importing performance: ~75% reduction in snapshot import time. +* Improved code building time: ~45% reduction in build time. +* Code coverage increased from 32% to 63%. + +### Added +* Support for nv17 on both calibnet and mainnet. +* Experimental support for ParityDB. +* Improved snapshot handling via the `forest-cli snapshot` commands. +* Support using `aria2` for faster snapshot downloads. +* Support for sending FIL. +### Changed +* Replace async_std with tokio. +* Significantly improve tracked performance metrics. +* Gracefully shutdown the database on sigterm and sighup. +* Fix gas charging issue that caused state-root mismatches on mainnet. +* Snapshots are automatically downloaded if the database is empty. +* Improve error messages if a snapshot doesn't match the requested network. +* Add `--color=[always;auto;never]` flag. +### Removed +* Fat snapshots (snapshots that contain all transaction receipts since genesis) + have been deprecated in favor of slim snapshots where receipts are downloaded + on demand. +* All security advistory exceptions. Forest's dependencies are now free of known + vulnerabilities. ## Forest v0.4.1 (2022-10-04) diff --git a/Cargo.lock b/Cargo.lock index c45cc91031bb..e72b85339e37 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2733,7 +2733,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "forest-cli" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "assert_cmd", @@ -2800,7 +2800,7 @@ dependencies = [ [[package]] name = "forest-daemon" -version = "0.4.1" +version = "0.5.0" dependencies = [ "anyhow", "atty", diff --git a/documentation/developer_documentation/RELEASE_CHECKLIST.md b/documentation/developer_documentation/RELEASE_CHECKLIST.md new file mode 100644 index 000000000000..7c8cae7b4a8d --- /dev/null +++ b/documentation/developer_documentation/RELEASE_CHECKLIST.md @@ -0,0 +1,28 @@ +Forest follows a fixed, quarterly release schedule. On the last week of each +quarter, a new version is always released. This is supplemented with additional +releases for bug fixes and special features. A "release officer" is appointed +for each release and they are responsible for either following the checklist or, +in case of absense, passing the task to a different team member. + +1. Update the CHANGELOG.md file to reflect all changes and preferably write a + small summary about the most notable updates. The changelog should follow the + design philosophy outlined here: https://keepachangelog.com/en/1.0.0/. Go + through the output of `git log` and remember that the audience of the + CHANGELOG does not have intimate knowledge of the Forest code-base. All the + changed/updated/removed features should be reasonably understandable to an + end-user. +2. Update that version of the crates that are to be released. Forest contains + many crates so you may need to update many Cargo.toml files. If you're + working on a patch release, make sure that there are no breaking changes. + Cherry-picking of patches may be necessary. +3. Run the manual tests steps outlined in the TEST_PLAN.md. Caveat: Right now + there are no manual test steps so this step can be skipped. +4. Once the changes in step 1 and step 2 have been merged, tag the commit with + the new version number. The version tag should start with a lowercase 'v'. + Example: v0.4.1 +5. (NOT YET APPLICABLE) Publish new crates on crates.io. +6. Go to https://github.com/ChainSafe/forest/releases/new and create a new + release. Use the tag created in step 4, follow the title convention of the + previous releases, and write a small summary of the release (similar or + identical to the summary in the CHANGELOG.md file). +7. Verify that the new release contains assets for both Linux and MacOS. diff --git a/forest/cli/Cargo.toml b/forest/cli/Cargo.toml index bcb8600edae0..eca4aa74f4cf 100644 --- a/forest/cli/Cargo.toml +++ b/forest/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forest-cli" -version = "0.4.1" +version = "0.5.0" authors = ["ChainSafe Systems "] description = "Filecoin implementation in Rust. This crate contains all the subcommands except the daemon." edition = "2021" diff --git a/forest/daemon/Cargo.toml b/forest/daemon/Cargo.toml index 6e838f7e471b..a7cfc84256f9 100644 --- a/forest/daemon/Cargo.toml +++ b/forest/daemon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forest-daemon" -version = "0.4.1" +version = "0.5.0" authors = ["ChainSafe Systems "] description = "Filecoin implementation in Rust. This command will start the daemon process." edition = "2021"