js-ipfs 0.24.0 released
by David Dias on 2017-05-25
I am pleased to announce to everyone in our community that js-ipfs 0.24.0 has been successfully launched! This new minor release brings new features, bug fixes and new examples so that you can jump in and start hacking your IPFS enabled apps right away!
👢 WebSockets DNS Bootstrappers by default on the browser
With this release, you won’t need to connect to Bootstrapper nodes manually, they will dialed from the start through their WebSockets endpoints. This also means that we’ve successfully deployed DNS support for multiaddrs, so that you can host your js-ipfs enabled app behind an HTTPS domain and dial to the Bootstrappers through WSS.
🎈WebRTC is now a default transport
We now include WebRTC multiaddr by default on new js-ipfs init calls. This means that both your Node.js and Browser nodes will be able to dial each other using WebRTC and discover other nodes in the network through signalling Peer Discovery.
Caveat for Linux/Windows users: Due to limited support of Node.js wrtc module, you will have to set an environment variable or an Experimental flag. Instructions are in the README to learn how to do so.
🗺 1st Phase of DHT Implementation Complete
We now have a working DHT implementation, which means that js-libp2p and js-ipfs are now capable of Peer Routing and Content Routing. This feature should be treated as experimental for the time being, and is behind a feature flag until a few remaining interoperability issues are cleared out.
🕸 WebWorker and ServiceWorker Support
Now you can run js-ipfs in a WebWorker or a ServiceWorker without encountering any stoppers. We also added a rule to our tests to be run inside a WebWorker to ensure that this feature stays intact.
We’ve recorded a live demo of a Service Worker with js-ipfs running during IPFS All Hands on May 22. You can see this recording and many others on the IPFS Youtube video channel. You can find the code for this demo at ipfs-service-worker.
📶 Better reconnect handling with WebRTC Transport
You can now switch off your wifi or close your laptop and your js-ipfs node will be able to recover any lost connections graciously.
💅🏽 Refreshed libp2p API
As a byproduct of shipping new features in js-ipfs, js-libp2p got a refreshed API, documentation and examples. Please do check them out and try libp2p at js-libp2p
📦 Updated Packages table
Always wondered of how many pieces IPFS is built with? Check the updated Packages table at – https://github.com/ipfs/js-ipfs#packages.
A big thank you goes for everyone who helped make this release possible! We really appreciate all the code contributions, reviews and testing we get from you ❤️.
Want to get started using js-ipfs today?
We’ve been building a series of examples to help everyone get started using js-ipfs. With this release, these examples got even simpler, requiring less configuration. Go to js-ipfs github repo and check the examples folder, containing:
- How to start a node and add a file to IPFS
- Learn how to transfer files between nodes over multiple transports
- Learn how to manipulate IPLD Graphs with the DAG API
- Wanna try resolving Eth blocks on IPFS?
If you run into any hurdles, please open an issue on ipfs/js-ipfs/issues.
Thank you for your attention, I bid you a good day!