Upgrade to Boxo v0.29.0 (#10742)
* Upgrade to Boxo v0.29.0 * update changelog
Andrew Gillis committed
Mar 4, 2025 at 22:15 UTC
86aee7416794503da0d8ca4f5bc1e46eb629b87e
7 files changed
+22
-11
docs/changelogs/v0.34.md
+13
-2
@@ -12,6 +12,8 @@
12
- [`IPFS_LOG_LEVEL` deprecated](#ipfs_log_level-deprecated)
13
- [Pebble datastore format update](#pebble-datastore-format-update)
14
- [Badger datastore update](#badger-datastore-update)
15
+ - [Datastore Implementation updates](#datastore-implementation-updates)
16
+ - [One multi-error package](#one-multi-error-package)
17
- [📦️ Important dependency updates](#-important-dependency-updates)
18
- [👨👩👧👦 Contributors](#-contributors)
19
@@ -63,12 +65,21 @@ If the pebble database format is not explicitly set in the config, then automati
65
66
An update was made to the badger v1 datastore that avoids use of mmap in 32-bit environments, which has been seen to cause issues on some platforms. Please be aware that this could lead to a performance regression for users of badger in a 32-bit environment. Badger users are advised to move to the flatds or pebble datastore.
67
68
+#### Datastore Implementation Updates
69
+
70
+The go-ds-xxx datastore implementations have been updated to support the updated `go-datastore` [v0.8.2](https://github.com/ipfs/go-datastore/releases/tag/v0.8.2) query API. This update removes the datastore implementations' dependency on `goprocess` and updates the query API.
71
+
72
+#### One Multi-error Package
73
+
74
+Kubo previously depended on multiple multi-error packages, `github.com/hashicorp/go-multierror` and `go.uber.org/multierr`. These have nearly identical functionality so there was no need to use both. Therefore, `go.uber.org/multierr` was selected as the package to depend on. Any future code needing multi-error functionality should use `go.uber.org/multierr` to avoid introducing unneeded dependencies.
75
+
76
#### 📦️ Important dependency updates
77
78
- update `go-libp2p` to [v0.41.0](https://github.com/libp2p/go-libp2p/releases/tag/v0.41.0) (incl. [v0.40.0](https://github.com/libp2p/go-libp2p/releases/tag/v0.40.0))
69
-- update `go-libp2p-kad-dht` to [v0.29.1](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.29.1) (incl. [v0.29.0](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.29.0))
70
-- update `boxo` to [v0.28.0](https://github.com/ipfs/boxo/releases/tag/v0.28.0)
79
+- update `go-libp2p-kad-dht` to [v0.30.2](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.30.2) (incl. [v0.29.0](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.29.0), [v0.29.1](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.29.1), [v0.29.2](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.29.2), [v0.30.0](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.30.0), [v0.30.1](https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.30.1))
80
+- update `boxo` to [v0.29.0](https://github.com/ipfs/boxo/releases/tag/v0.29.0) (incl. [v0.28.0](https://github.com/ipfs/boxo/releases/tag/v0.28.0)
81
- update `ipfs-webui` to [v4.5.0](https://github.com/ipfs/ipfs-webui/releases/tag/v4.5.0)
82
- update `p2p-forge/client` to [v0.4.0](https://github.com/ipshipyard/p2p-forge/releases/tag/v0.4.0)
83
+- update `go-datastore` to [v0.8.2](https://github.com/ipfs/go-datastore/releases/tag/v0.8.2) (incl. [v0.7.0](https://github.com/ipfs/go-datastore/releases/tag/v0.7.0), [v0.8.0](https://github.com/ipfs/go-datastore/releases/tag/v0.8.0))
84
85
### 👨👩👧👦 Contributors
docs/examples/kubo-as-a-library/go.mod
+1
-1
@@ -7,7 +7,7 @@ go 1.24
7
replace github.com/ipfs/kubo => ./../../..
8
9
require (
10
- github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e
10
+ github.com/ipfs/boxo v0.29.0
11
github.com/ipfs/kubo v0.0.0-00010101000000-000000000000
12
github.com/libp2p/go-libp2p v0.41.0
13
github.com/multiformats/go-multiaddr v0.15.0
docs/examples/kubo-as-a-library/go.sum
+2
-2
@@ -298,8 +298,8 @@ github.com/ipfs-shipyard/nopfs/ipfs v0.25.0 h1:OqNqsGZPX8zh3eFMO8Lf8EHRRnSGBMqcd
298
github.com/ipfs-shipyard/nopfs/ipfs v0.25.0/go.mod h1:BxhUdtBgOXg1B+gAPEplkg/GpyTZY+kCMSfsJvvydqU=
299
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
300
github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
301
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e h1:odNZbw2iAepQ5MMEX4Mx+Aa8ja+zNfXImZPfoM6agJw=
302
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
301
+github.com/ipfs/boxo v0.29.0 h1:clzd7PglUcE+Ufq1KucS3aKID7pzGVaSgcdRsW395t4=
302
+github.com/ipfs/boxo v0.29.0/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
303
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
304
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
305
github.com/ipfs/go-bitswap v0.11.0 h1:j1WVvhDX1yhG32NTC9xfxnqycqYIlhzEzLXG/cU1HyQ=
go.mod
+1
-1
@@ -21,7 +21,7 @@ require (
21
github.com/hashicorp/go-version v1.7.0
22
github.com/ipfs-shipyard/nopfs v0.0.14
23
github.com/ipfs-shipyard/nopfs/ipfs v0.25.0
24
- github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e
24
+ github.com/ipfs/boxo v0.29.0
25
github.com/ipfs/go-block-format v0.2.0
26
github.com/ipfs/go-cid v0.5.0
27
github.com/ipfs/go-cidutil v0.1.0
go.sum
+2
-2
@@ -362,8 +362,8 @@ github.com/ipfs-shipyard/nopfs/ipfs v0.25.0 h1:OqNqsGZPX8zh3eFMO8Lf8EHRRnSGBMqcd
362
github.com/ipfs-shipyard/nopfs/ipfs v0.25.0/go.mod h1:BxhUdtBgOXg1B+gAPEplkg/GpyTZY+kCMSfsJvvydqU=
363
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
364
github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
365
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e h1:odNZbw2iAepQ5MMEX4Mx+Aa8ja+zNfXImZPfoM6agJw=
366
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
365
+github.com/ipfs/boxo v0.29.0 h1:clzd7PglUcE+Ufq1KucS3aKID7pzGVaSgcdRsW395t4=
366
+github.com/ipfs/boxo v0.29.0/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
367
github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA=
368
github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU=
369
github.com/ipfs/go-bitswap v0.11.0 h1:j1WVvhDX1yhG32NTC9xfxnqycqYIlhzEzLXG/cU1HyQ=
test/dependencies/go.mod
+1
-1
@@ -116,7 +116,7 @@ require (
116
github.com/huin/goupnp v1.3.0 // indirect
117
github.com/inconshreveable/mousetrap v1.1.0 // indirect
118
github.com/ipfs/bbloom v0.0.4 // indirect
119
- github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e // indirect
119
+ github.com/ipfs/boxo v0.29.0 // indirect
120
github.com/ipfs/go-block-format v0.2.0 // indirect
121
github.com/ipfs/go-cid v0.5.0 // indirect
122
github.com/ipfs/go-datastore v0.8.2 // indirect
test/dependencies/go.sum
+2
-2
@@ -294,8 +294,8 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2
294
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
295
github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs=
296
github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0=
297
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e h1:odNZbw2iAepQ5MMEX4Mx+Aa8ja+zNfXImZPfoM6agJw=
298
-github.com/ipfs/boxo v0.28.1-0.20250305005235-c9ecc529063e/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
297
+github.com/ipfs/boxo v0.29.0 h1:clzd7PglUcE+Ufq1KucS3aKID7pzGVaSgcdRsW395t4=
298
+github.com/ipfs/boxo v0.29.0/go.mod h1:c3R52nMlgMsN1tADffYcogKoVRsX1RJE1TMYSpJ4uVs=
299
github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs=
300
github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM=
301
github.com/ipfs/go-cid v0.5.0 h1:goEKKhaGm0ul11IHA7I6p1GmKz8kEYniqFopaB5Otwg=