github ipfs/kubo v0.19.1

latest releases: v0.32.0-rc2, v0.32.0-rc1, v0.31.0...
19 months ago
  • 💬 Discuss
  • 🔦 Highlights
    • Improving the libp2p resource management integration
    • Gateways
      • Signed IPNS Record response format
      • Example fetch and inspect IPNS record
    • Addition of "autoclient" router type
    • Deprecation of the ipfs pubsub commands and matching HTTP endpoints
  • 📝 Changelog
  • 👨‍👩‍👧‍👦 Contributors

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 capablities, 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
$ 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

Full Changelog

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Dirk McCormick 128 +16757/-7211 387
Henrique Dias 69 +7599/-10016 316
hannahhoward 88 +8503/-4397 271
Jeromy Johnson 244 +6544/-4034 774
Marten Seemann 64 +4870/-5628 266
Steven Allen 296 +4769/-3517 972
Brian Tiger Chow 250 +5520/-2579 435
Jorropo 64 +4237/-3548 302
Sukun 18 +4327/-1093 132
Marco Munizaga 35 +2809/-1294 94
Gus Eggert 20 +2523/-1476 99
Adin Schmahmann 15 +683/-2625 69
Marcin Rataj 73 +2348/-882 133
whyrusleeping 12 +1683/-1338 23
Jeromy 99 +1754/-1181 453
Juan Batiz-Benet 69 +1182/-678 149
Lars Gierth 31 +827/-358 92
Paul Wolneykien 2 +670/-338 9
Laurent Senta 16 +806/-134 53
Henry 19 +438/-372 36
Michael Muré 8 +400/-387 19
Łukasz Magiera 56 +413/-354 117
Jakub Sztandera 40 +413/-251 100
Justin Johnson 2 +479/-165 5
Piotr Galar 7 +227/-378 24
Kevin Atkinson 11 +252/-232 49
web3-bot 17 +236/-240 59
Petar Maymounkov 2 +348/-84 11
Hector Sanjuan 38 +206/-223 85
Antonio Navarro Perez 9 +259/-95 17
keks 22 +233/-118 24
Ho-Sheng Hsiao 3 +170/-170 30
Lucas Molas 6 +266/-54 16
Mildred Ki'Lya 4 +280/-35 7
Steve Loeppky 5 +147/-156 9
rht 14 +97/-188 20
Prithvi Shahi 6 +89/-193 11
Ian Davis 6 +198/-75 11
taylor 1 +180/-89 8
ᴍᴀᴛᴛ ʙᴇʟʟ 14 +158/-104 18
Chris Boddy 6 +190/-45 8
Rod Vagg 3 +203/-28 15
Masih H. Derkani 8 +165/-61 16
Kevin Wallace 4 +194/-27 7
Mohsin Zaidi 1 +179/-41 5
ElPaisano 1 +110/-110 22
Simon Zhu 6 +177/-32 8
galargh 9 +80/-120 14
Tomasz Zdybał 1 +180/-1 4
dgrisham 3 +176/-2 4
Michael Avila 3 +116/-59 8
Raúl Kripalani 2 +85/-77 34
Dr Ian Preston 11 +101/-48 11
JP Hastings-Spital 1 +145/-0 2
George Antoniadis 6 +59/-58 43
Kevin Neaton 2 +97/-16 4
Adrian Lanzafame 6 +81/-25 7
Dennis Trautwein 3 +89/-9 5
mathew-cf 2 +82/-9 5
tg 1 +41/-33 1
Eng Zer Jun 1 +15/-54 5
zramsay 4 +15/-53 12
muXxer 1 +28/-33 4
Thomas Eizinger 1 +24/-37 4
Remco Bloemen 2 +28/-18 3
Manuel Alonso 1 +36/-9 1
vyzo 4 +26/-12 13
Djalil Dreamski 3 +27/-9 3
Thomas Gardner 2 +32/-3 4
Jan Winkelmann 2 +23/-12 8
Artem Andreenko 1 +16/-19 1
James Stanley 1 +34/-0 1
Brendan McMillion 1 +10/-17 3
Jack Loughran 1 +22/-0 3
Peter Wu 2 +12/-9 2
Gowtham G 4 +14/-7 4
Tor Arne Vestbø 3 +19/-1 3
Cory Schwartz 1 +8/-12 5
Peter Rabbitson 1 +15/-4 1
David Dias 1 +9/-9 1
Will Scott 1 +13/-4 2
Eric Myhre 1 +15/-2 1
Stephen Whitmore 1 +8/-8 1
Rafael Ramalho 5 +11/-5 5
Christian Couder 1 +14/-2 1
W. Trevor King 2 +9/-6 3
Steven Vandevelde 1 +11/-3 1
Knut Ahlers 3 +9/-5 3
Bob Potter 1 +3/-10 1
Russell Dempsey 4 +8/-4 4
Diogo Silva 4 +8/-4 4
Dave Justice 1 +8/-4 1
Andy Leap 2 +2/-10 2
divingpetrel 1 +7/-4 2
Iaroslav Gridin 1 +9/-2 1
Dominic Della Valle 3 +5/-5 3
Vijayee Kulkaa 1 +3/-6 1
Friedel Ziegelmayer 3 +6/-3 3
Stephen Solka 1 +1/-7 1
Richard Littauer 3 +4/-4 3
Franky W 2 +4/-4 2
Dimitris Apostolou 2 +4/-4 3
Adrian Ulrich 1 +8/-0 1
Masashi Salvador Mitsuzawa 1 +5/-1 1
Gabe 1 +3/-3 1
zuuluuz 1 +4/-1 1
myml 1 +5/-0 1
swedneck 1 +3/-1 1
Wayback Archiver 1 +2/-2 1
Vladimir Ivanov 1 +2/-2 1
Péter Szilágyi 1 +2/-2 1
Karthik Bala 1 +2/-2 1
Etienne Laurin 1 +1/-3 1
Shotaro Yamada 1 +2/-1 1
Robert Carlsen 1 +2/-1 1
Oli Evans 1 +2/-1 1
Dan McQuillan 1 +2/-1 1
susarlanikhilesh 1 +1/-1 1
mateon1 1 +1/-1 1
kpcyrd 1 +1/-1 1
bbenshoof 1 +1/-1 1
ZenGround0 1 +1/-1 1
Will Hawkins 1 +1/-1 1
Tommi Virtanen 1 +1/-1 1
Seungbae Yu 1 +1/-1 1
Riishab Joshi 1 +1/-1 1
Kubo Mage 1 +1/-1 1
Ivan 1 +1/-1 1
Guillaume Renault 1 +1/-1 1
Anjor Kanekar 1 +1/-1 1
Andrew Chin 1 +1/-1 1
Abdul Rauf 1 +1/-1 1
makeworld 1 +1/-0 1

Don't miss a new kubo release

NewReleases is sending notifications on new releases.