IPNS has it's foot in the door, and it's coming in! In this release IPNS works for your local node. It means you can now publish records to your local repo and read them back. There's still some way to go but you know the saying right, "from small beginnings comes great IPNS"?
π΅οΈββοΈ Partial ipfs.resolve
In preparation for IPNS landing, we've rolled out a partial implementation of the resolve command. The idea of the resolve command is to figure out the underlying hash of the content referred to by an IPNS name or an IPFS path.
The new resolve command can resolve paths like /ipfs/QmRootHash/path/to/file to /ipfs/QmFileHash and will soon be able to deal with IPNS names in an upcoming release.
π¦ libp2p bundle function
We made it even easier to create your libp2p bundle! If you're looking to create a completely custom libp2p bundle then you can now pass a function in place of your libp2p config which should return your libp2p bundle. It's passed useful information like the IPFS node peer ID so you should be able to build your bundle exactly the way you want! You're welcome π
π₯ Support for chunking algorithm
Slice and dice your DAG nodes the way you wantβ’οΈ. When adding data to your IPFS node you can now specify the size of the chunks it creates from your data or even use rabin fingerprinting to create some fancy variable length chunks for better deduping.
Rabin is a native module and must be compiled on your system when you run npm install ipfs. Native modules depend on specific languages and tools to be pre-installed on your computer and because of this has been made an optional dependency. That means that it's π if it fails to install, it just won't be available to use in IPFS. If you're thinking of using rabin chunking then be sure to check that it installed properly in your install logs.
Added ipfs.name.publish and ipfs.name.resolve. This only works on your local node for the moment until the DHT lands. API docs can be found here.
Added ipfs.resolve API. Note that this is a partial implementation allowing you to resolve IPFS paths like /ipfs/QmRootHash/path/to/file to /ipfs/QmFileHash. It does not support IPNS yet.
ipfs.files.add* now supports a chunker option, see the API docs for details
β Release Checklist
Robustness and quality
[x] Ensure that all tests are passing, this includes:
# Current version is 0.31.7, to publish a release candidate for 0.32.0:
npm run build
npm version 0.32.0-rc.1
# Publish with "next" tag to ensure people still get 0.31.7 when they `npm i ipfs`
npm publish --tag next
git push origin master v0.32.0-rc.1
[x] Run tests of the following projects with the new release:
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.
πΊ What's left for release
ipfs.resolve
implementationπ¦ Highlights
π IPNS locally
IPNS has it's foot in the door, and it's coming in! In this release IPNS works for your local node. It means you can now publish records to your local repo and read them back. There's still some way to go but you know the saying right, "from small beginnings comes great IPNS"?
π΅οΈββοΈ Partial
ipfs.resolve
In preparation for IPNS landing, we've rolled out a partial implementation of the
resolve
command. The idea of the resolve command is to figure out the underlying hash of the content referred to by an IPNS name or an IPFS path.The new resolve command can resolve paths like
/ipfs/QmRootHash/path/to/file
to/ipfs/QmFileHash
and will soon be able to deal with IPNS names in an upcoming release.π¦ libp2p bundle function
We made it even easier to create your libp2p bundle! If you're looking to create a completely custom libp2p bundle then you can now pass a function in place of your libp2p config which should return your libp2p bundle. It's passed useful information like the IPFS node peer ID so you should be able to build your bundle exactly the way you want! You're welcome π
π₯ Support for chunking algorithm
Slice and dice your DAG nodes the way you wantβ’οΈ. When adding data to your IPFS node you can now specify the size of the chunks it creates from your data or even use
rabin
fingerprinting to create some fancy variable length chunks for better deduping.Rabin is a native module and must be compiled on your system when you run
npm install ipfs
. Native modules depend on specific languages and tools to be pre-installed on your computer and because of this has been made an optional dependency. That means that it's π if it fails to install, it just won't be available to use in IPFS. If you're thinking of using rabin chunking then be sure to check that it installed properly in your install logs.Check out the docs for the
files.add
chunker
option for more.π API Changes
ipfs.name.publish
andipfs.name.resolve
. This only works on your local node for the moment until the DHT lands. API docs can be found here.ipfs.resolve
API. Note that this is a partial implementation allowing you to resolve IPFS paths like/ipfs/QmRootHash/path/to/file
to/ipfs/QmFileHash
. It does not support IPNS yet.ipfs.files.add*
now supports achunker
option, see the API docs for detailsβ Release Checklist
ππ½ 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:
help wanted
label at the Ready column in our waffle board - https://waffle.io/ipfs/js-ipfs?label=help%20wantedβοΈ 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.