Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
This repository was archived by the owner on Feb 12, 2024. It is now read-only.

⚡️ v0.39.0 RELEASE 🚀 #2489

Closed
Closed
@achingbrain

Description

@achingbrain

🗺 What's left for release

Future release:

🚢 Estimated shipping date

23rd October

🔦 Highlights

🏗 API Changes

✅ Release Checklist

  • Stage 0 - Automated Testing
  • Stage 1 - Internal Testing
    • Documentation
      • Ensure that README.md is up to date
        • Install section
        • API calls
        • Packages Listing
    • Publish a release candidate to npm
      # All succesful builds of master update the `build/last-successful branch which contains a npm-shrinkwrap.json.
      # This command checks that branch out, installs it's dependencies using `npm ci`, creates a release branch
      # (e.g. release/v0.39.x), updates the minor prerelease version (e.g. 0.38.0 -> 0.39.0-rc.0) and publishes it to npm
      npx aegir publish-rc
      
      # Later we may wish to update the rc.  First cherry-picked/otherwise merged the new commits into the release 
      # branch on github (e.g. not locally) and wait for CI to pass.  First update the lockfiles used by ci (n.b. one 
      # day this will be done by our ci tools):
      npx aegir update-release-branch-lockfiles release/v0.39.x
      
      # Then update the rc publisehd on npm.  This command pulls the specified release branch, installs it's dependencies
      # `npm ci`, increments the prerelease version (e.g. 0.39.0-rc.0 -> 0.39.0-rc.1) and publishes it to npm
      npx aegir update-rc release/v0.39.x
    • Network Testing:
      • test lab things - TBD
    • Infrastructure Testing:
      • TBD
    • Stage 2 - Community Dev Testing
    • Reach out to the IPFS early testers listed in docs/EARLY_TESTERS.md for testing this release (check when no more problems have been reported). If you'd like to be added to this list, please file a PR.
    • Reach out on IRC for additional early testers.
  • Stage 3 - Community Prod Testing
    • Update js.ipfs.io examples to use the latest js-ipfs
    • Invite the IPFS early testers to deploy the release to part of their production infrastructure.
    • Invite the wider community (link to the release issue):
  • Stage 4 - Release
    • Take a snapshot of everyone that has contributed to this release (including its direct dependencies in IPFS, libp2p, IPLD and multiformats) using the js-ipfs-contributors module.
    • Publish to npm:
       git checkout release/v0.39.x
      # Re-install dependencies using lockfile (will automatically remove your node_modules folder)
      # (Ensures the versions used for the browser build are the same that have been verified by CI)
      npm ci
      
      # lint, build, test, tag, publish
      npm run release-minor
      
      # reintegrate release branch into master
      git rm npm-shrinkwrap.json yarn.lock
      git commit -m 'chore: removed lock files'
      git checkout master
      git merge release/v0.39.x
      git push
    • Publish a blog post to github.com/ipfs/blog (at minimum, a c&p of this release issue with all the highlights, API changes and thank yous)
    • Broadcasting (link to blog post)
    • Copy release notes to the GitHub Release description

❤️ Huge thank you to everyone that made this release possible

🙌🏽 Want to contribute?

Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:

⁉️ Do you have questions?

The best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.io. We are also available at the #ipfs channel on Freenode.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions