Back to Kubo

Kubo changelog v0.19

docs/changelogs/v0.19.md

0.41.040.0 KB
Original Source
<!-- omit in toc -->

Kubo changelog v0.19

v0.19.2

Highlights

FullRT DHT HTTP Routers

The default HTTP routers are now used when the FullRT DHT client is used. This fixes the issue where cid.contact is not being queried by default when the accelerated DHT client was enabled. Read more in (ipfs/kubo#9841).

Changelog

<details><summary>Full Changelog</summary>
  • github.com/ipfs/kubo:
    • fix: use default HTTP routers when FullRT DHT client is used (#9841) (ipfs/kubo#9841)
    • chore: update version
</details>

Contributors

ContributorCommitsLines ±Files Changed
Gus Eggert1+65/-534
Henrique Dias1+1/-11

v0.19.1

🔦 Highlights

DHT Timeouts

In v0.16.0, Kubo added the ability to configure custom content routers and DHTs with the custom router type, and as part of this added a default 5 minute timeout to all DHT operations. In some cases with large repos (example), this can cause provide and reprovide operations to fail because the timeout is reached. This release removes these timeouts on DHT operations. If users desire these timeouts, they can be added back using the custom router type.

Changelog

<details><summary>Full Changelog</summary>
  • github.com/ipfs/kubo:
    • chore: update version
    • fix: remove timeout on default DHT operations (#9783) (ipfs/kubo#9783)
    • chore: update version
  • github.com/ipfs/go-blockservice (v0.5.0 -> v0.5.1):
    • chore: release v0.5.1
    • fix: remove busyloop in getBlocks by removing batching
  • github.com/libp2p/go-libp2p (v0.26.3 -> v0.26.4):
    • release v0.26.4
    • autorelay: fix busy loop bug and flaky tests in relay finder (#2208) (libp2p/go-libp2p#2208)
  • github.com/libp2p/go-libp2p-routing-helpers (v0.6.1 -> v0.6.2):
</details>

Contributors

ContributorCommitsLines ±Files Changed
Marco Munizaga1+347/-465
Gus Eggert3+119/-938
Jorropo2+20/-322
galargh2+2/-22
Marten Seemann1+2/-21
<!-- omit in toc -->

v0.19.0

Overview

🔦 Highlights

Improving the libp2p resource management integration

There are further followups up on libp2p resource manager improvements in Kubo 0.18.0 and 0.18.1:

  1. ipfs swarm limits and ipfs swarm stats have been replaced by ipfs swarm resources to provide a single/combined view for limits and their current usage in a more intuitive ordering.
  2. Removal of Swarm.ResourceMgr.Limits config. Instead the power user can specify limits in a .json file that are fed directly to go-libp2p. This allows the power user to take advantage of the new resource manager types introduced in go-libp2p 0.25 including "use default", "unlimited", "block all".
    • Note: we don't expect most users to need these capabilities, but they are there if so.
  3. Doc updates.

Gateways

Signed IPNS Record response format

This release implements IPIP-351 and adds Gateway support for returning signed (verifiable) ipns-record (0x0300) when /ipns/{libp2p-key} is requested with either Accept: application/vnd.ipfs.ipns-record HTTP header or ?format=ipns-record URL query parameter.

The Gateway in Kubo already supported trustless, verifiable retrieval of immutable /ipfs/ namespace. With ?format=ipns-record, light HTTP clients are now able to get the same level of verifiability for IPNS websites.

Tooling is limited at the moment, but we are working on go-libipfs examples that illustrate the verifiable HTTP client pattern.

Example: fetch IPNS record over HTTP and inspect it with ipfs name inspect --verify
console
$ FILE_CID=$(echo "Hello IPFS" | ipfs add --cid-version 1 -q)
$ IPNS_KEY=$(ipfs key gen test)
$ ipfs name publish /ipfs/$FILE_CID --key=test --ttl=30m
Published to k51q..dvf1: /ipfs/bafk..z244
$ curl "http://127.0.0.1:8080/ipns/$IPNS_KEY?format=ipns-record" > signed.ipns-record
$ ipfs name inspect --verify $IPNS_KEY < signed.ipns-record
Value:         "/ipfs/bafk..."
Validity Type: "EOL"
Validity:      2023-03-09T23:13:34.032977468Z
Sequence:      0
TTL:           1800000000000
PublicKey:     ""
Signature V1:  "m..."
Signature V2:  "m..."
Data:          {...}

Validation results:
 Valid:     true
 PublicKey: 12D3...

Addition of "autoclient" router type

A new routing type "autoclient" has been added. This mode is similar to "auto", in that it is a hybrid of content routers (including Kademlia and HTTP routers), but it does not run a DHT server. This is similar to the difference between "dhtclient" and "dht" router types.

See the Routing.Type documentation for more information.

Deprecation of the ipfs pubsub commands and matching HTTP endpoints

We are deprecating ipfs pubsub and all /api/v0/pubsub/ RPC endpoints and will remove them in the next release.

For more information and rational see #9717.

📝 Changelog

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

👨‍👩‍👧‍👦 Contributors

ContributorCommitsLines ±Files Changed
Dirk McCormick128+16757/-7211387
Henrique Dias69+7599/-10016316
hannahhoward88+8503/-4397271
Jeromy Johnson244+6544/-4034774
Marten Seemann64+4870/-5628266
Steven Allen296+4769/-3517972
Brian Tiger Chow250+5520/-2579435
Jorropo64+4237/-3548302
Sukun18+4327/-1093132
Marco Munizaga35+2809/-129494
Gus Eggert20+2523/-147699
Adin Schmahmann15+683/-262569
Marcin Rataj73+2348/-882133
whyrusleeping12+1683/-133823
Jeromy99+1754/-1181453
Juan Batiz-Benet69+1182/-678149
Lars Gierth31+827/-35892
Paul Wolneykien2+670/-3389
Laurent Senta16+806/-13453
Henry19+438/-37236
Michael Muré8+400/-38719
Łukasz Magiera56+413/-354117
Jakub Sztandera40+413/-251100
Justin Johnson2+479/-1655
Piotr Galar7+227/-37824
Kevin Atkinson11+252/-23249
web3-bot17+236/-24059
Petar Maymounkov2+348/-8411
Hector Sanjuan38+206/-22385
Antonio Navarro Perez9+259/-9517
keks22+233/-11824
Ho-Sheng Hsiao3+170/-17030
Lucas Molas6+266/-5416
Mildred Ki'Lya4+280/-357
Steve Loeppky5+147/-1569
rht14+97/-18820
Prithvi Shahi6+89/-19311
Ian Davis6+198/-7511
taylor1+180/-898
ᴍᴀᴛᴛ ʙᴇʟʟ14+158/-10418
Chris Boddy6+190/-458
Rod Vagg3+203/-2815
Masih H. Derkani8+165/-6116
Kevin Wallace4+194/-277
Mohsin Zaidi1+179/-415
ElPaisano1+110/-11022
Simon Zhu6+177/-328
galargh9+80/-12014
Tomasz Zdybał1+180/-14
dgrisham3+176/-24
Michael Avila3+116/-598
Raúl Kripalani2+85/-7734
Dr Ian Preston11+101/-4811
JP Hastings-Spital1+145/-02
George Antoniadis6+59/-5843
Kevin Neaton2+97/-164
Adrian Lanzafame6+81/-257
Dennis Trautwein3+89/-95
mathew-cf2+82/-95
tg1+41/-331
Eng Zer Jun1+15/-545
zramsay4+15/-5312
muXxer1+28/-334
Thomas Eizinger1+24/-374
Remco Bloemen2+28/-183
Manuel Alonso1+36/-91
vyzo4+26/-1213
Djalil Dreamski3+27/-93
Thomas Gardner2+32/-34
Jan Winkelmann2+23/-128
Artem Andreenko1+16/-191
James Stanley1+34/-01
Brendan McMillion1+10/-173
Jack Loughran1+22/-03
Peter Wu2+12/-92
Gowtham G4+14/-74
Tor Arne Vestbø3+19/-13
Cory Schwartz1+8/-125
Peter Rabbitson1+15/-41
David Dias1+9/-91
Will Scott1+13/-42
Eric Myhre1+15/-21
Stephen Whitmore1+8/-81
Rafael Ramalho5+11/-55
Christian Couder1+14/-21
W. Trevor King2+9/-63
Steven Vandevelde1+11/-31
Knut Ahlers3+9/-53
Bob Potter1+3/-101
Russell Dempsey4+8/-44
Diogo Silva4+8/-44
Dave Justice1+8/-41
Andy Leap2+2/-102
divingpetrel1+7/-42
Iaroslav Gridin1+9/-21
Dominic Della Valle3+5/-53
Vijayee Kulkaa1+3/-61
Friedel Ziegelmayer3+6/-33
Stephen Solka1+1/-71
Richard Littauer3+4/-43
Franky W2+4/-42
Dimitris Apostolou2+4/-43
Adrian Ulrich1+8/-01
Masashi Salvador Mitsuzawa1+5/-11
Gabe1+3/-31
zuuluuz1+4/-11
myml1+5/-01
swedneck1+3/-11
Wayback Archiver1+2/-21
Vladimir Ivanov1+2/-21
Péter Szilágyi1+2/-21
Karthik Bala1+2/-21
Etienne Laurin1+1/-31
Shotaro Yamada1+2/-11
Robert Carlsen1+2/-11
Oli Evans1+2/-11
Dan McQuillan1+2/-11
susarlanikhilesh1+1/-11
mateon11+1/-11
kpcyrd1+1/-11
bbenshoof1+1/-11
ZenGround01+1/-11
Will Hawkins1+1/-11
Tommi Virtanen1+1/-11
Seungbae Yu1+1/-11
Riishab Joshi1+1/-11
Kubo Mage1+1/-11
Ivan1+1/-11
Guillaume Renault1+1/-11
Anjor Kanekar1+1/-11
Andrew Chin1+1/-11
Abdul Rauf1+1/-11
makeworld1+1/-01