Back to Kubo

Kubo changelog v0.22

docs/changelogs/v0.22.md

0.41.023.0 KB
Original Source

Kubo changelog v0.22

v0.22.0

Overview

๐Ÿ”ฆ Highlights

Gateway: support for order= and dups= parameters (IPIP-412)

The updated boxo/gateway library introduces support for ordered CAR responses through the inclusion of optional CAR content type parameters: order=dfs and dups=y|n from IPIP-412.

Previously, Kubo already provided CARs in DFS order without duplicate blocks. With the implementation of IPIP-412, this behavior is now explicitly defined rather than implied.

In the absence of dups or order in Accept request reader, the default CAR response will have the Content-Type: application/vnd.ipld.car; version=1; order=dfs; dups=n and the same blocks as Kubo 0.21.

Kubo 0.22 still only supports DFS block ordering (order=dfs). However, it is now possible to request a DFS CAR stream with duplicate blocks by opting in via Accept: application/vnd.ipld.car; order=dfs; dups=y. This opt-in feature can be beneficial for memory-constrained clients and IoT devices, as it allows for streaming large DAGs without the need to store all previously encountered blocks in memory.

ipfs name publish now supports V2 only IPNS records

When publishing an IPNS record, you are now able to create v2 only records by passing --v1compat=false. By default, we still create V1+V2 records, such that there is the highest chance of backwards compatibility. The goal is to move to V2 only in the future.

For more details, see IPIP-428 and the updated IPNS Record Verification logic.

IPNS name resolution has been fixed

IPNS name resolution had a regression where if IPNS over PubSub was enabled, but the name was not also available via IPNS over PubSub it would take 1 minute to for the lookup to complete (if the record was not yet cached).

This has been fixed and as before will give the best record from either the DHT subsystem or IPNS over PubSub, whichever comes back first.

For details see #9927 and #10020.

go-libp2p v0.29.0 update with smart dialing

We updated from go-libp2p v0.27.7 to v0.29.0. This release includes smart dialing, which is a prioritization algorithm that will try to rank addresses and protocols rather than attempting all options in parallel. Anecdotally, we have observed Kubo nodes make 30% less dials with no to low latency impact.

This includes a breaking change to ipfs id and some of the ipfs swarm commands. We no longer report ProtocolVersion. This used to be hardcoded as ipfs/0.1.0 and sent to other peers but was not providing any distinguishing value. See libp2p/go-libp2p#2294 for more information.

๐Ÿ“ Changelog

<details><summary>Full Changelog</summary> </details>

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Contributors

ContributorCommitsLines ยฑFiles Changed
Henrique Dias14+3735/-17889185
Sukun28+5910/-957100
Jorropo40+2913/-2112205
Marten Seemann41+2926/-1833163
Marco Munizaga20+1559/-58681
Prem Chaitanya Prathi1+757/-74061
Laurent Senta2+69/-109432
Marcin Rataj11+339/-19822
Steven Allen2+313/-1619
Will2+118/-2119
Adin Schmahmann4+275/-418
Michael Murรฉ1+113/-1646
Rod Vagg8+228/-4628
Gus Eggert5+156/-9321
Adrian Sutton1+190/-174
Hlib Kanunnikov3+139/-409
VM2+80/-7949
UnkwUsr1+0/-1241
Piotr Galar4+51/-595
web3-bot3+22/-464
Will Scott2+29/-286
Prithvi Shahi2+40/-72
Brad Fitzpatrick1+42/-22
Steve Loeppky1+6/-232
Sahib Yar1+4/-43
Russell Dempsey2+4/-22
Mohamed MHAMDI1+3/-31
Bryan White1+2/-21
Dennis Trautwein1+1/-11
Antonio Navarro Perez1+0/-11