-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Note
This release is nv24++ meaning it will have the minimum functionality needed for nv24 (i.e., what is in v1.30.0), but also some additional functionality that is higher risk that we don't want to obligate users to upgrade to during a network upgrade.
😶🌫 Meta
- Scope: Node and Miner MINOR
- Is this linked with a network upgrade, and thus mandatory? Yes
- (network upgrade) Related network upgrade version: nv24
- (network upgrade) Scope, dates, and epochs: Network Updates (Currently: nv27 - Golden Week) community#74 (comment)
- (network upgrade) Lotus changelog with Lotus specifics: <link to section in https://github.com/filecoin-project/lotus/blob/master/CHANGELOG.md with more details>
🚢 Estimated shipping date
| Candidate | Date | Release URL |
|---|---|---|
| RC1 | 2024-11-12 | https://github.com/filecoin-project/lotus/releases/tag/v1.31.0-rc1 https://github.com/filecoin-project/lotus/releases/tag/miner%2Fv1.31.0-rc1 |
| Stable (non-RC) | 2024-12-02 | https://github.com/filecoin-project/lotus/releases/tag/v1.31.0 https://github.com/filecoin-project/lotus/releases/tag/miner/v1.31.0 |
🪢 Dependencies for releases
Note
- This is the set of changes that need to make it in for a given RC. This is effectively the set of changes to cherry-pick from master.
- They can be checked as done once they land in
master. - They are presented here for quick reference, but backporting is tracked in each
Release Checklist.
rc1
- A new ChainIndexer that subsumes that existing MsgIndex, EventIndex and TransactionIndex #12453
- filecoin-ffi Release v1.31.0 (nv24++) filecoin-ffi#490
Stable (non-RC)
- chore(events): improve perf for parallel event filter matching #12603
- fix: fix minor bugs in lotus shed datastore subcommand #12694
- fix: fix missing flag for
lotus-shed datastore import#12695 - feat: implement F3 CLI to list power table and proportional power at instance #12698
- chore: use DEBUG level log when F3 is not ready for participation #12700
- docs: replace more references to lotus-shed with lotus in ChainIndexer docs #12708
- fix(miner): fix scary verified power miscalculation upon extension #12720
- fix: skip checking the initial power table CID if undefined #12725
- chore: update go-libp2p to v0.37.2 #12729
✅ Release Checklist
Before RC1
- (network upgrade) Make sure all Lotus dependencies are updated to the correct versions for the network upgrade
- Link to Lotus PR:
- Open PR against RELEASE_ISSUE_TEMPLATE.md with title
docs(release): v1.31.0 release template improvementsfor improving future releases.- Link to PR: docs(release): v1.30.0, v1.31.0 and v1.31.1 release template improvements #12563
- There likely aren't any changes at this point, but this can be opened with a small whitespace change so the PR is open and we can more easily hold the standard of making improvements incrementally since improvements are usually better done by collecting changes/notes along the way rather than just thinking about it at the end.
- This will get merged in a
Post Releasestep.
- (minor release) Fork a new branch (
release/v1.31.0orrelease/miner/v1.31.0) frommasterand make any further release-related changes to this branch. masterbranch Version string updates- Skip this set of steps if you are patching a previous minor release.
- bump the version(s) in
build/version.gotov1.31.1-dev.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion), a miner release (MinerBuildVersion), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-clibefore committing changes. - Update the CHANGELOG
- Change the
UNRELEASEDsection header toUNRELEASED v1.31.0 - Set the
UNRELEASED v1.31.0section's content to be "See https://github.com/filecoin-project/lotus/blob/release/v1.31.0/CHANGELOG.md" - Add a new
UNRELEASEDheader to top.
- Change the
- Create a PR with title
build: update Lotus Node version to v1.31.1-dev in master - Merge PR
RCs
rc1
Important
These PRs should be done in and target the release/v1.31.0 or release/miner/v1.31.0 branch.
Backport PR
- All explicitly tracked items from
Dependencies for releaseshave landed - Backported everything with the "backport" label
- Removed the "backport" label from all backported PRs (no "backport" issues)
- Create a PR with title
build: backport changes for node v1.31.0-rc1- Link to PR:
- Merge PR
Release PR
- Update the version string(s) in
build/version.goto one ending with '-rc1'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion), a miner release (MinerBuildVersion), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-clito generate documentation - Create a draft PR with title
build: release Lotus node v1.31.0-rc1- Link to PR: build: release Lotus node v1.31.0-rc1 #12693
- Opening a PR will trigger a CI run that will build assets, create a draft GitHub release, and attach the assets.
- Changelog prep
- Go to the releases page and copy the auto-generated release notes into the CHANGELOG
- Perform editorial review (e.g., callout breaking changes, new features, FIPs, actor bundles)
- (network upgrade) Specify whether the Calibration or Mainnet upgrade epoch has been specified or not yet.
- Example where these weren't specified yet: PR #12169
- Ensure no missing content when spot checking git history
- Example command looking at git commits:
git log --oneline --graph vA.B.C.., where A.B.C correspond to the previous release. - Example GitHub UI search looking at merged PRs into master: https://github.com/filecoin-project/lotus/pulls?q=is%3Apr+base%3Amaster+merged%3A%3EYYYY-MM-DD
- Example
ghcli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DDis the start search date):gh pr list --repo filecoin-project/lotus --search "base:master merged:>YYYY-MM-DD" --json number,mergedAt,author,title | jq -r '.[] | [.number, .mergedAt, .author.login, .title] | @tsv' | sort -k4
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- Mark the PR "ready for review" (non-draft)
- Merge the PR
- Merging the PR will trigger a CI run that will build assets, attach the assets to the GitHub release, publish the GitHub release, and create the corresponding git tag.
- Update
🚢 Estimated shipping datetable - Comment on this issue announcing the RC
- Link to issue comment: Lotus Node and Miner Release v1.31.0 (nv24++) #12344 (comment)
Testing
Note
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
Stable (non-RC) Release
Important
These PRs should be done in and target the release/v1.31.0 or release/miner/v1.31.0 branch.
Backport PR
- All explicitly tracked items from
Dependencies for releaseshave landed - Backported everything with the "backport" label
- Removed the "backport" label from all backported PRs (no "backport" issues)
- Create a PR with title
build: backport changes for node v1.31.0 - Merge PR
Release PR
- Update the version string(s) in
build/version.goto one NOT ending with '-rc1'.- Ensure to update the appropriate version string based on whether you are creating a node release (
NodeBuildVersion), a miner release (MinerBuildVersion), or both.
- Ensure to update the appropriate version string based on whether you are creating a node release (
- Run
make gen && make docsgen-clito generate documentation - Create a draft PR with title
build: release Lotus node v1.31.0- Link to PR: build: release Lotus node & miner v1.31.0 #12735
- Opening a PR will trigger a CI run that will build assets, create a draft GitHub release, and attach the assets.
- Changelog prep
- Go to the releases page and copy the auto-generated release notes into the CHANGELOG
- Perform editorial review (e.g., callout breaking changes, new features, FIPs, actor bundles)
- Ensure no missing content when spot checking git history
- Example command looking at git commits:
git log --oneline --graph vA.B.C.., where A.B.C correspond to the previous release. - Example GitHub UI search looking at merged PRs into master: https://github.com/filecoin-project/lotus/pulls?q=is%3Apr+base%3Amaster+merged%3A%3EYYYY-MM-DD
- Example
ghcli command looking at merged PRs into master and sorted by title to group similar areas (whereYYYY-MM-DDis the start search date):gh pr list --repo filecoin-project/lotus --search "base:master merged:>YYYY-MM-DD" --json number,mergedAt,author,title | jq -r '.[] | [.number, .mergedAt, .author.login, .title] | @tsv' | sort -k4
- Example command looking at git commits:
- Update the PR with the commit(s) made to the CHANGELOG
- Mark the PR "ready for review" (non-draft)
- Merge the PR
- Merging the PR will trigger a CI run that will build assets, attach the assets to the GitHub release, publish the GitHub release, and create the corresponding git tag.
- Update
🚢 Estimated shipping datetable - Comment on this issue announcing the RC
- Link to issue comment: Lotus Node and Miner Release v1.31.0 (nv24++) #12344 (comment)
Testing
Note
Link to any special steps for testing releases beyond ensuring CI is green. Steps can be inlined here or tracked elsewhere.
Post-Release
- Open a PR against
mastercherry-picking the CHANGELOG commits from therelease/v1.31.0branch. Title itchore(release): cherry-pick v1.31.0 changelog back to master- Link to PR: chore(release): cherry-pick v1.31.0 changelog back to master #12746
- Assuming we followed the process of merging changes into
masterfirst before backporting to the release branch, the only changes should be CHANGELOG updates.
- Finish updating/merging the RELEASE_ISSUE_TEMPLATE.md PR from
Before RC1with any improvements determined from this latest release iteration.
❤️ Contributors
See the final release notes!
⁉️ Do you have questions?
Leave a comment in this ticket!