CHANGELOG: add some missed changes
* Decreased connection initiation latency. * Better help text.
Steven Allen committed
Jun 3, 2019 at 16:27 UTC
803dd8b88902b6a298c6d91a620d39ef9441f87f
1 file changed
+148
-1
CHANGELOG.md
+148
-1
@@ -162,6 +162,16 @@ it uses a _lot_ of file descriptors.
162
Luckily, most modern kernels can handle thousands of file descriptors without
163
any difficulty.
164
165
+#### Decreased Connection Handshake Latency
166
+
167
+Libp2p now shaves off a couple of round trips when initiating connections by
168
+beginning the protocol negotiation before the remote peer responds to the
169
+initial handshake message.
170
+
171
+In the optimal case (when the target peer speaks our preferred protocol), this
172
+reduces the number of handshake round-trips from 6 to 4 (including the TCP
173
+handshake).
174
+
175
### Commands
176
177
This release brings no new commands but does introduce a few changes, bugfixes,
@@ -217,6 +227,129 @@ The ping command has received some small improvements and fixes:
227
3. It now prints out the average latency when canceled with `^C` (like the unix
228
`ping` command).
229
230
+#### Improved Help Text
231
+
232
+Go-ipfs now intelligently wraps help text for easier reading. On an 80 character
233
+wide terminal,
234
+
235
+**Before**
236
+
237
+```
238
+USAGE
239
+ ipfs add <path>... - Add a file or directory to ipfs.
240
+
241
+SYNOPSIS
242
+ ipfs add [--recursive | -r] [--dereference-args] [--stdin-name=<stdin-name>] [
243
+--hidden | -H] [--quiet | -q] [--quieter | -Q] [--silent] [--progress | -p] [--t
244
+rickle | -t] [--only-hash | -n] [--wrap-with-directory | -w] [--chunker=<chunker
245
+> | -s] [--pin=false] [--raw-leaves] [--nocopy] [--fscache] [--cid-version=<cid-
246
+version>] [--hash=<hash>] [--inline] [--inline-limit=<inline-limit>] [--] <path>
247
+...
248
+
249
+ARGUMENTS
250
+
251
+ <path>... - The path to a file to be added to ipfs.
252
+
253
+OPTIONS
254
+
255
+ -r, --recursive bool - Add directory paths recursive
256
+ly.
257
+ --dereference-args bool - Symlinks supplied in argument
258
+s are dereferenced.
259
+ --stdin-name string - Assign a name if the file sou
260
+rce is stdin.
261
+ -H, --hidden bool - Include files that are hidden
262
+. Only takes effect on recursive add.
263
+ -q, --quiet bool - Write minimal output.
264
+ -Q, --quieter bool - Write only final hash.
265
+ --silent bool - Write no output.
266
+ -p, --progress bool - Stream progress data.
267
+ -t, --trickle bool - Use trickle-dag format for da
268
+g generation.
269
+ -n, --only-hash bool - Only chunk and hash - do not
270
+write to disk.
271
+ -w, --wrap-with-directory bool - Wrap files with a directory o
272
+bject.
273
+ -s, --chunker string - Chunking algorithm, size-[byt
274
+es] or rabin-[min]-[avg]-[max]. Default: size-262144.
275
+ --pin bool - Pin this object when adding.
276
+Default: true.
277
+ --raw-leaves bool - Use raw blocks for leaf nodes
278
+. (experimental).
279
+ --nocopy bool - Add the file using filestore.
280
+ Implies raw-leaves. (experimental).
281
+ --fscache bool - Check the filestore for pre-e
282
+xisting blocks. (experimental).
283
+ --cid-version int - CID version. Defaults to 0 un
284
+less an option that depends on CIDv1 is passed. (experimental).
285
+ --hash string - Hash function to use. Implies
286
+ CIDv1 if not sha2-256. (experimental). Default: sha2-256.
287
+ --inline bool - Inline small blocks into CIDs
288
+. (experimental).
289
+ --inline-limit int - Maximum block size to inline.
290
+ (experimental). Default: 32.
291
+
292
+```
293
+
294
+
295
+**After**
296
+
297
+```
298
+USAGE
299
+ ipfs add <path>... - Add a file or directory to ipfs.
300
+
301
+SYNOPSIS
302
+ ipfs add [--recursive | -r] [--dereference-args] [--stdin-name=<stdin-name>]
303
+ [--hidden | -H] [--quiet | -q] [--quieter | -Q] [--silent]
304
+ [--progress | -p] [--trickle | -t] [--only-hash | -n]
305
+ [--wrap-with-directory | -w] [--chunker=<chunker> | -s] [--pin=false]
306
+ [--raw-leaves] [--nocopy] [--fscache] [--cid-version=<cid-version>]
307
+ [--hash=<hash>] [--inline] [--inline-limit=<inline-limit>] [--]
308
+ <path>...
309
+
310
+ARGUMENTS
311
+
312
+ <path>... - The path to a file to be added to ipfs.
313
+
314
+OPTIONS
315
+
316
+ -r, --recursive bool - Add directory paths recursively.
317
+ --dereference-args bool - Symlinks supplied in arguments are
318
+ dereferenced.
319
+ --stdin-name string - Assign a name if the file source is stdin.
320
+ -H, --hidden bool - Include files that are hidden. Only takes
321
+ effect on recursive add.
322
+ -q, --quiet bool - Write minimal output.
323
+ -Q, --quieter bool - Write only final hash.
324
+ --silent bool - Write no output.
325
+ -p, --progress bool - Stream progress data.
326
+ -t, --trickle bool - Use trickle-dag format for dag generation.
327
+ -n, --only-hash bool - Only chunk and hash - do not write to
328
+ disk.
329
+ -w, --wrap-with-directory bool - Wrap files with a directory object.
330
+ -s, --chunker string - Chunking algorithm, size-[bytes] or
331
+ rabin-[min]-[avg]-[max]. Default:
332
+ size-262144.
333
+ --pin bool - Pin this object when adding. Default:
334
+ true.
335
+ --raw-leaves bool - Use raw blocks for leaf nodes.
336
+ (experimental).
337
+ --nocopy bool - Add the file using filestore. Implies
338
+ raw-leaves. (experimental).
339
+ --fscache bool - Check the filestore for pre-existing
340
+ blocks. (experimental).
341
+ --cid-version int - CID version. Defaults to 0 unless an
342
+ option that depends on CIDv1 is passed.
343
+ (experimental).
344
+ --hash string - Hash function to use. Implies CIDv1 if
345
+ not sha2-256. (experimental). Default:
346
+ sha2-256.
347
+ --inline bool - Inline small blocks into CIDs.
348
+ (experimental).
349
+ --inline-limit int - Maximum block size to inline.
350
+ (experimental). Default: 32.
351
+```
352
+
353
### Features
354
355
This release is primarily a bug fix release but it still includes two nice
@@ -272,6 +405,7 @@ go versions during builds.
405
### Changelog
406
407
- github.com/ipfs/go-ipfs:
408
+ - fix: use http.Error for sending errors ([ipfs/go-ipfs#6379](https://github.com/ipfs/go-ipfs/pull/6379))
409
- core: call app.Stop once ([ipfs/go-ipfs#6380](https://github.com/ipfs/go-ipfs/pull/6380))
410
- explain what dhtclient does ([ipfs/go-ipfs#6375](https://github.com/ipfs/go-ipfs/pull/6375))
411
- ci: actually enable golangci-lint ([ipfs/go-ipfs#6362](https://github.com/ipfs/go-ipfs/pull/6362))
@@ -348,7 +482,11 @@ go versions during builds.
482
- sync: apply entire query while locked ([ipfs/go-datastore#129](https://github.com/ipfs/go-datastore/pull/129))
483
- filter: values are now always bytes ([ipfs/go-datastore#126](https://github.com/ipfs/go-datastore/pull/126))
484
- autobatch: batch deletes ([ipfs/go-datastore#128](https://github.com/ipfs/go-datastore/pull/128))
351
-- github.com/ipfs/go-ipfs-cmds (v0.0.5 -> v0.0.7):
485
+- github.com/ipfs/go-ipfs-cmds (v0.0.5 -> v0.0.8):
486
+ - fix: use golang's http.Error to send errors ([ipfs/go-ipfs-cmds#167](https://github.com/ipfs/go-ipfs-cmds/pull/167))
487
+ - improve help text on narrow terminals ([ipfs/go-ipfs-cmds#140](https://github.com/ipfs/go-ipfs-cmds/pull/140))
488
+ - chore: remove an old hack ([ipfs/go-ipfs-cmds#165](https://github.com/ipfs/go-ipfs-cmds/pull/165))
489
+ - http: use the request context ([ipfs/go-ipfs-cmds#163](https://github.com/ipfs/go-ipfs-cmds/pull/163))
490
- merge in go-ipfs-cmdkit ([ipfs/go-ipfs-cmds#164](https://github.com/ipfs/go-ipfs-cmds/pull/164))
491
- fix: return the correct error ([ipfs/go-ipfs-cmds#162](https://github.com/ipfs/go-ipfs-cmds/pull/162))
492
- github.com/ipfs/go-ipfs-config (v0.0.1 -> v0.0.3):
@@ -439,10 +577,16 @@ go versions during builds.
577
- add an example (mainly for development) ([libp2p/go-libp2p-tls#14](https://github.com/libp2p/go-libp2p-tls/pull/14))
578
- github.com/libp2p/go-libp2p-transport-upgrader (v0.0.1 -> v0.0.4):
579
- improve correctness of closing connections on failure ([libp2p/go-libp2p-transport-upgrader#19](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/19))
580
+- github.com/libp2p/go-maddr-filter (v0.0.1 -> v0.0.4):
581
+ - fix filter listing ([libp2p/go-maddr-filter#13](https://github.com/libp2p/go-maddr-filter/pull/13))
582
+ - Reinstate deprecated Remove() method to reverse breakage ([libp2p/go-maddr-filter#12](https://github.com/libp2p/go-maddr-filter/pull/12))
583
+ - Implement support for whitelists, default-deny/allow ([libp2p/go-maddr-filter#8](https://github.com/libp2p/go-maddr-filter/pull/8))
584
- github.com/libp2p/go-mplex (v0.0.1 -> v0.0.4):
585
+ - disable write coalescing ([libp2p/go-mplex#61](https://github.com/libp2p/go-mplex/pull/61))
586
- fix SetDeadline error conditions ([libp2p/go-mplex#59](https://github.com/libp2p/go-mplex/pull/59))
587
- don't use contexts for deadlines ([libp2p/go-mplex#58](https://github.com/libp2p/go-mplex/pull/58))
588
- don't reset on pathologies, just ignore the data ([libp2p/go-mplex#57](https://github.com/libp2p/go-mplex/pull/57))
589
+ - coalesce writes ([libp2p/go-mplex#54](https://github.com/libp2p/go-mplex/pull/54))
590
- read as much as we can in one go ([libp2p/go-mplex#53](https://github.com/libp2p/go-mplex/pull/53))
591
- use timeouts when sending messages for stream open, close, and reset. ([libp2p/go-mplex#52](https://github.com/libp2p/go-mplex/pull/52))
592
- fix: reset a stream even if closed remotely ([libp2p/go-mplex#50](https://github.com/libp2p/go-mplex/pull/50))
@@ -450,6 +594,9 @@ go versions during builds.
594
- Fix race condition by adding a mutex for deadline access ([libp2p/go-mplex#41](https://github.com/libp2p/go-mplex/pull/41))
595
- github.com/libp2p/go-msgio (v0.0.1 -> v0.0.2):
596
- fix: never claim to read more than read ([libp2p/go-msgio#12](https://github.com/libp2p/go-msgio/pull/12))
597
+- github.com/libp2p/go-ws-transport (v0.0.2 -> v0.0.4):
598
+ - dep: import go-smux-* into the libp2p org ([libp2p/go-ws-transport#43](https://github.com/libp2p/go-ws-transport/pull/43))
599
+ - replace gx instructions with note about gomod ([libp2p/go-ws-transport#42](https://github.com/libp2p/go-ws-transport/pull/42))
600
601
602
## 0.4.20 2019-04-16