Skip to content

Lotus Node and Miner Release v1.31.0 (nv24++) #12344

@BigLep

Description

@BigLep

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

🚢 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

  1. 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.
  2. They can be checked as done once they land in master.
  3. They are presented here for quick reference, but backporting is tracked in each Release Checklist.

rc1

Stable (non-RC)

✅ 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 improvements for 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 Release step.
  • (minor release) Fork a new branch (release/v1.31.0 or release/miner/v1.31.0) from master and make any further release-related changes to this branch.
  • master branch Version string updates
    • Skip this set of steps if you are patching a previous minor release.
    • bump the version(s) in build/version.go to v1.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.
    • Run make gen && make docsgen-cli before committing changes.
    • Update the CHANGELOG
    • 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 releases have 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.go to 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.
  • Run make gen && make docsgen-cli to generate documentation
  • Create a draft PR with title build: release Lotus node v1.31.0-rc1
  • 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 gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-MM-DD is 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
    • 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 date table
  • Comment on this issue announcing the RC

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

Release PR

  • Update the version string(s) in build/version.go to 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.
  • Run make gen && make docsgen-cli to generate documentation
  • Create a draft PR with title build: release Lotus node v1.31.0
  • 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 gh cli command looking at merged PRs into master and sorted by title to group similar areas (where YYYY-MM-DD is 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
    • 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 date table
  • Comment on this issue announcing the RC

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

❤️ Contributors

See the final release notes!

⁉️ Do you have questions?

Leave a comment in this ticket!

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

☑️ Done (Archive)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions