0.22.3 (2021-08-11)
0.22.2 (2021-04-07)
0.22.1 (2021-03-12)
- types again (e103337)
0.22.0 (2021-03-11)
- test types (8dc8301)
0.21.1 (2021-03-03)
0.21.0 (2021-02-18)
is-class
is not longer used, useinstanceof
instead
The DAGNode.isDAGNode()
and DAGLink.isDAGLink()
methods no longer exist,
use instanceof DAGNode
and instanceof DAGLink
instead.
Please note that the newly added TypeScript types might lead to warnings/errors if you use it in a TypeScript types checking environment.
0.20.0 (2020-08-04)
- replace node Buffers with Uint8Arrays (bef3f26)
-
dagNode.Data
can now be aUint8Array
0.19.0 (2020-07-09)
- package: backwards compatible pure data model API (0f11d5c)
0.18.5 (2020-04-24)
- revert stable module removal (8640b22)
0.18.4 (2020-04-21)
- cleanup and remove deps (886b06d)
- encode with multibase (f709ec9)
- native sort is stable now (3048e3e)
- remove node globals (98d9ac6)
- package: update cids to version 0.8.0 (aa2709b)
0.18.3 (2020-03-12)
- remove use of assert module (497850d)
0.18.2 (2020-01-13)
- package: update multicodec to version 1.0.0 (f0fee49)
- package: update multihashing-async to version 0.8.0 (244665a)
0.18.1 (2019-08-19)
- serialization and size portability problems (f348cb8)
0.18.0 (2019-07-29)
- make addLink()/rmLink() instance methods (a9aa0a0)
- remove cloning (d5e1135)
- remove DAGNode.create() (029174d), closes #132
- remove manual enumerability modifications (37ffdd5), closes #152
- remove named links from object (4dbe00d)
addLink()
andrmLink()
are now instance methods.
Prior to this change:
DAGNode.addLink(node, link)
DAGNode.rmLink(node, name)
Now:
node.addLink(link)
node.rmLink(name)
- It's no longer possible to pass a
DAGNode
intoaddLink()
.
Intead of passing in a DAGNode
into addLink()
, convert that node into
a DAGLink
via toDAGLink()
.
Example:
Prior to this change:
const node = new DAGNode('some data')
const node2 = new DAGNode('use that as link')
await DAGNode.addLink(node, node2)
Now:
const node = new DAGNode('some data')
const node2 = new DAGNode('use that as link')
DAGNode.addLink(node, await node2.toDAGLink())
- DAGNode.create() is removed
Instead of DAGNode.create()
, please use new DAGNode()
instead. It
takes the same parameters and is compatible to create()
.
Example:
Prior to this change:
const node = DAGNode.create('some data', links)
Now:
const node = new DAGNode('some data', links)
DAGNode.clone()
is removed from public API without any replacement.
Also the API for rmLink()
and addLink()
changed. They no longer
return a new node, but just remove/add the links to/from the current
node.
Prior to this change:
const lessLinks = DAGNode.rmLink(node1, 'Link1')
node1 = lessLinks
const moreLinks = await DAGNode.addLink(node2, link)
node2 = moreLinks
Now:
DAGNode.rmLink(node, 'Link1')
await DAGNode.addLink(node2, link)
- named links are no longer part of an object
Access to named links is only possible with calling resolve()
.
Hence they are also not part of tree()
anymore.
Named links are a feature of IPFS and only supported for backwards compatibility, they are not really part of IPLD.
0.17.4 (2019-05-22)
- actually use object keys (a411eeb)
0.17.3 (2019-05-20)
- named links should return the CID (ee96d28)
0.17.2 (2019-05-20)
- support .Size property (30b5d55)
0.17.1 (2019-05-17)
- allow adding links from DAGNode.Links (a5d300f)
0.17.0 (2019-05-10)
- package: update cids to version 0.7.0 (2afca2c)
- package: Returned v1 CIDs now default to base32 encoding
Previous versions returned a base58 encoded string when toString()
/
toBaseEncodedString()
was called on a CIDv1. It now returns a base32
encoded string.
0.16.0 (2019-05-08)
- package: update multihashing-async to version 0.6.0 (63b7986)
- new IPLD Format API (1de1bcc)
- The API is now async/await based
There are numerous changes, the most significant one is that the API is no longer callback based, but it using async/await.
The properties of DAGNode and DAGLink are now in sync with the paths
that are used for resolving. This means that e.g. name
is now called
Name
and size
is Tsize
.
All return values from resolve()
now conform to the IPLD Data Model,
this means that e.g. links are no longer represented as
{'/': "baseecodedcid"}
, but as CID instances instead.
For the full new API please see the IPLD Formats spec.
0.15.3 (2019-03-13)
0.15.2 (2018-12-17)
- memoize the Name buffer in DAGLink to avoid unneeded allocations (83edf36)
0.15.1 (2018-12-11)
- remove unneeded Buffer.from() call during deserialize (4632596)
0.15.0 (2018-11-09)
-
fixes #97 by not sorting DAGNode links unnecessarily (e5d5d34)
-
BREAKING CHANGE: Remove .cid, .multihash and .serialized properties (#99) (39cfef1), closes #99 /github.com/ipld/js-ipld/issues/173#issuecomment-434408680
-
These properties are removed from the DAGNode class.
-
.multihash
is removed because they aren't multihashes any more -
.cid
is removed to bring dag-pb in line with other ipld types -
.serialized
is removed because storing data buffers and the serialized form uses too much memory - we can use the utils.serialize method to create the serialized form when we need it, which in this module is just during the tests
.multihash
has also changed to .cid
in the output of
DAGLink.toJSON
and DAGNode.toJSON
because since CIDv1 they are
not just multihashes any more; the multihash is contained within
the CID.
0.14.11 (2018-10-26)
- expose cid property on DAGLinks and DAGNodes (af3b44d), closes /github.com/ipld/js-ipld-dag-pb/pull/81#issuecomment-410681495
0.14.10 (2018-09-24)
0.14.9 (2018-09-24)
0.14.8 (2018-08-13)
- allow mutating returned .toJSON value (d8239ad), closes ipld/js-ipld-dag-pb#81
0.14.7 (2018-08-13)
- support cids in DagLink (4c701aa)
- make this._json calculation lazy (d138c95)
0.14.6 (2018-07-20)
0.14.5 (2018-06-29)
- the first argument is now the serialized output NOT the dag node. See ipld/interface-ipld-format#32
0.14.4 (2018-04-25)
- Initialise the DAGLink name to empty string if a falsey value is passed (575a03f)
0.14.3 (2018-04-16)
0.14.2 (2018-04-11)
0.14.1 (2018-04-10)
0.14.0 (2018-04-09)
- replace constructor.name with instanceof (881d572)
- use class-is module for type checks (621c12c)
0.13.1 (2018-02-26)
- return deserialized node if no path is given (bcba192)
0.13.0 (2018-02-12)
0.12.0 (2018-02-12)
- Everyone calling the functions of
resolve
need to pass in the binary data instead of an IPFS block.
So if your input is an IPFS block, the code changes from
resolver.resolve(block, path, (err, result) => {…}
to
resolver.resolve(block.data, path, (err, result) => {…}
0.11.4 (2017-12-02)
0.11.3 (2017-11-07)
0.11.2 (2017-09-07)
0.11.1 (2017-09-05)
0.11.0 (2017-03-21)
- upgrade to new ipld-block and blockservice (1dd4dd2)
0.10.1 (2017-03-16)
0.10.0 (2017-03-13)
- change window to self for webworker support (a68d50e)
- ww: Full support for webworkers (e073e08)
- update isCID to isLink by spec (df759c8)
0.9.5 (2017-02-09)
- package: update is-ipfs to version 0.3.0 (2620f9d)
0.9.4 (2017-01-29)
0.9.3 (2016-12-07)
- detect when unvalid dagPB node (068b1e2)
0.9.2 (2016-12-01)
0.9.1 (2016-11-24)
- ensure empty link names are preserved (ad11b7a)
- fixtures loading in the browser (405dd01)
- linting (d51245c)
- sort links in creation (8519b3b)
- use aegir fixtures instead (c492997)
0.9.0 (2016-11-24)
- apply code review (2b1a356)
- DAGLink tests (eec00da)
- serialization of empty node (ae71f26)
- that linting (301d0b0)
- refactor: new API proposal (b56d797)
- add a same create pattern api for DAGLink (6a3531d)
- IPLD Resolver updated, all tests passing (f53e0c8)
- refactor, structure code, make DAGNode funcs inside the same folder, make tests pass again (ea904a7)
- update DAGLink and DAGNode to have an immutable API (4bdb48b)
0.8.0 (2016-11-03)
0.3.0 (2016-11-03)
0.2.0 (2016-11-03)
0.1.3 (2016-10-27)
- toJSON should return multihash as a b58String (3c34563)
0.1.2 (2016-10-26)
- do not call callbacks inside try catch blocks (9cc237e)
0.1.1 (2016-10-26)
- size func (655a964)
- dag-node: ensure links are always DAGLinks (219cf5d)
- deps: add missing pull-stream dependency (5ef7176)
- browser testing (dixie problem) (0c98929)
- do not convert existing daglinks (0e4361f)
- generate cid (6165a91)
- let utils be utils (82fc2fe)
- migrate dag-node size, multihash and util serialize, deserialize and cid to async from sync (d2bf303)
- migrate resolver to async API (2d3d220)
- new util API, move serialize, deserialize and cid out (473a991)
- resolver, tree + tests (23ba424)
- s/copy/clone, simplify internal API (encoded stuff) and update tests to understand cid (bbb5ab9)
- yield remainderPath if not possible to result through (680bf4e)
0.7.3 (2016-09-09)
0.7.2 (2016-09-09)
0.7.1 (2016-09-09)
- deps: add missing pull-stream dependency (5ef7176)