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.30.0 RELEASE 🚀 #1375

Closed
Closed
@alanshaw

Description

@alanshaw

Feature parity with go-ipfs just got a whole lot closer!

🗺 What's left for release

🔦 Highlights

🔀 Mutable File System (MFS)

MFS, the mutable file system is finally here in js-ipfs. The MFS API allows you to use IPFS like a regular Unix file system. Add, edit, move, copy, rename and delete your files while keeping all that content addressable, Merkle DAGgy goodness.

📌 Pin API implemented

Ever wanted to keep the things you add to IPFS? Well now you can! Pinning a hash in IPFS land tells your node to keep the data around in your local repo until you decide to unpin it. No amount of garbage collection will take it! Next stop, implement garbage collection 😝

🤝 libp2p connection manager added

The new libp2p connection manager gives you the power to disconnect peers when you have too many or when certain bandwidth restrictions are reached. Really useful for preserving resources on resource constrained devices such as mobile phones or IoT.

See the options at: https://github.com/libp2p/js-libp2p-connection-manager#create-a-connectionmanager

📇 bitswap improvements

Swapping your bits has never been so easy to keep track of. You can now inspect the "wantlist" (the list of hashes currently wanted by various peers) on a per peer basis, and you can manually "unwant" hashes in your own list.

☯️ Content hashes interop

If you add a file to go-ipfs and also add it to js-ipfs then you might get a different hash. It doesn't mean the hash is wrong, just that the layout of the DAG nodes that were created for your file was different. Good news folks, we fixed that. You should now get the same hash whether you add your file to go-ipfs or js-ipfs. Hooray \o/.

🙅 Node.js 10 support

Now you can run your js-ipfs node on the latest and greatest Node.js yet.

🏗 API Changes

  • libp2p configuration property names for custom modules has changed
    • old: libp2p.modules.discovery
    • new: libp2p.modules.peerDiscovery
  • Custom libp2p modules you provide now replace default modules
  • Pin API added (spec)
  • bitswap.wantlist peer ID parameter added (spec)
  • bitswap.unwant implemented (spec)
  • MFS API added (spec)

✅ Release Checklist

  • Robustness and quality
  • Documentation
    • Ensure that README.md is up to date
    • Ensure that all the examples run
  • Communication

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions