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

⚡️ 0.32 RELEASE 🚀 #956

Closed
13 of 16 tasks
vasco-santos opened this issue Jul 9, 2021 · 0 comments
Closed
13 of 16 tasks

⚡️ 0.32 RELEASE 🚀 #956

vasco-santos opened this issue Jul 9, 2021 · 0 comments

Comments

@vasco-santos
Copy link
Member

vasco-santos commented Jul 9, 2021

libp2p uses the new multiformats line and ships a smaller bundle

🔦 Highlights

🆕 Multiformats update

We updated to the new multiformats stack, removing older multiformats modules that are no longer maintained. This is a library defining common interfaces and low level building blocks for various interrelated multiformat technologies (multicodec, multihash, multibase, and CID). They can be used to implement custom base encoders / decoders / codecs, codec encoders /decoders and multihash hashers that comply to the interface that layers above assume.

Thanks to @achingbrain for PRing all the libp2p modules ❤️

🔒 libp2p-noise updated

The new version of libp2p-noise is now faster and results in smaller bundles for applications built on top of libp2p. In short, bcrypto was replaced was by some of the goodies stablelib provides in an isolated fashion.

  • ~27% decrease on its bundle size, from 191.5kb to 141.2kb (minified+gzipped), which represents a full bundle size decrease by ~10% in js-ipfs

  • ~46% speed improvement

NEW:
handshake x 39.97 ops/sec ±4.98% (67 runs sampled)
Done in 6.04s.

OLD:
handshake x 27.23 ops/sec ±4.57% (67 runs sampled)
Done in 6.10s.

Thanks to @mpetrun5 and @mpetrunic ❤️

Types

libp2p-tcp and libp2p-bootstrap export types now 🎉 You can see the current state in #659

Thanks to @nazarhussain and @acolytec3 for getting these in ❤️

🏗 API Changes

https://github.com/libp2p/js-libp2p/blob/master/doc/migrations/v0.31-v0.32.md

✅ Release Checklist

  • Robustness and quality
    • Ensure that all tests are passing, this includes:
      • unit
    • Publish a release candidate to npm
      # Minor prerelease (e.g. 0.24.1 -> 0.25.0-rc.0)
      $ npx aegir release --type preminor -t node -t browser --preid rc --dist-tag next
      
      # Increment prerelease (e.g. 0.25.0-rc.0 -> 0.25.0-rc.1)
      $ npx aegir release --type prerelease -t node -t browser --preid rc --dist-tag next
    • Run tests of the following projects with the new release:
  • Documentation
    • Ensure that README.md is up to date
    • Ensure that libp2p/docs is updated
  • Communication
    • Create the release issue
    • Take a snapshot between of everyone that has contributed to this release (including its subdeps in IPFS, libp2p, IPLD and multiformats) using name-your-contributors. Generate a nice markdown list with this script
    • Announcements (both pre-release and post-release)
    • Blog post
    • Copy release notes to the GitHub Release description

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

In alphabetical order, here are all the humans that contributed to the release:

🙌🏽 Want to contribute?

Would you like to contribute to the libp2p 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 libp2p, how it works and what you can do with it is at discuss.libp2p.io. We are also available at the #libp2p channel on Freenode.

@vasco-santos vasco-santos added the need/triage Needs initial labeling and prioritization label Jul 9, 2021
@vasco-santos vasco-santos changed the title ⚡️ 0.31 RELEASE 🚀 ⚡️ 0.32 RELEASE 🚀 Jul 9, 2021
@vasco-santos vasco-santos removed the need/triage Needs initial labeling and prioritization label Jul 9, 2021
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