UNPKG

111 kBMarkdownView Raw
1# Change Log
2
3All notable changes to this project will be documented in this file.
4See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
6## [0.48.2](https://github.com/ipfs/js-ipfs/compare/ipfs@0.48.1...ipfs@0.48.2) (2020-08-06)
7
8**Note:** Version bump only for package ipfs
9
10
11
12
13
14## [0.48.1](https://github.com/ipfs/js-ipfs/compare/ipfs@0.48.0...ipfs@0.48.1) (2020-07-21)
15
16
17### Bug Fixes
18
19* update bitswap to fix [#3182](https://github.com/ipfs/js-ipfs/issues/3182) and crypto for go-ipfs interop ([9fdbde8](https://github.com/ipfs/js-ipfs/commit/9fdbde80e976063ab56410a4d8af1ba955e32307))
20
21
22
23
24
25# [0.48.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.47.0...ipfs@0.48.0) (2020-07-16)
26
27
28### Bug Fixes
29
30* do not list raw nodes in a dag as directories ([#3155](https://github.com/ipfs/js-ipfs/issues/3155)) ([585a142](https://github.com/ipfs/js-ipfs/commit/585a142d3c2317e80f37d6195ce24ed3146112e5))
31* error when no command specified ([#3145](https://github.com/ipfs/js-ipfs/issues/3145)) ([4309e10](https://github.com/ipfs/js-ipfs/commit/4309e1004bb77ee276b57228c35a921fb780a227))
32* optional arguments go in the options object ([#3118](https://github.com/ipfs/js-ipfs/issues/3118)) ([8cb8c73](https://github.com/ipfs/js-ipfs/commit/8cb8c73037e44894d756b70f344b3282463206f9))
33* peer ids are strings now ([#3162](https://github.com/ipfs/js-ipfs/issues/3162)) ([281bfe6](https://github.com/ipfs/js-ipfs/commit/281bfe60f079011d0ada783a82d1f030d08a89f2))
34* still load dag-pb, dag-cbor and raw when specifying custom formats ([#3132](https://github.com/ipfs/js-ipfs/issues/3132)) ([a96e3bc](https://github.com/ipfs/js-ipfs/commit/a96e3bc9e3763004beafc24b98efa85ffa665622)), closes [#3129](https://github.com/ipfs/js-ipfs/issues/3129)
35* unhandledpromiserejection in electron tests ([#3146](https://github.com/ipfs/js-ipfs/issues/3146)) ([4c0c67f](https://github.com/ipfs/js-ipfs/commit/4c0c67f023c75bbcb56b0520b31f1334480a5130))
36* use post for preloading ([#3149](https://github.com/ipfs/js-ipfs/issues/3149)) ([c9700f7](https://github.com/ipfs/js-ipfs/commit/c9700f78cefc523f6140361a90099c4991b427a7))
37
38
39### Features
40
41* add interface and http client versions to version output ([#3125](https://github.com/ipfs/js-ipfs/issues/3125)) ([65f8b23](https://github.com/ipfs/js-ipfs/commit/65f8b23f550f939e94aaf6939894a513519e6d68)), closes [#2878](https://github.com/ipfs/js-ipfs/issues/2878)
42* add size-only flag to cli repo stat command ([#3143](https://github.com/ipfs/js-ipfs/issues/3143)) ([b4d3bf8](https://github.com/ipfs/js-ipfs/commit/b4d3bf80e7cd5820e2561fc957a9f0f17235df05))
43* enable DHT by Routing.Type config key ([#3153](https://github.com/ipfs/js-ipfs/issues/3153)) ([dfe15d7](https://github.com/ipfs/js-ipfs/commit/dfe15d7422579afce8860f6321575454826d1844))
44* store blocks by multihash instead of CID ([#3124](https://github.com/ipfs/js-ipfs/issues/3124)) ([03b17f5](https://github.com/ipfs/js-ipfs/commit/03b17f5e2d290e84aa0cb541079b79e468e7d1bd))
45* turn on delegate nodes by default ([#3148](https://github.com/ipfs/js-ipfs/issues/3148)) ([3fd2ca8](https://github.com/ipfs/js-ipfs/commit/3fd2ca8c7bb3a907cc74d48516481fae01d47327))
46
47
48
49
50
51# [0.47.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.46.0...ipfs@0.47.0) (2020-06-24)
52
53
54### Bug Fixes
55
56* libp2p now requires encryption module ([#3085](https://github.com/ipfs/js-ipfs/issues/3085)) ([c567282](https://github.com/ipfs/js-ipfs/commit/c56728209f0eea63d00c68163c74cfdd350de69c))
57
58
59### Features
60
61* add config.getAll ([#3071](https://github.com/ipfs/js-ipfs/issues/3071)) ([16587f1](https://github.com/ipfs/js-ipfs/commit/16587f16e1b3ae525c099b1975748510638aceee))
62* libp2p noise as fallback for secio ([#3074](https://github.com/ipfs/js-ipfs/issues/3074)) ([660d3db](https://github.com/ipfs/js-ipfs/commit/660d3db9a47bff652057762b52a25529ab37117f))
63* persist peerstore ([#3072](https://github.com/ipfs/js-ipfs/issues/3072)) ([b404974](https://github.com/ipfs/js-ipfs/commit/b40497427b7d33f52803c8fa14cc73be7f872d65))
64* webui v2.9.0 ([#3054](https://github.com/ipfs/js-ipfs/issues/3054)) ([5d9d331](https://github.com/ipfs/js-ipfs/commit/5d9d331ed42f3ac9efc243878011db871b742a4e))
65
66
67
68
69
70# [0.46.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.45.0...ipfs@0.46.0) (2020-06-05)
71
72
73### Bug Fixes
74
75* handle optional key to config.get ([#3069](https://github.com/ipfs/js-ipfs/issues/3069)) ([d043138](https://github.com/ipfs/js-ipfs/commit/d043138be2c0c7fd458131d56e235edec1504ca3))
76
77
78### Features
79
80* sync with go-ipfs 0.5 ([#3013](https://github.com/ipfs/js-ipfs/issues/3013)) ([0900bb9](https://github.com/ipfs/js-ipfs/commit/0900bb9b8123edb689a137a006c5507d8503f693))
81
82
83
84
85
86# [0.45.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.44.0...ipfs@0.45.0) (2020-05-29)
87
88
89### Features
90
91* upgrade bitswap to use 1.2.0 and better wantlist performance ([18283dd](https://github.com/ipfs/js-ipfs/commit/18283dd8fb70af5ed93236482b2a5f89515c24e0))
92
93
94
95
96
97# [0.44.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.43.3...ipfs@0.44.0) (2020-05-18)
98
99
100### Bug Fixes
101
102* fixes browser script tag example ([#3034](https://github.com/ipfs/js-ipfs/issues/3034)) ([ee8b769](https://github.com/ipfs/js-ipfs/commit/ee8b769b96f7e3c8414bbf85853ab4e21e8fd11c)), closes [#3027](https://github.com/ipfs/js-ipfs/issues/3027)
103* remove ipld all formats and fix traverse ipld example ([#3025](https://github.com/ipfs/js-ipfs/issues/3025)) ([e6079c1](https://github.com/ipfs/js-ipfs/commit/e6079c17d5656e92dd5191f0581000c6a782c7ed))
104* remove node globals ([#2932](https://github.com/ipfs/js-ipfs/issues/2932)) ([d0d2f74](https://github.com/ipfs/js-ipfs/commit/d0d2f74cef4e439c6d2baadba1f1f9f52534fcba))
105
106
107### Features
108
109* cancellable api calls ([#2993](https://github.com/ipfs/js-ipfs/issues/2993)) ([2b24f59](https://github.com/ipfs/js-ipfs/commit/2b24f590041a0df9da87b75ae2344232fe22fe3a)), closes [#3015](https://github.com/ipfs/js-ipfs/issues/3015)
110
111
112
113
114
115## [0.43.3](https://github.com/ipfs/js-ipfs/compare/ipfs@0.43.2...ipfs@0.43.3) (2020-05-05)
116
117**Note:** Version bump only for package ipfs
118
119
120
121
122
123## [0.43.2](https://github.com/ipfs/js-ipfs/compare/ipfs@0.43.1...ipfs@0.43.2) (2020-05-05)
124
125
126### Bug Fixes
127
128* pass headers to request ([#3018](https://github.com/ipfs/js-ipfs/issues/3018)) ([3ba00f8](https://github.com/ipfs/js-ipfs/commit/3ba00f8c6a8a057c5776d539a671a74d9565fb29)), closes [#3017](https://github.com/ipfs/js-ipfs/issues/3017)
129
130
131
132
133
134## [0.43.1](https://github.com/ipfs/js-ipfs/compare/ipfs@0.43.0...ipfs@0.43.1) (2020-04-28)
135
136
137### Bug Fixes
138
139* correct dht reference in ipns routing ([#2996](https://github.com/ipfs/js-ipfs/issues/2996)) ([d2579c0](https://github.com/ipfs/js-ipfs/commit/d2579c0e8f1e81c1a2df578d46459c7a1eeeba53))
140
141
142### Features
143
144* webui v2.7.5, with feeling ([#2984](https://github.com/ipfs/js-ipfs/issues/2984)) ([2e0a114](https://github.com/ipfs/js-ipfs/commit/2e0a1144d9405f1a34fcd038361ad075968d841f))
145
146
147
148
149
150# [0.43.0](https://github.com/ipfs/js-ipfs/compare/ipfs@0.42.1...ipfs@0.43.0) (2020-04-16)
151
152
153### Bug Fixes
154
155* make http api only accept POST requests ([#2977](https://github.com/ipfs/js-ipfs/issues/2977)) ([943d4a8](https://github.com/ipfs/js-ipfs/commit/943d4a8cf2d4c4ff5ecd4814c59cb0aae0cfa1fd))
156* regression that dht could not be enabled through conf ([#2976](https://github.com/ipfs/js-ipfs/issues/2976)) ([9d88a2e](https://github.com/ipfs/js-ipfs/commit/9d88a2ebbad4dfa58df351d31d201eaf2aaf78dc))
157
158
159### BREAKING CHANGES
160
161* Where we used to accept all and any HTTP methods, now only POST is
162accepted. The API client will now only send POST requests too.
163
164* test: add tests to make sure we are post-only
165
166* chore: upgrade ipfs-utils
167
168* fix: return 405 instead of 404 for bad methods
169
170* fix: reject browsers that do not send an origin
171
172Also fixes running interface tests over http in browsers against
173js-ipfs
174
175
176
177
178
179## [0.42.1](https://github.com/ipfs/js-ipfs/compare/ipfs@0.42.0...ipfs@0.42.1) (2020-04-08)
180
181
182### Bug Fixes
183
184* use correct name for webrtc transport config ([#2966](https://github.com/ipfs/js-ipfs/issues/2966)) ([83ca42a](https://github.com/ipfs/js-ipfs/commit/83ca42a83fbe43a93d3d66d7c117123c9423359b)), closes [#2963](https://github.com/ipfs/js-ipfs/issues/2963)
185
186
187
188
189
190# 0.42.0 (2020-03-31)
191
192
193### Bug Fixes
194
195* add default args for ipfs.add ([#2950](https://github.com/ipfs/js-ipfs/issues/2950)) ([a01f5b6](https://github.com/ipfs/js-ipfs/commit/a01f5b63cd92d225b10eff497f79caf4baab1973))
196* add default for cid base and fix cid version override ([d951993](https://github.com/ipfs/js-ipfs/commit/d9519931642fbeabd4a04940e67911e346106814))
197* dont include util.textencoder in the browser ([#2919](https://github.com/ipfs/js-ipfs/issues/2919)) ([3207e3b](https://github.com/ipfs/js-ipfs/commit/3207e3b35c9c250332c03dd2a066e8ebcda35e43))
198* error when command is unknown ([#2916](https://github.com/ipfs/js-ipfs/issues/2916)) ([743a7fc](https://github.com/ipfs/js-ipfs/commit/743a7fc1630e753568e8a56a8f3580cb2b8d50ad))
199* multiaddr validation to add peer id for listening ([#2833](https://github.com/ipfs/js-ipfs/issues/2833)) ([78cbec1](https://github.com/ipfs/js-ipfs/commit/78cbec159ed84b1bc4cd86eb17d3c2d050827a6d))
200* only start prometheus metrics in one place ([#2954](https://github.com/ipfs/js-ipfs/issues/2954)) ([d52a41e](https://github.com/ipfs/js-ipfs/commit/d52a41e1db601db55cf8433c9a91c2ee6b9b3e09)), closes [#2019](https://github.com/ipfs/js-ipfs/issues/2019)
201* reuse columns value from process.stdout ([e8646d8](https://github.com/ipfs/js-ipfs/commit/e8646d874bbbdf51aa1c8df83f8d5e52a45592be))
202* tag stdin with mtime and mode when piping to cli 'add' ([#2832](https://github.com/ipfs/js-ipfs/issues/2832)) ([8c97de1](https://github.com/ipfs/js-ipfs/commit/8c97de1e85c8544976a8240bf72e850f0e49a2b0)), closes [#2763](https://github.com/ipfs/js-ipfs/issues/2763)
203
204
205### chore
206
207* move mfs and multipart files into core ([#2811](https://github.com/ipfs/js-ipfs/issues/2811)) ([82b9e08](https://github.com/ipfs/js-ipfs/commit/82b9e085330e6c6290e6f3dd29678247984ffdce))
208* update dep version and ignore interop test for raw leaves ([#2747](https://github.com/ipfs/js-ipfs/issues/2747)) ([6376cec](https://github.com/ipfs/js-ipfs/commit/6376cec2b4beccef4751c498088f600ec7788118))
209
210
211### Features
212
213* remove ky from http-client and utils ([#2810](https://github.com/ipfs/js-ipfs/issues/2810)) ([9bc9625](https://github.com/ipfs/js-ipfs/commit/9bc96252686d0bbbfdb2a3300bb17b80eafdaf00)), closes [#2801](https://github.com/ipfs/js-ipfs/issues/2801)
214* support mtime-nsecs in mfs cli ([#2958](https://github.com/ipfs/js-ipfs/issues/2958)) ([69c091d](https://github.com/ipfs/js-ipfs/commit/69c091da963d974e75638a63c36140c8e9d3c4e0)), closes [#2803](https://github.com/ipfs/js-ipfs/issues/2803)
215
216
217### BREAKING CHANGES
218
219* When the path passed to `ipfs.files.stat(path)` was a hamt sharded dir, the resovled
220value returned by js-ipfs previously had a `type` property of with a value of
221`'hamt-sharded-directory'`. To bring it in line with go-ipfs this value is now
222`'directory'`.
223* Files that fit into one block imported with either `--cid-version=1`
224or `--raw-leaves=true` previously returned a CID that resolved to
225a raw node (e.g. a buffer). Returned CIDs now resolve to a `dag-pb`
226node that contains a UnixFS entry. This is to allow setting metadata
227on small files with CIDv1.
228
229
230
231
232
233<a name="0.41.0"></a>
234# [0.41.0](https://github.com/ipfs/js-ipfs/compare/v0.41.0-rc.2...v0.41.0) (2020-02-13)
235
236
237### Bug Fixes
238
239* await on things that need awaiting on ([#2773](https://github.com/ipfs/js-ipfs/issues/2773)) ([b94fe54](https://github.com/ipfs/js-ipfs/commit/b94fe54))
240
241
242
243<a name="0.41.0-rc.2"></a>
244# [0.41.0-rc.2](https://github.com/ipfs/js-ipfs/compare/v0.41.0-rc.1...v0.41.0-rc.2) (2020-02-11)
245
246
247
248<a name="0.41.0-rc.1"></a>
249# [0.41.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.41.0-rc.0...v0.41.0-rc.1) (2020-02-10)
250
251
252### Bug Fixes
253
254* block put with CID as string ([#2760](https://github.com/ipfs/js-ipfs/issues/2760)) ([cc9a933](https://github.com/ipfs/js-ipfs/commit/cc9a933))
255* report correct swarm addresses after listening on new addrs ([#2749](https://github.com/ipfs/js-ipfs/issues/2749)) ([41a7e55](https://github.com/ipfs/js-ipfs/commit/41a7e55)), closes [#2508](https://github.com/ipfs/js-ipfs/issues/2508)
256
257
258### Features
259
260* use it-tar ([#2758](https://github.com/ipfs/js-ipfs/issues/2758)) ([eb33a63](https://github.com/ipfs/js-ipfs/commit/eb33a63))
261
262
263
264<a name="0.41.0-rc.0"></a>
265# [0.41.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.40.0...v0.41.0-rc.0) (2020-02-03)
266
267
268### Bug Fixes
269
270* bad merge ([714e540](https://github.com/ipfs/js-ipfs/commit/714e540))
271* correct redirect when it loads webui ([#2697](https://github.com/ipfs/js-ipfs/issues/2697)) ([#2698](https://github.com/ipfs/js-ipfs/issues/2698)) ([3516bb8](https://github.com/ipfs/js-ipfs/commit/3516bb8))
272* ipfs-repo version ([f08758e](https://github.com/ipfs/js-ipfs/commit/f08758e))
273* limit SW registration to content root ([#2682](https://github.com/ipfs/js-ipfs/issues/2682)) ([feba661](https://github.com/ipfs/js-ipfs/commit/feba661)), closes [/github.com/ipfs/go-ipfs/issues/4025#issuecomment-342250616](https://github.com//github.com/ipfs/go-ipfs/issues/4025/issues/issuecomment-342250616)
274* repo gc error key name ([#2618](https://github.com/ipfs/js-ipfs/issues/2618)) ([5a1d266](https://github.com/ipfs/js-ipfs/commit/5a1d266)), closes [/docs.ipfs.io/reference/api/http/#api-v0](https://github.com//docs.ipfs.io/reference/api/http//issues/api-v0)
275* support legacy links in cbor data ([#2631](https://github.com/ipfs/js-ipfs/issues/2631)) ([f98023b](https://github.com/ipfs/js-ipfs/commit/f98023b))
276
277
278### Code Refactoring
279
280* return peer IDs as strings not CIDs ([#2729](https://github.com/ipfs/js-ipfs/issues/2729)) ([16d540c](https://github.com/ipfs/js-ipfs/commit/16d540c))
281
282
283### Features
284
285* add --hidden flag to cli add command ([#2649](https://github.com/ipfs/js-ipfs/issues/2649)) ([ed886f4](https://github.com/ipfs/js-ipfs/commit/ed886f4))
286* add alias for `ipfs repo stat --human`. ([#2609](https://github.com/ipfs/js-ipfs/issues/2609)) ([f81086c](https://github.com/ipfs/js-ipfs/commit/f81086c))
287* add bitswap stat human option in CLI ([#2619](https://github.com/ipfs/js-ipfs/issues/2619)) ([6a2ea52](https://github.com/ipfs/js-ipfs/commit/6a2ea52))
288* add human flag to repo stat cli command ([#2630](https://github.com/ipfs/js-ipfs/issues/2630)) ([39bc5b4](https://github.com/ipfs/js-ipfs/commit/39bc5b4))
289* pass libp2pOptions to the bundle function ([#2591](https://github.com/ipfs/js-ipfs/issues/2591)) ([e8e9b91](https://github.com/ipfs/js-ipfs/commit/e8e9b91))
290* return CID of flushed path from ipfs.files.flush ([#2715](https://github.com/ipfs/js-ipfs/issues/2715)) ([5db7c29](https://github.com/ipfs/js-ipfs/commit/5db7c29))
291* support -X special permissions arg to files.chmod ([#2719](https://github.com/ipfs/js-ipfs/issues/2719)) ([d6ece05](https://github.com/ipfs/js-ipfs/commit/d6ece05))
292* support UnixFSv1.5 metadata ([#2621](https://github.com/ipfs/js-ipfs/issues/2621)) ([acbda68](https://github.com/ipfs/js-ipfs/commit/acbda68)), closes [ipfs/js-datastore-pubsub#20](https://github.com/ipfs/js-datastore-pubsub/issues/20)
293* web ui 2.7.1 ([#2599](https://github.com/ipfs/js-ipfs/issues/2599)) ([06340ec](https://github.com/ipfs/js-ipfs/commit/06340ec))
294* web ui 2.7.2 ([#2651](https://github.com/ipfs/js-ipfs/issues/2651)) ([7a87d8f](https://github.com/ipfs/js-ipfs/commit/7a87d8f))
295
296
297### Performance Improvements
298
299* expose importer concurrency controls when adding files ([#2637](https://github.com/ipfs/js-ipfs/issues/2637)) ([1d19c4f](https://github.com/ipfs/js-ipfs/commit/1d19c4f))
300
301
302### BREAKING CHANGES
303
304* Where `PeerID`s were previously [CID](https://www.npmjs.com/package/cids)s, now they are Strings
305
306- `ipfs.bitswap.stat().peers[n]` is now a String (was a CID)
307- `ipfs.dht.findPeer().id` is now a String (was a CID)
308- `ipfs.dht.findProvs()[n].id` is now a String (was a CID)
309- `ipfs.dht.provide()[n].id` is now a String (was a CID)
310- `ipfs.dht.put()[n].id` is now a String (was a CID)
311- `ipfs.dht.query()[n].id` is now a String (was a CID)
312- `ipfs.id().id` is now a String (was a CID)
313- `ipfs.id().addresses[n]` are now [Multiaddr](https://www.npmjs.com/package/multiaddr)s (were Strings)
314* Removes all `codec`/`format` options, everything is `dag-pb` now.
315
316
317
318<a name="0.40.0"></a>
319# [0.40.0](https://github.com/ipfs/js-ipfs/compare/v0.40.0-rc.1...v0.40.0) (2019-12-02)
320
321
322
323<a name="0.40.0-rc.1"></a>
324# [0.40.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.40.0-rc.0...v0.40.0-rc.1) (2019-11-28)
325
326
327### Bug Fixes
328
329* support legacy links in cbor data ([#2631](https://github.com/ipfs/js-ipfs/issues/2631)) ([3f446d6](https://github.com/ipfs/js-ipfs/commit/3f446d6))
330
331
332
333<a name="0.40.0-rc.0"></a>
334# [0.40.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.39.0...v0.40.0-rc.0) (2019-11-11)
335
336
337### Bug Fixes
338
339* add profiles docs, support in validation and tests ([#2545](https://github.com/ipfs/js-ipfs/issues/2545)) ([37073e6](https://github.com/ipfs/js-ipfs/commit/37073e6))
340* choose import strategy in ipfs.add ([#2541](https://github.com/ipfs/js-ipfs/issues/2541)) ([bba1537](https://github.com/ipfs/js-ipfs/commit/bba1537))
341* dht.provide() should accept string keys ([#2573](https://github.com/ipfs/js-ipfs/issues/2573)) ([#2589](https://github.com/ipfs/js-ipfs/issues/2589)) ([53c2144](https://github.com/ipfs/js-ipfs/commit/53c2144))
342* fix ls crash ([#2546](https://github.com/ipfs/js-ipfs/issues/2546)) ([09041c3](https://github.com/ipfs/js-ipfs/commit/09041c3)), closes [ipfs/js-ipfs-unixfs-exporter#24](https://github.com/ipfs/js-ipfs-unixfs-exporter/issues/24)
343* make init options look like go-ipfs ([#2544](https://github.com/ipfs/js-ipfs/issues/2544)) ([13a8289](https://github.com/ipfs/js-ipfs/commit/13a8289))
344* remove superfluous backtick ([3bd47c3](https://github.com/ipfs/js-ipfs/commit/3bd47c3))
345* revert evergreen webui ([#2557](https://github.com/ipfs/js-ipfs/issues/2557)) ([16806d9](https://github.com/ipfs/js-ipfs/commit/16806d9))
346* **package:** update [@hapi](https://github.com/hapi)/ammo to version 4.0.0 ([#2538](https://github.com/ipfs/js-ipfs/issues/2538)) ([da78142](https://github.com/ipfs/js-ipfs/commit/da78142))
347
348
349### Features
350
351* add mssing `dag put` and `dag resolve` cli commands ([#2521](https://github.com/ipfs/js-ipfs/issues/2521)) ([8759bf8](https://github.com/ipfs/js-ipfs/commit/8759bf8))
352* evergreen web ui ([#2520](https://github.com/ipfs/js-ipfs/issues/2520)) ([069bf73](https://github.com/ipfs/js-ipfs/commit/069bf73))
353* integrate ipfs-repo-migrations tool ([#2527](https://github.com/ipfs/js-ipfs/issues/2527)) ([1d12ffb](https://github.com/ipfs/js-ipfs/commit/1d12ffb))
354* support CIDs in /ipns/ content paths ([#2566](https://github.com/ipfs/js-ipfs/issues/2566)) ([4fa39fb](https://github.com/ipfs/js-ipfs/commit/4fa39fb))
355* web ui 2.6.0 ([#2576](https://github.com/ipfs/js-ipfs/issues/2576)) ([a61d510](https://github.com/ipfs/js-ipfs/commit/a61d510))
356
357
358
359<a name="0.39.0"></a>
360# [0.39.0](https://github.com/ipfs/js-ipfs/compare/v0.39.0-rc.2...v0.39.0) (2019-10-23)
361
362
363
364<a name="0.39.0-rc.2"></a>
365# [0.39.0-rc.2](https://github.com/ipfs/js-ipfs/compare/v0.39.0-rc.1...v0.39.0-rc.2) (2019-10-17)
366
367
368### Bug Fixes
369
370* add profiles docs, support in validation and tests ([#2545](https://github.com/ipfs/js-ipfs/issues/2545)) ([e081e16](https://github.com/ipfs/js-ipfs/commit/e081e16))
371* choose import strategy in ipfs.add ([#2541](https://github.com/ipfs/js-ipfs/issues/2541)) ([e2e6701](https://github.com/ipfs/js-ipfs/commit/e2e6701))
372* fix ls crash ([#2546](https://github.com/ipfs/js-ipfs/issues/2546)) ([83eb99b](https://github.com/ipfs/js-ipfs/commit/83eb99b)), closes [ipfs/js-ipfs-unixfs-exporter#24](https://github.com/ipfs/js-ipfs-unixfs-exporter/issues/24)
373* make init options look like go-ipfs ([#2544](https://github.com/ipfs/js-ipfs/issues/2544)) ([d4d6dfe](https://github.com/ipfs/js-ipfs/commit/d4d6dfe))
374
375
376
377<a name="0.39.0-rc.1"></a>
378# [0.39.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.39.0-rc.0...v0.39.0-rc.1) (2019-10-15)
379
380
381
382<a name="0.39.0-rc.0"></a>
383# [0.39.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.38.0...v0.39.0-rc.0) (2019-10-08)
384
385
386### Bug Fixes
387
388* limit concurrent HTTP requests in browser ([#2304](https://github.com/ipfs/js-ipfs/issues/2304)) ([cf38aea](https://github.com/ipfs/js-ipfs/commit/cf38aea))
389* only try to get ipfs if argv is present ([#2504](https://github.com/ipfs/js-ipfs/issues/2504)) ([1281b9f](https://github.com/ipfs/js-ipfs/commit/1281b9f))
390* pull in preconfigured chai from interface tests ([#2510](https://github.com/ipfs/js-ipfs/issues/2510)) ([8c01259](https://github.com/ipfs/js-ipfs/commit/8c01259))
391
392
393### Features
394
395* Add config profile endpoint and CLI ([#2165](https://github.com/ipfs/js-ipfs/issues/2165)) ([7314f0d](https://github.com/ipfs/js-ipfs/commit/7314f0d))
396* allow daemon to init and start in a single cmd ([#2428](https://github.com/ipfs/js-ipfs/issues/2428)) ([16d5e7b](https://github.com/ipfs/js-ipfs/commit/16d5e7b))
397* support block.rm over http api ([#2514](https://github.com/ipfs/js-ipfs/issues/2514)) ([c9be79e](https://github.com/ipfs/js-ipfs/commit/c9be79e))
398* web ui 2.5.3 ([4f398fc](https://github.com/ipfs/js-ipfs/commit/4f398fc))
399* web ui 2.5.4 ([#2478](https://github.com/ipfs/js-ipfs/issues/2478)) ([bff402c](https://github.com/ipfs/js-ipfs/commit/bff402c))
400
401
402### Reverts
403
404* e ([55c4446](https://github.com/ipfs/js-ipfs/commit/55c4446))
405
406
407
408<a name="0.38.0"></a>
409# [0.38.0](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.6...v0.38.0) (2019-09-30)
410
411
412
413<a name="0.38.0-rc.6"></a>
414# [0.38.0-rc.6](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.5...v0.38.0-rc.6) (2019-09-25)
415
416
417
418<a name="0.38.0-rc.5"></a>
419# [0.38.0-rc.5](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.4...v0.38.0-rc.5) (2019-09-18)
420
421
422
423<a name="0.38.0-rc.4"></a>
424# [0.38.0-rc.4](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.3...v0.38.0-rc.4) (2019-09-17)
425
426
427
428<a name="0.38.0-rc.3"></a>
429# [0.38.0-rc.3](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.2...v0.38.0-rc.3) (2019-09-17)
430
431
432
433<a name="0.38.0-rc.2"></a>
434# [0.38.0-rc.2](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.1...v0.38.0-rc.2) (2019-09-16)
435
436
437
438# [0.38.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.38.0-rc.0...v0.38.0-rc.1) (2019-09-13)
439
440
441
442<a name="0.38.0-rc.0"></a>
443# [0.38.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.38.0-pre.1...v0.38.0-rc.0) (2019-09-09)
444
445
446### Bug Fixes
447
448* **tests:** remove Math.random from tests ([#2431](https://github.com/ipfs/js-ipfs/issues/2431)) ([60bf020](https://github.com/ipfs/js-ipfs/commit/60bf020))
449
450
451### Features
452
453* add support for ipns and recursive to ipfs resolve ([#2297](https://github.com/ipfs/js-ipfs/issues/2297)) ([039675e](https://github.com/ipfs/js-ipfs/commit/039675e))
454* enable pubsub via config file and enabled by default ([#2427](https://github.com/ipfs/js-ipfs/issues/2427)) ([27751cf](https://github.com/ipfs/js-ipfs/commit/27751cf)), closes [ipfs/js-ipfsd-ctl#366](https://github.com/ipfs/js-ipfsd-ctl/issues/366) [ipfs/go-ipfs#6621](https://github.com/ipfs/go-ipfs/issues/6621)
455* support adding async iterators ([#2379](https://github.com/ipfs/js-ipfs/issues/2379)) ([3878f0f](https://github.com/ipfs/js-ipfs/commit/3878f0f))
456* web ui 2.5.1 ([#2434](https://github.com/ipfs/js-ipfs/issues/2434)) ([39ef553](https://github.com/ipfs/js-ipfs/commit/39ef553))
457
458
459### BREAKING CHANGES
460
461* pubsub is now enabled by default and the experimental flag was removed
462* `recursive` is now `true` by default in `ipfs resolve`
463
464
465
466<a name="0.38.0-pre.1"></a>
467# [0.38.0-pre.1](https://github.com/ipfs/js-ipfs/compare/v0.38.0-pre.0...v0.38.0-pre.1) (2019-09-02)
468
469
470### Bug Fixes
471
472* **package:** update ipfs-http-client to version 34.0.0 ([#2407](https://github.com/ipfs/js-ipfs/issues/2407)) ([f7e5094](https://github.com/ipfs/js-ipfs/commit/f7e5094))
473
474
475### Features
476
477* gossipsub as default pubsub ([#2298](https://github.com/ipfs/js-ipfs/issues/2298)) ([902e045](https://github.com/ipfs/js-ipfs/commit/902e045))
478
479
480### Reverts
481
482* update of ipfs-http-client ([#2412](https://github.com/ipfs/js-ipfs/issues/2412)) ([f6cf876](https://github.com/ipfs/js-ipfs/commit/f6cf876))
483
484
485### BREAKING CHANGES
486
487* The default pubsub implementation has changed from floodsub to [gossipsub](https://github.com/ChainSafe/gossipsub-js). Additionally, to enable pubsub programmatically set `pubsub.enabled: true` instead of `EXPERIMENTAL.pubsub: true` or via the CLI pass `--enable-pubsub` instead of `--enable-pubsub-experiment` to `jsipfs daemon`.
488
489
490
491<a name="0.38.0-pre.0"></a>
492# [0.38.0-pre.0](https://github.com/ipfs/js-ipfs/compare/v0.37.1...v0.38.0-pre.0) (2019-08-27)
493
494
495### Bug Fixes
496
497* make progress bar work again when adding files ([#2386](https://github.com/ipfs/js-ipfs/issues/2386)) ([f6dcb0f](https://github.com/ipfs/js-ipfs/commit/f6dcb0f)), closes [#2379](https://github.com/ipfs/js-ipfs/issues/2379)
498* really allow logo to appear on npm ([02e521e](https://github.com/ipfs/js-ipfs/commit/02e521e))
499
500
501### Features
502
503* garbage collection ([#2022](https://github.com/ipfs/js-ipfs/issues/2022)) ([44045b0](https://github.com/ipfs/js-ipfs/commit/44045b0))
504
505
506### BREAKING CHANGES
507
508* Order of output from the CLI command `ipfs add` may change between invocations given the same files since it is not longer buffered and sorted.
509
510Previously, js-ipfs buffered all hashes of added files and sorted them before outputting to the terminal, this might be because the `glob` module does not return stable results. This gives a poor user experience as you see nothing then everything, compared to `go-ipfs` which prints out the hashes as they become available. The tradeoff is the order might be slightly different between invocations, though the hashes are always the same as we sort DAGNode links before serializing so it doesn't matter what order you import them in.
511
512
513
514<a name="0.37.1"></a>
515## [0.37.1](https://github.com/ipfs/js-ipfs/compare/v0.37.0...v0.37.1) (2019-08-23)
516
517
518### Bug Fixes
519
520* create HTTP servers in series ([#2388](https://github.com/ipfs/js-ipfs/issues/2388)) ([970a269](https://github.com/ipfs/js-ipfs/commit/970a269))
521* enable preload on MFS commands that accept IPFS paths ([#2355](https://github.com/ipfs/js-ipfs/issues/2355)) ([0e0d1dd](https://github.com/ipfs/js-ipfs/commit/0e0d1dd))
522* **package:** update yargs to version 14.0.0 ([#2371](https://github.com/ipfs/js-ipfs/issues/2371)) ([5aadb2d](https://github.com/ipfs/js-ipfs/commit/5aadb2d))
523* do not load all of a DAG into memory when pinning ([#2372](https://github.com/ipfs/js-ipfs/issues/2372)) ([f357c28](https://github.com/ipfs/js-ipfs/commit/f357c28)), closes [#2310](https://github.com/ipfs/js-ipfs/issues/2310)
524* preload addreses with trailing slash ([#2377](https://github.com/ipfs/js-ipfs/issues/2377)) ([c607971](https://github.com/ipfs/js-ipfs/commit/c607971)), closes [#2333](https://github.com/ipfs/js-ipfs/issues/2333)
525
526
527### Features
528
529* allow controlling preload from cli and http api ([#2384](https://github.com/ipfs/js-ipfs/issues/2384)) ([5878a0a](https://github.com/ipfs/js-ipfs/commit/5878a0a))
530* resolution of .eth names via .eth.link ([#2373](https://github.com/ipfs/js-ipfs/issues/2373)) ([7e02140](https://github.com/ipfs/js-ipfs/commit/7e02140))
531
532
533
534<a name="0.37.0"></a>
535# [0.37.0](https://github.com/ipfs/js-ipfs/compare/v0.37.0-rc.1...v0.37.0) (2019-08-06)
536
537
538
539<a name="0.37.0-rc.1"></a>
540# [0.37.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.37.0-rc.0...v0.37.0-rc.1) (2019-08-06)
541
542
543### Bug Fixes
544
545* add CORS headers to gateway responses ([#2254](https://github.com/ipfs/js-ipfs/issues/2254)) ([5156a47](https://github.com/ipfs/js-ipfs/commit/5156a47))
546* disable socket timeout for pubsub subscriptions ([#2303](https://github.com/ipfs/js-ipfs/issues/2303)) ([3583cc2](https://github.com/ipfs/js-ipfs/commit/3583cc2))
547* move mfs cmds and safer exit ([#1981](https://github.com/ipfs/js-ipfs/issues/1981)) ([fee0141](https://github.com/ipfs/js-ipfs/commit/fee0141))
548* swarm.peers latency value when unknown ([#2336](https://github.com/ipfs/js-ipfs/issues/2336)) ([6248ec1](https://github.com/ipfs/js-ipfs/commit/6248ec1))
549* use ephemeral ports in API/Gateway bind test ([#2305](https://github.com/ipfs/js-ipfs/issues/2305)) ([24679af](https://github.com/ipfs/js-ipfs/commit/24679af))
550* **package:** update ipfs-mfs to version 0.12.0 ([#2275](https://github.com/ipfs/js-ipfs/issues/2275)) ([c15f146](https://github.com/ipfs/js-ipfs/commit/c15f146))
551
552
553
554<a name="0.37.0-rc.0"></a>
555# [0.37.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.36.4...v0.37.0-rc.0) (2019-07-17)
556
557
558### Bug Fixes
559
560* allow setting Addresses.Delegates ([#2253](https://github.com/ipfs/js-ipfs/issues/2253)) ([58a9bc4](https://github.com/ipfs/js-ipfs/commit/58a9bc4))
561* browser video streaming example ([#2267](https://github.com/ipfs/js-ipfs/issues/2267)) ([f5cf216](https://github.com/ipfs/js-ipfs/commit/f5cf216))
562* clean repo func on windows ([#2243](https://github.com/ipfs/js-ipfs/issues/2243)) ([26b92a1](https://github.com/ipfs/js-ipfs/commit/26b92a1))
563* failing test on config ([#2205](https://github.com/ipfs/js-ipfs/issues/2205)) ([5ed9532](https://github.com/ipfs/js-ipfs/commit/5ed9532))
564* ipns reference to libp2p dht config ([#2182](https://github.com/ipfs/js-ipfs/issues/2182)) ([e46e6ad](https://github.com/ipfs/js-ipfs/commit/e46e6ad))
565* passed config validation ([#2270](https://github.com/ipfs/js-ipfs/issues/2270)) ([80e7d81](https://github.com/ipfs/js-ipfs/commit/80e7d81))
566* pin type filtering in pin.ls ([#2228](https://github.com/ipfs/js-ipfs/issues/2228)) ([afdfe7f](https://github.com/ipfs/js-ipfs/commit/afdfe7f))
567* **gateway:** disable compression ([#2245](https://github.com/ipfs/js-ipfs/issues/2245)) ([4ee28e0](https://github.com/ipfs/js-ipfs/commit/4ee28e0))
568* **package:** update file-type to version 12.0.0 ([#2176](https://github.com/ipfs/js-ipfs/issues/2176)) ([3e63ef2](https://github.com/ipfs/js-ipfs/commit/3e63ef2))
569
570
571### Code Refactoring
572
573* **gateway:** return implicit index.html ([#2217](https://github.com/ipfs/js-ipfs/issues/2217)) ([8519886](https://github.com/ipfs/js-ipfs/commit/8519886))
574
575
576### Features
577
578* add delegate routers to libp2p config ([#2195](https://github.com/ipfs/js-ipfs/issues/2195)) ([1aaaab9](https://github.com/ipfs/js-ipfs/commit/1aaaab9))
579* add HTTP Gateway support for /ipns/ paths ([#2020](https://github.com/ipfs/js-ipfs/issues/2020)) ([43ac305](https://github.com/ipfs/js-ipfs/commit/43ac305)), closes [#1989](https://github.com/ipfs/js-ipfs/issues/1989)
580* add support for ipns name resolve /ipns/<fqdn> ([#2002](https://github.com/ipfs/js-ipfs/issues/2002)) ([5044a30](https://github.com/ipfs/js-ipfs/commit/5044a30)), closes [#1918](https://github.com/ipfs/js-ipfs/issues/1918)
581* randomly pick preload node ([#2194](https://github.com/ipfs/js-ipfs/issues/2194)) ([f596b01](https://github.com/ipfs/js-ipfs/commit/f596b01))
582* ready promise ([#2094](https://github.com/ipfs/js-ipfs/issues/2094)) ([e0994f2](https://github.com/ipfs/js-ipfs/commit/e0994f2))
583* update Web UI to v2.4.6 ([#2147](https://github.com/ipfs/js-ipfs/issues/2147)) ([a1a9fe3](https://github.com/ipfs/js-ipfs/commit/a1a9fe3))
584
585
586### BREAKING CHANGES
587
588* **gateway:** Gateway now implicitly responds with the contents of `/index.html` when accessing a directory `/` instead of redirecting to `/index.html`.
589
590This changes current logic (redirect to index.html) to match what
591go-ipfs does (return index.html without changing URL)
592
593We also ensure directory URLs always end with '/'
594
595License: MIT
596Signed-off-by: Marcin Rataj <lidel@lidel.org>
597
598
599
600<a name="0.36.4"></a>
601## [0.36.4](https://github.com/ipfs/js-ipfs/compare/v0.36.3...v0.36.4) (2019-06-18)
602
603
604
605<a name="0.36.3"></a>
606## [0.36.3](https://github.com/ipfs/js-ipfs/compare/v0.36.2...v0.36.3) (2019-05-30)
607
608
609### Bug Fixes
610
611* double callback in object.links for cbor data ([#2111](https://github.com/ipfs/js-ipfs/issues/2111)) ([5d080c0](https://github.com/ipfs/js-ipfs/commit/5d080c0))
612* fixes rabin chunker truncating files ([#2114](https://github.com/ipfs/js-ipfs/issues/2114)) ([76689ff](https://github.com/ipfs/js-ipfs/commit/76689ff))
613* **package:** update bignumber.js to version 9.0.0 ([#2123](https://github.com/ipfs/js-ipfs/issues/2123)) ([37903ad](https://github.com/ipfs/js-ipfs/commit/37903ad))
614
615
616
617<a name="0.36.2"></a>
618## [0.36.2](https://github.com/ipfs/js-ipfs/compare/v0.36.1...v0.36.2) (2019-05-24)
619
620
621### Bug Fixes
622
623* file support when added as object ([#2105](https://github.com/ipfs/js-ipfs/issues/2105)) ([ba80e40](https://github.com/ipfs/js-ipfs/commit/ba80e40))
624* upgrade electron examples ([#2104](https://github.com/ipfs/js-ipfs/issues/2104)) ([67e1b59](https://github.com/ipfs/js-ipfs/commit/67e1b59))
625
626
627
628<a name="0.36.1"></a>
629## [0.36.1](https://github.com/ipfs/js-ipfs/compare/v0.36.0...v0.36.1) (2019-05-22)
630
631
632### Bug Fixes
633
634* **cli:** make swarm addrs more resilient ([#2083](https://github.com/ipfs/js-ipfs/issues/2083)) ([3792b68](https://github.com/ipfs/js-ipfs/commit/3792b68))
635
636
637
638<a name="0.36.0"></a>
639# [0.36.0](https://github.com/ipfs/js-ipfs/compare/v0.36.0-rc.0...v0.36.0) (2019-05-22)
640
641
642### Bug Fixes
643
644* use trickle builder in daemon mode too ([#2085](https://github.com/ipfs/js-ipfs/issues/2085)) ([62b873f](https://github.com/ipfs/js-ipfs/commit/62b873f))
645* **package:** update libp2p-kad-dht to version 0.15.0 ([#2049](https://github.com/ipfs/js-ipfs/issues/2049)) ([5905760](https://github.com/ipfs/js-ipfs/commit/5905760))
646* browser-mfs example ([#2089](https://github.com/ipfs/js-ipfs/issues/2089)) ([e7d6d3a](https://github.com/ipfs/js-ipfs/commit/e7d6d3a))
647* error when preloding is disabled in the browser ([#2086](https://github.com/ipfs/js-ipfs/issues/2086)) ([a56bcbf](https://github.com/ipfs/js-ipfs/commit/a56bcbf))
648* traverse-ipld-graphs (tree) example ([#2088](https://github.com/ipfs/js-ipfs/issues/2088)) ([b5c652f](https://github.com/ipfs/js-ipfs/commit/b5c652f))
649* update option in exchange files in browser example ([#2087](https://github.com/ipfs/js-ipfs/issues/2087)) ([63469ed](https://github.com/ipfs/js-ipfs/commit/63469ed))
650
651
652
653<a name="0.36.0-rc.0"></a>
654# [0.36.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.36.0-pre.0...v0.36.0-rc.0) (2019-05-21)
655
656
657### Code Refactoring
658
659* update ipld formats, async/await mfs/unixfs & base32 cids ([#2068](https://github.com/ipfs/js-ipfs/issues/2068)) ([813048f](https://github.com/ipfs/js-ipfs/commit/813048f)), closes [ipld/js-ipld-dag-pb#137](https://github.com/ipld/js-ipld-dag-pb/issues/137) [ipfs/interface-js-ipfs-core#473](https://github.com/ipfs/interface-js-ipfs-core/issues/473) [ipfs/js-ipfs-http-client#1010](https://github.com/ipfs/js-ipfs-http-client/issues/1010) [ipfs/js-ipfs-http-response#25](https://github.com/ipfs/js-ipfs-http-response/issues/25) [#1995](https://github.com/ipfs/js-ipfs/issues/1995)
660
661
662### BREAKING CHANGES
663
664* The default string encoding for version 1 CIDs has changed to `base32`.
665
666IPLD 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):
667
668* `DAGNode` properties have been renamed as follows:
669 * `data` => `Data`
670 * `links` => `Links`
671 * `size` => `size` (Note: no change)
672* `DAGLink` properties have been renamed as follows:
673 * `cid` => `Hash`
674 * `name` => `Name`
675 * `size` => `Tsize`
676
677See CHANGELOGs for each IPLD format for it's respective changes, you can read more about the [`dag-pb` changes in the CHANGELOG](https://github.com/ipld/js-ipld-dag-pb/blob/master)
678
679License: MIT
680Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
681
682
683
684<a name="0.36.0-pre.0"></a>
685# [0.36.0-pre.0](https://github.com/ipfs/js-ipfs/compare/v0.35.0...v0.36.0-pre.0) (2019-05-17)
686
687
688### Bug Fixes
689
690* **package:** update ipfs-http-client to version 31.0.0 ([#2052](https://github.com/ipfs/js-ipfs/issues/2052)) ([906f8d0](https://github.com/ipfs/js-ipfs/commit/906f8d0))
691* correctly validate ipld config ([#2033](https://github.com/ipfs/js-ipfs/issues/2033)) ([eebc17a](https://github.com/ipfs/js-ipfs/commit/eebc17a))
692* **package:** update hapi-pino to version 6.0.0 ([#2043](https://github.com/ipfs/js-ipfs/issues/2043)) ([f4e3bd0](https://github.com/ipfs/js-ipfs/commit/f4e3bd0))
693
694
695### Features
696
697* add support for File DOM API to files-regular ([#2013](https://github.com/ipfs/js-ipfs/issues/2013)) ([0a08192](https://github.com/ipfs/js-ipfs/commit/0a08192))
698* implement ipfs refs and refs local ([#2004](https://github.com/ipfs/js-ipfs/issues/2004)) ([6dc9075](https://github.com/ipfs/js-ipfs/commit/6dc9075))
699* **gateway:** add streaming, conditional and range requests ([#1989](https://github.com/ipfs/js-ipfs/issues/1989)) ([48a8e75](https://github.com/ipfs/js-ipfs/commit/48a8e75))
700
701
702
703<a name="0.35.0"></a>
704# [0.35.0](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.7...v0.35.0) (2019-04-12)
705
706
707
708<a name="0.35.0-rc.7"></a>
709# [0.35.0-rc.7](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.6...v0.35.0-rc.7) (2019-04-12)
710
711
712### Bug Fixes
713
714* flakey windows test ([#1987](https://github.com/ipfs/js-ipfs/issues/1987)) ([9708c0a](https://github.com/ipfs/js-ipfs/commit/9708c0a))
715* really disable DHT ([#1991](https://github.com/ipfs/js-ipfs/issues/1991)) ([2470be8](https://github.com/ipfs/js-ipfs/commit/2470be8))
716* remove non default ipld formats in the browser ([#1980](https://github.com/ipfs/js-ipfs/issues/1980)) ([4376121](https://github.com/ipfs/js-ipfs/commit/4376121))
717
718
719### BREAKING CHANGES
720
721* Browser application bundles now include only `ipld-dag-pb`, `ipld-dag-cbor` and `ipld-raw` IPLD codecs. Other codecs should be added manually, see https://github.com/ipfs/js-ipfs/blob/master/README.md#optionsipld for details.
722
723* In Node.js `require('ipfs')`
724 * all IPLD formats included
725* In browser application bundle `require('ipfs')` bundled with webpack/browserify/etc.
726 * only `ipld-dag-pb`, `ipld-dag-cbor` and `ipld-raw` included
727* CDN bundle `<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>`
728 * all IPLD formats included
729
730Co-Authored-By: hugomrdias <mail@hugodias.me>
731
732
733
734<a name="0.35.0-rc.6"></a>
735# [0.35.0-rc.6](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.5...v0.35.0-rc.6) (2019-04-11)
736
737
738### Bug Fixes
739
740* avoid logging http errors when its logger is not on ([#1977](https://github.com/ipfs/js-ipfs/issues/1977)) ([20beea2](https://github.com/ipfs/js-ipfs/commit/20beea2))
741
742
743### Features
744
745* recursive dnslink lookups ([#1935](https://github.com/ipfs/js-ipfs/issues/1935)) ([d5a1b89](https://github.com/ipfs/js-ipfs/commit/d5a1b89))
746* use libp2p auto dial ([#1983](https://github.com/ipfs/js-ipfs/issues/1983)) ([7f1fb26](https://github.com/ipfs/js-ipfs/commit/7f1fb26))
747
748
749
750<a name="0.35.0-rc.5"></a>
751# [0.35.0-rc.5](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.4...v0.35.0-rc.5) (2019-04-04)
752
753
754### Bug Fixes
755
756* force browserify to load Buffer module ([#1969](https://github.com/ipfs/js-ipfs/issues/1969)) ([3654e50](https://github.com/ipfs/js-ipfs/commit/3654e50))
757* stop IPNS republisher ASAP ([#1976](https://github.com/ipfs/js-ipfs/issues/1976)) ([68561c8](https://github.com/ipfs/js-ipfs/commit/68561c8))
758* update link for multihashes ([#1975](https://github.com/ipfs/js-ipfs/issues/1975)) ([4a01bf6](https://github.com/ipfs/js-ipfs/commit/4a01bf6))
759
760
761### Features
762
763* expose multihashing-async along with other deps ([#1974](https://github.com/ipfs/js-ipfs/issues/1974)) ([6667966](https://github.com/ipfs/js-ipfs/commit/6667966)), closes [#1973](https://github.com/ipfs/js-ipfs/issues/1973)
764
765
766
767<a name="0.35.0-rc.4"></a>
768# [0.35.0-rc.4](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.3...v0.35.0-rc.4) (2019-03-28)
769
770
771### Bug Fixes
772
773* CLI parsing of --silent arg ([#1955](https://github.com/ipfs/js-ipfs/issues/1955)) ([1c07779](https://github.com/ipfs/js-ipfs/commit/1c07779)), closes [#1947](https://github.com/ipfs/js-ipfs/issues/1947)
774
775
776### Code Refactoring
777
778* swap joi-browser with superstruct ([#1961](https://github.com/ipfs/js-ipfs/issues/1961)) ([8fb5825](https://github.com/ipfs/js-ipfs/commit/8fb5825))
779
780
781### Performance Improvements
782
783* reduce bundle size ([#1959](https://github.com/ipfs/js-ipfs/issues/1959)) ([a3b6235](https://github.com/ipfs/js-ipfs/commit/a3b6235))
784
785
786### BREAKING CHANGES
787
788* Constructor config validation is now a bit more strict - it does not allow `null` values or unknown properties.
789
790
791
792<a name="0.35.0-rc.3"></a>
793# [0.35.0-rc.3](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.2...v0.35.0-rc.3) (2019-03-21)
794
795
796### Bug Fixes
797
798* name resolve arg parsing ([#1958](https://github.com/ipfs/js-ipfs/issues/1958)) ([924690e](https://github.com/ipfs/js-ipfs/commit/924690e))
799
800
801
802<a name="0.35.0-rc.2"></a>
803# [0.35.0-rc.2](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.1...v0.35.0-rc.2) (2019-03-21)
804
805
806
807<a name="0.35.0-rc.1"></a>
808# [0.35.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.35.0-rc.0...v0.35.0-rc.1) (2019-03-20)
809
810
811### Bug Fixes
812
813* cat deeply nested file ([#1920](https://github.com/ipfs/js-ipfs/issues/1920)) ([dcb453a](https://github.com/ipfs/js-ipfs/commit/dcb453a))
814* handle subdomains for ipfs.dns ([#1933](https://github.com/ipfs/js-ipfs/issues/1933)) ([29072a5](https://github.com/ipfs/js-ipfs/commit/29072a5))
815* only dial to unconnected peers ([#1914](https://github.com/ipfs/js-ipfs/issues/1914)) ([1478652](https://github.com/ipfs/js-ipfs/commit/1478652))
816
817
818### Features
819
820* add HTTP DAG API ([#1930](https://github.com/ipfs/js-ipfs/issues/1930)) ([a033e8b](https://github.com/ipfs/js-ipfs/commit/a033e8b))
821* display version info when starting daemon ([#1915](https://github.com/ipfs/js-ipfs/issues/1915)) ([6b789ee](https://github.com/ipfs/js-ipfs/commit/6b789ee))
822* provide access to multicodec ([#1921](https://github.com/ipfs/js-ipfs/issues/1921)) ([ceec0bc](https://github.com/ipfs/js-ipfs/commit/ceec0bc)), closes [#1913](https://github.com/ipfs/js-ipfs/issues/1913)
823* **issue-1852:** support multiple API and Gateway addresses ([#1903](https://github.com/ipfs/js-ipfs/issues/1903)) ([4ad104d](https://github.com/ipfs/js-ipfs/commit/4ad104d)), closes [#1852](https://github.com/ipfs/js-ipfs/issues/1852)
824
825
826### Performance Improvements
827
828* lower connection manager limits ([#1926](https://github.com/ipfs/js-ipfs/issues/1926)) ([7926349](https://github.com/ipfs/js-ipfs/commit/7926349))
829
830
831
832<a name="0.35.0-rc.0"></a>
833# [0.35.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.35.0-pre.0...v0.35.0-rc.0) (2019-03-06)
834
835
836### Bug Fixes
837
838* add support for resolving to the middle of an IPLD block ([#1841](https://github.com/ipfs/js-ipfs/issues/1841)) ([fc08243](https://github.com/ipfs/js-ipfs/commit/fc08243))
839* dht browser disabled ([#1879](https://github.com/ipfs/js-ipfs/issues/1879)) ([7c5a843](https://github.com/ipfs/js-ipfs/commit/7c5a843))
840* ipv6 multiaddr in stdout ([#1854](https://github.com/ipfs/js-ipfs/issues/1854)) ([35fd541](https://github.com/ipfs/js-ipfs/commit/35fd541)), closes [#1853](https://github.com/ipfs/js-ipfs/issues/1853)
841* make clear pins function in tests serial ([#1910](https://github.com/ipfs/js-ipfs/issues/1910)) ([503e5ac](https://github.com/ipfs/js-ipfs/commit/503e5ac)), closes [#1890](https://github.com/ipfs/js-ipfs/issues/1890)
842* pin.rm test EPERM rename ([#1889](https://github.com/ipfs/js-ipfs/issues/1889)) ([c60de74](https://github.com/ipfs/js-ipfs/commit/c60de74))
843* temporarily disable random walk dht discovery ([#1907](https://github.com/ipfs/js-ipfs/issues/1907)) ([3fff46a](https://github.com/ipfs/js-ipfs/commit/3fff46a))
844
845
846### Code Refactoring
847
848* export types and utilities statically ([#1908](https://github.com/ipfs/js-ipfs/issues/1908)) ([79d7fef](https://github.com/ipfs/js-ipfs/commit/79d7fef))
849
850
851### Features
852
853* add `--enable-preload` to enable/disable preloading for daemons ([#1909](https://github.com/ipfs/js-ipfs/issues/1909)) ([9470900](https://github.com/ipfs/js-ipfs/commit/9470900))
854* limit connections number ([#1872](https://github.com/ipfs/js-ipfs/issues/1872)) ([bebce7f](https://github.com/ipfs/js-ipfs/commit/bebce7f))
855
856
857### BREAKING CHANGES
858
859* `ipfs.util.isIPFS` and `ipfs.util.crypto` have moved to static exports and should be accessed via `const { isIPFS, crypto } = require('ipfs')`.
860
861The modules available under `ipfs.types.*` have also become static exports.
862
863License: MIT
864Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
865* `ipfs.resolve` now supports resolving to the middle of an IPLD block instead of erroring.
866
867Given:
868
869```js
870b = {"c": "some value"}
871a = {"b": {"/": cidOf(b) }}
872```
873
874`ipfs resolve /ipld/cidOf(a)/b/c` should return `/ipld/cidOf(b)/c`. That is, it resolves the path as much as it can.
875
876Previously it would simply fail with an error.
877
878License: MIT
879Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
880
881
882
883<a name="0.35.0-pre.0"></a>
884# [0.35.0-pre.0](https://github.com/ipfs/js-ipfs/compare/v0.34.4...v0.35.0-pre.0) (2019-02-11)
885
886
887### Bug Fixes
888
889* add missing libp2p-websocket-star dep ([#1869](https://github.com/ipfs/js-ipfs/issues/1869)) ([7cba3dd](https://github.com/ipfs/js-ipfs/commit/7cba3dd))
890* path to cid-tool commands ([#1866](https://github.com/ipfs/js-ipfs/issues/1866)) ([506f5be](https://github.com/ipfs/js-ipfs/commit/506f5be))
891* swallowed errors ([#1860](https://github.com/ipfs/js-ipfs/issues/1860)) ([47e2b9e](https://github.com/ipfs/js-ipfs/commit/47e2b9e)), closes [#1835](https://github.com/ipfs/js-ipfs/issues/1835) [#1858](https://github.com/ipfs/js-ipfs/issues/1858)
892
893
894### Chores
895
896* rename local option to offline ([#1850](https://github.com/ipfs/js-ipfs/issues/1850)) ([bbe561b](https://github.com/ipfs/js-ipfs/commit/bbe561b))
897
898
899### Features
900
901* interoperable DHT ([#856](https://github.com/ipfs/js-ipfs/issues/856)) ([77a0957](https://github.com/ipfs/js-ipfs/commit/77a0957))
902
903
904### BREAKING CHANGES
905
906* `--local` option has been renamed to `--offline`
907
908
909
910<a name="0.34.4"></a>
911## [0.34.4](https://github.com/ipfs/js-ipfs/compare/v0.34.3...v0.34.4) (2019-01-24)
912
913
914### Features
915
916* support _dnslink subdomain specified dnslinks ([#1843](https://github.com/ipfs/js-ipfs/issues/1843)) ([a17253e](https://github.com/ipfs/js-ipfs/commit/a17253e))
917
918
919
920<a name="0.34.3"></a>
921## [0.34.3](https://github.com/ipfs/js-ipfs/compare/v0.34.2...v0.34.3) (2019-01-24)
922
923
924### Bug Fixes
925
926* add cors support for preload-mock-server and update aegir ([#1839](https://github.com/ipfs/js-ipfs/issues/1839)) ([2d45c9d](https://github.com/ipfs/js-ipfs/commit/2d45c9d))
927
928
929
930<a name="0.34.2"></a>
931## [0.34.2](https://github.com/ipfs/js-ipfs/compare/v0.34.1...v0.34.2) (2019-01-21)
932
933
934### Bug Fixes
935
936* race condition causing Database is not open error ([#1834](https://github.com/ipfs/js-ipfs/issues/1834)) ([6066c97](https://github.com/ipfs/js-ipfs/commit/6066c97))
937
938
939### Features
940
941* use ws-star-multi instead of ws-star ([#1793](https://github.com/ipfs/js-ipfs/issues/1793)) ([21fd4d1](https://github.com/ipfs/js-ipfs/commit/21fd4d1))
942
943
944
945<a name="0.34.1"></a>
946## [0.34.1](https://github.com/ipfs/js-ipfs/compare/v0.34.0...v0.34.1) (2019-01-21)
947
948
949### Features
950
951* pipe to add ([#1833](https://github.com/ipfs/js-ipfs/issues/1833)) ([ea53071](https://github.com/ipfs/js-ipfs/commit/ea53071))
952
953
954
955<a name="0.34.0"></a>
956# [0.34.0](https://github.com/ipfs/js-ipfs/compare/v0.34.0-rc.1...v0.34.0) (2019-01-17)
957
958
959
960<a name="0.34.0-rc.1"></a>
961# [0.34.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.34.0-rc.0...v0.34.0-rc.1) (2019-01-15)
962
963
964### Bug Fixes
965
966* sharness tests ([#1787](https://github.com/ipfs/js-ipfs/issues/1787)) ([48d3e2b](https://github.com/ipfs/js-ipfs/commit/48d3e2b))
967
968
969### Code Refactoring
970
971* switch to bignumber.js ([#1803](https://github.com/ipfs/js-ipfs/issues/1803)) ([6de6adf](https://github.com/ipfs/js-ipfs/commit/6de6adf))
972
973
974### Features
975
976* update to Web UI v2.3.2 ([#1807](https://github.com/ipfs/js-ipfs/issues/1807)) ([8ca6471](https://github.com/ipfs/js-ipfs/commit/8ca6471))
977* update Web UI to v2.3.0 ([#1786](https://github.com/ipfs/js-ipfs/issues/1786)) ([7bcc496](https://github.com/ipfs/js-ipfs/commit/7bcc496))
978
979
980### BREAKING CHANGES
981
982* All API methods that returned [`big.js`](https://github.com/MikeMcl/big.js/) instances now return [`bignumber.js`](https://github.com/MikeMcl/bignumber.js/) instances.
983
984License: MIT
985Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
986
987
988
989<a name="0.34.0-rc.0"></a>
990# [0.34.0-rc.0](https://github.com/ipfs/js-ipfs/compare/v0.34.0-pre.0...v0.34.0-rc.0) (2018-12-18)
991
992
993### Bug Fixes
994
995* link to Github profile for David Dias ([3659d7e](https://github.com/ipfs/js-ipfs/commit/3659d7e))
996* streaming cat over http api ([#1760](https://github.com/ipfs/js-ipfs/issues/1760)) ([3ded576](https://github.com/ipfs/js-ipfs/commit/3ded576))
997
998
999### Features
1000
1001* add `addFromFs` method ([#1777](https://github.com/ipfs/js-ipfs/issues/1777)) ([7315aa1](https://github.com/ipfs/js-ipfs/commit/7315aa1))
1002* add from url/stream ([#1773](https://github.com/ipfs/js-ipfs/issues/1773)) ([b6a7ab6](https://github.com/ipfs/js-ipfs/commit/b6a7ab6))
1003* add slient option ([#1712](https://github.com/ipfs/js-ipfs/issues/1712)) ([593334b](https://github.com/ipfs/js-ipfs/commit/593334b))
1004* cid base option ([#1552](https://github.com/ipfs/js-ipfs/issues/1552)) ([6d46e2e](https://github.com/ipfs/js-ipfs/commit/6d46e2e)), closes [/github.com/ipfs/go-ipfs/issues/5349#issuecomment-445104823](https://github.com//github.com/ipfs/go-ipfs/issues/5349/issues/issuecomment-445104823)
1005
1006
1007
1008<a name="0.34.0-pre.0"></a>
1009# [0.34.0-pre.0](https://github.com/ipfs/js-ipfs/compare/v0.33.1...v0.34.0-pre.0) (2018-12-07)
1010
1011
1012### Bug Fixes
1013
1014* add dash case to pin cli ([#1719](https://github.com/ipfs/js-ipfs/issues/1719)) ([eacd580](https://github.com/ipfs/js-ipfs/commit/eacd580))
1015* add missing dependencies ([#1663](https://github.com/ipfs/js-ipfs/issues/1663)) ([4bcf4a7](https://github.com/ipfs/js-ipfs/commit/4bcf4a7))
1016* allow disabling mfs preload from config ([#1733](https://github.com/ipfs/js-ipfs/issues/1733)) ([5f66538](https://github.com/ipfs/js-ipfs/commit/5f66538))
1017* better error message when pubsub is not enabled ([#1729](https://github.com/ipfs/js-ipfs/issues/1729)) ([5237dd9](https://github.com/ipfs/js-ipfs/commit/5237dd9))
1018* examples after files API refactor ([#1740](https://github.com/ipfs/js-ipfs/issues/1740)) ([34ec036](https://github.com/ipfs/js-ipfs/commit/34ec036))
1019* ipns datastore key ([#1741](https://github.com/ipfs/js-ipfs/issues/1741)) ([a39770e](https://github.com/ipfs/js-ipfs/commit/a39770e))
1020* make circuit relay test ([#1710](https://github.com/ipfs/js-ipfs/issues/1710)) ([345ce91](https://github.com/ipfs/js-ipfs/commit/345ce91))
1021* remove electron-webrtc and wrtc for now ([#1718](https://github.com/ipfs/js-ipfs/issues/1718)) ([b6b50d5](https://github.com/ipfs/js-ipfs/commit/b6b50d5))
1022
1023
1024### Code Refactoring
1025
1026* files API ([#1720](https://github.com/ipfs/js-ipfs/issues/1720)) ([a82a5dc](https://github.com/ipfs/js-ipfs/commit/a82a5dc))
1027* object APIs write methods now return CIDs ([#1730](https://github.com/ipfs/js-ipfs/issues/1730)) ([ac5fa8e](https://github.com/ipfs/js-ipfs/commit/ac5fa8e)), closes [/github.com/ipfs/interface-ipfs-core/pull/388#pullrequestreview-173866270](https://github.com//github.com/ipfs/interface-ipfs-core/pull/388/issues/pullrequestreview-173866270)
1028
1029
1030### Features
1031
1032* ipns over dht ([#1725](https://github.com/ipfs/js-ipfs/issues/1725)) ([1a943f8](https://github.com/ipfs/js-ipfs/commit/1a943f8))
1033* ipns over pubsub ([#1559](https://github.com/ipfs/js-ipfs/issues/1559)) ([8712542](https://github.com/ipfs/js-ipfs/commit/8712542))
1034* Web UI updated to v2.2.0 ([#1711](https://github.com/ipfs/js-ipfs/issues/1711)) ([b2158bc](https://github.com/ipfs/js-ipfs/commit/b2158bc))
1035
1036
1037### Performance Improvements
1038
1039* lazy load IPLD formats ([#1704](https://github.com/ipfs/js-ipfs/issues/1704)) ([aefb261](https://github.com/ipfs/js-ipfs/commit/aefb261))
1040
1041
1042### BREAKING CHANGES
1043
1044* Object API refactor.
1045
1046Object API methods that write DAG nodes now return a [CID](https://www.npmjs.com/package/cids) instead of a DAG node. Affected methods:
1047
1048* `ipfs.object.new`
1049* `ipfs.object.patch.addLink`
1050* `ipfs.object.patch.appendData`
1051* `ipfs.object.patch.rmLink`
1052* `ipfs.object.patch.setData`
1053* `ipfs.object.put`
1054
1055Example:
1056
1057```js
1058// Before
1059const dagNode = await ipfs.object.new()
1060```
1061
1062```js
1063// After
1064const cid = await ipfs.object.new() // now returns a CID
1065const dagNode = await ipfs.object.get(cid) // fetch the DAG node that was created
1066```
1067
1068IMPORTANT: `DAGNode` instances, which are part of the IPLD dag-pb format have been refactored.
1069
1070These instances no longer have `multihash`, `cid` or `serialized` properties.
1071
1072This effects the following API methods that return these types of objects:
1073
1074* `ipfs.object.get`
1075* `ipfs.dag.get`
1076
1077See https://github.com/ipld/js-ipld-dag-pb/pull/99 for more information.
1078
1079License: MIT
1080Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
1081* Files API methods `add*`, `cat*`, `get*` have moved from `files` to the root namespace.
1082
1083Specifically, the following changes have been made:
1084
1085* `ipfs.files.add` => `ipfs.add`
1086* `ipfs.files.addPullStream` => `ipfs.addPullStream`
1087* `ipfs.files.addReadableStream` => `ipfs.addReadableStream`
1088* `ipfs.files.cat` => `ipfs.cat`
1089* `ipfs.files.catPullStream` => `ipfs.catPullStream`
1090* `ipfs.files.catReadableStream` => `ipfs.catReadableStream`
1091* `ipfs.files.get` => `ipfs.get`
1092* `ipfs.files.getPullStream` => `ipfs.getPullStream`
1093* `ipfs.files.getReadableStream` => `ipfs.getReadableStream`
1094
1095License: MIT
1096Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
1097
1098
1099
1100<a name="0.33.1"></a>
1101## [0.33.1](https://github.com/ipfs/js-ipfs/compare/v0.33.0...v0.33.1) (2018-11-05)
1102
1103
1104### Bug Fixes
1105
1106* over eager preload ([#1693](https://github.com/ipfs/js-ipfs/issues/1693)) ([f14c20d](https://github.com/ipfs/js-ipfs/commit/f14c20d))
1107
1108
1109
1110<a name="0.33.0"></a>
1111# [0.33.0](https://github.com/ipfs/js-ipfs/compare/v0.33.0-rc.4...v0.33.0) (2018-11-01)
1112
1113
1114
1115<a name="0.33.0-rc.4"></a>
1116# [0.33.0-rc.4](https://github.com/ipfs/js-ipfs/compare/v0.33.0-rc.3...v0.33.0-rc.4) (2018-11-01)
1117
1118
1119### Bug Fixes
1120
1121* remove accidentally committed code ([66fa8ef](https://github.com/ipfs/js-ipfs/commit/66fa8ef))
1122* remove local option from global commands ([#1648](https://github.com/ipfs/js-ipfs/issues/1648)) ([8e963f9](https://github.com/ipfs/js-ipfs/commit/8e963f9))
1123* remove npm script ([df32ac4](https://github.com/ipfs/js-ipfs/commit/df32ac4))
1124* remove unused deps ([f7189fb](https://github.com/ipfs/js-ipfs/commit/f7189fb))
1125* use class is function on ipns ([#1617](https://github.com/ipfs/js-ipfs/issues/1617)) ([c240d49](https://github.com/ipfs/js-ipfs/commit/c240d49)), closes [js-peer-id#84](https://github.com/js-peer-id/issues/84) [interface-datastore#24](https://github.com/interface-datastore/issues/24) [#1615](https://github.com/ipfs/js-ipfs/issues/1615)
1126
1127
1128### Chores
1129
1130* remove ipld formats re-export ([#1626](https://github.com/ipfs/js-ipfs/issues/1626)) ([3ee7b5e](https://github.com/ipfs/js-ipfs/commit/3ee7b5e))
1131* update to js-ipld 0.19 ([#1668](https://github.com/ipfs/js-ipfs/issues/1668)) ([74edafd](https://github.com/ipfs/js-ipfs/commit/74edafd))
1132
1133
1134### Features
1135
1136* add support to pass config in the init cmd ([#1662](https://github.com/ipfs/js-ipfs/issues/1662)) ([588891c](https://github.com/ipfs/js-ipfs/commit/588891c))
1137* get Ping to work properly ([27d5a57](https://github.com/ipfs/js-ipfs/commit/27d5a57))
1138
1139
1140### BREAKING CHANGES
1141
1142* dag-cbor nodes now represent links as CID objects
1143
1144The API for [dag-cbor](https://github.com/ipld/js-ipld-dag-cbor) changed.
1145Links are no longer represented as JSON objects (`{"/": "base-encoded-cid"}`,
1146but as [CID objects](https://github.com/ipld/js-cid). `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
1147supported, but deprecated.
1148
1149Prior to this change:
1150
1151```js
1152const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
1153// Link as JSON object representation
1154const putCid = await ipfs.dag.put({link: {'/': cid.toBaseEncodedString()}})
1155const result = await ipfs.dag.get(putCid)
1156console.log(result.value)
1157
1158```
1159
1160Output:
1161
1162```js
1163{ link:
1164 { '/':
1165 <Buffer 12 20 8a…> } }
1166```
1167
1168Now:
1169
1170```js
1171const cid = new CID('QmXed8RihWcWFXRRmfSRG9yFjEbXNxu1bDwgCFAN8Dxcq5')
1172// Link as CID object
1173const putCid = await ipfs.dag.put({link: cid})
1174const result = await ipfs.dag.get(putCid)
1175console.log(result.value)
1176```
1177
1178Output:
1179
1180```js
1181{ link:
1182 CID {
1183 codec: 'dag-pb',
1184 version: 0,
1185 multihash:
1186 <Buffer 12 20 8a…> } }
1187```
1188
1189See https://github.com/ipld/ipld/issues/44 for more information on why this
1190change was made.
1191* remove `types.dagCBOR` and `types.dagPB` from public API
1192
1193If you need the `ipld-dag-cbor` or `ipld-dag-pb` module in the Browser,
1194you need to bundle them yourself.
1195
1196
1197
1198<a name="0.33.0-rc.3"></a>
1199# [0.33.0-rc.3](https://github.com/ipfs/js-ipfs/compare/v0.33.0-rc.2...v0.33.0-rc.3) (2018-10-24)
1200
1201
1202
1203<a name="0.33.0-rc.2"></a>
1204# [0.33.0-rc.2](https://github.com/ipfs/js-ipfs/compare/v0.33.0-rc.1...v0.33.0-rc.2) (2018-10-23)
1205
1206
1207
1208<a name="0.33.0-rc.1"></a>
1209# [0.33.0-rc.1](https://github.com/ipfs/js-ipfs/compare/v0.32.3...v0.33.0-rc.1) (2018-10-19)
1210
1211
1212### Bug Fixes
1213
1214* make ipfs.ping() options optional ([#1627](https://github.com/ipfs/js-ipfs/issues/1627)) ([08f06b6](https://github.com/ipfs/js-ipfs/commit/08f06b6)), closes [#1616](https://github.com/ipfs/js-ipfs/issues/1616)
1215
1216
1217### Features
1218
1219* **gateway:** X-Ipfs-Path, Etag, Cache-Control, Suborigin ([#1537](https://github.com/ipfs/js-ipfs/issues/1537)) ([fc5bef7](https://github.com/ipfs/js-ipfs/commit/fc5bef7))
1220* add cid command ([#1560](https://github.com/ipfs/js-ipfs/issues/1560)) ([a22c791](https://github.com/ipfs/js-ipfs/commit/a22c791))
1221* show Web UI url in daemon output ([#1595](https://github.com/ipfs/js-ipfs/issues/1595)) ([9a82b05](https://github.com/ipfs/js-ipfs/commit/9a82b05))
1222* update to Web UI 2.0 ([#1647](https://github.com/ipfs/js-ipfs/issues/1647)) ([aea85aa](https://github.com/ipfs/js-ipfs/commit/aea85aa))
1223
1224
1225
1226<a name="0.32.3"></a>
1227## [0.32.3](https://github.com/ipfs/js-ipfs/compare/v0.32.2...v0.32.3) (2018-09-28)
1228
1229
1230### Bug Fixes
1231
1232* allow null/undefined options ([#1581](https://github.com/ipfs/js-ipfs/issues/1581)) ([c73bd2f](https://github.com/ipfs/js-ipfs/commit/c73bd2f)), closes [#1574](https://github.com/ipfs/js-ipfs/issues/1574)
1233* block.put with non default options ([#1600](https://github.com/ipfs/js-ipfs/issues/1600)) ([4ba0a24](https://github.com/ipfs/js-ipfs/commit/4ba0a24))
1234* ipns datastore get not found ([#1558](https://github.com/ipfs/js-ipfs/issues/1558)) ([4e99cf5](https://github.com/ipfs/js-ipfs/commit/4e99cf5))
1235* report correct size for raw dag nodes ([#1591](https://github.com/ipfs/js-ipfs/issues/1591)) ([549f2f6](https://github.com/ipfs/js-ipfs/commit/549f2f6)), closes [#1585](https://github.com/ipfs/js-ipfs/issues/1585)
1236* revert libp2p records being signed for ipns ([#1570](https://github.com/ipfs/js-ipfs/issues/1570)) ([855b3bd](https://github.com/ipfs/js-ipfs/commit/855b3bd))
1237
1238
1239
1240<a name="0.32.2"></a>
1241## [0.32.2](https://github.com/ipfs/js-ipfs/compare/v0.32.1...v0.32.2) (2018-09-19)
1242
1243
1244### Bug Fixes
1245
1246* coerce key gen size to number ([#1582](https://github.com/ipfs/js-ipfs/issues/1582)) ([25d820d](https://github.com/ipfs/js-ipfs/commit/25d820d))
1247
1248
1249
1250<a name="0.32.1"></a>
1251## [0.32.1](https://github.com/ipfs/js-ipfs/compare/v0.32.0...v0.32.1) (2018-09-18)
1252
1253
1254### Bug Fixes
1255
1256* add libp2p-crypto to deps list ([#1572](https://github.com/ipfs/js-ipfs/issues/1572)) ([7eaf571](https://github.com/ipfs/js-ipfs/commit/7eaf571)), closes [#1571](https://github.com/ipfs/js-ipfs/issues/1571)
1257* enable tests in node that were not being included ([#1499](https://github.com/ipfs/js-ipfs/issues/1499)) ([2585431](https://github.com/ipfs/js-ipfs/commit/2585431))
1258* fix `block rm` command ([#1576](https://github.com/ipfs/js-ipfs/issues/1576)) ([af30ea5](https://github.com/ipfs/js-ipfs/commit/af30ea5))
1259* mfs preload test ([#1551](https://github.com/ipfs/js-ipfs/issues/1551)) ([7c7a5a6](https://github.com/ipfs/js-ipfs/commit/7c7a5a6))
1260
1261
1262### Performance Improvements
1263
1264* faster startup time ([#1542](https://github.com/ipfs/js-ipfs/issues/1542)) ([2790e6d](https://github.com/ipfs/js-ipfs/commit/2790e6d))
1265
1266
1267
1268<a name="0.32.0"></a>
1269# [0.32.0](https://github.com/ipfs/js-ipfs/compare/v0.32.0-rc.2...v0.32.0) (2018-09-11)
1270
1271
1272### Bug Fixes
1273
1274* ipns publish resolve option overwritten ([#1556](https://github.com/ipfs/js-ipfs/issues/1556)) ([ef7d2c8](https://github.com/ipfs/js-ipfs/commit/ef7d2c8))
1275
1276
1277### Features
1278
1279* 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](https://github.com/ipfs/js-ipfs/blob/master/packages/interface-ipfs-core/SPEC/NAME.md).
1280* 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.
1281* `ipfs.files.add*` now supports a `chunker` option, see [the API docs](https://github.com/ipfs/js-ipfs/blob/master/packages/interface-ipfs-core/SPEC/FILES.md#filesadd) for details
1282
1283
1284<a name="0.31.7"></a>
1285## [0.31.7](https://github.com/ipfs/js-ipfs/compare/v0.31.6...v0.31.7) (2018-08-20)
1286
1287
1288### Bug Fixes
1289
1290* fails to start when preload disabled ([#1516](https://github.com/ipfs/js-ipfs/issues/1516)) ([511ab47](https://github.com/ipfs/js-ipfs/commit/511ab47)), closes [#1514](https://github.com/ipfs/js-ipfs/issues/1514)
1291* npm publishes examples folder ([#1513](https://github.com/ipfs/js-ipfs/issues/1513)) ([4a68ac1](https://github.com/ipfs/js-ipfs/commit/4a68ac1))
1292
1293
1294
1295<a name="0.31.6"></a>
1296## [0.31.6](https://github.com/ipfs/js-ipfs/compare/v0.31.5...v0.31.6) (2018-08-17)
1297
1298
1299### Features
1300
1301* adds data-encoding argument to control data encoding ([#1420](https://github.com/ipfs/js-ipfs/issues/1420)) ([1eb8485](https://github.com/ipfs/js-ipfs/commit/1eb8485))
1302
1303
1304
1305<a name="0.31.5"></a>
1306## [0.31.5](https://github.com/ipfs/js-ipfs/compare/v0.31.4...v0.31.5) (2018-08-17)
1307
1308
1309### Bug Fixes
1310
1311* add missing space after emoji ([5cde7c1](https://github.com/ipfs/js-ipfs/commit/5cde7c1))
1312* improper input validation ([#1506](https://github.com/ipfs/js-ipfs/issues/1506)) ([91a482b](https://github.com/ipfs/js-ipfs/commit/91a482b))
1313* object.patch.rmLink not working ([#1508](https://github.com/ipfs/js-ipfs/issues/1508)) ([afd3255](https://github.com/ipfs/js-ipfs/commit/afd3255))
1314* stub out call to fetch for ipfs.dns test in browser ([#1512](https://github.com/ipfs/js-ipfs/issues/1512)) ([86c3d81](https://github.com/ipfs/js-ipfs/commit/86c3d81))
1315
1316
1317
1318<a name="0.31.4"></a>
1319## [0.31.4](https://github.com/ipfs/js-ipfs/compare/v0.31.3...v0.31.4) (2018-08-09)
1320
1321
1322### Bug Fixes
1323
1324* consistent badge style in docs ([#1494](https://github.com/ipfs/js-ipfs/issues/1494)) ([4a72e23](https://github.com/ipfs/js-ipfs/commit/4a72e23))
1325* files.ls and files.read*Stream tests ([#1493](https://github.com/ipfs/js-ipfs/issues/1493)) ([a0bc79b](https://github.com/ipfs/js-ipfs/commit/a0bc79b))
1326
1327
1328
1329<a name="0.31.3"></a>
1330## [0.31.3](https://github.com/ipfs/js-ipfs/compare/v0.31.2...v0.31.3) (2018-08-09)
1331
1332
1333### Bug Fixes
1334
1335* failing tests in master ([#1488](https://github.com/ipfs/js-ipfs/issues/1488)) ([e607560](https://github.com/ipfs/js-ipfs/commit/e607560))
1336* **dag:** check dag.put options for plain object ([#1480](https://github.com/ipfs/js-ipfs/issues/1480)) ([d0b671b](https://github.com/ipfs/js-ipfs/commit/d0b671b)), closes [#1479](https://github.com/ipfs/js-ipfs/issues/1479)
1337* **dht:** allow for options object in `findProvs()` API ([#1457](https://github.com/ipfs/js-ipfs/issues/1457)) ([99911b1](https://github.com/ipfs/js-ipfs/commit/99911b1)), closes [#1322](https://github.com/ipfs/js-ipfs/issues/1322)
1338
1339
1340
1341<a name="0.31.2"></a>
1342## [0.31.2](https://github.com/ipfs/js-ipfs/compare/v0.31.1...v0.31.2) (2018-08-02)
1343
1344
1345### Bug Fixes
1346
1347* fix content-type by doing a fall-back using extensions ([#1482](https://github.com/ipfs/js-ipfs/issues/1482)) ([d528b3f](https://github.com/ipfs/js-ipfs/commit/d528b3f))
1348
1349
1350
1351<a name="0.31.1"></a>
1352## [0.31.1](https://github.com/ipfs/js-ipfs/compare/v0.31.0...v0.31.1) (2018-07-29)
1353
1354
1355### Bug Fixes
1356
1357* logo link ([a9219ad](https://github.com/ipfs/js-ipfs/commit/a9219ad))
1358* XMLHTTPRequest is deprecated and unavailable in service workers ([#1478](https://github.com/ipfs/js-ipfs/issues/1478)) ([7d6f0ca](https://github.com/ipfs/js-ipfs/commit/7d6f0ca))
1359
1360
1361
1362<a name="0.31.0"></a>
1363# [0.31.0](https://github.com/ipfs/js-ipfs/compare/v0.30.1...v0.31.0) (2018-07-29)
1364
1365
1366### Bug Fixes
1367
1368* emit boot error only once ([#1472](https://github.com/ipfs/js-ipfs/issues/1472)) ([45b80a0](https://github.com/ipfs/js-ipfs/commit/45b80a0))
1369
1370
1371### Features
1372
1373* preload content ([#1464](https://github.com/ipfs/js-ipfs/issues/1464)) ([bffe080](https://github.com/ipfs/js-ipfs/commit/bffe080)), closes [#1459](https://github.com/ipfs/js-ipfs/issues/1459)
1374* preload on content fetch requests ([#1475](https://github.com/ipfs/js-ipfs/issues/1475)) ([649b755](https://github.com/ipfs/js-ipfs/commit/649b755)), closes [#1473](https://github.com/ipfs/js-ipfs/issues/1473)
1375* remove decomissioned bootstrappers ([e3868f4](https://github.com/ipfs/js-ipfs/commit/e3868f4))
1376* rm decomissioned bootstrappers - nodejs ([90e9f68](https://github.com/ipfs/js-ipfs/commit/90e9f68))
1377* support --raw-leaves ([#1454](https://github.com/ipfs/js-ipfs/issues/1454)) ([1f63e8c](https://github.com/ipfs/js-ipfs/commit/1f63e8c))
1378
1379
1380### Reverts
1381
1382* docs: add migration note about upgrading from < 0.30.0 ([#1450](https://github.com/ipfs/js-ipfs/issues/1450)) ([#1456](https://github.com/ipfs/js-ipfs/issues/1456)) ([f4344b0](https://github.com/ipfs/js-ipfs/commit/f4344b0))
1383
1384
1385
1386<a name="0.30.1"></a>
1387## [0.30.1](https://github.com/ipfs/js-ipfs/compare/v0.30.0...v0.30.1) (2018-07-17)
1388
1389
1390### Bug Fixes
1391
1392* aegir docs fails if outer funtion is called pin ([#1429](https://github.com/ipfs/js-ipfs/issues/1429)) ([a08a17d](https://github.com/ipfs/js-ipfs/commit/a08a17d))
1393* double pre start ([#1437](https://github.com/ipfs/js-ipfs/issues/1437)) ([e6ad63e](https://github.com/ipfs/js-ipfs/commit/e6ad63e))
1394* fixing circuit-relaying example ([#1443](https://github.com/ipfs/js-ipfs/issues/1443)) ([a681fc5](https://github.com/ipfs/js-ipfs/commit/a681fc5)), closes [#1423](https://github.com/ipfs/js-ipfs/issues/1423)
1395
1396
1397
1398<a name="0.30.0"></a>
1399# [0.30.0](https://github.com/ipfs/js-ipfs/compare/v0.29.3...v0.30.0) (2018-07-09)
1400
1401
1402### Bug Fixes
1403
1404* allow put empty block & add X-Stream-Output header on get ([#1408](https://github.com/ipfs/js-ipfs/issues/1408)) ([52f7aa7](https://github.com/ipfs/js-ipfs/commit/52f7aa7))
1405* broken contributing links ([#1386](https://github.com/ipfs/js-ipfs/issues/1386)) ([cd449ff](https://github.com/ipfs/js-ipfs/commit/cd449ff))
1406* do not stringify output of object data ([#1398](https://github.com/ipfs/js-ipfs/issues/1398)) ([4e51a69](https://github.com/ipfs/js-ipfs/commit/4e51a69))
1407* **dag:** fix default hash algorithm for put() api ([#1419](https://github.com/ipfs/js-ipfs/issues/1419)) ([1a36375](https://github.com/ipfs/js-ipfs/commit/1a36375))
1408* **dag:** make options in `put` API optional ([#1415](https://github.com/ipfs/js-ipfs/issues/1415)) ([d299ed7](https://github.com/ipfs/js-ipfs/commit/d299ed7)), closes [#1395](https://github.com/ipfs/js-ipfs/issues/1395)
1409* **tests:** loosen assertion for bitswap.stat test ([#1404](https://github.com/ipfs/js-ipfs/issues/1404)) ([4290256](https://github.com/ipfs/js-ipfs/commit/4290256))
1410* update hlsjs-ipfs-loader version ([#1422](https://github.com/ipfs/js-ipfs/issues/1422)) ([6b14812](https://github.com/ipfs/js-ipfs/commit/6b14812))
1411
1412
1413### Features
1414
1415* (BREAKING CHANGE) new libp2p configuration ([#1401](https://github.com/ipfs/js-ipfs/issues/1401)) ([9c60909](https://github.com/ipfs/js-ipfs/commit/9c60909))
1416* expose libp2p connection manager configuration options ([#1410](https://github.com/ipfs/js-ipfs/issues/1410)) ([2615f76](https://github.com/ipfs/js-ipfs/commit/2615f76))
1417* implement bitswap.wantlist peerid and bitswap.unwant ([#1349](https://github.com/ipfs/js-ipfs/issues/1349)) ([45b705d](https://github.com/ipfs/js-ipfs/commit/45b705d))
1418* mfs implementation ([#1360](https://github.com/ipfs/js-ipfs/issues/1360)) ([871d24e](https://github.com/ipfs/js-ipfs/commit/871d24e)), closes [#1425](https://github.com/ipfs/js-ipfs/issues/1425)
1419* modular interface tests ([#1389](https://github.com/ipfs/js-ipfs/issues/1389)) ([18888be](https://github.com/ipfs/js-ipfs/commit/18888be))
1420* pin API ([#1045](https://github.com/ipfs/js-ipfs/issues/1045)) ([2a5cc5e](https://github.com/ipfs/js-ipfs/commit/2a5cc5e)), closes [#1249](https://github.com/ipfs/js-ipfs/issues/1249)
1421
1422
1423### Performance Improvements
1424
1425* use lodash ([#1414](https://github.com/ipfs/js-ipfs/issues/1414)) ([5637330](https://github.com/ipfs/js-ipfs/commit/5637330))
1426
1427
1428### BREAKING CHANGES
1429
1430* libp2p configuration has changed
1431
1432 * old: `libp2p.modules.discovery`
1433 * new: `libp2p.modules.peerDiscovery`
1434
1435License: MIT
1436Signed-off-by: David Dias <mail@daviddias.me>
1437
1438License: MIT
1439Signed-off-by: Alan Shaw <alan@tableflip.io>
1440
1441
1442
1443<a name="0.29.3"></a>
1444## [0.29.3](https://github.com/ipfs/js-ipfs/compare/v0.29.2...v0.29.3) (2018-06-04)
1445
1446
1447### Bug Fixes
1448
1449* **repo:** do not hang on calls to repo gc ([9fff46f](https://github.com/ipfs/js-ipfs/commit/9fff46f))
1450
1451
1452
1453<a name="0.29.2"></a>
1454## [0.29.2](https://github.com/ipfs/js-ipfs/compare/v0.29.1...v0.29.2) (2018-06-01)
1455
1456
1457### Bug Fixes
1458
1459* adds missing breaking changes for 0.29 to changelog ([#1370](https://github.com/ipfs/js-ipfs/issues/1370)) ([61ba99e](https://github.com/ipfs/js-ipfs/commit/61ba99e))
1460* dont fail on uninitialized repo ([#1374](https://github.com/ipfs/js-ipfs/issues/1374)) ([6f0a95b](https://github.com/ipfs/js-ipfs/commit/6f0a95b))
1461
1462
1463
1464<a name="0.29.1"></a>
1465## [0.29.1](https://github.com/ipfs/js-ipfs/compare/v0.29.0...v0.29.1) (2018-05-30)
1466
1467
1468### Bug Fixes
1469
1470* check for repo uninitialized error ([dcf5ea5](https://github.com/ipfs/js-ipfs/commit/dcf5ea5))
1471* update ipfs-repo errors require ([4d1318d](https://github.com/ipfs/js-ipfs/commit/4d1318d))
1472
1473
1474
1475<a name="0.29.0"></a>
1476# [0.29.0](https://github.com/ipfs/js-ipfs/compare/v0.28.2...v0.29.0) (2018-05-29)
1477
1478
1479### Bug Fixes
1480
1481* Add ipfs path to cli help ([64c3bfb](https://github.com/ipfs/js-ipfs/commit/64c3bfb))
1482* change ^ to ~ on 0.x.x deps ([#1345](https://github.com/ipfs/js-ipfs/issues/1345)) ([de95989](https://github.com/ipfs/js-ipfs/commit/de95989))
1483* change default config from JSON file to JS module to prevent having it doubly used ([#1324](https://github.com/ipfs/js-ipfs/issues/1324)) ([c3d2d1e](https://github.com/ipfs/js-ipfs/commit/c3d2d1e)), closes [#1316](https://github.com/ipfs/js-ipfs/issues/1316)
1484* changes peer prop in return value from swarm.peers to be a PeerId ([#1252](https://github.com/ipfs/js-ipfs/issues/1252)) ([e174866](https://github.com/ipfs/js-ipfs/commit/e174866))
1485* configure webpack to not use esmodules in dependencies ([4486acc](https://github.com/ipfs/js-ipfs/commit/4486acc))
1486* Display error when using unkown cli option ([a849d2f](https://github.com/ipfs/js-ipfs/commit/a849d2f))
1487* docker init script sed in non existent file ([#1246](https://github.com/ipfs/js-ipfs/issues/1246)) ([75d47c3](https://github.com/ipfs/js-ipfs/commit/75d47c3))
1488* files.add with pull streams ([0e601a7](https://github.com/ipfs/js-ipfs/commit/0e601a7))
1489* make pubsub.unsubscribe async and alter pubsub.subscribe signature ([a115829](https://github.com/ipfs/js-ipfs/commit/a115829))
1490* remove unused var ([#1273](https://github.com/ipfs/js-ipfs/issues/1273)) ([c1e8db1](https://github.com/ipfs/js-ipfs/commit/c1e8db1))
1491* typo ([#1367](https://github.com/ipfs/js-ipfs/issues/1367)) ([2679129](https://github.com/ipfs/js-ipfs/commit/2679129))
1492* use async/setImmediate vs process.nextTick ([af55608](https://github.com/ipfs/js-ipfs/commit/af55608))
1493
1494
1495### Features
1496
1497* .stats.bw* - Bandwidth Stats ([#1230](https://github.com/ipfs/js-ipfs/issues/1230)) ([9694925](https://github.com/ipfs/js-ipfs/commit/9694925))
1498* add ability to files.cat with a cid instance ([2e332c8](https://github.com/ipfs/js-ipfs/commit/2e332c8))
1499* Add support for specifying hash algorithms in files.add ([a2954cb](https://github.com/ipfs/js-ipfs/commit/a2954cb))
1500* allow dht to be enabled via cli arg ([#1340](https://github.com/ipfs/js-ipfs/issues/1340)) ([7bb838f](https://github.com/ipfs/js-ipfs/commit/7bb838f))
1501* Allows for byte offsets when using ipfs.files.cat and friends to request slices of files ([a93971a](https://github.com/ipfs/js-ipfs/commit/a93971a))
1502* Circuit Relay ([#1063](https://github.com/ipfs/js-ipfs/issues/1063)) ([f7eaa43](https://github.com/ipfs/js-ipfs/commit/f7eaa43))
1503* cli: add IPFS_PATH info to init command help ([#1274](https://github.com/ipfs/js-ipfs/issues/1274)) ([e189b72](https://github.com/ipfs/js-ipfs/commit/e189b72))
1504* handle SIGHUP ([7a817cf](https://github.com/ipfs/js-ipfs/commit/7a817cf))
1505* ipfs.ping cli, http-api and core ([#1342](https://github.com/ipfs/js-ipfs/issues/1342)) ([b8171b1](https://github.com/ipfs/js-ipfs/commit/b8171b1))
1506* jsipfs add --only-hash ([#1233](https://github.com/ipfs/js-ipfs/issues/1233)) ([#1266](https://github.com/ipfs/js-ipfs/issues/1266)) ([bddc5b4](https://github.com/ipfs/js-ipfs/commit/bddc5b4))
1507* Provide access to bundled libraries when in browser ([#1297](https://github.com/ipfs/js-ipfs/issues/1297)) ([4905c2d](https://github.com/ipfs/js-ipfs/commit/4905c2d))
1508* use class-is for type checks ([5b2cf8c](https://github.com/ipfs/js-ipfs/commit/5b2cf8c))
1509* wrap with directory ([#1329](https://github.com/ipfs/js-ipfs/issues/1329)) ([47285a7](https://github.com/ipfs/js-ipfs/commit/47285a7))
1510
1511
1512### Performance Improvements
1513
1514* **cli:** load only sub-system modules and inline require ipfs ([3820be0](https://github.com/ipfs/js-ipfs/commit/3820be0))
1515
1516
1517### BREAKING CHANGES
1518
15191. Argument order for `pubsub.subscribe` has changed:
1520 * Old: `pubsub.subscribe(topic, [options], handler, [callback]): Promise`
1521 * New: `pubsub.subscribe(topic, handler, [options], [callback]): Promise`
15222. The `pubsub.unsubscribe` method has become async meaning that it now takes a callback or returns a promise:
1523 * Old: `pubsub.unsubscribe(topic, handler): undefined`
1524 * New: `pubsub.unsubscribe(topic, handler, [callback]): Promise`
15253. Property names on response objects for `ping` are now lowered:
1526 * Old: `{ Success, Time, Text }`
1527 * New: `{ success, time, text }`
15284. In the CLI, `jsipfs object data` no longer returns a newline after the end of the returned data
1529
1530
1531
1532<a name="0.28.2"></a>
1533## [0.28.2](https://github.com/ipfs/js-ipfs/compare/v0.28.1...v0.28.2) (2018-03-14)
1534
1535
1536### Bug Fixes
1537
1538* match error if repo doesnt exist ([#1262](https://github.com/ipfs/js-ipfs/issues/1262)) ([aea69d3](https://github.com/ipfs/js-ipfs/commit/aea69d3))
1539* reinstates the non local block check in dht.provide ([#1250](https://github.com/ipfs/js-ipfs/issues/1250)) ([5b736a8](https://github.com/ipfs/js-ipfs/commit/5b736a8))
1540
1541
1542### Features
1543
1544* add config validation ([#1239](https://github.com/ipfs/js-ipfs/issues/1239)) ([a32dce7](https://github.com/ipfs/js-ipfs/commit/a32dce7))
1545
1546
1547
1548<a name="0.28.1"></a>
1549## [0.28.1](https://github.com/ipfs/js-ipfs/compare/v0.28.0...v0.28.1) (2018-03-09)
1550
1551
1552### Bug Fixes
1553
1554* **gateway:** catch stream2 error ([#1243](https://github.com/ipfs/js-ipfs/issues/1243)) ([5b40b41](https://github.com/ipfs/js-ipfs/commit/5b40b41))
1555* accept objects in file.add ([#1257](https://github.com/ipfs/js-ipfs/issues/1257)) ([d32dad9](https://github.com/ipfs/js-ipfs/commit/d32dad9))
1556
1557
1558
1559<a name="0.28.0"></a>
1560# [0.28.0](https://github.com/ipfs/js-ipfs/compare/v0.27.7...v0.28.0) (2018-03-01)
1561
1562
1563### Bug Fixes
1564
1565* **cli:** show help for subcommands ([8c63f8f](https://github.com/ipfs/js-ipfs/commit/8c63f8f))
1566* (cli/init) use cross-platform path separator ([bbb7cc5](https://github.com/ipfs/js-ipfs/commit/bbb7cc5))
1567* **dag:** print data in a readable way if it is JSON ([42545dc](https://github.com/ipfs/js-ipfs/commit/42545dc))
1568* bootstrap ([d527b45](https://github.com/ipfs/js-ipfs/commit/d527b45))
1569* now properly fix bootstrap in core ([9f39a6f](https://github.com/ipfs/js-ipfs/commit/9f39a6f))
1570* Remove scape characteres from error message. ([68e7b5a](https://github.com/ipfs/js-ipfs/commit/68e7b5a))
1571* Return swarm http errors as json ([d3a0ae1](https://github.com/ipfs/js-ipfs/commit/d3a0ae1)), closes [#1176](https://github.com/ipfs/js-ipfs/issues/1176)
1572* stats tests ([a0fd355](https://github.com/ipfs/js-ipfs/commit/a0fd355))
1573* use "ipld" instead of "ipld-resolver" ([e7f0432](https://github.com/ipfs/js-ipfs/commit/e7f0432))
1574
1575
1576### Features
1577
1578* `ipfs version` flags + `ipfs repo version` ([#1181](https://github.com/ipfs/js-ipfs/issues/1181)) ([#1188](https://github.com/ipfs/js-ipfs/issues/1188)) ([494da7f](https://github.com/ipfs/js-ipfs/commit/494da7f))
1579* Add /ip6 addresses to bootstrap ([3bca165](https://github.com/ipfs/js-ipfs/commit/3bca165)), closes [#706](https://github.com/ipfs/js-ipfs/issues/706)
1580* all pubsub tests passing with libp2p pubsub ([6fe015f](https://github.com/ipfs/js-ipfs/commit/6fe015f))
1581* Bootstrap API compliance ([#1218](https://github.com/ipfs/js-ipfs/issues/1218)) ([9a445d1](https://github.com/ipfs/js-ipfs/commit/9a445d1))
1582* Implementation of the ipfs.key API ([#1133](https://github.com/ipfs/js-ipfs/issues/1133)) ([d945fce](https://github.com/ipfs/js-ipfs/commit/d945fce))
1583* improved multiaddr validation. ([d9744a1](https://github.com/ipfs/js-ipfs/commit/d9744a1))
1584* ipfs shutdown ([#1200](https://github.com/ipfs/js-ipfs/issues/1200)) ([95365fa](https://github.com/ipfs/js-ipfs/commit/95365fa))
1585* jsipfs ls -r (Recursive list directory) ([#1222](https://github.com/ipfs/js-ipfs/issues/1222)) ([0f1e00f](https://github.com/ipfs/js-ipfs/commit/0f1e00f))
1586* latest libp2p + other deps. Fix bugs in tests along the way ([4b79066](https://github.com/ipfs/js-ipfs/commit/4b79066))
1587* reworking tests with new ipfsd-ctl ([#1167](https://github.com/ipfs/js-ipfs/issues/1167)) ([d16a129](https://github.com/ipfs/js-ipfs/commit/d16a129))
1588* stats API (stats.bitswap and stats.repo) ([#1198](https://github.com/ipfs/js-ipfs/issues/1198)) ([905bdc0](https://github.com/ipfs/js-ipfs/commit/905bdc0))
1589* support Jenkins ([bc66e9f](https://github.com/ipfs/js-ipfs/commit/bc66e9f))
1590* use PubSub API directly from libp2p ([6b9fc95](https://github.com/ipfs/js-ipfs/commit/6b9fc95))
1591* use reduces keysize ([#1232](https://github.com/ipfs/js-ipfs/issues/1232)) ([7f69628](https://github.com/ipfs/js-ipfs/commit/7f69628))
1592
1593
1594
1595<a name="0.27.7"></a>
1596## [0.27.7](https://github.com/ipfs/js-ipfs/compare/v0.27.6...v0.27.7) (2018-01-16)
1597
1598
1599### Features
1600
1601* /api/v0/dns ([#1172](https://github.com/ipfs/js-ipfs/issues/1172)) ([639024c](https://github.com/ipfs/js-ipfs/commit/639024c))
1602
1603
1604
1605<a name="0.27.6"></a>
1606## [0.27.6](https://github.com/ipfs/js-ipfs/compare/v0.27.5...v0.27.6) (2018-01-07)
1607
1608
1609### Bug Fixes
1610
1611* cli files on Windows ([#1159](https://github.com/ipfs/js-ipfs/issues/1159)) ([1b98fa1](https://github.com/ipfs/js-ipfs/commit/1b98fa1))
1612
1613
1614
1615<a name="0.27.5"></a>
1616## [0.27.5](https://github.com/ipfs/js-ipfs/compare/v0.27.4...v0.27.5) (2017-12-18)
1617
1618
1619### Bug Fixes
1620
1621* cat: test file existence after filtering ([#1148](https://github.com/ipfs/js-ipfs/issues/1148)) ([34f28ef](https://github.com/ipfs/js-ipfs/commit/34f28ef)), closes [#1142](https://github.com/ipfs/js-ipfs/issues/1142)
1622* ipfs.ls: allow any depth ([#1152](https://github.com/ipfs/js-ipfs/issues/1152)) ([279af78](https://github.com/ipfs/js-ipfs/commit/279af78)), closes [#1079](https://github.com/ipfs/js-ipfs/issues/1079)
1623* use new bitswap stats ([#1151](https://github.com/ipfs/js-ipfs/issues/1151)) ([e223888](https://github.com/ipfs/js-ipfs/commit/e223888))
1624* **files.add:** directory with odd name ([#1155](https://github.com/ipfs/js-ipfs/issues/1155)) ([058c674](https://github.com/ipfs/js-ipfs/commit/058c674))
1625
1626
1627
1628<a name="0.27.4"></a>
1629## [0.27.4](https://github.com/ipfs/js-ipfs/compare/v0.27.3...v0.27.4) (2017-12-13)
1630
1631
1632### Bug Fixes
1633
1634* files.cat: detect and handle rrors when unknown path and cat dir ([#1143](https://github.com/ipfs/js-ipfs/issues/1143)) ([120d291](https://github.com/ipfs/js-ipfs/commit/120d291))
1635* fix bug introduced by 1143 ([#1146](https://github.com/ipfs/js-ipfs/issues/1146)) ([12cdc08](https://github.com/ipfs/js-ipfs/commit/12cdc08))
1636
1637
1638
1639<a name="0.27.3"></a>
1640## [0.27.3](https://github.com/ipfs/js-ipfs/compare/v0.27.2...v0.27.3) (2017-12-10)
1641
1642
1643### Bug Fixes
1644
1645* config handler should check if value is null ([#1134](https://github.com/ipfs/js-ipfs/issues/1134)) ([0444c42](https://github.com/ipfs/js-ipfs/commit/0444c42))
1646* **pubsub:** subscribe promises ([#1141](https://github.com/ipfs/js-ipfs/issues/1141)) ([558017d](https://github.com/ipfs/js-ipfs/commit/558017d))
1647
1648
1649
1650<a name="0.27.2"></a>
1651## [0.27.2](https://github.com/ipfs/js-ipfs/compare/v0.27.1...v0.27.2) (2017-12-09)
1652
1653
1654
1655<a name="0.27.1"></a>
1656## [0.27.1](https://github.com/ipfs/js-ipfs/compare/v0.27.0...v0.27.1) (2017-12-07)
1657
1658
1659### Bug Fixes
1660
1661* **pubsub.peers:** remove the requirement for a topic ([#1125](https://github.com/ipfs/js-ipfs/issues/1125)) ([5601c26](https://github.com/ipfs/js-ipfs/commit/5601c26))
1662
1663
1664
1665<a name="0.27.0"></a>
1666# [0.27.0](https://github.com/ipfs/js-ipfs/compare/v0.26.0...v0.27.0) (2017-12-04)
1667
1668
1669### Bug Fixes
1670
1671* fix the welcome message and throw error when trying to cat a non-exis… ([#1032](https://github.com/ipfs/js-ipfs/issues/1032)) ([25fb390](https://github.com/ipfs/js-ipfs/commit/25fb390)), closes [#1031](https://github.com/ipfs/js-ipfs/issues/1031)
1672* make offline error retain stack ([#1056](https://github.com/ipfs/js-ipfs/issues/1056)) ([dce6a49](https://github.com/ipfs/js-ipfs/commit/dce6a49))
1673* pre 1.0.0 deps should be always installed with ~ and not ^ ([c672af7](https://github.com/ipfs/js-ipfs/commit/c672af7))
1674* progress bar flakiness ([#1042](https://github.com/ipfs/js-ipfs/issues/1042)) ([d7732c3](https://github.com/ipfs/js-ipfs/commit/d7732c3))
1675* promisify .block (get, put, rm, stat) ([#1085](https://github.com/ipfs/js-ipfs/issues/1085)) ([cafa52b](https://github.com/ipfs/js-ipfs/commit/cafa52b))
1676* **files.add:** glob needs a POSIX path ([#1108](https://github.com/ipfs/js-ipfs/issues/1108)) ([9c29a23](https://github.com/ipfs/js-ipfs/commit/9c29a23))
1677* promisify node.stop ([#1082](https://github.com/ipfs/js-ipfs/issues/1082)) ([9b385ae](https://github.com/ipfs/js-ipfs/commit/9b385ae))
1678* pubsub message fields ([#1077](https://github.com/ipfs/js-ipfs/issues/1077)) ([9de6f4c](https://github.com/ipfs/js-ipfs/commit/9de6f4c))
1679* removed error handler that was hiding errors ([#1120](https://github.com/ipfs/js-ipfs/issues/1120)) ([58ded8d](https://github.com/ipfs/js-ipfs/commit/58ded8d))
1680* Typo ([#1044](https://github.com/ipfs/js-ipfs/issues/1044)) ([179b6a4](https://github.com/ipfs/js-ipfs/commit/179b6a4))
1681* update *-star multiaddrs to explicity say that they need tcp and a port ([#1117](https://github.com/ipfs/js-ipfs/issues/1117)) ([9eda8a8](https://github.com/ipfs/js-ipfs/commit/9eda8a8))
1682
1683
1684### Features
1685
1686* accept additional transports ([6613aa6](https://github.com/ipfs/js-ipfs/commit/6613aa6))
1687* add circuit relay and aegir 12 (+ big refactor) ([104ef1e](https://github.com/ipfs/js-ipfs/commit/104ef1e))
1688* add WebUI Path ([#1124](https://github.com/ipfs/js-ipfs/issues/1124)) ([8041b48](https://github.com/ipfs/js-ipfs/commit/8041b48))
1689* adding appveyor support ([#1054](https://github.com/ipfs/js-ipfs/issues/1054)) ([b92bdfe](https://github.com/ipfs/js-ipfs/commit/b92bdfe))
1690* agent version with package number ([#1121](https://github.com/ipfs/js-ipfs/issues/1121)) ([550f955](https://github.com/ipfs/js-ipfs/commit/550f955))
1691* cli --api option ([#1087](https://github.com/ipfs/js-ipfs/issues/1087)) ([1b1fa05](https://github.com/ipfs/js-ipfs/commit/1b1fa05))
1692* complete PubSub implementation ([ac95601](https://github.com/ipfs/js-ipfs/commit/ac95601))
1693* implement "ipfs file ls" ([#1078](https://github.com/ipfs/js-ipfs/issues/1078)) ([6db3fb8](https://github.com/ipfs/js-ipfs/commit/6db3fb8))
1694* implementing the new streaming interfaces ([#1086](https://github.com/ipfs/js-ipfs/issues/1086)) ([2c4b8b3](https://github.com/ipfs/js-ipfs/commit/2c4b8b3))
1695* ipfs.ls ([#1073](https://github.com/ipfs/js-ipfs/issues/1073)) ([35687cb](https://github.com/ipfs/js-ipfs/commit/35687cb))
1696* make js-ipfs daemon stop with same SIG as go-ipfs ([#1067](https://github.com/ipfs/js-ipfs/issues/1067)) ([7dd4e01](https://github.com/ipfs/js-ipfs/commit/7dd4e01))
1697* WebSocketStar ([#1090](https://github.com/ipfs/js-ipfs/issues/1090)) ([33e9949](https://github.com/ipfs/js-ipfs/commit/33e9949))
1698* windows interop ([#1065](https://github.com/ipfs/js-ipfs/issues/1065)) ([d8197f9](https://github.com/ipfs/js-ipfs/commit/d8197f9))
1699
1700
1701
1702<a name="0.26.0"></a>
1703# [0.26.0](https://github.com/ipfs/js-ipfs/compare/v0.25.4...v0.26.0) (2017-09-13)
1704
1705
1706### Bug Fixes
1707
1708* strips trailing slash from path ([#985](https://github.com/ipfs/js-ipfs/issues/985)) ([bfc58d6](https://github.com/ipfs/js-ipfs/commit/bfc58d6))
1709
1710
1711### Features
1712
1713* Add --cid-version option to ipfs files add + decodeURIComponent for file and directory names ([7544b7b](https://github.com/ipfs/js-ipfs/commit/7544b7b))
1714* add gateway to ipfs daemon ([9f2006e](https://github.com/ipfs/js-ipfs/commit/9f2006e)), closes [#1006](https://github.com/ipfs/js-ipfs/issues/1006) [#1008](https://github.com/ipfs/js-ipfs/issues/1008) [#1009](https://github.com/ipfs/js-ipfs/issues/1009)
1715* adds quiet flags ([#1001](https://github.com/ipfs/js-ipfs/issues/1001)) ([d21b492](https://github.com/ipfs/js-ipfs/commit/d21b492))
1716* complete the migration to p2p-webrtc-star ([#984](https://github.com/ipfs/js-ipfs/issues/984)) ([1e5dd2c](https://github.com/ipfs/js-ipfs/commit/1e5dd2c))
1717
1718
1719
1720<a name="0.25.4"></a>
1721## [0.25.4](https://github.com/ipfs/js-ipfs/compare/v0.25.3...v0.25.4) (2017-09-01)
1722
1723
1724### Features
1725
1726* add multiaddrs for bootstrapers gateway ([a15bee9](https://github.com/ipfs/js-ipfs/commit/a15bee9))
1727
1728
1729
1730<a name="0.25.3"></a>
1731## [0.25.3](https://github.com/ipfs/js-ipfs/compare/v0.25.2...v0.25.3) (2017-09-01)
1732
1733
1734### Bug Fixes
1735
1736* config, dangling comma ([4eb63c5](https://github.com/ipfs/js-ipfs/commit/4eb63c5))
1737* only show connected addrs for peers in swarm.peers ([d939323](https://github.com/ipfs/js-ipfs/commit/d939323))
1738* remove shutdown bootstrapers from bootstrappers list ([5ec27a3](https://github.com/ipfs/js-ipfs/commit/5ec27a3))
1739
1740
1741### Features
1742
1743* add instrumentation ([8f0254e](https://github.com/ipfs/js-ipfs/commit/8f0254e))
1744
1745
1746
1747<a name="0.25.2"></a>
1748## [0.25.2](https://github.com/ipfs/js-ipfs/compare/v0.25.1...v0.25.2) (2017-08-26)
1749
1750
1751
1752<a name="0.25.1"></a>
1753## [0.25.1](https://github.com/ipfs/js-ipfs/compare/v0.25.0...v0.25.1) (2017-07-26)
1754
1755
1756### Bug Fixes
1757
1758* js-ipfs daemon config params ([#914](https://github.com/ipfs/js-ipfs/issues/914)) ([e00b96f](https://github.com/ipfs/js-ipfs/commit/e00b96f)), closes [#868](https://github.com/ipfs/js-ipfs/issues/868)
1759* remove non existent commands ([#925](https://github.com/ipfs/js-ipfs/issues/925)) ([b7e8e88](https://github.com/ipfs/js-ipfs/commit/b7e8e88))
1760* stream issue, do not use isstream, use is-stream ([#937](https://github.com/ipfs/js-ipfs/issues/937)) ([da66b1f](https://github.com/ipfs/js-ipfs/commit/da66b1f))
1761
1762
1763### Features
1764
1765* new print func for the CLI ([#931](https://github.com/ipfs/js-ipfs/issues/931)) ([a5e75e0](https://github.com/ipfs/js-ipfs/commit/a5e75e0))
1766* no more need for webcrypto-ossl ([bc8ffee](https://github.com/ipfs/js-ipfs/commit/bc8ffee))
1767
1768
1769
1770<a name="0.25.0"></a>
1771# [0.25.0](https://github.com/ipfs/js-ipfs/compare/v0.24.1...v0.25.0) (2017-07-12)
1772
1773
1774### Bug Fixes
1775
1776* **bootstrap:add:** prevent duplicate inserts ([#893](https://github.com/ipfs/js-ipfs/issues/893)) ([ce504cd](https://github.com/ipfs/js-ipfs/commit/ce504cd))
1777* **swarm:** move isConnected filter from addrs to peers ([#901](https://github.com/ipfs/js-ipfs/issues/901)) ([e2f371b](https://github.com/ipfs/js-ipfs/commit/e2f371b))
1778* circle ci, thanks victor! ([b074966](https://github.com/ipfs/js-ipfs/commit/b074966))
1779* do not let lodash mess with libp2p modules ([1f68b9b](https://github.com/ipfs/js-ipfs/commit/1f68b9b))
1780* is online is only online if libp2p is online ([#891](https://github.com/ipfs/js-ipfs/issues/891)) ([8b0f996](https://github.com/ipfs/js-ipfs/commit/8b0f996))
1781* issue [#905](https://github.com/ipfs/js-ipfs/issues/905) ([#906](https://github.com/ipfs/js-ipfs/issues/906)) ([cbcf90e](https://github.com/ipfs/js-ipfs/commit/cbcf90e))
1782* setImmediate polyfilled in node.id() ([#909](https://github.com/ipfs/js-ipfs/issues/909)) ([ebaf9a0](https://github.com/ipfs/js-ipfs/commit/ebaf9a0))
1783* succeed when stopping already stopped ([74f3185](https://github.com/ipfs/js-ipfs/commit/74f3185))
1784
1785
1786### Features
1787
1788* adapted to new ipfs-repo API ([#887](https://github.com/ipfs/js-ipfs/issues/887)) ([4e39d2c](https://github.com/ipfs/js-ipfs/commit/4e39d2c))
1789* block get pipe fix ([#903](https://github.com/ipfs/js-ipfs/issues/903)) ([8063f6b](https://github.com/ipfs/js-ipfs/commit/8063f6b))
1790
1791
1792
1793<a name="0.24.1"></a>
1794## [0.24.1](https://github.com/ipfs/js-ipfs/compare/0.24.1...v0.24.1) (2017-05-29)
1795
1796
1797
1798<a name="0.24.0"></a>
1799# [0.24.0](https://github.com/ipfs/js-ipfs/compare/v0.23.1...v0.24.0) (2017-05-24)
1800
1801
1802### Bug Fixes
1803
1804* cli flag typos ([c5bb0b9](https://github.com/ipfs/js-ipfs/commit/c5bb0b9))
1805* example, now files from datatransfer is a FileList which is not an array ([d7c9eec](https://github.com/ipfs/js-ipfs/commit/d7c9eec))
1806* issue-858 ([481933a](https://github.com/ipfs/js-ipfs/commit/481933a))
1807* last touches for dns websockets bootstrapers ([3b680a7](https://github.com/ipfs/js-ipfs/commit/3b680a7))
1808* linting ([68ee42e](https://github.com/ipfs/js-ipfs/commit/68ee42e))
1809* make start an async event ([78ba1e8](https://github.com/ipfs/js-ipfs/commit/78ba1e8))
1810* missing import ([6aa914d](https://github.com/ipfs/js-ipfs/commit/6aa914d))
1811* options to the HTTP API ([f1eb595](https://github.com/ipfs/js-ipfs/commit/f1eb595))
1812* removed hard-coded timeout on test and liting fixes ([0a3bbcb](https://github.com/ipfs/js-ipfs/commit/0a3bbcb))
1813* run webworker tests ([23c84f6](https://github.com/ipfs/js-ipfs/commit/23c84f6))
1814* **object.get:** treat ipfs hash strings as default base58 encoded ([7b3caef](https://github.com/ipfs/js-ipfs/commit/7b3caef))
1815* update bootstrapers ([7e7d9eb](https://github.com/ipfs/js-ipfs/commit/7e7d9eb))
1816
1817
1818### Features
1819
1820* add dns ws bootstrappers ([a856578](https://github.com/ipfs/js-ipfs/commit/a856578))
1821* add WebRTC by default as a multiaddr ([4ea1571](https://github.com/ipfs/js-ipfs/commit/4ea1571))
1822* add websocket bootstrapers to the config ([602d033](https://github.com/ipfs/js-ipfs/commit/602d033))
1823* DHT integration PART I ([860165c](https://github.com/ipfs/js-ipfs/commit/860165c))
1824* new libp2p-api ([7bf75d1](https://github.com/ipfs/js-ipfs/commit/7bf75d1))
1825* update to new libp2p events for peers ([ca88706](https://github.com/ipfs/js-ipfs/commit/ca88706))
1826* update to the latest libp2p ([aca4297](https://github.com/ipfs/js-ipfs/commit/aca4297))
1827
1828
1829
1830<a name="0.23.1"></a>
1831## [0.23.1](https://github.com/ipfs/js-ipfs/compare/v0.23.0...v0.23.1) (2017-03-27)
1832
1833
1834### Bug Fixes
1835
1836* added backpressure to the add stream ([#810](https://github.com/ipfs/js-ipfs/issues/810)) ([31dbabc](https://github.com/ipfs/js-ipfs/commit/31dbabc))
1837
1838
1839
1840<a name="0.23.0"></a>
1841# [0.23.0](https://github.com/ipfs/js-ipfs/compare/v0.22.1...v0.23.0) (2017-03-24)
1842
1843
1844### Bug Fixes
1845
1846* **files.add:** error on invalid input ([#782](https://github.com/ipfs/js-ipfs/issues/782)) ([c851ca0](https://github.com/ipfs/js-ipfs/commit/c851ca0))
1847* give the daemon time to spawn ([2bf32cd](https://github.com/ipfs/js-ipfs/commit/2bf32cd))
1848* linting on transfer-files example ([f876171](https://github.com/ipfs/js-ipfs/commit/f876171))
1849* offer an init event to monitor when repo is there and avoid setTimeout ([c4130b9](https://github.com/ipfs/js-ipfs/commit/c4130b9))
1850* pull-stream-to-stream replaced with duplex stream ([#809](https://github.com/ipfs/js-ipfs/issues/809)) ([4b064a1](https://github.com/ipfs/js-ipfs/commit/4b064a1))
1851
1852
1853### Features
1854
1855* bootstrap is enabled by default now ([64cde5d](https://github.com/ipfs/js-ipfs/commit/64cde5d))
1856* bootstrap is enabled by default now ([2642417](https://github.com/ipfs/js-ipfs/commit/2642417))
1857* datastore, ipfs-block and all the deps that were updated ([68d92b6](https://github.com/ipfs/js-ipfs/commit/68d92b6))
1858* no need anymore to append ipfs/Qmhash to webrtc-star multiaddrs ([a77ae3c](https://github.com/ipfs/js-ipfs/commit/a77ae3c))
1859
1860
1861
1862<a name="0.22.1"></a>
1863## [0.22.1](https://github.com/ipfs/js-ipfs/compare/v0.22.0...v0.22.1) (2017-02-24)
1864
1865
1866### Bug Fixes
1867
1868* interop tests with multiplex passing ([cb109fc](https://github.com/ipfs/js-ipfs/commit/cb109fc))
1869
1870
1871### Features
1872
1873* **core:** allow IPFS object to be created without supplying configOpts ([f620d71](https://github.com/ipfs/js-ipfs/commit/f620d71))
1874* **deps:** update multiplex libp2p-ipfs deps ([5605148](https://github.com/ipfs/js-ipfs/commit/5605148))
1875
1876
1877
1878<a name="0.22.0"></a>
1879# [0.22.0](https://github.com/ipfs/js-ipfs/compare/v0.21.8...v0.22.0) (2017-02-15)
1880
1881
1882### Bug Fixes
1883
1884* lint ([ffc120a](https://github.com/ipfs/js-ipfs/commit/ffc120a))
1885* make sure all deps are up to date, expose Buffer type ([7eb630d](https://github.com/ipfs/js-ipfs/commit/7eb630d))
1886* readable-stream needs to be 1.1.14 ([e999f05](https://github.com/ipfs/js-ipfs/commit/e999f05))
1887* tidy dag cli up ([b90ba76](https://github.com/ipfs/js-ipfs/commit/b90ba76))
1888
1889
1890### Features
1891
1892* **breaking change:** experimental config options ([#749](https://github.com/ipfs/js-ipfs/issues/749)) ([69fa802](https://github.com/ipfs/js-ipfs/commit/69fa802))
1893* **dag:** basics (get, put) ([#746](https://github.com/ipfs/js-ipfs/issues/746)) ([e5ec0cf](https://github.com/ipfs/js-ipfs/commit/e5ec0cf))
1894* **dag:** Resolve API ([#751](https://github.com/ipfs/js-ipfs/issues/751)) ([4986908](https://github.com/ipfs/js-ipfs/commit/4986908))
1895* merge of get and resolve ([#761](https://github.com/ipfs/js-ipfs/issues/761)) ([b081e35](https://github.com/ipfs/js-ipfs/commit/b081e35))
1896
1897
1898
1899<a name="0.21.8"></a>
1900## [0.21.8](https://github.com/ipfs/js-ipfs/compare/v0.21.7...v0.21.8) (2017-01-31)
1901
1902
1903### Features
1904
1905* add CLI support for different hash func and type ([#748](https://github.com/ipfs/js-ipfs/issues/748)) ([a6c522f](https://github.com/ipfs/js-ipfs/commit/a6c522f))
1906
1907
1908
1909<a name="0.21.7"></a>
1910## [0.21.7](https://github.com/ipfs/js-ipfs/compare/v0.21.6...v0.21.7) (2017-01-30)
1911
1912
1913### Bug Fixes
1914
1915* default config file ([01ef4b5](https://github.com/ipfs/js-ipfs/commit/01ef4b5))
1916
1917
1918
1919<a name="0.21.6"></a>
1920## [0.21.6](https://github.com/ipfs/js-ipfs/compare/v0.21.5...v0.21.6) (2017-01-29)
1921
1922
1923### Features
1924
1925* bootstrap as an option ([#735](https://github.com/ipfs/js-ipfs/issues/735)) ([03362a3](https://github.com/ipfs/js-ipfs/commit/03362a3))
1926
1927
1928
1929<a name="0.21.5"></a>
1930## [0.21.5](https://github.com/ipfs/js-ipfs/compare/v0.21.4...v0.21.5) (2017-01-29)
1931
1932
1933### Bug Fixes
1934
1935* differenciate default config in browser and in node ([#734](https://github.com/ipfs/js-ipfs/issues/734)) ([17ccc8b](https://github.com/ipfs/js-ipfs/commit/17ccc8b))
1936
1937
1938
1939<a name="0.21.4"></a>
1940## [0.21.4](https://github.com/ipfs/js-ipfs/compare/v0.21.3...v0.21.4) (2017-01-28)
1941
1942
1943### Bug Fixes
1944
1945* ipfs.id does not double append ipfs/<id> anymore ([#732](https://github.com/ipfs/js-ipfs/issues/732)) ([718394a](https://github.com/ipfs/js-ipfs/commit/718394a))
1946
1947
1948
1949<a name="0.21.3"></a>
1950## [0.21.3](https://github.com/ipfs/js-ipfs/compare/v0.21.2...v0.21.3) (2017-01-25)
1951
1952
1953
1954<a name="0.21.2"></a>
1955## [0.21.2](https://github.com/ipfs/js-ipfs/compare/v0.21.1...v0.21.2) (2017-01-23)
1956
1957
1958
1959<a name="0.21.1"></a>
1960## [0.21.1](https://github.com/ipfs/js-ipfs/compare/v0.21.0...v0.21.1) (2017-01-23)
1961
1962
1963
1964<a name="0.21.0"></a>
1965# [0.21.0](https://github.com/ipfs/js-ipfs/compare/v0.20.4...v0.21.0) (2017-01-17)
1966
1967
1968### Bug Fixes
1969
1970* point to a specific go-ipfs version (still waiting for another 0.4.5 pre release though ([19dbb1e](https://github.com/ipfs/js-ipfs/commit/19dbb1e))
1971
1972
1973
1974<a name="0.20.4"></a>
1975## [0.20.4](https://github.com/ipfs/js-ipfs/compare/v0.20.2...v0.20.4) (2016-12-26)
1976
1977
1978### Bug Fixes
1979
1980* bitswap wantlist http endpoint ([58f0885](https://github.com/ipfs/js-ipfs/commit/58f0885))
1981* bitswap wantlist stats ([9db86f5](https://github.com/ipfs/js-ipfs/commit/9db86f5))
1982* change default values of js-ipfs to avoid clash with go-ipfs + clean the browserify example ([6d52e1c](https://github.com/ipfs/js-ipfs/commit/6d52e1c))
1983* npm scripts ([eadcec0](https://github.com/ipfs/js-ipfs/commit/eadcec0))
1984* pass a first arg to bitswap to be removed after new bitswap is merged, so that tests pass now ([bddcee7](https://github.com/ipfs/js-ipfs/commit/bddcee7))
1985
1986
1987### Features
1988
1989* **init:** add empty unixfs dir to match go-ipfs ([a967bb0](https://github.com/ipfs/js-ipfs/commit/a967bb0))
1990* **object:** add template option to object.new ([9058118](https://github.com/ipfs/js-ipfs/commit/9058118))
1991* add multicastdns to the mix ([c2ddefb](https://github.com/ipfs/js-ipfs/commit/c2ddefb))
1992
1993
1994
1995<a name="0.20.2"></a>
1996## [0.20.2](https://github.com/ipfs/js-ipfs/compare/v0.20.1...v0.20.2) (2016-12-09)
1997
1998
1999### Bug Fixes
2000
2001* **cli:** Tell user to init repo if not initialized when starting daemon ([fa7e275](https://github.com/ipfs/js-ipfs/commit/fa7e275))
2002
2003
2004
2005<a name="0.20.1"></a>
2006## [0.20.1](https://github.com/ipfs/js-ipfs/compare/v0.19.0...v0.20.1) (2016-11-28)
2007
2008
2009
2010<a name="0.19.0"></a>
2011# [0.19.0](https://github.com/ipfs/js-ipfs/compare/v0.18.0...v0.19.0) (2016-11-26)
2012
2013
2014### Bug Fixes
2015
2016* addLink and rmLink ([7fad4d8](https://github.com/ipfs/js-ipfs/commit/7fad4d8))
2017* apply CR ([698f708](https://github.com/ipfs/js-ipfs/commit/698f708))
2018* **lint:** install missing plugin ([20e3d2e](https://github.com/ipfs/js-ipfs/commit/20e3d2e))
2019* **lint:** use eslint directly ([443dd9e](https://github.com/ipfs/js-ipfs/commit/443dd9e))
2020* **lint and polish:** add a little more comments ([d6ce83d](https://github.com/ipfs/js-ipfs/commit/d6ce83d))
2021
2022
2023### Features
2024
2025* **cli:** migrate to awesome-dag-pb ([3bb3ba8](https://github.com/ipfs/js-ipfs/commit/3bb3ba8))
2026* **core:** migrate to awesome dag-pb ([db550a1](https://github.com/ipfs/js-ipfs/commit/db550a1))
2027* **examples:** add a getting-started example ([7485ac5](https://github.com/ipfs/js-ipfs/commit/7485ac5))
2028* **http:** migrate to awesome dag-pb ([ca9935f](https://github.com/ipfs/js-ipfs/commit/ca9935f))
2029* **swarm:** update swarm.peers to new api ([265a77a](https://github.com/ipfs/js-ipfs/commit/265a77a))
2030
2031
2032
2033<a name="0.18.0"></a>
2034# [0.18.0](https://github.com/ipfs/js-ipfs/compare/v0.17.0...v0.18.0) (2016-11-12)
2035
2036
2037### Bug Fixes
2038
2039* async .key ([2d2185b](https://github.com/ipfs/js-ipfs/commit/2d2185b))
2040* don't break backwards compatibility on the Block API ([3674b8e](https://github.com/ipfs/js-ipfs/commit/3674b8e))
2041* **cli:** alias add, cat and get to top-level cli ([6ad325b](https://github.com/ipfs/js-ipfs/commit/6ad325b))
2042
2043
2044### Features
2045
2046* block API uses CIDs ([2eeea35](https://github.com/ipfs/js-ipfs/commit/2eeea35))
2047* migrate cli to use new async DAGNode interface ([1b0b22d](https://github.com/ipfs/js-ipfs/commit/1b0b22d))
2048* migrate core to use new async DAGNode interface ([254afdc](https://github.com/ipfs/js-ipfs/commit/254afdc))
2049* migrate files to use IPLD Resolver ([0fb1a1a](https://github.com/ipfs/js-ipfs/commit/0fb1a1a))
2050* migrate http-api to use new async DAGNode interface ([01e56ec](https://github.com/ipfs/js-ipfs/commit/01e56ec))
2051* migrate init to IPLD resolver ([61d1084](https://github.com/ipfs/js-ipfs/commit/61d1084))
2052* object API internals updated to use CID ([5cb10cc](https://github.com/ipfs/js-ipfs/commit/5cb10cc))
2053* update cli and http to support new ipld block api with IPLD ([5dbb799](https://github.com/ipfs/js-ipfs/commit/5dbb799))
2054* **http:** better error messages ([cd7f77d](https://github.com/ipfs/js-ipfs/commit/cd7f77d))
2055* **http:** set default headers for browsers ([6a21cd0](https://github.com/ipfs/js-ipfs/commit/6a21cd0))
2056
2057
2058
2059<a name="0.17.0"></a>
2060# [0.17.0](https://github.com/ipfs/js-ipfs/compare/v0.16.0...v0.17.0) (2016-10-10)
2061
2062
2063### Bug Fixes
2064
2065* **cli:** Fix issue with right cwd not being set ([e5f5e1b](https://github.com/ipfs/js-ipfs/commit/e5f5e1b))
2066* **deps:** move blob stores to dependencies ([8f33d11](https://github.com/ipfs/js-ipfs/commit/8f33d11))
2067* **files.get:** fix the command ([7015586](https://github.com/ipfs/js-ipfs/commit/7015586))
2068
2069
2070### Features
2071
2072* **http-api:** add joi validation to bootstrap ([028a98c](https://github.com/ipfs/js-ipfs/commit/028a98c))
2073
2074
2075
2076<a name="0.16.0"></a>
2077# [0.16.0](https://github.com/ipfs/js-ipfs/compare/v0.15.0...v0.16.0) (2016-09-15)
2078
2079
2080### Bug Fixes
2081
2082* **cli:** add output for cli init ([29c9793](https://github.com/ipfs/js-ipfs/commit/29c9793))
2083* always use files.cat ([5b8da13](https://github.com/ipfs/js-ipfs/commit/5b8da13))
2084* **cli:** make ipfs files add work online and offline ([3edc2b9](https://github.com/ipfs/js-ipfs/commit/3edc2b9)), closes [#480](https://github.com/ipfs/js-ipfs/issues/480)
2085* **cli:** pipe content to the cli from cat it is a stream ([3e4e2fd](https://github.com/ipfs/js-ipfs/commit/3e4e2fd))
2086* **cli:** use right argument for cli .cat ([2bf49ea](https://github.com/ipfs/js-ipfs/commit/2bf49ea))
2087* **cli:** use right argument for cli .cat ([dd3fe88](https://github.com/ipfs/js-ipfs/commit/dd3fe88))
2088* **config:** better http-api and interface-ipfs-core compliant ([2beac9c](https://github.com/ipfs/js-ipfs/commit/2beac9c))
2089* **http:** get handler reads the stream ([b0a6db9](https://github.com/ipfs/js-ipfs/commit/b0a6db9))
2090* **swarm:** fix cli commands and enable tests ([6effa19](https://github.com/ipfs/js-ipfs/commit/6effa19))
2091* **version:** better http-api and interface-ipfs-core compliant ([0ee7215](https://github.com/ipfs/js-ipfs/commit/0ee7215))
2092
2093
2094### Features
2095
2096* **add:** add the http endpoint for files.add ([e29f429](https://github.com/ipfs/js-ipfs/commit/e29f429))
2097* **files:** get interface-ipfs-core files tests pass through http-api ([11cb4ca](https://github.com/ipfs/js-ipfs/commit/11cb4ca))
2098* **files:** interface-ipfs-core tests over ipfs-api ([001a6eb](https://github.com/ipfs/js-ipfs/commit/001a6eb))
2099* **swarm:** interface-ipfs-core swarm compatibility ([3b32dfd](https://github.com/ipfs/js-ipfs/commit/3b32dfd))
2100* **swarm:** make interface-ipfs-core compliant ([ef729bb](https://github.com/ipfs/js-ipfs/commit/ef729bb)), closes [#439](https://github.com/ipfs/js-ipfs/issues/439)
2101* **tests:** waste less time generating keys ([cb10ab7](https://github.com/ipfs/js-ipfs/commit/cb10ab7))
2102
2103
2104
2105<a name="0.15.0"></a>
2106# [0.15.0](https://github.com/ipfs/js-ipfs/compare/v0.14.3...v0.15.0) (2016-09-09)
2107
2108
2109### Bug Fixes
2110
2111* **cli:** fix the files API commands ([138f519](https://github.com/ipfs/js-ipfs/commit/138f519))
2112* **config:** support null values (0 or empty string) on get and set ([a3d98a8](https://github.com/ipfs/js-ipfs/commit/a3d98a8))
2113* **repo:** init does not break if no opts are passed. Fixes [#349](https://github.com/ipfs/js-ipfs/issues/349) ([ca700cc](https://github.com/ipfs/js-ipfs/commit/ca700cc))
2114* **style:** apply CR ([97af048](https://github.com/ipfs/js-ipfs/commit/97af048))
2115* **test:** make the version test fetch the version from package.json instead of a hardcoded value ([50c9f7c](https://github.com/ipfs/js-ipfs/commit/50c9f7c))
2116
2117
2118### Features
2119
2120* **bitswap tests, config, id:** cope with the nuances of the config API (.replace) and make necessary changes to make it all work again ([cc0c8fd](https://github.com/ipfs/js-ipfs/commit/cc0c8fd))
2121* **block-core:** add compliance with interface-ipfs-core on block-API ([5e6387d](https://github.com/ipfs/js-ipfs/commit/5e6387d))
2122* **block-http:** tests passing according with compliance ([a4071f0](https://github.com/ipfs/js-ipfs/commit/a4071f0))
2123* **config:** make the config impl spec compliant ([76b6670](https://github.com/ipfs/js-ipfs/commit/76b6670))
2124* **config-http:** return error if value is invalid ([f7a668d](https://github.com/ipfs/js-ipfs/commit/f7a668d))
2125* **factory:** add ipfs factory to files ([eba0398](https://github.com/ipfs/js-ipfs/commit/eba0398))
2126* **factory:** add ipfs factory, verify it works with object tests ([3db096e](https://github.com/ipfs/js-ipfs/commit/3db096e))
2127* **files.add:** update API to conform latest interface-ipfs-core updates ([28b0bb7](https://github.com/ipfs/js-ipfs/commit/28b0bb7))
2128* **http:** Refactor inject tests, made them all pass again ([31f673d](https://github.com/ipfs/js-ipfs/commit/31f673d))
2129* **http:** refactor ipfs-api tests and make them all pass again ([56904fd](https://github.com/ipfs/js-ipfs/commit/56904fd))
2130* **object-http:** support protobuf encoded values ([5f02303](https://github.com/ipfs/js-ipfs/commit/5f02303))
2131* **roadmap:** update ([418660f](https://github.com/ipfs/js-ipfs/commit/418660f))
2132* **roadmap:** update roadmap ms2 with extra added goals ([ac5352e](https://github.com/ipfs/js-ipfs/commit/ac5352e))
2133* disable PhantomJS ([921b11e](https://github.com/ipfs/js-ipfs/commit/921b11e))
2134* **tests:** all tests running ([44dba6c](https://github.com/ipfs/js-ipfs/commit/44dba6c))
2135* **tests:** factory-http ([08a4b19](https://github.com/ipfs/js-ipfs/commit/08a4b19))
2136
2137
2138
2139<a name="0.14.3"></a>
2140## [0.14.3](https://github.com/ipfs/js-ipfs/compare/v0.14.2...v0.14.3) (2016-08-10)
2141
2142
2143### Features
2144
2145* **interface:** update interface-ipfs-core to v0.6.0 ([d855740](https://github.com/ipfs/js-ipfs/commit/d855740))
2146
2147
2148
2149<a name="0.14.2"></a>
2150## [0.14.2](https://github.com/ipfs/js-ipfs/compare/v0.14.1...v0.14.2) (2016-08-09)
2151
2152
2153### Bug Fixes
2154
2155* upgrade aegir and ensure glob is mocked ([3c70eaa](https://github.com/ipfs/js-ipfs/commit/3c70eaa)), closes [#354](https://github.com/ipfs/js-ipfs/issues/354) [#353](https://github.com/ipfs/js-ipfs/issues/353)
2156* **cli:** replace ronin with yargs ([cba42ca](https://github.com/ipfs/js-ipfs/commit/cba42ca)), closes [#331](https://github.com/ipfs/js-ipfs/issues/331)
2157* **version:** return actual js-ipfs version ([6377ab2](https://github.com/ipfs/js-ipfs/commit/6377ab2)), closes [#377](https://github.com/ipfs/js-ipfs/issues/377)
2158* use static version of package.json ([3ffdc27](https://github.com/ipfs/js-ipfs/commit/3ffdc27))
2159
2160
2161### Features
2162
2163* update all dependencies ([b90747e](https://github.com/ipfs/js-ipfs/commit/b90747e))
2164
2165
2166
2167<a name="0.14.1"></a>
2168## [0.14.1](https://github.com/ipfs/js-ipfs/compare/v0.14.0...v0.14.1) (2016-06-29)
2169
2170
2171
2172<a name="0.14.0"></a>
2173# [0.14.0](https://github.com/ipfs/js-ipfs/compare/v0.13.0...v0.14.0) (2016-06-27)
2174
2175
2176
2177<a name="0.13.0"></a>
2178# [0.13.0](https://github.com/ipfs/js-ipfs/compare/v0.12.0...v0.13.0) (2016-06-07)
2179
2180
2181
2182<a name="0.12.0"></a>
2183# [0.12.0](https://github.com/ipfs/js-ipfs/compare/v0.11.1...v0.12.0) (2016-06-06)
2184
2185
2186### Bug Fixes
2187
2188* handle new wantlist format ([7850dbb](https://github.com/ipfs/js-ipfs/commit/7850dbb))
2189
2190
2191
2192<a name="0.11.1"></a>
2193## [0.11.1](https://github.com/ipfs/js-ipfs/compare/v0.11.0...v0.11.1) (2016-05-30)
2194
2195
2196
2197<a name="0.11.0"></a>
2198# [0.11.0](https://github.com/ipfs/js-ipfs/compare/v0.10.3...v0.11.0) (2016-05-27)
2199
2200
2201
2202<a name="0.10.3"></a>
2203## [0.10.3](https://github.com/ipfs/js-ipfs/compare/v0.10.2...v0.10.3) (2016-05-26)
2204
2205
2206
2207<a name="0.10.2"></a>
2208## [0.10.2](https://github.com/ipfs/js-ipfs/compare/v0.10.1...v0.10.2) (2016-05-26)
2209
2210
2211### Bug Fixes
2212
2213* use passed in repo location in the browser ([4b55102](https://github.com/ipfs/js-ipfs/commit/4b55102))
2214
2215
2216
2217<a name="0.10.1"></a>
2218## [0.10.1](https://github.com/ipfs/js-ipfs/compare/v0.10.0...v0.10.1) (2016-05-25)
2219
2220
2221
2222<a name="0.10.0"></a>
2223# [0.10.0](https://github.com/ipfs/js-ipfs/compare/v0.9.0...v0.10.0) (2016-05-24)
2224
2225
2226
2227<a name="0.9.0"></a>
2228# [0.9.0](https://github.com/ipfs/js-ipfs/compare/v0.8.0...v0.9.0) (2016-05-24)
2229
2230
2231
2232<a name="0.8.0"></a>
2233# [0.8.0](https://github.com/ipfs/js-ipfs/compare/v0.7.0...v0.8.0) (2016-05-23)
2234
2235
2236
2237<a name="0.7.0"></a>
2238# [0.7.0](https://github.com/ipfs/js-ipfs/compare/v0.6.1...v0.7.0) (2016-05-21)
2239
2240
2241
2242<a name="0.6.1"></a>
2243## [0.6.1](https://github.com/ipfs/js-ipfs/compare/v0.6.0...v0.6.1) (2016-05-19)
2244
2245
2246
2247<a name="0.6.0"></a>
2248# [0.6.0](https://github.com/ipfs/js-ipfs/compare/v0.5.0...v0.6.0) (2016-05-19)
2249
2250
2251
2252<a name="0.5.0"></a>
2253# [0.5.0](https://github.com/ipfs/js-ipfs/compare/v0.4.10...v0.5.0) (2016-05-16)
2254
2255
2256### Bug Fixes
2257
2258* **files:add:** simplify checkPath ([46d9e6a](https://github.com/ipfs/js-ipfs/commit/46d9e6a))
2259* **files:get:** simplify checkArgs ([7f89bfb](https://github.com/ipfs/js-ipfs/commit/7f89bfb))
2260* **http:object:** proper handling of empty args ([9763f86](https://github.com/ipfs/js-ipfs/commit/9763f86))
2261
2262
2263### Features
2264
2265* integrate libp2p-ipfs-browser ([6022b46](https://github.com/ipfs/js-ipfs/commit/6022b46))
2266* make core/object satisfy interface-ipfs-core ([96013bb](https://github.com/ipfs/js-ipfs/commit/96013bb))
2267
2268
2269
2270<a name="0.4.10"></a>
2271## [0.4.10](https://github.com/ipfs/js-ipfs/compare/v0.4.9...v0.4.10) (2016-05-08)
2272
2273
2274### Bug Fixes
2275
2276* **cli:** self host cmds listing ([a415dc1](https://github.com/ipfs/js-ipfs/commit/a415dc1))
2277* **core:** consistent repo.exists checks ([3d1e6b0](https://github.com/ipfs/js-ipfs/commit/3d1e6b0))
2278
2279
2280
2281<a name="0.4.9"></a>
2282## [0.4.9](https://github.com/ipfs/js-ipfs/compare/v0.4.8...v0.4.9) (2016-04-28)
2283
2284
2285
2286<a name="0.4.8"></a>
2287## [0.4.8](https://github.com/ipfs/js-ipfs/compare/v0.4.7...v0.4.8) (2016-04-28)
2288
2289
2290
2291<a name="0.4.7"></a>
2292## [0.4.7](https://github.com/ipfs/js-ipfs/compare/v0.4.6...v0.4.7) (2016-04-25)
2293
2294
2295
2296<a name="0.4.6"></a>
2297## [0.4.6](https://github.com/ipfs/js-ipfs/compare/v0.4.4...v0.4.6) (2016-04-22)
2298
2299
2300
2301<a name="0.4.4"></a>
2302## [0.4.4](https://github.com/ipfs/js-ipfs/compare/v0.4.3...v0.4.4) (2016-03-22)
2303
2304
2305
2306<a name="0.4.3"></a>
2307## [0.4.3](https://github.com/ipfs/js-ipfs/compare/v0.4.2...v0.4.3) (2016-03-21)
2308
2309
2310
2311<a name="0.4.2"></a>
2312## [0.4.2](https://github.com/ipfs/js-ipfs/compare/v0.4.1...v0.4.2) (2016-03-21)
2313
2314
2315
2316<a name="0.4.1"></a>
2317## [0.4.1](https://github.com/ipfs/js-ipfs/compare/v0.4.0...v0.4.1) (2016-03-16)
2318
2319
2320
2321<a name="0.4.0"></a>
2322# [0.4.0](https://github.com/ipfs/js-ipfs/compare/v0.3.1...v0.4.0) (2016-02-23)
2323
2324
2325
2326<a name="0.3.1"></a>
2327## [0.3.1](https://github.com/ipfs/js-ipfs/compare/v0.3.0...v0.3.1) (2016-02-19)
2328
2329
2330
2331<a name="0.3.0"></a>
2332# [0.3.0](https://github.com/ipfs/js-ipfs/compare/v0.2.3...v0.3.0) (2016-02-03)
2333
2334
2335
2336<a name="0.2.3"></a>
2337## [0.2.3](https://github.com/ipfs/js-ipfs/compare/v0.2.2...v0.2.3) (2016-01-31)
2338
2339
2340
2341<a name="0.2.2"></a>
2342## [0.2.2](https://github.com/ipfs/js-ipfs/compare/v0.2.1...v0.2.2) (2016-01-28)
2343
2344
2345
2346<a name="0.2.1"></a>
2347## [0.2.1](https://github.com/ipfs/js-ipfs/compare/v0.2.0...v0.2.1) (2016-01-28)
2348
2349
2350
2351<a name="0.2.0"></a>
2352# [0.2.0](https://github.com/ipfs/js-ipfs/compare/v0.0.3...v0.2.0) (2016-01-27)
2353
2354
2355
2356<a name="0.0.3"></a>
2357## [0.0.3](https://github.com/ipfs/js-ipfs/compare/v0.0.2...v0.0.3) (2016-01-15)
2358
2359
2360
2361<a name="0.0.2"></a>
2362## 0.0.2 (2016-01-11)