Skip to content

Commit 9e724fd

Browse files
authored
Merge pull request #483 from filecoin-project/doc/contributing
doc: add changelogs and contributing docs
2 parents 2892e4d + 6a48431 commit 9e724fd

File tree

10 files changed

+90
-30
lines changed

10 files changed

+90
-30
lines changed

CONTRIBUTING.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Contributing
2+
3+
This document describes the process of contributing to the reference FVM implementation (this project).
4+
5+
## Issues
6+
7+
If you have a general FVM related question or idea, please either as on the [Filecoin Slack][chat], or open
8+
a new discussion in [fvm-specs][discuss].
9+
10+
If you'd like to report a _bug_ or suggest an enhancement in the reference FVM implementation, please file [an issue][issue].
11+
12+
## Pull Requests
13+
14+
To make a change to the FVM.
15+
16+
1. When in doubt, open an [issue][] first to discuss the change.
17+
2. Make your change.
18+
3. Write a test for your change.
19+
4. Update the crate's `CHANGELOG.md`. If you're making any breaking changes, prefix change with
20+
"BREAKING:".
21+
5. Finally, open a PR.
22+
23+
## Releasing
24+
25+
To prepare a release.
26+
27+
1. Pick a next version (for each crate you're releasing). Look through the changelogs and carefully
28+
decide if it's a breaking release or not. Then read [rust's semver
29+
documentation](https://doc.rust-lang.org/cargo/reference/semver.html).
30+
2. Install `cargo-edit` (`cargo install cargo-edit`).
31+
3. Create a new branch.
32+
4. Use `cargo set-version` to set the version for each crate you're releasing. This will both update
33+
the crate version, and make all other crates in the workspace depend on the latest version.
34+
5. Make sure the changelogs are all up-to-date, set the release date & version, and add a new
35+
"Unreleased" section.
36+
6. Comment your changes, and make a PR.
37+
38+
Once the release is prepared, it'll go through a review:
39+
40+
1. Make sure that we're _ready_ to release. E.g., make sure downstream can consume the release.
41+
2. Make sure that we're correctly following semver.
42+
3. Make sure that we're not missing anything in the changelogs.
43+
44+
Finally, an FVM "owner" will:
45+
46+
1. Merge the release PR to master.
47+
2. For each released crate, create a git: `crate_name@crate_version`.
48+
3. Run `cargo publish` for each released crate (in dependency order).
49+
50+
[chat]: https://docs.filecoin.io/about-filecoin/chat-and-discussion-forums/#chat
51+
[discuss]: https://github.com/filecoin-project/fvm-specs/discussions
52+
[issue]: https://github.com/filecoin-project/ref-fvm/issues

fvm/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Changelog
2+
3+
Changes to the reference FVM implementation.
4+
5+
## [Unreleased]
6+
7+
- Updates to fvm_shared 0.5.

ipld/amt/CHANGELOG.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
# 1.0.0 [2021-04-19]
1+
# Changelog
22

3-
- Dynamic bit width functionality
4-
- Updates serialized format, this is a breaking change
5-
- Removes inefficient caching, under the `go-interop` feature flag.
6-
- Fixes expand and collapse bug written into actors v0 and v2
7-
- v3 Actors compatible Amt
8-
- Changed index to usize for more idiomatic usages
9-
- Updated `MAX_INDEX` to take full advantage of the range of values.
10-
11-
# 0.2.0 [2021-02-02]
12-
13-
- Switched `new_from_slice` function to `new_from_iter` which takes a generic type which can be converted into an iterator of the Amt type, avoiding clones.
3+
## [Unreleased]

ipld/bitfield/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
Changes to Filecoin's Bitfield library.
4+
5+
## [Unreleased]

ipld/blockstore/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
Changes to the FVM's Blockstore abstraction
4+
5+
## [Unreleased]

ipld/car/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
Changes to the FVM's CAR implementation.
4+
5+
## [Unreleased]

ipld/encoding/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
Changes to the FVM's shared encoding utilities.
4+
5+
## [Unreleased]

ipld/hamt/CHANGELOG.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,3 @@
1-
# 2.0.0 [2021-04-19]
1+
# Changelog
22

3-
- `set_if_absent` function added. This inserts a value only if the key does not already exist in the Hamt.
4-
- `set` now doesn't require flushes when the value set is equal to the one that already exists. This is needed for go interop and removes the need for an extra flush or checking if exists in a separate operation.
5-
- `set` now returns the value that existed for that Key, or `None` if there was no value at that index previously.
6-
- Updates the serialization format of the `Pointer` type to be a kinded union rather than keyed Cbor bytes. This is also needed for `v3` hamt go interop
7-
- Actors v3 compatible version
8-
9-
# 1.0.0 [2021-02-03]
10-
11-
- `v2` feature removed
12-
- Actors v2 compatible version.
13-
14-
# 0.1.1 [2020-12-11]
15-
16-
- v0 Actors compatible Hamt. This release is the same as v2, except that the bug fix for delete reordering is under feature `v2`
3+
## [Unreleased]

sdk/CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Changelog
22

3-
## 0.5.0 - 2022-04-11
3+
## [Unreleased]
4+
5+
## 0.5.0 [2022-04-11]
46

57
Upgrades the SDK to fvm_shared 0.5.0. This release includes a significant breaking change to exit codes.

shared/CHANGELOG.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# Changelog
22

3-
## 0.5.1 - 2022-04-11
3+
## [Unreleased]
4+
5+
## 0.5.1 [2022-04-11]
46

57
Add the `USR_ASSERTION_FAILED` exit code.
68

7-
## 0.5.0 - 2022-04-11
9+
## 0.5.0 [2022-04-11]
810

911
- Enforce maximum big-int size to match lotus.
1012
- Make signature properties public.

0 commit comments

Comments
 (0)