Bot releases are hidden (Show)
Changelog: docs/changelogs/v0.30.md
Published by lidel 4 months ago
It is now possible to search for pins by name via ipfs pin ls --name "SomeName"
.
The search is case-sensitive and will return all pins that contain the specified substring in their name.
[!TIP]
Theipfs pin ls -n
is now a shorthand foripfs pin ls --name
, mirroring the behavior ofipfs pin add
.
Seeipfs pin ls --help
for more information.
ipfs add
defaultsThis release supports overriding global data ingestion defaults used by commands like ipfs add
via user-defined Import.*
configuration options.
The hash function, CID version, or UnixFS raw leaves and chunker behaviors can be set once, and used as the new implicit default for ipfs add
.
[!TIP]
As a convenience, two CID profiles are provided:legacy-cid-v0
andtest-cid-v1
.
A test profile that defaults to modern CIDv1 can be applied viaipfs config profile apply test-cid-v1
.
We encourage users to try it and report any issues in kubo#4143.
extract
skip missing unixfs shard linksSkipNext
method on block reader (#338) (ipld/go-car#338)Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Henrique Dias | 33 | +4994/-579 | 115 |
Rod Vagg | 29 | +3781/-1367 | 90 |
sukun | 12 | +2026/-1215 | 39 |
Marco Munizaga | 18 | +1482/-382 | 47 |
Will | 5 | +769/-213 | 17 |
Steven Allen | 5 | +540/-115 | 24 |
Sukun | 4 | +274/-194 | 11 |
Michael Muré | 7 | +372/-55 | 16 |
Marten Seemann | 1 | +243/-141 | 10 |
Marcin Rataj | 7 | +244/-134 | 13 |
hannahhoward | 1 | +277/-0 | 2 |
Will Scott | 5 | +54/-38 | 9 |
Hector Sanjuan | 3 | +68/-20 | 5 |
Jorropo | 5 | +34/-47 | 15 |
Andrew Gillis | 2 | +67/-7 | 3 |
IGP | 1 | +59/-8 | 5 |
Adin Schmahmann | 2 | +50/-0 | 3 |
Laurent Senta | 1 | +40/-4 | 2 |
Brad Fitzpatrick | 1 | +42/-2 | 2 |
Fabio Bozzo | 1 | +36/-1 | 3 |
Yolan Romailler | 1 | +15/-19 | 4 |
Hlib Kanunnikov | 2 | +14/-14 | 6 |
Andreas Penzkofer | 1 | +22/-2 | 3 |
Matthias Fasching | 1 | +8/-10 | 1 |
gopherfarm | 2 | +16/-1 | 2 |
Dreamacro | 1 | +1/-10 | 1 |
web3-bot | 2 | +7/-3 | 4 |
Rafał Leszko | 1 | +4/-4 | 1 |
Oleg Kovalov | 1 | +4/-4 | 3 |
dbeal | 1 | +5/-1 | 1 |
Antonio Navarro Perez | 1 | +4/-1 | 1 |
dozyio | 1 | +3/-0 | 1 |
zhiqiangxu | 1 | +1/-1 | 1 |
the harder the luckier | 1 | +1/-1 | 1 |
Lukáš Lukáč | 1 | +1/-1 | 1 |
Steve Loeppky | 1 | +1/-0 | 1 |
Published by lidel 4 months ago
Changelog: docs/changelogs/v0.29.md
Published by hacdias 5 months ago
Changelog: docs/changelogs/v0.29.md
Published by hacdias 6 months ago
The deprecated DHT API commands in the RPC client have been removed. Instead, use the Routing API.
/api/v0
is removedThe legacy subset of the Kubo RPC that was available via the Gateway port and was deprecated is now completely removed. You can read more in https://github.com/ipfs/kubo/issues/10312.
If you have a legacy software that relies on this behavior, and want to expose parts of /api/v0
next to /ipfs
, use reverse-proxy in front of Kubo to mount both Gateway and RPC on the same port. NOTE: exposing RPC to the internet comes with security risk: make sure to specify access control via API.Authorizations.
The Object API commands deprecated back in 2021 have been removed, except for object diff
, object patch add-link
and object patch rm-link
, whose alternatives have not yet been built (see issues 4801 and 4782).
Kubo no longer keeps track of loopback and private addresses on the LAN and WAN DHTs, respectively. This means that other nodes will not try to dial likely undialable addresses.
To support testing scenarios where multiple Kubo instances run on the same machine, Routing.LoopbackAddressesOnLanDHT
is set to true
when the test
profile is applied.
The root CIDs of pinned content are now prioritized when announcing to the Amino DHT with Reprovider.Strategy
set to all
(default) or pinned
, making the important CIDs accessible faster.
Security Note: CVE-2024-22189 has been addressed by upgrading to quic-go v0.42.0.
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Henrique Dias | 19 | +867/-2806 | 96 |
Rod Vagg | 7 | +921/-475 | 25 |
Marcin Rataj | 8 | +358/-344 | 18 |
Guillaume Michel - guissou | 1 | +145/-485 | 13 |
Jorropo | 8 | +429/-136 | 22 |
Łukasz Magiera | 4 | +284/-48 | 11 |
whyrusleeping | 1 | +90/-90 | 2 |
Michael Muré | 2 | +48/-73 | 9 |
Marco Munizaga | 6 | +86/-29 | 10 |
guillaumemichel | 3 | +93/-1 | 3 |
Marten Seemann | 1 | +31/-4 | 4 |
godeamon | 3 | +11/-8 | 3 |
shuangcui | 1 | +6/-6 | 5 |
occupyhabit | 1 | +3/-3 | 3 |
crazehang | 1 | +2/-2 | 1 |
Dennis Trautwein | 1 | +1/-2 | 1 |
“GheisMohammadi” | 1 | +1/-1 | 1 |
web3-bot | 1 | +2/-0 | 1 |
Daniel Norman | 1 | +1/-1 | 1 |
Published by hacdias 6 months ago
Changelog: docs/changelogs/v0.28.md
Published by hacdias 8 months ago
/api/v0
is deprecatedSupport for exposing the legacy subset of Kubo RPC via the Gateway port is deprecated and should not be used. It will be removed in the next version. You can read more in https://github.com/ipfs/kubo/issues/10312.
If you have a legacy software that relies on this behavior, and want to expose parts of /api/v0
next to /ipfs
, use reverse-proxy in front of Kubo to mount both Gateway and RPC on the same port. NOTE: exposing RPC to the internet comes with security risk: make sure to specify access control via API.Authorizations.
You can now configure the upper-bound of a cached IPNS entry's Time-To-Live via Ipns.MaxCacheTTL
.
The RPC client for GO (kubo/client/rpc
) now includes a Routing API to match the available commands in /api/v0/routing
. In addition, the DHT API has been marked as deprecated.
In the next version, all DHT deprecated methods will be removed from the Go RPC client.
/api/v0/dht
All the DHT commands that were deprecated for over a year were finally removed from /api/v0/dht
. Users should switch to modern /api/v0/routing
which works with both Amino DHT and Delegated Routers.
Kubo now only uses trustless requests (e.g., CAR files) when downloading repository migrations via HTTP. This further strengthens Kubo by not delegating trust to public gateways. The migration binaries are locally verified before being executed.
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Henrique Dias | 26 | +1668/-1484 | 96 |
Sukun | 13 | +983/-618 | 68 |
Jorropo | 18 | +501/-222 | 32 |
Marten Seemann | 2 | +17/-244 | 5 |
dozyio | 1 | +117/-132 | 31 |
Marcin Rataj | 7 | +100/-20 | 8 |
Alexandr Burdiyan | 2 | +29/-54 | 2 |
Tyler | 1 | +17/-19 | 2 |
KeienWang | 2 | +14/-14 | 12 |
Håvard Anda Estensen | 1 | +14/-14 | 11 |
Halimao | 2 | +17/-4 | 2 |
hannahhoward | 1 | +14/-6 | 2 |
alex | 1 | +8/-8 | 4 |
shuoer86 | 1 | +7/-7 | 5 |
John Chase | 1 | +0/-12 | 1 |
GoodDaisy | 1 | +5/-5 | 4 |
Michael Muré | 1 | +6/-2 | 1 |
吴小白 | 1 | +3/-3 | 3 |
Vehorny | 1 | +3/-3 | 2 |
Eric | 1 | +1/-1 | 1 |
Published by hacdias 8 months ago
Changelog: docs/changelogs/v0.27.md
Published by hacdias 8 months ago
Changelog: docs/changelogs/v0.27.md
Published by hacdias 9 months ago
For users of Kubo preloaded plugins there is now a way to create a kubo instance with your plugins by depending on the cmd/ipfs/kubo
package rather than rebuilding kubo with the included plugins.
See the customization docs for more information.
Several deprecated commands have been removed:
ipfs urlstore
deprecated in April 2019, Kubo 0.4.21, use ipfs add -q --nocopy --cid-version=1 {url}
instead.ipfs repo fsck
deprecated in July 2019, Kubo 0.5.0
ipfs file
(and ipfs file ls
) deprecated in November 2020, Kubo 0.8.0, use ipfs ls
and ipfs files ls
instead.ipfs dns
deprecated in April 2022, Kubo 0.13, use ipfs resolve /ipns/{name}
instead.ipfs tar
deprecated April 2022, Kubo 0.13
You can now add a name to a pin when pinning a CID. To do so, use ipfs pin add --name "Some Name" bafy...
. You can list your pins, including their names, with ipfs pin ls --names
.
jaeger
trace exporter has been removedjaeger
exporter has been removed from upstream, you should use otlp
exporter instead.
See the boxo tracing docs for an example.
string
(#83) (whyrusleeping/cbor-gen#83)Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Henrique Dias | 11 | +493/-1184 | 48 |
Łukasz Magiera | 3 | +610/-582 | 16 |
Rod Vagg | 11 | +1030/-151 | 18 |
whyrusleeping | 6 | +553/-388 | 14 |
Jorropo | 13 | +561/-348 | 84 |
Jeromy Johnson | 1 | +771/-48 | 6 |
Steven Allen | 2 | +264/-135 | 4 |
Forrest | 1 | +214/-0 | 5 |
Marcin Rataj | 1 | +89/-24 | 2 |
sukun | 1 | +31/-11 | 5 |
Will Scott | 3 | +25/-10 | 3 |
Adin Schmahmann | 3 | +21/-5 | 3 |
web3-bot | 2 | +8/-8 | 3 |
Marten Seemann | 1 | +13/-1 | 1 |
Bumblefudge | 1 | +5/-2 | 1 |
Will | 1 | +1/-1 | 1 |
Nicholas Ericksen | 1 | +1/-1 | 1 |
0xbasar | 1 | +1/-1 | 1 |
Published by hacdias 9 months ago
Changelog: docs/changelogs/v0.26.md
Published by Jorropo 10 months ago
WebUI v4.2.0 shipped
with updated ipfs-geoip dataset
and ability to filter the peers table.
API.Authorizations
Kubo RPC API now supports optional HTTP Authorization.
Granular control over user access to the RPC can be defined in the
API.Authorizations
map in the configuration file, allowing different users or apps to have unique
access secrets and allowed paths.
This feature is opt-in. By default, no authorization is set up.
For configuration instructions,
refer to the documentation.
After deprecating and removing mplex support by default in v0.23.0.
We now fully removed it. If you still need mplex support to talk with other pieces of software,
please try updating them, and if they don't support yamux or QUIC talk to us about it.
Mplex is unreliable by design, it will drop data and generete errors when sending data too fast,
yamux and QUIC support backpressure, that means if we send data faster than the remote machine can process it, we slows down to match the remote's speed.
Currently the Graphsync server is to our knowledge not used
due to lack of compatible software.
And we are left to have to maintain the go-graphsync implementation when trying
to update Kubo because some dependency changed and it fails to build anymore.
For more information see https://github.com/ipfs/kubo/pull/9747.
ipfs key sign
and ipfs key verify
This allows the Kubo node to sign arbitrary bytes to prove ownership of a PeerID or an IPNS Name. To avoid signature reuse, the signed payload is always prefixed with libp2p-key signed message:
.
These commands are also both available through the RPC client and implemented in client/rpc
.
For more information see https://github.com/ipfs/kubo/issues/10230.
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Łukasz Magiera | 149 | +7833/-2505 | 375 |
Henrique Dias | 26 | +2498/-7535 | 210 |
Steven Allen | 48 | +497/-373 | 129 |
Jorropo | 9 | +247/-604 | 49 |
Michael Muré | 6 | +306/-79 | 14 |
Adin Schmahmann | 3 | +275/-8 | 5 |
Lucas Molas | 1 | +181/-56 | 2 |
Laurent Senta | 1 | +109/-24 | 7 |
Lars Gierth | 6 | +82/-18 | 8 |
Petar Maymounkov | 1 | +66/-32 | 3 |
web3-bot | 1 | +47/-42 | 17 |
Marcin Rataj | 6 | +57/-23 | 8 |
Kevin Atkinson | 5 | +31/-31 | 17 |
Marten Seemann | 3 | +27/-28 | 16 |
Hector Sanjuan | 3 | +28/-14 | 10 |
Overbool | 2 | +36/-3 | 3 |
Raúl Kripalani | 1 | +11/-12 | 4 |
hannahhoward | 2 | +11/-7 | 6 |
Jeromy Johnson | 5 | +9/-9 | 5 |
ForrestWeston | 1 | +14/-1 | 1 |
Russell Dempsey | 1 | +10/-2 | 2 |
Will Scott | 1 | +8/-1 | 1 |
Jeromy | 2 | +4/-4 | 2 |
sukun | 1 | +2/-2 | 1 |
Steve Loeppky | 1 | +2/-2 | 1 |
Jonas Keunecke | 1 | +2/-2 | 1 |
Edgar Lee | 1 | +3/-1 | 1 |
Dreamacro | 1 | +2/-2 | 2 |
godcong | 1 | +1/-1 | 1 |
Cole Brown | 1 | +1/-1 | 1 |
Published by hacdias 11 months ago
Changelog: docs/changelogs/v0.25.md
Published by hacdias 11 months ago
This Kubo release ships with built-in content-blocking subsystem announced earlier this year.
Content blocking is an opt-in decision made by the operator of ipfs daemon
.
The official build does not ship with any denylists.
Learn more at /docs/content-blocking.md
When requesting a CAR from the gateway, the root of the CAR might no longer be
meaningful. By default, the CAR root will be the last resolvable segment of the
path. However, in situations where the path cannot be resolved, such as when
the path does not exist, a CAR will be sent with a root of bafkqaaa
(empty CID).
This CAR will contain all blocks necessary to validate that the path does not exist.
This release changes the default values used when publishing IPNS record
via ipfs name publish
command:
--lifetime
increased from 24h
to 48h
to take full advantage of--ttl
increased from 1m
to 1h
to improve website caching and followThis change only impacts the implicit defaults, when mentioned parameters are omitted
during publishing. Users are free to override the default if different value
makes more sense for their use case.
In this release, we've made significant improvements to IPNS caching.
Previously, the TTL value in IPNS records was not utilized, and the
boxo/namesys
library maintained a static one-minute resolution cache.
With this update, IPNS publishers gain more control over how long a valid IPNS
record remains cached before checking an upstream routing system, such as Amino
DHT, for updates. The TTL value in the IPNS record now serves as a hint for:
boxo/namesys
: the internal cache, determining how long the IPNS resolutionboxo/gateway
: the Cache-Control
HTTP header in responses to requests made/ipns/name
content paths.These changes make it easier for rarely updated IPNS-hosted websites to be
cached more efficiently and load faster in browser contexts.
This Kubo release includes the initial work towards WebRTC Direct
introduced in go-libp2p
v0.32:
WebRTC Direct
allows browser nodes to connect to go-libp2p nodes directly,
without any configuration (e.g. TLS certificates) needed on the go-libp2p
side. This is useful for browser nodes that aren’t able to use
WebTransport.
The /webrtc-direct
transport is disabled by default in Kubo 0.24,
and not ready for production use yet, but we plan to enable it in a future release.
See Swarm.Transports.Network.WebRTCDirect
to learn how to enable it manually, and what current limitations are.
/
suffix when mounting handler (#2552) (libp2p/go-libp2p#2552)Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Henrique Dias | 27 | +4505/-3853 | 244 |
Marten Seemann | 18 | +4260/-1173 | 101 |
Sukun | 24 | +1499/-340 | 79 |
Andrew Gillis | 4 | +169/-1025 | 16 |
Adin Schmahmann | 4 | +788/-184 | 19 |
Hector Sanjuan | 6 | +619/-72 | 19 |
Steven Allen | 11 | +489/-101 | 14 |
Jorropo | 10 | +221/-192 | 28 |
Łukasz Magiera | 2 | +306/-9 | 3 |
Lucas Molas | 1 | +183/-52 | 2 |
Marcin Rataj | 5 | +160/-25 | 6 |
piersy | 1 | +57/-0 | 6 |
Raúl Kripalani | 1 | +25/-25 | 2 |
Alvin Reyes | 1 | +34/-14 | 1 |
Dennis Trautwein | 1 | +1/-40 | 2 |
Icarus9913 | 1 | +14/-14 | 10 |
Takashi Matsuda | 2 | +18/-1 | 3 |
gammazero | 4 | +8/-5 | 7 |
xiaolou86 | 1 | +6/-6 | 5 |
Daniel Martí | 1 | +9/-2 | 1 |
Rod Vagg | 3 | +5/-5 | 4 |
Andrej Manduch | 1 | +5/-5 | 3 |
vuittont60 | 1 | +4/-4 | 3 |
vyzo | 1 | +5/-1 | 1 |
tkzktk | 1 | +3/-3 | 3 |
tk | 1 | +3/-3 | 2 |
Prem Chaitanya Prathi | 1 | +1/-5 | 1 |
Kay | 2 | +2/-3 | 2 |
Thomas Eizinger | 1 | +2/-2 | 1 |
Steve Loeppky | 1 | +2/-2 | 1 |
Jonas Keunecke | 1 | +2/-2 | 1 |
Alejandro Criado-Pérez | 1 | +1/-1 | 1 |
web3-bot | 1 | +1/-0 | 1 |
Eric | 1 | +1/-0 | 1 |
Published by hacdias 12 months ago
Changelog: docs/changelogs/v0.24.md
Published by hacdias 12 months ago
Changelog: docs/changelogs/v0.24.md
Published by Jorropo about 1 year ago
Gateway.DisableHTMLErrors
configuration option/routing/v1
endpoint for delegated routing needs/quic
(Draft 29) supportMplex is being deprecated, this is because it is unreliable and
randomly drop streams when sending data too fast.
New pieces of code rely on backpressure, that means the stream will dynamicaly
slow down the sending rate if data is getting backed up.
Backpressure is provided by Yamux and QUIC.
In case you need compatibility with older implementations that do not ship with
Yamux (like default's JS-IPFS) you can turned it back ON in the config with:
$ ipfs config --json Swarm.Transports.Multiplexers.Mplex 200
We will completely remove Mplex in v0.24 as it makes protocols very bad to implement,
if you are in this situation you need to add yamux support to your other implementation.
When requesting a CAR from the gateway, the root of the CAR might no longer be
meaningful. By default, the CAR root will be the last resolvable segment of the
path. However, in situations where the path cannot be resolved, such as when
the path does not exist, a CAR will be sent with a root of bafkqaaa
(empty CID).
This CAR will contain all blocks necessary to validate that the path does not
exist without having to trust the gateway.
Gateway.DisableHTMLErrors
configuration optionThe Gateway.DisableHTMLErrors
configuration option forces errors to be
displayed in browsers as plain text (text/plain
) rather than HTML error
pages. It's especially beneficial for whitelabel or middleware deployments that
wish to avoid IPFS branding and links on error pages in browsers.
In this version, we updated Kubo to support Go 1.20+. In Go 1.20, a regression
regarding multipart headers was introduced.
This only affects ipfs add
when a file name has binary characters in its name.
As a consequence, we had to update the encoding of the file name headers. This is
the compatibility table:
New Client | Old Client | |
---|---|---|
New Server | ✅ | 🟡* |
Old Server | ✅ | ✅ |
*Old clients can only send Unicode file paths to the server.
/routing/v1
endpoint for delegated routing needsThe Routing
system configured in Kubo can be now exposed on the gateway port as a standard
HTTP Routing V1 API endpoint. This allows
self-hosting and experimentation with custom delegated routers. This is disabled by default,
but can be enabled by setting Gateway.ExposeRoutingAPI
to true
.
In this update, we've introduced an experimental opt-in feature allowing users to
serve a subset of Trustless Gateway responses,
such as blocks and CARs, over libp2p. This enhancement leverages the ongoing
/http/1.1
specification work in libp2p
to make it easier to support HTTP semantics over libp2p streams.
This development means that if users wish to utilize the Trustless Gateway API
for data transport, they can now do so even in scenarios where standard HTTP
might be problematic, such as when the endpoint is behind a firewall or when
attempting to serve data to a browser without a CA certificate.
See HTTP Gateway over Libp2p for details about this experiment.
/quic
(Draft 29) supportKubo no longer supports QUIC Draft 29. This means that older nodes aren't able to connect
to newer nodes using QUIC Draft 29. However, they are still able to connect through any other
transport that both nodes talk (such as QUIC RFC 9000, or TCP). QUIC Draft 29 was a preliminary implementation of QUIC before
the official RFC 9000 was published, and it has now been dropped by go-libp2p
and therefore Kubo.
In Kubo 0.18, we shipped a migration
to have listeners for both /quic
(Draft 29) and /quic-v1
(RFC 9000). Similarly, in this
version we are shipping a migration to remove the current /quic
addresses, maintaining
the /quic-v1
addresses only. For more background information, check issue #9496.
Thanks to probelab.io's RFM17.1 DHT servers will now cache the addresses of content hosts for the lifetime of the provider record.
This means clients who resolve content from theses servers get a responses which include both peer id and multiaddresses.
In most cases this enables skipping a second query which resolves the peer id to multiaddresses for stable enough peers.
This will improve content fetching lantency in the network overtime as servers updates.
ls
ing directories and reading dag-pb files on a fuse volume have been fixed. #9044
Thx a lot @bmwiedemann for debugging this issue.
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Rod Vagg | 48 | +3578/-1789 | 110 |
Henrique Dias | 24 | +3173/-1128 | 104 |
Jorropo | 51 | +1721/-1297 | 252 |
Marco Munizaga | 6 | +1989/-505 | 39 |
Kay | 3 | +487/-474 | 163 |
hannahhoward | 8 | +626/-136 | 23 |
Calvin Behling | 6 | +496/-259 | 20 |
Eric Myhre | 9 | +610/-121 | 16 |
Adin Schmahmann | 17 | +659/-45 | 35 |
Marten Seemann | 17 | +218/-477 | 119 |
Sukun | 11 | +481/-174 | 29 |
CJB | 1 | +639/-2 | 5 |
Hector Sanjuan | 10 | +450/-127 | 21 |
Wondertan | 2 | +203/-127 | 8 |
Marcin Rataj | 11 | +148/-86 | 18 |
Andrew Gillis | 2 | +163/-14 | 5 |
P. Reis | 3 | +120/-4 | 4 |
Will Scott | 4 | +107/-12 | 6 |
Amir Mohammad Fakhimi | 1 | +97/-2 | 5 |
Ed Schouten | 1 | +55/-7 | 2 |
Icarus9913 | 1 | +30/-30 | 18 |
Dirk McCormick | 1 | +3/-42 | 1 |
Raúl Kripalani | 1 | +20/-18 | 4 |
Michael Muré | 1 | +26/-7 | 5 |
Prem Chaitanya Prathi | 1 | +28/-1 | 2 |
ShengTao | 1 | +13/-14 | 4 |
Prithvi Shahi | 3 | +14/-13 | 3 |
web3-bot | 5 | +12/-10 | 9 |
Alejandro Criado-Pérez | 1 | +11/-11 | 6 |
Steven Allen | 2 | +6/-10 | 2 |
Andrej Manduch | 1 | +5/-5 | 3 |
Russell Dempsey | 2 | +4/-2 | 2 |
Johannes Maria Frank | 1 | +4/-1 | 1 |
downIoads | 1 | +2/-2 | 1 |
Will | 2 | +2/-2 | 2 |
Marin Kirkov | 1 | +2/-2 | 2 |
Gus Eggert | 1 | +2/-2 | 1 |
Bernhard M. Wiedemann | 1 | +4/-0 | 1 |
Dennis Trautwein | 1 | +1/-2 | 1 |
“GheisMohammadi” | 1 | +1/-1 | 1 |
cce | 1 | +1/-1 | 1 |
Joao Andrade | 1 | +1/-1 | 1 |
guillaumemichel | 1 | +1/-0 | 1 |
Santiago Botto | 1 | +0/-1 | 1 |
Published by Jorropo about 1 year ago
Changelog: docs/changelogs/v0.23.md
Published by Jorropo about 1 year ago
Dependencies updates for bug fixes.
Published by Jorropo about 1 year ago
Release issue #9911
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 recordsWhen 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 https://github.com/ipfs/specs/issues/376
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.
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.
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 |