chore: set version to v0.41.0
Marcin Rataj committed
Apr 23, 2026 at 22:30 UTC
382bd7ad6b69f27c7b63268682dd4d990a338b26
2 files changed
+170
-1
docs/changelogs/v0.41.md
+169
@@ -255,4 +255,173 @@ This release picks up the targeted fix in [go-libp2p-kad-dht#1244](https://githu
255
256
### 📝 Changelog
257
258
+<details><summary>Full Changelog</summary>
259
+
260
+- github.com/ipfs/kubo:
261
+ - fix(pins): snapshot index before emitting pins (#11290) ([ipfs/kubo#11290](https://github.com/ipfs/kubo/pull/11290))
262
+ - Upgrade to Boxo v0.39.0 (#11294) ([ipfs/kubo#11294](https://github.com/ipfs/kubo/pull/11294))
263
+ - fix(log): scope provide logs to "provider" subsystem (#11289) ([ipfs/kubo#11289](https://github.com/ipfs/kubo/pull/11289))
264
+ - chore: set version to v0.41.0-rc2
265
+ - fix(defaultServerFilters): strip loopback and non-public (#11286) ([ipfs/kubo#11286](https://github.com/ipfs/kubo/pull/11286))
266
+ - chore: bump p2p-forge to v0.8.0 (#11285) ([ipfs/kubo#11285](https://github.com/ipfs/kubo/pull/11285))
267
+ - fix: queryevent addrinfo race in kad-dht (#11288) ([ipfs/kubo#11288](https://github.com/ipfs/kubo/pull/11288))
268
+ - fix(examples): avoid bitswap race, use ed25519 (#11282) ([ipfs/kubo#11282](https://github.com/ipfs/kubo/pull/11282))
269
+ - docs: fix v0.41 changelog highlights
270
+ - fix(fuse): accurate `st_blocks` and `st_blksize` (#11280) ([ipfs/kubo#11280](https://github.com/ipfs/kubo/pull/11280))
271
+ - chore: set version to v0.41.0-rc1
272
+ - test(fuse): fix racy Statfs assertions
273
+ - fix(cli/rpc): --cid-base works in all commands (#11239) ([ipfs/kubo#11239](https://github.com/ipfs/kubo/pull/11239))
274
+ - feat(fuse): Statfs (#11261) ([ipfs/kubo#11261](https://github.com/ipfs/kubo/pull/11261))
275
+ - feat: add built-in `ipfs update` command (#11203) ([ipfs/kubo#11203](https://github.com/ipfs/kubo/pull/11203))
276
+ - fix(filestore): respect Provide.Strategy (#11243) ([ipfs/kubo#11243](https://github.com/ipfs/kubo/pull/11243))
277
+ - feat(provide): +unique and +entities strategy modifiers (#11245) ([ipfs/kubo#11245](https://github.com/ipfs/kubo/pull/11245))
278
+ - fix(fuse): switch to hanwen/go-fuse (#11272) ([ipfs/kubo#11272](https://github.com/ipfs/kubo/pull/11272))
279
+ - Upgrade to Boxo v0.38.0 (#11276) ([ipfs/kubo#11276](https://github.com/ipfs/kubo/pull/11276))
280
+ - feat: go 1.26.2 (#11275) ([ipfs/kubo#11275](https://github.com/ipfs/kubo/pull/11275))
281
+ - fix(mfs): respect Import config (#11273) ([ipfs/kubo#11273](https://github.com/ipfs/kubo/pull/11273))
282
+ - fix(fuse): IPNS writes actually publish (#11271) ([ipfs/kubo#11271](https://github.com/ipfs/kubo/pull/11271))
283
+ - fix(mfs): fix fsync deadlock, set attrs, disable default caching (#11255) ([ipfs/kubo#11255](https://github.com/ipfs/kubo/pull/11255))
284
+ - ci: update gateway-conformance to v0.13 (#11262) ([ipfs/kubo#11262](https://github.com/ipfs/kubo/pull/11262))
285
+ - fix(rpc): CARv2 import over HTTP API (#11253) ([ipfs/kubo#11253](https://github.com/ipfs/kubo/pull/11253))
286
+ - chore: fix gofmt (#11256) ([ipfs/kubo#11256](https://github.com/ipfs/kubo/pull/11256))
287
+ - fix: replace deprecated otelhttp.WithMetricAttributesFn (#11257) ([ipfs/kubo#11257](https://github.com/ipfs/kubo/pull/11257))
288
+ - fix(rpc): validate UnixFS in `object patch` (#11248) ([ipfs/kubo#11248](https://github.com/ipfs/kubo/pull/11248))
289
+ - fix(cmd): use restrictive file permissions for exported keys (#11246) ([ipfs/kubo#11246](https://github.com/ipfs/kubo/pull/11246))
290
+ - chore: add go-libp2p and kad-dht bumps to v0.41 changelog
291
+ - feat(cmd): add 'ipfs cid inspect' command (#11241) ([ipfs/kubo#11241](https://github.com/ipfs/kubo/pull/11241))
292
+ - fix(provider): purge keystore datastore after reset (#11198) ([ipfs/kubo#11198](https://github.com/ipfs/kubo/pull/11198))
293
+ - fix: correct provider addresses for custom HTTP routing (#11234) ([ipfs/kubo#11234](https://github.com/ipfs/kubo/pull/11234))
294
+ - fix(rpc/pin): return error if listing an invalid, but known, pin type (#11238) ([ipfs/kubo#11238](https://github.com/ipfs/kubo/pull/11238))
295
+ - fix: validate --max-hamt-fanout CLI flag per UnixFS spec (#11230) ([ipfs/kubo#11230](https://github.com/ipfs/kubo/pull/11230))
296
+ - test: fix flaky tests on ci (#11236) ([ipfs/kubo#11236](https://github.com/ipfs/kubo/pull/11236))
297
+ - docs: use specs.ipfs.tech links for merged IPIPs (#11228) ([ipfs/kubo#11228](https://github.com/ipfs/kubo/pull/11228))
298
+ - chore: add changelog placeholder for v0.42
299
+ - chore: update webui to v4.12.0 (#11221) ([ipfs/kubo#11221](https://github.com/ipfs/kubo/pull/11221))
300
+ - fix(windows): revert update to Go 1.26 (#11215) ([ipfs/kubo#11215](https://github.com/ipfs/kubo/pull/11215))
301
+ - docs: streamline release checklist ordering and dependencies (#11193) ([ipfs/kubo#11193](https://github.com/ipfs/kubo/pull/11193))
302
+ - Merge release v0.40.0 ([ipfs/kubo#11212](https://github.com/ipfs/kubo/pull/11212))
303
+ - fix(metrics): disable otel exemplars to prevent rune overflow (#11211) ([ipfs/kubo#11211](https://github.com/ipfs/kubo/pull/11211))
304
+ - fix: drop high-cardinality server.address from http_server metrics (#11208) ([ipfs/kubo#11208](https://github.com/ipfs/kubo/pull/11208))
305
+ - test(gateway-conformance): update to v0.11 (#11207) ([ipfs/kubo#11207](https://github.com/ipfs/kubo/pull/11207))
306
+ - chore: update webui to v4.11.1 (#11204) ([ipfs/kubo#11204](https://github.com/ipfs/kubo/pull/11204))
307
+ - docs: add AGENTS.md with instructions for AI coding agents (#11200) ([ipfs/kubo#11200](https://github.com/ipfs/kubo/pull/11200))
308
+ - fix: improve `ipfs name put` for IPNS record republishing (#11199) ([ipfs/kubo#11199](https://github.com/ipfs/kubo/pull/11199))
309
+ - Upgrade to Boxo v0.37.0 (#11201) ([ipfs/kubo#11201](https://github.com/ipfs/kubo/pull/11201))
310
+ - chore: prepare master for v0.41.0-dev cycle
311
+- github.com/ipfs/bbloom (v0.0.4 -> v0.1.0):
312
+ - chore: bump version to v0.1.0
313
+ - docs: explain why this fork exists and how IPFS uses it
314
+ - docs: add examples and improve godoc for exported symbols
315
+ - chore: fix LICENSE for GitHub and pkg.go.dev detection
316
+ - feat: allow caller-provided SipHash keys (#30) ([ipfs/bbloom#30](https://github.com/ipfs/bbloom/pull/30))
317
+ - fix: make double-hash step always odd and non-zero (#29) ([ipfs/bbloom#29](https://github.com/ipfs/bbloom/pull/29))
318
+ - test: false positive bloom filter test and test data generated (#15) ([ipfs/bbloom#15](https://github.com/ipfs/bbloom/pull/15))
319
+ - docs: add doc.go and godoc comments for all public symbols (#28) ([ipfs/bbloom#28](https://github.com/ipfs/bbloom/pull/28))
320
+ - docs: update README and add benchmarks
321
+ - Update collision_test.go
322
+ - fix: stop using math/rand.Read
323
+ - sync: update CI config files (#16) ([ipfs/bbloom#16](https://github.com/ipfs/bbloom/pull/16))
324
+ - sync: update CI config files (#13) ([ipfs/bbloom#13](https://github.com/ipfs/bbloom/pull/13))
325
+ - cleanup: fix staticcheck failures ([ipfs/bbloom#8](https://github.com/ipfs/bbloom/pull/8))
326
+ - Add LICENSE (copied from upstream)
327
+- github.com/ipfs/boxo (v0.37.0 -> v0.39.0):
328
+ - Release v0.39.0 ([ipfs/boxo#1149](https://github.com/ipfs/boxo/pull/1149))
329
+ - fix: pinner shutdown race (#1146) ([ipfs/boxo#1146](https://github.com/ipfs/boxo/pull/1146))
330
+ - fix(bitswap): prevent low-pending peer starvation (#1143) ([ipfs/boxo#1143](https://github.com/ipfs/boxo/pull/1143))
331
+ - fix(bitswap/bsnet): close streams in background (#1144) ([ipfs/boxo#1144](https://github.com/ipfs/boxo/pull/1144))
332
+ - fix(dspinner): snapshot index before emitting pins (#1140) ([ipfs/boxo#1140](https://github.com/ipfs/boxo/pull/1140))
333
+ - feat(gateway): add content size limits for responses (#1138) ([ipfs/boxo#1138](https://github.com/ipfs/boxo/pull/1138))
334
+ - test(dag/walker): fix flaky bloom FP assertion (#1139) ([ipfs/boxo#1139](https://github.com/ipfs/boxo/pull/1139))
335
+ - Release v0.38.0 ([ipfs/boxo#1137](https://github.com/ipfs/boxo/pull/1137))
336
+ - feat(ipns): Support adding custom metadata to IPNS record (#1085) ([ipfs/boxo#1085](https://github.com/ipfs/boxo/pull/1085))
337
+ - feat(dag/walker): opt-in BloomTracker to avoid duplicated walks (#1124) ([ipfs/boxo#1124](https://github.com/ipfs/boxo/pull/1124))
338
+ - fix(mfs): prevent flushUp from re-adding unlinked entries (#1134) ([ipfs/boxo#1134](https://github.com/ipfs/boxo/pull/1134))
339
+ - fix(mfs): serialize all FileDescriptor operations (#1133) ([ipfs/boxo#1133](https://github.com/ipfs/boxo/pull/1133))
340
+ - fix(mfs): prevent panic on concurrent flush and close (#1131) ([ipfs/boxo#1131](https://github.com/ipfs/boxo/pull/1131))
341
+ - fix(mfs): preserve CidBuilder object in setNodeData(), Mkdir() and NewRoot() (#1125) ([ipfs/boxo#1125](https://github.com/ipfs/boxo/pull/1125))
342
+ - test(gateway): cover bare CID etag match for dir listings (#1129) ([ipfs/boxo#1129](https://github.com/ipfs/boxo/pull/1129))
343
+ - chore(gateway): bump gateway-conformance to v0.13 (#1130) ([ipfs/boxo#1130](https://github.com/ipfs/boxo/pull/1130))
344
+ - docs: add missing godoc (#1122) ([ipfs/boxo#1122](https://github.com/ipfs/boxo/pull/1122))
345
+ - fix(bitswap/httpnet): infer default port for portless HTTP multiaddrs (#1123) ([ipfs/boxo#1123](https://github.com/ipfs/boxo/pull/1123))
346
+ - upgrade to go-libp2p v0.48.0 (#1120) ([ipfs/boxo#1120](https://github.com/ipfs/boxo/pull/1120))
347
+ - feat(routing/http/client): add WithProviderInfoFunc for lazy address resolution (#1115) ([ipfs/boxo#1115](https://github.com/ipfs/boxo/pull/1115))
348
+ - chore: remove stale boxo-migrate references from README (#1119) ([ipfs/boxo#1119](https://github.com/ipfs/boxo/pull/1119))
349
+ - fix(bitswap): ignore identity CIDs instead of killing connection (#1117) ([ipfs/boxo#1117](https://github.com/ipfs/boxo/pull/1117))
350
+ - chore(gateway): remove dead DoH resolver for .crypto TLD (#1118) ([ipfs/boxo#1118](https://github.com/ipfs/boxo/pull/1118))
351
+ - feat: custom chunker registry (#1116) ([ipfs/boxo#1116](https://github.com/ipfs/boxo/pull/1116))
352
+ - refactor: remove go-ipfs migration and deprecation code (#1113) ([ipfs/boxo#1113](https://github.com/ipfs/boxo/pull/1113))
353
+- github.com/ipfs/go-cid (v0.6.0 -> v0.6.1):
354
+ - v0.6.1 bump (#183) ([ipfs/go-cid#183](https://github.com/ipfs/go-cid/pull/183))
355
+- github.com/ipfs/go-ds-dynamodb (v0.2.0 -> v0.2.2):
356
+ - new version (#17) ([ipfs/go-ds-dynamodb#17](https://github.com/ipfs/go-ds-dynamodb/pull/17))
357
+ - update go-datastore (#16) ([ipfs/go-ds-dynamodb#16](https://github.com/ipfs/go-ds-dynamodb/pull/16))
358
+ - new version (#15) ([ipfs/go-ds-dynamodb#15](https://github.com/ipfs/go-ds-dynamodb/pull/15))
359
+ - use go-datastore without goprocess (#14) ([ipfs/go-ds-dynamodb#14](https://github.com/ipfs/go-ds-dynamodb/pull/14))
360
+- github.com/ipfs/go-ds-pebble (v0.5.9 -> v0.5.10):
361
+ - new version (#84) ([ipfs/go-ds-pebble#84](https://github.com/ipfs/go-ds-pebble/pull/84))
362
+ - provide function to access underlying database (#82) ([ipfs/go-ds-pebble#82](https://github.com/ipfs/go-ds-pebble/pull/82))
363
+ - replace deprecated `iter.Value` with `iter.ValueAndErr` (#80) ([ipfs/go-ds-pebble#80](https://github.com/ipfs/go-ds-pebble/pull/80))
364
+- github.com/ipfs/go-ipld-legacy (v0.2.2 -> v0.3.0):
365
+ - new version ([ipfs/go-ipld-legacy#29](https://github.com/ipfs/go-ipld-legacy/pull/29))
366
+ - Clean up README.md formatting and content
367
+ - modernize code ([ipfs/go-ipld-legacy#28](https://github.com/ipfs/go-ipld-legacy/pull/28))
368
+- github.com/ipfs/go-test (v0.2.3 -> v0.3.0):
369
+ - new version (#35) ([ipfs/go-test#35](https://github.com/ipfs/go-test/pull/35))
370
+ - feat: functions to generate random AddrInfo (#34) ([ipfs/go-test#34](https://github.com/ipfs/go-test/pull/34))
371
+- github.com/ipld/go-ipld-prime (v0.22.0 -> v0.23.0):
372
+ failed to fetch repo
373
+- github.com/ipshipyard/p2p-forge (v0.7.0 -> v0.8.0):
374
+ - chore: v0.8.0 with dependency updates (#86) ([ipshipyard/p2p-forge#86](https://github.com/ipshipyard/p2p-forge/pull/86))
375
+ - fix: bump Dockerfile to Go 1.25 (#85) ([ipshipyard/p2p-forge#85](https://github.com/ipshipyard/p2p-forge/pull/85))
376
+ - feat: add ovh2 nameserver to libp2p.direct zone (#84) ([ipshipyard/p2p-forge#84](https://github.com/ipshipyard/p2p-forge/pull/84))
377
+- github.com/libp2p/go-libp2p (v0.47.0 -> v0.48.0):
378
+ - Release v0.48.0
379
+ - refactor(webtransport): Use keygen package for deterministic ecdsa key generation.
380
+ - Bump transport interop Go toolchain
381
+ - basichost: advertise all interface addrs for unspecified listen addrs (#3468) ([libp2p/go-libp2p#3468](https://github.com/libp2p/go-libp2p/pull/3468))
382
+ - fix(mocknet): make stream deadline methods noop instead of returning error (#3471) ([libp2p/go-libp2p#3471](https://github.com/libp2p/go-libp2p/pull/3471))
383
+ - webrtc: upgrade pion deps (#3469) ([libp2p/go-libp2p#3469](https://github.com/libp2p/go-libp2p/pull/3469))
384
+ - refactor: apply go fix modernizers from Go 1.26 (#3463) ([libp2p/go-libp2p#3463](https://github.com/libp2p/go-libp2p/pull/3463))
385
+ - quicreuse: fix incorrect skip in TestReuseListenOnSpecificInterface (#3417) ([libp2p/go-libp2p#3417](https://github.com/libp2p/go-libp2p/pull/3417))
386
+ - cleanup dcutr legacy behavior and add fallback
387
+ - Remove assertion that assumes a certain CI network environment
388
+- github.com/libp2p/go-libp2p-kad-dht (v0.38.0 -> v0.39.1):
389
+ - chore: release v0.39.1 (#1245) ([libp2p/go-libp2p-kad-dht#1245](https://github.com/libp2p/go-libp2p-kad-dht/pull/1245))
390
+ - fix: data race on AddrInfo.Addrs in queryPeer (#1244) ([libp2p/go-libp2p-kad-dht#1244](https://github.com/libp2p/go-libp2p-kad-dht/pull/1244))
391
+ - fix(provider): reduce provide log verbosity (#1243) ([libp2p/go-libp2p-kad-dht#1243](https://github.com/libp2p/go-libp2p-kad-dht/pull/1243))
392
+ - tests: fix flaky TestStartProvidingSingle (#1242) ([libp2p/go-libp2p-kad-dht#1242](https://github.com/libp2p/go-libp2p-kad-dht/pull/1242))
393
+ - chore: release v0.39.0 (#1240) ([libp2p/go-libp2p-kad-dht#1240](https://github.com/libp2p/go-libp2p-kad-dht/pull/1240))
394
+ - feat(provider/keystore): alt datastore wipe (#1233) ([libp2p/go-libp2p-kad-dht#1233](https://github.com/libp2p/go-libp2p-kad-dht/pull/1233))
395
+ - Expose provider record TTL as options (#1237) ([libp2p/go-libp2p-kad-dht#1237](https://github.com/libp2p/go-libp2p-kad-dht/pull/1237))
396
+- github.com/multiformats/go-multibase (v0.2.0 -> v0.3.0):
397
+ - chore: release v0.3.0 (#70) ([multiformats/go-multibase#70](https://github.com/multiformats/go-multibase/pull/70))
398
+ - test: update spec submodule (#69) ([multiformats/go-multibase#69](https://github.com/multiformats/go-multibase/pull/69))
399
+ - chore: bump base58 version (#67) ([multiformats/go-multibase#67](https://github.com/multiformats/go-multibase/pull/67))
400
+
401
+</details>
402
+
403
### 👨👩👧👦 Contributors
404
+
405
+| Contributor | Commits | Lines ± | Files Changed |
406
+|-------------|---------|---------|---------------|
407
+| [@lidel](https://github.com/lidel) | 71 | +18331/-4390 | 358 |
408
+| [@gammazero](https://github.com/gammazero) | 24 | +810/-1409 | 165 |
409
+| [@guillaumemichel](https://github.com/guillaumemichel) | 4 | +1302/-105 | 15 |
410
+| [@wjmelements](https://github.com/wjmelements) | 3 | +780/-160 | 26 |
411
+| [@davidebeatrici](https://github.com/davidebeatrici) | 1 | +428/-211 | 7 |
412
+| [@phaseloop](https://github.com/phaseloop) | 1 | +533/-7 | 6 |
413
+| [@jolo18](https://github.com/jolo18) | 1 | +370/-5 | 4 |
414
+| [@alanshaw](https://github.com/alanshaw) | 1 | +272/-31 | 6 |
415
+| [@sukunrt](https://github.com/sukunrt) | 2 | +14/-208 | 6 |
416
+| [@snissn](https://github.com/snissn) | 1 | +7/-157 | 2 |
417
+| [@phillebaba](https://github.com/phillebaba) | 1 | +116/-30 | 5 |
418
+| [@HarukaMa](https://github.com/HarukaMa) | 1 | +125/-9 | 4 |
419
+| [@rayspock](https://github.com/rayspock) | 1 | +118/-14 | 3 |
420
+| [@MarcoPolo](https://github.com/MarcoPolo) | 5 | +33/-66 | 6 |
421
+| [@jpserrat](https://github.com/jpserrat) | 1 | +10/-45 | 3 |
422
+| [@aschmahmann](https://github.com/aschmahmann) | 2 | +35/-2 | 4 |
423
+| [@hsanjuan](https://github.com/hsanjuan) | 1 | +35/-0 | 1 |
424
+| [@walldiss](https://github.com/walldiss) | 1 | +6/-12 | 1 |
425
+| [@web3-bot](https://github.com/web3-bot) | 4 | +4/-4 | 4 |
426
+| [@iand](https://github.com/iand) | 1 | +4/-2 | 1 |
427
+| [@mr-tron](https://github.com/mr-tron) | 1 | +1/-1 | 1 |
version.go
+1
-1
@@ -17,7 +17,7 @@ var CurrentCommit string
17
var taggedRelease string
18
19
// CurrentVersionNumber is the current application's version literal.
20
-const CurrentVersionNumber = "0.41.0-rc2"
20
+const CurrentVersionNumber = "0.41.0"
21
22
const ApiVersion = "/kubo/" + CurrentVersionNumber + "/" //nolint
23