github ipfs/kubo v0.22.0

latest releases: v0.29.0, v0.29.0-rc2, v0.29.0-rc1...
11 months ago

Release issue #9911

v0.22.0

  • Overview
  • ๐Ÿ”ฆ Highlights
    • Gateway: support for order= and dups= parameters (IPIP-412)
    • ipfs name publish now supports V2 only IPNS records
    • IPNS name resolution has been fixed
    • go-libp2p v0.29.0 update with smart dialing
  • ๐Ÿ“ Changelog
  • ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Contributors

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.

TODO: add links to IPIP ipfs/specs#376

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

Full Changelog

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

Contributor Commits Lines ยฑ Files Changed
Henrique Dias 14 +3735/-17889 185
Sukun 27 +5829/-957 98
Marten Seemann 39 +2924/-1831 161
Marco Munizaga 17 +1498/-580 76
Prem Chaitanya Prathi 1 +757/-740 61
Jorropo 20 +639/-444 49
Marcin Rataj 9 +331/-194 20
Will 2 +118/-211 9
Adin Schmahmann 4 +275/-41 8
Rod Vagg 8 +228/-46 28
Adrian Sutton 1 +190/-17 4
Hlib Kanunnikov 3 +139/-40 9
VM 2 +80/-79 49
web3-bot 3 +22/-46 4
Will Scott 2 +29/-28 6
Prithvi Shahi 2 +40/-7 2
Laurent Senta 1 +40/-4 2
Brad Fitzpatrick 1 +42/-2 2
Piotr Galar 3 +16/-16 3
Steve Loeppky 1 +6/-23 2
Sahib Yar 1 +4/-4 3
Russell Dempsey 2 +4/-2 2
Mohamed MHAMDI 1 +3/-3 1
Bryan White 1 +2/-2 1
Dennis Trautwein 1 +1/-1 1

Don't miss a new kubo release

NewReleases is sending notifications on new releases.