Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

go-libp2p v0.19.0 #1298

Closed
5 of 38 tasks
marten-seemann opened this issue Jan 18, 2022 · 1 comment
Closed
5 of 38 tasks

go-libp2p v0.19.0 #1298

marten-seemann opened this issue Jan 18, 2022 · 1 comment

Comments

@marten-seemann
Copy link
Contributor

marten-seemann commented Jan 18, 2022

🗺 What's left for release

Circuit v2 relay discovery

QUIC

Resource Manager

🛠 BREAKING CHANGES

The mplex stream multiplexer was removed from the default list of stream multiplexers. If you still need to support both yamux and mplex, you can manually enable it using the following libp2p.Option:

libp2p.ChainOptions(
	libp2p.Muxer("/yamux/1.0.0", yamux.DefaultTransport),
	libp2p.Muxer("/mplex/6.7.0", mplex.DefaultTransport),
)

🔦 Highlights

Changelog

< changelog generated by scripts/mkreleaselog >

✅ Release Checklist

  • Stage 0 - Finishing Touches
    • Go through relevant libp2p repos looking for unreleased changes that should make it into the release. If you find any, cut releases.
    • Run go get -u ./... to see if there are any out-of-date deps that look important. If there are, bubble them. Try to avoid directly updating indirect deps in go-libp2p's go.mod when possible.
    • Make sure local tests are passing.
  • Stage 1 - Upstream Testing
    • Create testing branches in lotus & go-ipfs with the new go-libp2p release and run CI/tests. Many upstream projects are tested in CI, but lotus & go-ipfs are not.
    • (someday) Run upstream testground tests. Unfortunately, this is too time consuming at the moment.
      • (someday) Run bitswap testground tests.
      • (someday) Run DHT testground tests.
  • Stage 2 - Infrastructure Testing
    • How: Using the testing branches created above, work with the infrastructure team to deploy the new libp2p versions to our infrastructure.
    • Where:
      • A go-ipfs gateway.
        • Deploy
        • Analyze
          • Look at pprof profile dumps, especially CPU profiles and heap allocation profiles, noting any significant changes.
      • A go-ipfs bootstrapper.
        • Deploy
        • Analyze
          • Look at pprof profile dumps, especially CPU profiles and heap allocation profiles, noting any significant changes.
          • Check peers (e.g., ipfs swarm peers) to make sure we're connecting to peers on all transports.
          • Check advertised addresses and protocols (e.g., ipfs id) to make sure they're sane.
  • Stage 3 - Release
    • Tag the release on master.
    • Publish the release through the GitHub UI, adding the release notes. Some users rely on this to receive notifications of new releases.
    • Announce the release on the discuss.libp2p.io.
  • Stage 4 - Update Upstream
  • Make required changes to the release process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant