js-ipfs 0.38.0 released

by Alex Potsides on 2019-09-30

Garbage collection, gossipsub, IPNS support for ipfs resolve, oh my!

$ npm install -g ipfs

🔦 Highlights

Garbage collection, gossipsub & IPNS support for ipfs resolve! Also a new release process!

🗑️ Garbage collection

Support for garbage collection has shipped with 0.38.0! This means that blocks in your IPFS Repo will be removed whenever gc is run unless they are pinned.

This is essential for keeping your repo to a manageable size, but must be run manually for the time being.

Use it with the following command:

$ jsipfs repo gc
removed Qmfoo
removed Qmbar

To prevent blocks being collected, pin them:

$ jsipfs pin add Qmbaz
pinned Qmbaz recursively

💬 Gossipsub enabled by default

Pubsub is now enabled by default with Gossipsub as the default implementation.

More efficient than Floodsub, Gossipsub creates an overlay on top of the network of nodes which propagates messages to a subset of subscribers instead of broadcasting messages to everyone.

Read more about the design at libp2p/specs/pubsub/gossipsub

📛 IPNS support for ipfs resolve

You can now resolve IPNS names via ipfs resolve, what’s more the recursive option is now on by default.

$ jsipfs resolve /ipns/Qmqux
/ipfs/Qmgarply

🎁 New relase process & a call for early testers

This is the first release to follow our new, more predictable, more rigorous release process. It’s outlined in the release issue template, but in short we have defined steps, with an additional period for internal & external testing and gathering feedback on the changes.

It’s also the first release to ship with lockfiles for yarn and npm. This is to ensure that you only get the dependencies that we have validated with CI, and not untested code that may have been released with breaking changes since CI last ran on the release candidate.

But the best bit is that we run the test suites of third party repos with the RCs as part of CI to ensure we don’t break anything - if you would like your project added to that list, please send a PR to EARLY_TESTERS.md adding a link to your repo! That way you’ll get early warning of any work that needs to be done to upgrade your project to the latest & greatest.

🏗 API Changes

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

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

🙌🏽 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.

Comments