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

⚡️ v0.25.0 RELEASE 🚀 #910

Closed
13 tasks done
daviddias opened this issue Jul 10, 2017 · 1 comment
Closed
13 tasks done

⚡️ v0.25.0 RELEASE 🚀 #910

daviddias opened this issue Jul 10, 2017 · 1 comment
Assignees

Comments

@daviddias
Copy link
Member

daviddias commented Jul 10, 2017

🚀 This release brings ton of bug fixes and refactor of the internal pieces
🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟

🔦 Highlights

🏮 ipfs-repo is now 🐲 free

The IPFS Repo Class went through some careful refactoring process. Now it is easier to understand its internals and to support different backend storage adapters.

To create a js-ipfs node with your own custom repo you just have to:

const node = new IPFS({repo: <your own Repo instance with your backend storage adapters>})

If you are curious, you can learn about what are the default storage adapters in the IPFS Repo itself, namely:

⬢ libp2p is now used directly and the bundles live inside the js-ipfs repo

The JavaScript implementation of libp2p received a lot of love recently, including the addition of Tutorials. You can consult all the details on the Log entry of libp2p's Captain.log - libp2p/js-libp2p#6 (comment)

🏎 SPDY is out of the mix and there goes browserify-zlib special shimming.

SPDY has been removed from the default browser bundle in favor of supporting libp2p-multiplex only. SPDY was the Stream Muxer of js-ipfs since almost the beginning, but since go-ipfs never got a complete implementation of SPDY, we ended up switching to libp2p-multiplex to guarantee interop between implementations. What this means is that you will continue to see the interop, but now your browser bundle will be significantly lighter.

📞 wrtc, the WebRTC module for Node.js is now optional

wrtc, a module that enables js-ipfs Node.js nodes to speak WebRTC, has been excluded from the default list of modules so that Linux users can have a better time when using js-ipfs natively. You can still bring it back and now not only use wrtc but you can also use electron-webrtc, the other WebRTC module for Node.js See how to achieve that in the project's README - https://github.com/ipfs/js-ipfs#advanced-options-when-creating-an-ipfs-node.

Note, this doesn't change the behavior in the browser. Browser nodes will still continue to use WebRTC by default.

🌱 Future

  • New ✨ aegir is coming soon! If you have contributed to js-ipfs and/or js-libp2p, you might be familiar with aegir, our asset pipeline, test, lint, release management tool. aegir makes it extremely convinient to ensure that every single piece of the js-ipfs puzzle is up to the same level of standards and now we are making it even better. Check the development here: [WIP] Aegir@next aegir#134
  • We continue actively working on Circuit Relay, now we a close to final specification available at -- The Circuit Relay Specification libp2p/specs#22 --. Once this spec is merged, we will update the deps to follow it and integrate it with js-ipfs
  • We want to make Electron be a first class platform to run js-ipfs. There are some challenges due to the usage of native dependencies but we are proactively working towards fixing those compatibility issues. Follow this work here: Runtime Support: Electron & Muon #843

✅ Release Checklist

  • Robustness and quality
    • Ensure that all tests are passing, this includes:
      • unit
      • interop
      • sharness
    • Run tests of the following projects with the new release:
      • n/a
  • Documentation
    • Ensure that README.md is up to date
    • Ensure that all the examples run
  • Communication
    • Create the release issue
    • Announcements (pre and post)
      • Twitter
      • IRC
      • Reddit
    • Blog post
@daviddias
Copy link
Member Author

image

https://twitter.com/daviddias/status/885044398328819712

@daviddias daviddias removed the status/in-progress In progress label Jul 12, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant