@cryptotaxi247 / kubo / commits / 5661dfd38

docs: improve v0.37 changelog

- add emojis to all headers - add overview section - group IPNS features together - fix IPNS flags to match actual implementation

Marcin Rataj committed Aug 27, 2025 at 20:05 UTC 5661dfd387b34860447a5b7143c4661661a171f1
1 file changed +39 -36
docs/changelogs/v0.37.md
+39 -36
@@ -1,4 +1,4 @@
1 -# Kubo changelog v0.37
1 +[#](#) Kubo changelog v0.37
2
3 <a href="https://ipshipyard.com/"><img align="right" src="https://github.com/user-attachments/assets/39ed3504-bb71-47f6-9bf8-cb9a1698f272" /></a>
4
@@ -13,16 +13,16 @@ This release was brought to you by the [Shipyard](https://ipshipyard.com/) team.
13 - [🚀 Repository migration from v16 to v17 with embedded tooling](#-repository-migration-from-v16-to-v17-with-embedded-tooling)
14 - [🚦 Gateway concurrent request limits and retrieval timeouts](#-gateway-concurrent-request-limits-and-retrieval-timeouts)
15 - [🔧 AutoConf: Complete control over network defaults](#-autoconf-complete-control-over-network-defaults)
16 - - [New IPNS publishing options](#new-ipns-publishing-options)
17 - - [Clear provide queue when reprovide strategy changes](#clear-provide-queue-when-reprovide-strategy-changes)
16 + - [🗑️ Clear provide queue when reprovide strategy changes](#-clear-provide-queue-when-reprovide-strategy-changes)
17 - [🪵 Revamped `ipfs log level` command](#-revamped-ipfs-log-level-command)
18 - [📌 Named pins in `ipfs add` command](#-named-pins-in-ipfs-add-command)
20 - - [Custom sequence numbers in `ipfs name publish`](#custom-sequence-numbers-in-ipfs-name-publish)
19 + - [📝 New IPNS publishing options](#-new-ipns-publishing-options)
20 + - [🔢 Custom sequence numbers in `ipfs name publish`](#-custom-sequence-numbers-in-ipfs-name-publish)
21 - [⚙️ `Reprovider.Strategy` is now consistently respected](#-reprovider-strategy-is-now-consistently-respected)
22 - [⚙️ `Reprovider.Strategy=all`: improved memory efficiency](#-reproviderstrategyall-improved-memory-efficiency)
23 - - [Removed unnecessary dependencies](#removed-unnecessary-dependencies)
24 - - [Improved `ipfs cid`](#improved-ipfs-cid)
25 - - [Deprecated `ipfs stats reprovide`](#deprecated-ipfs-stats-reprovide)
23 + - [🧹 Removed unnecessary dependencies](#-removed-unnecessary-dependencies)
24 + - [🔍 Improved `ipfs cid`](#-improved-ipfs-cid)
25 + - [⚠️ Deprecated `ipfs stats reprovide`](#-deprecated-ipfs-stats-reprovide)
26 - [🔄 AutoRelay now uses all connected peers for relay discovery](#-autorelay-now-uses-all-connected-peers-for-relay-discovery)
27 - [📊 Anonymous telemetry for better feature prioritization](#-anonymous-telemetry-for-better-feature-prioritization)
28 - [📦️ Important dependency updates](#-important-dependency-updates)
@@ -31,6 +31,8 @@ This release was brought to you by the [Shipyard](https://ipshipyard.com/) team.
31
32 ### Overview
33
34 +Kubo 0.37.0 introduces embedded repository migrations, gateway resource protection, complete AutoConf control, improved reprovider strategies, and anonymous telemetry for better feature prioritization. This release significantly improves memory efficiency, network configuration flexibility, and operational reliability while maintaining full backward compatibility.
35 +
36 ### 🔦 Highlights
37
38 #### 🚀 Repository migration from v16 to v17 with embedded tooling
@@ -89,27 +91,7 @@ ipfs config --json DNS.Resolvers '{".": ["https://dns.example.com/dns-query"], "
91
92 Organizations can host custom AutoConf manifests for private networks. See [AutoConf documentation](https://github.com/ipfs/kubo/blob/master/docs/config.md#autoconf) and format spec at https://conf.ipfs-mainnet.org/
93
92 -#### New IPNS publishing options
93 -
94 -Added support for controlling IPNS record publishing strategies.
95 -
96 -**Delegated publishers configuration:**
97 -
98 -[`Ipns.DelegatedPublishers`](https://github.com/ipfs/kubo/blob/master/docs/config.md#ipnsdelegatedpublishers) configures HTTP endpoints for IPNS publishing. Supports `"auto"` for network defaults or custom HTTP endpoints.
99 -
100 -**New command flags:**
101 -```bash
102 -# Publish only to HTTP services defined in Ipns.DelegatedPublishers (skip DHT entirely)
103 -ipfs name publish --delegated-only /ipfs/QmHash
104 -
105 -# Publish only locally (no network requests)
106 -ipfs name publish --allow-offline /ipfs/QmHash
107 -```
108 -
109 -These flags enable HTTP-only publishing or offline-only operations for testing.
110 -
111 -
112 -#### Clear provide queue when reprovide strategy changes
94 +#### 🗑️ Clear provide queue when reprovide strategy changes
95
96 Changing [`Reprovider.Strategy`](https://github.com/ipfs/kubo/blob/master/docs/config.md#reproviderstrategy) and restarting Kubo now automatically clears the provide queue. Only content matching the new strategy will be announced.
97
@@ -152,7 +134,28 @@ $ ipfs pin ls --names
134 bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi recursive testname
135 ```
136
155 -#### ⚙️ `Reprovider.Strategy` is now consistently respected.
137 +#### 📝 New IPNS publishing options
138 +
139 +Added support for controlling IPNS record publishing strategies with new command flags and configuration.
140 +
141 +**New command flags:**
142 +```bash
143 +# Publish without network connectivity (local datastore only)
144 +ipfs name publish --allow-offline /ipfs/QmHash
145 +
146 +# Publish without DHT connectivity (uses local datastore and HTTP delegated publishers)
147 +ipfs name publish --allow-delegated /ipfs/QmHash
148 +```
149 +
150 +**Delegated publishers configuration:**
151 +
152 +[`Ipns.DelegatedPublishers`](https://github.com/ipfs/kubo/blob/master/docs/config.md#ipnsdelegatedpublishers) configures HTTP endpoints for IPNS publishing. Supports `"auto"` for network defaults or custom HTTP endpoints. The `--allow-delegated` flag enables publishing through these endpoints without requiring DHT connectivity, useful for nodes behind restrictive networks or during testing.
153 +
154 +#### 🔢 Custom sequence numbers in `ipfs name publish`
155 +
156 +Added `--sequence` flag to `ipfs name publish` for setting custom sequence numbers in IPNS records. This enables advanced use cases like manually coordinating updates across multiple nodes. See `ipfs name publish --help` for details.
157 +
158 +#### ⚙️ `Reprovider.Strategy` is now consistently respected
159
160 Prior to this version, files added, blocks received etc. were "provided" to the network (announced on the DHT) regardless of the ["reproviding strategy" setting](https://github.com/ipfs/kubo/blob/master/docs/config.md#reproviderstrategy). For example:
161
@@ -175,7 +178,7 @@ As part of this improvement, the `flat` reprovider strategy has been renamed to
178 > [!NOTE]
179 > **Migration guidance:** If you experience undesired announcement delays of root CIDs with the new `all` strategy, switch to `pinned+mfs` for root prioritization.
180
178 -#### Removed unnecessary dependencies
181 +#### 🧹 Removed unnecessary dependencies
182
183 Kubo has been cleaned up by removing unnecessary dependencies and packages:
184
@@ -186,17 +189,13 @@ Kubo has been cleaned up by removing unnecessary dependencies and packages:
189
190 These changes reduce the dependency footprint while improving code maintainability and following Go best practices.
191
189 -#### Custom sequence numbers in `ipfs name publish`
190 -
191 -Added `--sequence` flag to `ipfs name publish` for setting custom sequence numbers in IPNS records. This enables advanced use cases like manually coordinating updates across multiple nodes. See `ipfs name publish --help` for details.
192 -
193 -#### Improved `ipfs cid`
192 +#### 🔍 Improved `ipfs cid`
193
194 Certain `ipfs cid` commands can now be run without a daemon or repository, and return correct exit code 1 on error, making it easier to perform CID conversion in scripts and CI/CD pipelines.
195
196 While at it, we also fixed unicode support in `ipfs cid bases --prefix` to correctly show `base256emoji` 🚀 :-)
197
199 -#### Deprecated `ipfs stats reprovide`
198 +#### ⚠️ Deprecated `ipfs stats reprovide`
199
200 The `ipfs stats reprovide` command has moved to `ipfs provide stat`. This was done to organize provider commands in one location.
201
@@ -217,6 +216,8 @@ Per a suggestion from the IPFS Foundation, Kubo now sends optional anonymized te
216
217 **What**: Currently, we send the following anonymous metrics:
218
219 +<details><summary>Click to see telemetry metrics example</summary>
220 +
221 ```
222 "uuid": "<unique_uuid>",
223 "agent_version": "kubo/0.37.0-dev",
@@ -245,6 +246,8 @@ Per a suggestion from the IPFS Foundation, Kubo now sends optional anonymized te
246 "platform_vm": false
247 ```
248
249 +</details>
250 +
251 The exact data sent for your node can be inspected by setting `GOLOG_LOG_LEVEL="telemetry=debug"`. Users will see an informative message the first time they launch a telemetry-enabled daemon, with time to opt-out before any data is collected. Telemetry data is sent every 24h, with the first collection starting 15 minutes after daemon launch.
252
253 **User control**: You can opt-out at any time: