Skip to content

v0.22.0

Compare
Choose a tag to compare
@Jorropo Jorropo released this 09 Aug 14:42
· 791 commits to master since this release
v0.22.0
3f884d3

Release issue #9911

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

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