Release 0.4.17
Ipfs 0.4.17 is a quick release to fix a major performance regression in bitswap (mostly affecting go-ipfs -> js-ipfs transfers). However, while motivated by this fix, this release contains a few other goodies that will excite some users.
The headline feature in this release is urlstore support. Urlstore is a generalization of the filestore backend that can fetch file blocks from remote URLs on-demand instead of storing them in the local datastore.
Additionally, we've added support for extracting inline blocks from CIDs (blocks inlined into CIDs using the identity hash function). However, go-ipfs won't yet create such CIDs so you're unlikely to see any in the wild.
Features:
- URLStore (ipfs/go-ipfs#4896)
- Add trickle-dag support to the urlstore (ipfs/go-ipfs#5245).
- Allow specifying how the data field in the
object get
is encoded (ipfs/go-ipfs#5139) - Add a
-U
flag tofiles ls
to disable sorting (ipfs/go-ipfs#5219) - Add an efficient
--size-only
flag to therepo stat
(ipfs/go-ipfs#5010) - Inline blocks in CIDs (ipfs/go-ipfs#5117)
Changes/Fixes:
- Make
ipfs files ls -l
correctly report the hash and size of files (ipfs/go-ipfs#5045) - Fix sorting of
files ls
(ipfs/go-ipfs#5219) - Improve prefetching in
ipfs cat
and related commands (ipfs/go-ipfs#5162) - Better error message when
ipfs cp
fails (ipfs/go-ipfs#5218) - Don't wait for the peer to close it's end of a bitswap stream before considering the block "sent" (ipfs/go-ipfs#5258)
- Fix resolving links in sharded directories via the gateway (ipfs/go-ipfs#5271)
- Fix building when there's a space in the current directory (ipfs/go-ipfs#5261)
Documentation:
- Improve documentation about the bloomfilter config options (ipfs/go-ipfs#4924)
General refactorings and internal bug fixes:
- Remove the
Offset()
method from the DAGReader (ipfs/go-ipfs#5190) - Fix TestLargeWriteChunks seek behavior (ipfs/go-ipfs#5276)
- Add a build tag to disable dynamic plugins (ipfs/go-ipfs#5274)
- Use FSNode instead of the Protobuf structure in PBDagReader (ipfs/go-ipfs#5189)
- Remove support for non-directory MFS roots (ipfs/go-ipfs#5170)
- Remove
UnixfsNode
from the balanced builder (ipfs/go-ipfs#5118) - Fix truncating files (internal) when already at the correct size (ipfs/go-ipfs#5253)
- Fix
dagTruncate
(internal) to preserve the node type (ipfs/go-ipfs#5216) - Add an internal interface for unixfs directories (ipfs/go-ipfs#5160)
- Refactor the CoreAPI path types and interfaces (ipfs/go-ipfs#4672)
- Refactor
precalcNextBuf
in the dag reader (ipfs/go-ipfs#5237) - Update a bunch of dependencies that haven't been updated for a while (ipfs/go-ipfs#5268)
Download:
- /ipfs/QmNuyz8s1MZHPBp3nu4hnAXJyXbyZXdVkJfKu38JiSv7KC/go-ipfs/v0.4.17/
- dist.ipfs.io
You can also download them from GitHub (but we recommend IPFS, obviously).