1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-05-17 15:06:47 +08:00
Files
kubo/docs/changelogs/v0.23.md

3.1 KiB

Kubo changelog v0.23

v0.23.0

Overview

🔦 Highlights

Mplex deprecation

Mplex 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.

Gateway: meaningful CAR responses on Not Found errors

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.

Binary characters in file names: no longer works with old clients and new Kubo servers

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.

Self-hosting /routing/v1 endpoint for delegated routing needs

The 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 .

📝 Changelog

👨‍👩‍👧‍👦 Contributors