Skip to content

Latest commit

 

History

History
1559 lines (830 loc) · 68.2 KB

CHANGELOG.md

File metadata and controls

1559 lines (830 loc) · 68.2 KB

0.35.0-rc.1 (2019-03-20)

Bug Fixes

Features

Performance Improvements

0.35.0-rc.0 (2019-03-06)

Bug Fixes

Code Refactoring

Features

  • add --enable-preload to enable/disable preloading for daemons (#1909) (9470900)
  • limit connections number (#1872) (bebce7f)

BREAKING CHANGES

  • ipfs.util.isIPFS and ipfs.util.crypto have moved to static exports and should be accessed via const { isIPFS, crypto } = require('ipfs').

The modules available under ipfs.types.* have also become static exports.

License: MIT Signed-off-by: Alan Shaw alan.shaw@protocol.ai

  • ipfs.resolve now supports resolving to the middle of an IPLD block instead of erroring.

Given:

b = {"c": "some value"}
a = {"b": {"/": cidOf(b) }}

ipfs resolve /ipld/cidOf(a)/b/c should return /ipld/cidOf(b)/c. That is, it resolves the path as much as it can.

Previously it would simply fail with an error.

License: MIT Signed-off-by: Alan Shaw alan.shaw@protocol.ai

0.35.0-pre.0 (2019-02-11)

Bug Fixes

Chores

Features

BREAKING CHANGES

  • --local option has been renamed to --offline

0.34.4 (2019-01-24)

Features

  • support _dnslink subdomain specified dnslinks (#1843) (a17253e)

0.34.3 (2019-01-24)

Bug Fixes

  • add cors support for preload-mock-server and update aegir (#1839) (2d45c9d)

0.34.2 (2019-01-21)

Bug Fixes

  • race condition causing Database is not open error (#1834) (6066c97)

Features

0.34.1 (2019-01-21)

Features

0.34.0 (2019-01-17)

0.34.0-rc.1 (2019-01-15)

Bug Fixes

Code Refactoring

Features

BREAKING CHANGES

License: MIT Signed-off-by: Alan Shaw alan.shaw@protocol.ai

0.34.0-rc.0 (2018-12-18)

Bug Fixes

  • link to Github profile for David Dias (3659d7e)
  • streaming cat over http api (#1760) (3ded576)

Features

0.34.0-pre.0 (2018-12-07)

Bug Fixes

Code Refactoring

Features

Performance Improvements

BREAKING CHANGES

  • Object API refactor.

Object API methods that write DAG nodes now return a CID instead of a DAG node. Affected methods:

  • ipfs.object.new
  • ipfs.object.patch.addLink
  • ipfs.object.patch.appendData
  • ipfs.object.patch.rmLink
  • ipfs.object.patch.setData
  • ipfs.object.put

Example:

// Before
const dagNode = await ipfs.object.new()
// After
const cid = await ipfs.object.new() // now returns a CID
const dagNode = await ipfs.object.get(cid) // fetch the DAG node that was created

IMPORTANT: DAGNode instances, which are part of the IPLD dag-pb format have been refactored.

These instances no longer have multihash, cid or serialized properties.

This effects the following API methods that return these types of objects:

  • ipfs.object.get
  • ipfs.dag.get

See ipld/js-ipld-dag-pb#99 for more information.

License: MIT Signed-off-by: Alan Shaw alan.shaw@protocol.ai

  • Files API methods add*, cat*, get* have moved from files to the root namespace.

Specifically, the following changes have been made:

  • ipfs.files.add => ipfs.add
  • ipfs.files.addPullStream => ipfs.addPullStream
  • ipfs.files.addReadableStream => ipfs.addReadableStream
  • ipfs.files.cat => ipfs.cat
  • ipfs.files.catPullStream => ipfs.catPullStream
  • ipfs.files.catReadableStream => ipfs.catReadableStream
  • ipfs.files.get => ipfs.get
  • ipfs.files.getPullStream => ipfs.getPullStream
  • ipfs.files.getReadableStream => ipfs.getReadableStream

License: MIT Signed-off-by: Alan Shaw alan.shaw@protocol.ai

0.33.1 (2018-11-05)

Bug Fixes

0.33.0 (2018-11-01)

0.33.0-rc.4 (2018-11-01)

Bug Fixes

Chores

Features

  • add support to pass config in the init cmd (#1662) (588891c)
  • get Ping to work properly (27d5a57)

BREAKING CHANGES

  • dag-cbor nodes now represent links as CID objects

The API for dag-cbor changed. Links are no longer represented as JSON objects ({"/": "base-encoded-cid"}, but as CID objects. ipfs.dag.get() and now always return links as CID objects. ipfs.dag.put() also expects links to be represented as CID objects. The old-style JSON objects representation is still supported, but deprecated.

Prior to this change:

const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as JSON object representation
const putCid = await ipfs.dag.put({link: {'/': cid.toBaseEncodedString()}})
const result = await ipfs.dag.get(putCid)
console.log(result.value)

Output:

{ link:
   { '/':
      <Buffer 12 20 8a…> } }

Now:

const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
// Link as CID object
const putCid = await ipfs.dag.put({link: cid})
const result = await ipfs.dag.get(putCid)
console.log(result.value)

Output:

{ link:
   CID {
     codec: 'dag-pb',
     version: 0,
     multihash:
      <Buffer 12 20 8a…> } }

See ipld/ipld#44 for more information on why this change was made.

  • remove types.dagCBOR and types.dagPB from public API

If you need the ipld-dag-cbor or ipld-dag-pb module in the Browser, you need to bundle them yourself.

0.33.0-rc.3 (2018-10-24)

0.33.0-rc.2 (2018-10-23)

0.33.0-rc.1 (2018-10-19)

Bug Fixes

Features

0.32.3 (2018-09-28)

Bug Fixes

0.32.2 (2018-09-19)

Bug Fixes

0.32.1 (2018-09-18)

Bug Fixes

Performance Improvements

0.32.0 (2018-09-11)

Bug Fixes

Features

  • 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

0.31.7 (2018-08-20)

Bug Fixes

0.31.6 (2018-08-17)

Features

  • adds data-encoding argument to control data encoding (#1420) (1eb8485)

0.31.5 (2018-08-17)

Bug Fixes

0.31.4 (2018-08-09)

Bug Fixes

0.31.3 (2018-08-09)

Bug Fixes

0.31.2 (2018-08-02)

Bug Fixes

  • fix content-type by doing a fall-back using extensions (#1482) (d528b3f)

0.31.1 (2018-07-29)

Bug Fixes

  • logo link (a9219ad)
  • XMLHTTPRequest is deprecated and unavailable in service workers (#1478) (7d6f0ca)

0.31.0 (2018-07-29)

Bug Fixes

Features

Reverts

0.30.1 (2018-07-17)

Bug Fixes

0.30.0 (2018-07-09)

Bug Fixes

Features

Performance Improvements

BREAKING CHANGES

  • libp2p configuration has changed

    • old: libp2p.modules.discovery
    • new: libp2p.modules.peerDiscovery

License: MIT Signed-off-by: David Dias mail@daviddias.me

License: MIT Signed-off-by: Alan Shaw alan@tableflip.io

0.29.3 (2018-06-04)

Bug Fixes

  • repo: do not hang on calls to repo gc (9fff46f)

0.29.2 (2018-06-01)

Bug Fixes

  • adds missing breaking changes for 0.29 to changelog (#1370) (61ba99e)
  • dont fail on uninitialized repo (#1374) (6f0a95b)

0.29.1 (2018-05-30)

Bug Fixes

  • check for repo uninitialized error (dcf5ea5)
  • update ipfs-repo errors require (4d1318d)

0.29.0 (2018-05-29)

Bug Fixes

  • Add ipfs path to cli help (64c3bfb)
  • change ^ to ~ on 0.x.x deps (#1345) (de95989)
  • change default config from JSON file to JS module to prevent having it doubly used (#1324) (c3d2d1e), closes #1316
  • changes peer prop in return value from swarm.peers to be a PeerId (#1252) (e174866)
  • configure webpack to not use esmodules in dependencies (4486acc)
  • Display error when using unkown cli option (a849d2f)
  • docker init script sed in non existent file (#1246) (75d47c3)
  • files.add with pull streams (0e601a7)
  • make pubsub.unsubscribe async and alter pubsub.subscribe signature (a115829)
  • remove unused var (#1273) (c1e8db1)
  • typo (#1367) (2679129)
  • use async/setImmediate vs process.nextTick (af55608)

Features

  • .stats.bw* - Bandwidth Stats (#1230) (9694925)
  • add ability to files.cat with a cid instance (2e332c8)
  • Add support for specifying hash algorithms in files.add (a2954cb)
  • allow dht to be enabled via cli arg (#1340) (7bb838f)
  • Allows for byte offsets when using ipfs.files.cat and friends to request slices of files (a93971a)
  • Circuit Relay (#1063) (f7eaa43)
  • cli: add IPFS_PATH info to init command help (#1274) (e189b72)
  • handle SIGHUP (7a817cf)
  • ipfs.ping cli, http-api and core (#1342) (b8171b1)
  • jsipfs add --only-hash (#1233) (#1266) (bddc5b4)
  • Provide access to bundled libraries when in browser (#1297) (4905c2d)
  • use class-is for type checks (5b2cf8c)
  • wrap with directory (#1329) (47285a7)

Performance Improvements

  • cli: load only sub-system modules and inline require ipfs (3820be0)

BREAKING CHANGES

  1. Argument order for pubsub.subscribe has changed:
    • Old: pubsub.subscribe(topic, [options], handler, [callback]): Promise
    • New: pubsub.subscribe(topic, handler, [options], [callback]): Promise
  2. The pubsub.unsubscribe method has become async meaning that it now takes a callback or returns a promise:
    • Old: pubsub.unsubscribe(topic, handler): undefined
    • New: pubsub.unsubscribe(topic, handler, [callback]): Promise
  3. Property names on response objects for ping are now lowered:
    • Old: { Success, Time, Text }
    • New: { success, time, text }
  4. In the CLI, jsipfs object data no longer returns a newline after the end of the returned data

0.28.2 (2018-03-14)

Bug Fixes

  • match error if repo doesnt exist (#1262) (aea69d3)
  • reinstates the non local block check in dht.provide (#1250) (5b736a8)

Features

0.28.1 (2018-03-09)

Bug Fixes

0.28.0 (2018-03-01)

Bug Fixes

  • cli: show help for subcommands (8c63f8f)
  • (cli/init) use cross-platform path separator (bbb7cc5)
  • dag: print data in a readable way if it is JSON (42545dc)
  • bootstrap (d527b45)
  • now properly fix bootstrap in core (9f39a6f)
  • Remove scape characteres from error message. (68e7b5a)
  • Return swarm http errors as json (d3a0ae1), closes #1176
  • stats tests (a0fd355)
  • use "ipld" instead of "ipld-resolver" (e7f0432)

Features

0.27.7 (2018-01-16)

Features

0.27.6 (2018-01-07)

Bug Fixes

0.27.5 (2017-12-18)

Bug Fixes

0.27.4 (2017-12-13)

Bug Fixes

  • files.cat: detect and handle rrors when unknown path and cat dir (#1143) (120d291)
  • fix bug introduced by 1143 (#1146) (12cdc08)

0.27.3 (2017-12-10)

Bug Fixes

0.27.2 (2017-12-09)

0.27.1 (2017-12-07)

Bug Fixes

  • pubsub.peers: remove the requirement for a topic (#1125) (5601c26)

0.27.0 (2017-12-04)

Bug Fixes

Features

0.26.0 (2017-09-13)

Bug Fixes

Features

  • Add --cid-version option to ipfs files add + decodeURIComponent for file and directory names (7544b7b)
  • add gateway to ipfs daemon (9f2006e), closes #1006 #1008 #1009
  • adds quiet flags (#1001) (d21b492)
  • complete the migration to p2p-webrtc-star (#984) (1e5dd2c)

0.25.4 (2017-09-01)

Features

  • add multiaddrs for bootstrapers gateway (a15bee9)

0.25.3 (2017-09-01)

Bug Fixes

  • config, dangling comma (4eb63c5)
  • only show connected addrs for peers in swarm.peers (d939323)
  • remove shutdown bootstrapers from bootstrappers list (5ec27a3)

Features

0.25.2 (2017-08-26)

0.25.1 (2017-07-26)

Bug Fixes

Features

0.25.0 (2017-07-12)

Bug Fixes

  • bootstrap:add: prevent duplicate inserts (#893) (ce504cd)
  • swarm: move isConnected filter from addrs to peers (#901) (e2f371b)
  • circle ci, thanks victor! (b074966)
  • do not let lodash mess with libp2p modules (1f68b9b)
  • is online is only online if libp2p is online (#891) (8b0f996)
  • issue #905 (#906) (cbcf90e)
  • setImmediate polyfilled in node.id() (#909) (ebaf9a0)
  • succeed when stopping already stopped (74f3185)

Features

0.24.1 (2017-05-29)

0.24.0 (2017-05-24)

Bug Fixes

  • cli flag typos (c5bb0b9)
  • example, now files from datatransfer is a FileList which is not an array (d7c9eec)
  • issue-858 (481933a)
  • last touches for dns websockets bootstrapers (3b680a7)
  • linting (68ee42e)
  • make start an async event (78ba1e8)
  • missing import (6aa914d)
  • options to the HTTP API (f1eb595)
  • removed hard-coded timeout on test and liting fixes (0a3bbcb)
  • run webworker tests (23c84f6)
  • object.get: treat ipfs hash strings as default base58 encoded (7b3caef)
  • update bootstrapers (7e7d9eb)

Features

  • add dns ws bootstrappers (a856578)
  • add WebRTC by default as a multiaddr (4ea1571)
  • add websocket bootstrapers to the config (602d033)
  • DHT integration PART I (860165c)
  • new libp2p-api (7bf75d1)
  • update to new libp2p events for peers (ca88706)
  • update to the latest libp2p (aca4297)

0.23.1 (2017-03-27)

Bug Fixes

  • added backpressure to the add stream (#810) (31dbabc)

0.23.0 (2017-03-24)

Bug Fixes

  • files.add: error on invalid input (#782) (c851ca0)
  • give the daemon time to spawn (2bf32cd)
  • linting on transfer-files example (f876171)
  • offer an init event to monitor when repo is there and avoid setTimeout (c4130b9)
  • pull-stream-to-stream replaced with duplex stream (#809) (4b064a1)

Features

  • bootstrap is enabled by default now (64cde5d)
  • bootstrap is enabled by default now (2642417)
  • datastore, ipfs-block and all the deps that were updated (68d92b6)
  • no need anymore to append ipfs/Qmhash to webrtc-star multiaddrs (a77ae3c)

0.22.1 (2017-02-24)

Bug Fixes

  • interop tests with multiplex passing (cb109fc)

Features

  • core: allow IPFS object to be created without supplying configOpts (f620d71)
  • deps: update multiplex libp2p-ipfs deps (5605148)

0.22.0 (2017-02-15)

Bug Fixes

  • lint (ffc120a)
  • make sure all deps are up to date, expose Buffer type (7eb630d)
  • readable-stream needs to be 1.1.14 (e999f05)
  • tidy dag cli up (b90ba76)

Features

0.21.8 (2017-01-31)

Features

  • add CLI support for different hash func and type (#748) (a6c522f)

0.21.7 (2017-01-30)

Bug Fixes

0.21.6 (2017-01-29)

Features

0.21.5 (2017-01-29)

Bug Fixes

  • differenciate default config in browser and in node (#734) (17ccc8b)

0.21.4 (2017-01-28)

Bug Fixes

  • ipfs.id does not double append ipfs/ anymore (#732) (718394a)

0.21.3 (2017-01-25)

0.21.2 (2017-01-23)

0.21.1 (2017-01-23)

0.21.0 (2017-01-17)

Bug Fixes

  • point to a specific go-ipfs version (still waiting for another 0.4.5 pre release though (19dbb1e)

0.20.4 (2016-12-26)

Bug Fixes

  • bitswap wantlist http endpoint (58f0885)
  • bitswap wantlist stats (9db86f5)
  • change default values of js-ipfs to avoid clash with go-ipfs + clean the browserify example (6d52e1c)
  • npm scripts (eadcec0)
  • pass a first arg to bitswap to be removed after new bitswap is merged, so that tests pass now (bddcee7)

Features

  • init: add empty unixfs dir to match go-ipfs (a967bb0)
  • object: add template option to object.new (9058118)
  • add multicastdns to the mix (c2ddefb)

0.20.2 (2016-12-09)

Bug Fixes

  • cli: Tell user to init repo if not initialized when starting daemon (fa7e275)

0.20.1 (2016-11-28)

0.19.0 (2016-11-26)

Bug Fixes

  • addLink and rmLink (7fad4d8)
  • apply CR (698f708)
  • lint: install missing plugin (20e3d2e)
  • lint: use eslint directly (443dd9e)
  • lint and polish: add a little more comments (d6ce83d)

Features

  • cli: migrate to awesome-dag-pb (3bb3ba8)
  • core: migrate to awesome dag-pb (db550a1)
  • examples: add a getting-started example (7485ac5)
  • http: migrate to awesome dag-pb (ca9935f)
  • swarm: update swarm.peers to new api (265a77a)

0.18.0 (2016-11-12)

Bug Fixes

  • async .key (2d2185b)
  • don't break backwards compatibility on the Block API (3674b8e)
  • cli: alias add, cat and get to top-level cli (6ad325b)

Features

  • block API uses CIDs (2eeea35)
  • migrate cli to use new async DAGNode interface (1b0b22d)
  • migrate core to use new async DAGNode interface (254afdc)
  • migrate files to use IPLD Resolver (0fb1a1a)
  • migrate http-api to use new async DAGNode interface (01e56ec)
  • migrate init to IPLD resolver (61d1084)
  • object API internals updated to use CID (5cb10cc)
  • update cli and http to support new ipld block api with IPLD (5dbb799)
  • http: better error messages (cd7f77d)
  • http: set default headers for browsers (6a21cd0)

0.17.0 (2016-10-10)

Bug Fixes

  • cli: Fix issue with right cwd not being set (e5f5e1b)
  • deps: move blob stores to dependencies (8f33d11)
  • files.get: fix the command (7015586)

Features

  • http-api: add joi validation to bootstrap (028a98c)

0.16.0 (2016-09-15)

Bug Fixes

  • cli: add output for cli init (29c9793)
  • always use files.cat (5b8da13)
  • cli: make ipfs files add work online and offline (3edc2b9), closes #480
  • cli: pipe content to the cli from cat it is a stream (3e4e2fd)
  • cli: use right argument for cli .cat (2bf49ea)
  • cli: use right argument for cli .cat (dd3fe88)
  • config: better http-api and interface-ipfs-core compliant (2beac9c)
  • http: get handler reads the stream (b0a6db9)
  • swarm: fix cli commands and enable tests (6effa19)
  • version: better http-api and interface-ipfs-core compliant (0ee7215)

Features

  • add: add the http endpoint for files.add (e29f429)
  • files: get interface-ipfs-core files tests pass through http-api (11cb4ca)
  • files: interface-ipfs-core tests over ipfs-api (001a6eb)
  • swarm: interface-ipfs-core swarm compatibility (3b32dfd)
  • swarm: make interface-ipfs-core compliant (ef729bb), closes #439
  • tests: waste less time generating keys (cb10ab7)

0.15.0 (2016-09-09)

Bug Fixes

  • cli: fix the files API commands (138f519)
  • config: support null values (0 or empty string) on get and set (a3d98a8)
  • repo: init does not break if no opts are passed. Fixes #349 (ca700cc)
  • style: apply CR (97af048)
  • test: make the version test fetch the version from package.json instead of a hardcoded value (50c9f7c)

Features

  • bitswap tests, config, id: cope with the nuances of the config API (.replace) and make necessary changes to make it all work again (cc0c8fd)
  • block-core: add compliance with interface-ipfs-core on block-API (5e6387d)
  • block-http: tests passing according with compliance (a4071f0)
  • config: make the config impl spec compliant (76b6670)
  • config-http: return error if value is invalid (f7a668d)
  • factory: add ipfs factory to files (eba0398)
  • factory: add ipfs factory, verify it works with object tests (3db096e)
  • files.add: update API to conform latest interface-ipfs-core updates (28b0bb7)
  • http: Refactor inject tests, made them all pass again (31f673d)
  • http: refactor ipfs-api tests and make them all pass again (56904fd)
  • object-http: support protobuf encoded values (5f02303)
  • roadmap: update (418660f)
  • roadmap: update roadmap ms2 with extra added goals (ac5352e)
  • disable PhantomJS (921b11e)
  • tests: all tests running (44dba6c)
  • tests: factory-http (08a4b19)

0.14.3 (2016-08-10)

Features

  • interface: update interface-ipfs-core to v0.6.0 (d855740)

0.14.2 (2016-08-09)

Bug Fixes

  • upgrade aegir and ensure glob is mocked (3c70eaa), closes #354 #353
  • cli: replace ronin with yargs (cba42ca), closes #331
  • version: return actual js-ipfs version (6377ab2), closes #377
  • use static version of package.json (3ffdc27)

Features

  • update all dependencies (b90747e)

0.14.1 (2016-06-29)

0.14.0 (2016-06-27)

0.13.0 (2016-06-07)

0.12.0 (2016-06-06)

Bug Fixes

  • handle new wantlist format (7850dbb)

0.11.1 (2016-05-30)

0.11.0 (2016-05-27)

0.10.3 (2016-05-26)

0.10.2 (2016-05-26)

Bug Fixes

  • use passed in repo location in the browser (4b55102)

0.10.1 (2016-05-25)

0.10.0 (2016-05-24)

0.9.0 (2016-05-24)

0.8.0 (2016-05-23)

0.7.0 (2016-05-21)

0.6.1 (2016-05-19)

0.6.0 (2016-05-19)

0.5.0 (2016-05-16)

Bug Fixes

  • files:add: simplify checkPath (46d9e6a)
  • files:get: simplify checkArgs (7f89bfb)
  • http:object: proper handling of empty args (9763f86)

Features

  • integrate libp2p-ipfs-browser (6022b46)
  • make core/object satisfy interface-ipfs-core (96013bb)

0.4.10 (2016-05-08)

Bug Fixes

  • cli: self host cmds listing (a415dc1)
  • core: consistent repo.exists checks (3d1e6b0)

0.4.9 (2016-04-28)

0.4.8 (2016-04-28)

0.4.7 (2016-04-25)

0.4.6 (2016-04-22)

0.4.4 (2016-03-22)

0.4.3 (2016-03-21)

0.4.2 (2016-03-21)

0.4.1 (2016-03-16)

0.4.0 (2016-02-23)

0.3.1 (2016-02-19)

0.3.0 (2016-02-03)

0.2.3 (2016-01-31)

0.2.2 (2016-01-28)

0.2.1 (2016-01-28)

0.2.0 (2016-01-27)

0.0.3 (2016-01-15)

0.0.2 (2016-01-11)