You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[📦️ Important dependency updates](#-important-dependency-updates)
25
22
-[📝 Changelog](#-changelog)
26
23
-[👨👩👧👦 Contributors](#-contributors)
@@ -29,19 +26,19 @@ This release was brought to you by the [Shipyard](http://ipshipyard.com/) team.
29
26
30
27
### 🔦 Highlights
31
28
32
-
#### HTTP Retrieval client enabled by default
29
+
#### HTTP Retrieval Client Now Enabled by Default
33
30
34
31
This release promotes the HTTP Retrieval client from an experimental feature to a standard feature that is enabled by default. When possible, Kubo will be retrieving blocks over plain HTTPS (HTTP/2) without any extra user configuration.
35
32
36
33
See [`HTTPRetrieval`](https://github.com/ipfs/kubo/blob/master/docs/config.md#httpretrieval) for more details.
37
34
38
-
### Bitswap Broadcast Reduction
35
+
####Bitswap Broadcast Reduction
39
36
40
37
The Bitswap client now supports broadcast reduction logic, which is enabled by default. This feature significantly reduces the number of broadcast messages sent to peers, resulting in lower bandwidth usage during load spikes.
41
38
42
39
The overall logic works by sending to non-local peers only if those peers have previously replied that they have wanted data blocks. To minimize impact on existing workloads, by default, broadcasts are still always sent to peers on the local network, or the ones defined in `Peering.Peers`.
43
40
44
-
We've performed A/B testing on our internal Kubo staging gateway with organic CID requests to `ipfs.io`. While this may not translate 1:1 to your workload, the benefits were significant enough to enable this feature by default. Here are the key findings:
41
+
At Shipyard, we conducted A/B testing on our internal Kubo staging gateway with organic CID requests to `ipfs.io`. While these results may not exactly match your specific workload, the benefits proved significant enough to make this feature default. Here are the key findings:
45
42
46
43
-**Dramatic Resource Usage Reduction:** Internal testing demonstrated reduction in Bitswap broadcast messages by 80-98% and network bandwidth savings of 50-95%, with the greatest improvements occurring during high traffic and peer spikes. These efficiency gains lower operational costs of running Kubo under high load and improve the IPFS Mainnet (which is >80% Kubo-based) by reducing ambient traffic for all connected peers.
47
44
-**Improved Memory Stability:** Memory stays stable even during major CID request spikes that increase peer count, preventing the out-of-memory (OOM) issues found in earlier Kubo versions.
@@ -62,7 +59,7 @@ go-log v2 has been out for quite a while now and it is time to deprecate v1.
62
59
- Fixes `ipfs log tail`
63
60
- Removes support for `ContextWithLoggable` as this is not needed for tracing-like functionality
64
61
65
-
#### AutoNATv2 Client
62
+
#### Kubo now uses AutoNATv2 as a client
66
63
67
64
This Kubo release starts utilizing [AutoNATv2](https://github.com/libp2p/specs/blob/master/autonat/autonat-v2.md) client functionality. go-libp2p v0.42 supports and depends on both AutoNATv1 and v2, and Autorelay feature continues to use v1. go-libp2p v0.43+ will discontinue internal use of AutoNATv1. We will maintain support for both v1 and v2 until then, though v1 will gradually be deprecated and ultimately removed.
68
65
@@ -74,21 +71,11 @@ This update to libp2p and [AutoTLS](https://github.com/ipfs/kubo/blob/master/doc
74
71
75
72
The `ipfs files cp` command has a `--force` option to allow it to overwrite existing files. Attempting to overwrite an existing directory results in an error.
76
73
77
-
#### Bitswap Broadcast Reduction
78
-
79
-
The bitswap client now supports logic to reduce the amount of bitswap broadcast messages that are send to peers. This logic is enabled by default.
80
-
81
-
The bitswap broadcast control logic can be enabled and disabled and configured in the `Internal.Bitswap.BroadcastControl` section of the ipfs config file. For a description of the configuration items, see the documentation of [`Internal.Bitswap.BroadcastControl`](https://github.com/ipfs/kubo/blob/master/docs/config.md#internalbitswapbroadcastcontrol).
82
-
83
-
The overall logic works by sending to non-local peers only if those peers have previously replied that they have wanted data blocks. By default, broadcasts are always sent to peers on the local network.
84
-
85
-
To revert to the previous behavior for A/B testing, set `Internal.Bitswap.BroadcastReductionEnabled` to `false` and monitor relevant metrics (`ipfs_bitswap_bcast_skips_total`, `ipfs_bitswap_haves_received`, `ipfs_bitswap_unique_blocks_received`, `ipfs_bitswap_wanthaves_broadcast`). Depending on your workload, the number of broadcasts should decrease, while the block receipt success rate should remain acceptable.
86
-
87
74
#### Option for filestore command to remove bad blocks
88
75
89
76
The `filestore` command has a new option, `--remove-bad-blocks`, to verify objects in the filestore and remove those that fail verification.
This connection manager option controls how often connections are swept and potentially terminated. See the [ConnMgr documentation](https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmconnmgrsilenceperiod).
94
81
@@ -97,6 +84,7 @@ This connection manager option controls how often connections are swept and pote
97
84
- update `go-libp2p-kad-dht` to [v0.33.0](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.33.0)
98
85
- update `boxo` to [v0.32.0](https://github.com/ipfs/boxo/releases/tag/v0.32.0)
99
86
- update `gateway-conformance` to [v0.8](https://github.com/ipfs/gateway-conformance/releases/tag/v0.8.0)
0 commit comments