docs/changelogs/v0.24.md
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
the increased expiration window of Amino DHT
(go-libp2p-kad-dht#793)--ttl increased from 1m to 1h to improve website caching and follow
saner defaults present in similar systems like DNS
(specs#371)This 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 resolution
result is cached before asking upstream routing systems for updates.boxo/gateway: the Cache-Control HTTP header in responses to requests made
for /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 |