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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

鈿★笍 v0.36.0 RELEASE 馃殌 #2024

alanshaw opened this issue May 9, 2019 · 5 comments


Copy link

commented May 9, 2019

URL safe CIDs, refs commands, DOM File support and more!

馃椇 What's left for release

馃敠 Highlights

馃К Base32 encoding for v1 CIDs

As a stepping stone towards switching to CIDv1 by default for all CIDs, we're shipping a small change to v1 CIDs that means their string form is base32 encoded instead of base58btc. So, instead of:

$ jsipfs add --cid-version 1 guardian.jpg
added zb2rhk6GMPQF3hfzwXTaNYFLKomMeC6UXdUt6jZKPpeVirLtV guardian.jpg

You'll now get back a base32 encoded CID:

$ jsipfs add --cid-version 1 guardian.jpg
added bafkreibu6pkzh33dfwfa3bg3twih7uiohu6d6cr34txljekdn3cvwoujiu guardian.jpg

You can read more about this change here.

PR: #2050

馃憠 Added refs and refs local commands

We've added the refs and refs local commands to the core, CLI and HTTP API. These commands allow you to list out all the CIDs referenced by a given DAG node or all the CIDs in your local repo. You can even choose the display format.

PR: #2004

馃梽 Support for adding DOM File objects

Finally! You can just add a File to IPFS without having to jump through hoops converting it to a Buffer first. Sensational!

A File, by the way, is what you'll get back from a <input type="file"> or the drag and drop API, so being able to easily take that file and add it to IPFS makes onboarding new frontend devs way easier (as well as way more convenient for all you old frontend devs 馃槣).

PR: #2013

馃敩 MDNS discovery compatibility

The libp2p discovery module for finding IPFS nodes over MDNS has been updated so that your JS IPFS node is now able to find Go IPFS nodes on the local network too. It's a backwards compatible change so older nodes will still be able to find your node and you'll still be able to find them.

PR: libp2p/js-libp2p-mdns#80

馃殼 28% faster stream multiplexing

We switched the multiplexing implementation to one that's simpler, smaller and faster. We're estimating it to be around 28% faster than the old implementation.

PR: #1884

Gateway improvements

The IPFS HTTP gateway that JS IPFS exposes when run as a daemon in Node.js has been upgraded to support a number of HTTP features like conditional requests, byte range requests as well as getting some bug fixes, mini features and other improvements. There's too much to list here but check out the PR for and in depth description of what's changed.

PR: #1989

馃攺 Pubsub message signing

Messages sent over Pubsub will now be automatically signed by the initial publisher, and included as a signature property on each Pubsub message. IPFS and Libp2p will be verifying the signatures of Pubsub messages by default in future releases, which will enable us to verify the authenticity of all messages sent over the network before they are processed. Verification is not yet required by default, but it will be in future releases, and all unsigned messages will not be processed or forwarded.

PR: libp2p/js-libp2p#362

馃彈 API Changes

  1. BREAKING: The default string encoding for version 1 CIDs has changed to base32
  2. BREAKING: IPLD formats have been updated to the latest versions. IPLD nodes returned by ipfs.dag and ipfs.object commands have significant breaking changes. If you are using these commands in your application you are likely to encounter the following changes to dag-pb nodes (the default node type that IPFS creates):
    • DAGNode properties have been renamed as follows:
      • data => Data
      • links => Links
      • size => size (Note: no change)
    • Additionally, the Links property of a DAGNode now returns plain JS objects with Hash, Name and Tsize properties, NOT DAGLink instances
    • DAGLink properties have been renamed as follows:
      • cid => Hash
      • name => Name
      • size => Tsize
    • See CHANGELOGs for each IPLD format for it's respective changes, you can read more about the dag-pb changes in the CHANGELOG
  3. Commands refs and refs local have been added to core, the CLI and the HTTP API
  4. Support for DOM File objects has been added to ipfs.add

Release Checklist

鉂わ笍 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 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 We are also available at the #ipfs channel on Freenode.

@alanshaw alanshaw self-assigned this May 9, 2019

@alanshaw alanshaw added the in progress label May 9, 2019


This comment has been minimized.

Copy link

commented May 9, 2019

MDNS compatibility was released as a patch release, v0.12.3. New installs should get the update automatically.


This comment has been minimized.

Copy link
Member Author

commented May 9, 2019

馃憤 going to toot about it here anyway 馃榿

@momack2 momack2 added this to In Progress in ipfs/js-ipfs May 10, 2019

@momack2 momack2 added this to In Progress in ipfs/js-waffle May 10, 2019


This comment has been minimized.

Copy link
Member Author

commented May 17, 2019

0.36.0-pre.0 is out now for testing 馃殌

Note: does not include change default encoding for CIDv1 to base32


This comment has been minimized.

Copy link
Member Author

commented May 21, 2019

0.36.0-rc.0 is out now for testing 馃殌

alanshaw added a commit to alanshaw/hlsjs-ipfs-loader that referenced this issue May 22, 2019

fix: upgrade for 0.36
The IPLD dag-pb format changed in 0.36 to more closely follow it's serialized form.

See the release notes for more info ipfs/js-ipfs#2024

@alanshaw alanshaw closed this May 22, 2019

@alanshaw alanshaw added release and removed in progress labels Aug 5, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can鈥檛 perform that action at this time.