chore: use go-log/v2 (#10801)
* chore: update to go-log/v2 go-log v2 has been out for quite a while now and it is time to deprecate v1. Replace all use of go-log with go-log/v2 Makes /api/v0/log/tail useful over HTTP Updates dependencies that have moved to go-lov/v2 Removes support for ContextWithLoggable as this is not needed for tracing-like functionality - Replaces: PR #8765 - Closes issue #8753 - Closes issue #9245 - Closes issue #10809 Other fixes: * update go-ipfs-cmds * update http logs test * fix test * Read/send one line of log data at a time * Update -log-level docs
Andrew Gillis committed
May 19, 2025 at 13:04 UTC
20d9660a64f3e02bbed858edac83b25f51098b5a
39 files changed
+302
-237
cmd/ipfs/kubo/pinmfs.go
+2
-4
@@ -6,16 +6,14 @@ import (
6
"os"
7
"time"
8
9
- "github.com/libp2p/go-libp2p/core/host"
10
- peer "github.com/libp2p/go-libp2p/core/peer"
11
-
9
pinclient "github.com/ipfs/boxo/pinning/remote/client"
10
cid "github.com/ipfs/go-cid"
11
ipld "github.com/ipfs/go-ipld-format"
12
logging "github.com/ipfs/go-log/v2"
16
-
13
config "github.com/ipfs/kubo/config"
14
"github.com/ipfs/kubo/core"
15
+ "github.com/libp2p/go-libp2p/core/host"
16
+ peer "github.com/libp2p/go-libp2p/core/peer"
17
)
18
19
// mfslog is the logger for remote mfs pinning.
cmd/ipfs/kubo/start.go
+2
-14
@@ -16,12 +16,11 @@ import (
16
"time"
17
18
"github.com/blang/semver/v4"
19
- "github.com/google/uuid"
19
u "github.com/ipfs/boxo/util"
20
cmds "github.com/ipfs/go-ipfs-cmds"
21
"github.com/ipfs/go-ipfs-cmds/cli"
22
cmdhttp "github.com/ipfs/go-ipfs-cmds/http"
24
- logging "github.com/ipfs/go-log"
23
+ logging "github.com/ipfs/go-log/v2"
24
ipfs "github.com/ipfs/kubo"
25
"github.com/ipfs/kubo/client/rpc/auth"
26
"github.com/ipfs/kubo/cmd/ipfs/util"
@@ -89,16 +88,6 @@ func printErr(err error) int {
88
return 1
89
}
90
92
-func newUUID(key string) logging.Metadata {
93
- ids := "#UUID-ERROR#"
94
- if id, err := uuid.NewRandom(); err == nil {
95
- ids = id.String()
96
- }
97
- return logging.Metadata{
98
- key: ids,
99
- }
100
-}
101
-
91
func BuildDefaultEnv(ctx context.Context, req *cmds.Request) (cmds.Environment, error) {
92
return BuildEnv(nil)(ctx, req)
93
}
@@ -157,8 +146,7 @@ func BuildEnv(pl PluginPreloader) func(ctx context.Context, req *cmds.Request) (
146
// - output the response
147
// - if anything fails, print error, maybe with help.
148
func Start(buildEnv func(ctx context.Context, req *cmds.Request) (cmds.Environment, error)) (exitCode int) {
160
- ctx := logging.ContextWithLoggable(context.Background(), newUUID("session"))
161
-
149
+ ctx := context.Background()
150
tp, err := tracing.NewTracerProvider(ctx)
151
if err != nil {
152
return printErr(err)
cmd/ipfs/util/ulimit.go
+1
-1
@@ -6,7 +6,7 @@ import (
6
"strconv"
7
"syscall"
8
9
- logging "github.com/ipfs/go-log"
9
+ logging "github.com/ipfs/go-log/v2"
10
)
11
12
var log = logging.Logger("ulimit")
commands/context.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
loader "github.com/ipfs/kubo/plugin/loader"
12
13
cmds "github.com/ipfs/go-ipfs-cmds"
14
- logging "github.com/ipfs/go-log"
14
+ logging "github.com/ipfs/go-log/v2"
15
config "github.com/ipfs/kubo/config"
16
coreiface "github.com/ipfs/kubo/core/coreiface"
17
options "github.com/ipfs/kubo/core/coreiface/options"
core/commands/cmdenv/env.go
+1
-1
@@ -9,7 +9,7 @@ import (
9
"github.com/ipfs/kubo/core"
10
11
cmds "github.com/ipfs/go-ipfs-cmds"
12
- logging "github.com/ipfs/go-log"
12
+ logging "github.com/ipfs/go-log/v2"
13
coreiface "github.com/ipfs/kubo/core/coreiface"
14
options "github.com/ipfs/kubo/core/coreiface/options"
15
)
core/commands/files.go
+1
-1
@@ -28,7 +28,7 @@ import (
28
cidenc "github.com/ipfs/go-cidutil/cidenc"
29
cmds "github.com/ipfs/go-ipfs-cmds"
30
ipld "github.com/ipfs/go-ipld-format"
31
- logging "github.com/ipfs/go-log"
31
+ logging "github.com/ipfs/go-log/v2"
32
iface "github.com/ipfs/kubo/core/coreiface"
33
mh "github.com/multiformats/go-multihash"
34
)
core/commands/log.go
+31
-11
@@ -5,8 +5,7 @@ import (
5
"io"
6
7
cmds "github.com/ipfs/go-ipfs-cmds"
8
- logging "github.com/ipfs/go-log"
9
- lwriter "github.com/ipfs/go-log/writer"
8
+ logging "github.com/ipfs/go-log/v2"
9
)
10
11
// Golang os.Args overrides * and replaces the character argument with
@@ -104,25 +103,46 @@ subsystems of a running daemon.
103
Type: stringList{},
104
}
105
106
+const logLevelOption = "log-level"
107
+
108
var logTailCmd = &cmds.Command{
109
Status: cmds.Experimental,
110
Helptext: cmds.HelpText{
110
- Tagline: "Read the event log.",
111
+ Tagline: "Read and outpt log messages.",
112
ShortDescription: `
112
-Outputs event log messages (not other log messages) as they are generated.
113
+Outputs log messages as they are generated.
114
+
115
+NOTE: --log-level requires the server to be logging at least at this level
116
+
117
+Example:
118
+
119
+ GOLOG_LOG_LEVEL="error,bitswap=debug" ipfs daemon
120
+ ipfs log tail --log-level info
121
114
-Currently broken. Follow https://github.com/ipfs/kubo/issues/9245 for updates.
122
+This will only return 'info' logs from bitswap and skip 'debug'.
123
`,
124
},
125
126
+ Options: []cmds.Option{
127
+ cmds.StringOption(logLevelOption, "Log level to listen to.").WithDefault(""),
128
+ },
129
Run: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {
119
- ctx := req.Context
120
- r, w := io.Pipe()
130
+ var pipeReader *logging.PipeReader
131
+ logLevelString, _ := req.Options[logLevelOption].(string)
132
+ if logLevelString != "" {
133
+ logLevel, err := logging.LevelFromString(logLevelString)
134
+ if err != nil {
135
+ return fmt.Errorf("setting log level %s: %w", logLevelString, err)
136
+ }
137
+ pipeReader = logging.NewPipeReader(logging.PipeLevel(logLevel))
138
+ } else {
139
+ pipeReader = logging.NewPipeReader()
140
+ }
141
+
142
go func() {
122
- defer w.Close()
123
- <-ctx.Done()
143
+ <-req.Context.Done()
144
+ pipeReader.Close()
145
}()
125
- lwriter.WriterGroup.AddWriter(w)
126
- return res.Emit(r)
146
+ return res.Emit(pipeReader)
147
},
148
}
core/commands/name/ipns.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
"github.com/ipfs/boxo/namesys"
11
"github.com/ipfs/boxo/path"
12
cmds "github.com/ipfs/go-ipfs-cmds"
13
- logging "github.com/ipfs/go-log"
13
+ logging "github.com/ipfs/go-log/v2"
14
cmdenv "github.com/ipfs/kubo/core/commands/cmdenv"
15
options "github.com/ipfs/kubo/core/coreiface/options"
16
)
core/commands/pin/remotepin.go
+1
-1
@@ -18,7 +18,7 @@ import (
18
pinclient "github.com/ipfs/boxo/pinning/remote/client"
19
cid "github.com/ipfs/go-cid"
20
cmds "github.com/ipfs/go-ipfs-cmds"
21
- logging "github.com/ipfs/go-log"
21
+ logging "github.com/ipfs/go-log/v2"
22
config "github.com/ipfs/kubo/config"
23
"github.com/ipfs/kubo/core/commands/cmdenv"
24
"github.com/ipfs/kubo/core/commands/cmdutils"
core/commands/root.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
"github.com/ipfs/kubo/core/commands/pin"
11
12
cmds "github.com/ipfs/go-ipfs-cmds"
13
- logging "github.com/ipfs/go-log"
13
+ logging "github.com/ipfs/go-log/v2"
14
)
15
16
var log = logging.Logger("core/commands")
core/core.go
+1
-1
@@ -28,7 +28,7 @@ import (
28
pathresolver "github.com/ipfs/boxo/path/resolver"
29
provider "github.com/ipfs/boxo/provider"
30
ipld "github.com/ipfs/go-ipld-format"
31
- logging "github.com/ipfs/go-log"
31
+ logging "github.com/ipfs/go-log/v2"
32
goprocess "github.com/jbenet/goprocess"
33
ddht "github.com/libp2p/go-libp2p-kad-dht/dual"
34
pubsub "github.com/libp2p/go-libp2p-pubsub"
core/corehttp/corehttp.go
+1
-1
@@ -11,7 +11,7 @@ import (
11
"net/http"
12
"time"
13
14
- logging "github.com/ipfs/go-log"
14
+ logging "github.com/ipfs/go-log/v2"
15
core "github.com/ipfs/kubo/core"
16
"github.com/jbenet/goprocess"
17
periodicproc "github.com/jbenet/goprocess/periodic"
core/corehttp/logs.go
+52
-41
@@ -1,57 +1,68 @@
1
package corehttp
2
3
import (
4
- "io"
4
+ "bufio"
5
+ "fmt"
6
"net"
7
"net/http"
8
8
- lwriter "github.com/ipfs/go-log/writer"
9
+ logging "github.com/ipfs/go-log/v2"
10
core "github.com/ipfs/kubo/core"
11
)
12
12
-type writeErrNotifier struct {
13
- w io.Writer
14
- errs chan error
15
-}
13
+func LogOption() ServeOption {
14
+ return func(n *core.IpfsNode, _ net.Listener, mux *http.ServeMux) (*http.ServeMux, error) {
15
+ mux.HandleFunc("/logs", func(w http.ResponseWriter, r *http.Request) {
16
+ // The log data comes from an io.Reader, and we need to constantly
17
+ // read from it and then write to the HTTP response.
18
+ pipeReader := logging.NewPipeReader()
19
+ done := make(chan struct{})
20
17
-func newWriteErrNotifier(w io.Writer) (io.WriteCloser, <-chan error) {
18
- ch := make(chan error, 1)
19
- return &writeErrNotifier{
20
- w: w,
21
- errs: ch,
22
- }, ch
23
-}
21
+ // Close the pipe reader if the request context is canceled. This
22
+ // is necessary to avoiding blocking on reading from the pipe
23
+ // reader when the client terminates the request.
24
+ go func() {
25
+ select {
26
+ case <-r.Context().Done(): // Client canceled request
27
+ case <-n.Context().Done(): // Node shutdown
28
+ case <-done: // log reader goroutine exitex
29
+ }
30
+ pipeReader.Close()
31
+ }()
32
25
-func (w *writeErrNotifier) Write(b []byte) (int, error) {
26
- n, err := w.w.Write(b)
27
- if err != nil {
28
- select {
29
- case w.errs <- err:
30
- default:
31
- }
32
- }
33
- if f, ok := w.w.(http.Flusher); ok {
34
- f.Flush()
35
- }
36
- return n, err
37
-}
33
+ errs := make(chan error, 1)
34
39
-func (w *writeErrNotifier) Close() error {
40
- select {
41
- case w.errs <- io.EOF:
42
- default:
43
- }
44
- return nil
45
-}
35
+ go func() {
36
+ defer close(errs)
37
+ defer close(done)
38
47
-func LogOption() ServeOption {
48
- return func(n *core.IpfsNode, _ net.Listener, mux *http.ServeMux) (*http.ServeMux, error) {
49
- mux.HandleFunc("/logs", func(w http.ResponseWriter, r *http.Request) {
50
- w.WriteHeader(200)
51
- wnf, errs := newWriteErrNotifier(w)
52
- lwriter.WriterGroup.AddWriter(wnf)
53
- log.Event(n.Context(), "log API client connected") //nolint deprecated
54
- <-errs
39
+ rdr := bufio.NewReader(pipeReader)
40
+ for {
41
+ // Read a line of log data and send it to the client.
42
+ line, err := rdr.ReadString('\n')
43
+ if err != nil {
44
+ errs <- fmt.Errorf("error reading log message: %s", err)
45
+ return
46
+ }
47
+ _, err = w.Write([]byte(line))
48
+ if err != nil {
49
+ // Failed to write to client, probably disconnected.
50
+ return
51
+ }
52
+ if f, ok := w.(http.Flusher); ok {
53
+ f.Flush()
54
+ }
55
+ if r.Context().Err() != nil {
56
+ return
57
+ }
58
+ }
59
+ }()
60
+ log.Info("log API client connected")
61
+ err := <-errs
62
+ if err != nil {
63
+ http.Error(w, err.Error(), http.StatusInternalServerError)
64
+ return
65
+ }
66
})
67
return mux, nil
68
}
core/corerepo/gc.go
+1
-1
@@ -13,7 +13,7 @@ import (
13
"github.com/dustin/go-humanize"
14
"github.com/ipfs/boxo/mfs"
15
"github.com/ipfs/go-cid"
16
- logging "github.com/ipfs/go-log"
16
+ logging "github.com/ipfs/go-log/v2"
17
)
18
19
var log = logging.Logger("corerepo")
core/coreunix/add.go
+1
-1
@@ -25,7 +25,7 @@ import (
25
pin "github.com/ipfs/boxo/pinning/pinner"
26
"github.com/ipfs/go-cid"
27
ipld "github.com/ipfs/go-ipld-format"
28
- logging "github.com/ipfs/go-log"
28
+ logging "github.com/ipfs/go-log/v2"
29
coreiface "github.com/ipfs/kubo/core/coreiface"
30
31
"github.com/ipfs/kubo/tracing"
core/node/groups.go
+1
-1
@@ -13,7 +13,7 @@ import (
13
offline "github.com/ipfs/boxo/exchange/offline"
14
uio "github.com/ipfs/boxo/ipld/unixfs/io"
15
util "github.com/ipfs/boxo/util"
16
- "github.com/ipfs/go-log"
16
+ "github.com/ipfs/go-log/v2"
17
"github.com/ipfs/kubo/config"
18
"github.com/ipfs/kubo/core/node/libp2p"
19
"github.com/ipfs/kubo/p2p"
core/node/libp2p/addrs.go
+1
-1
@@ -7,7 +7,7 @@ import (
7
"path/filepath"
8
"time"
9
10
- logging "github.com/ipfs/go-log"
10
+ logging "github.com/ipfs/go-log/v2"
11
version "github.com/ipfs/kubo"
12
"github.com/ipfs/kubo/config"
13
p2pforge "github.com/ipshipyard/p2p-forge/client"
core/node/libp2p/libp2p.go
+1
-1
@@ -8,7 +8,7 @@ import (
8
version "github.com/ipfs/kubo"
9
config "github.com/ipfs/kubo/config"
10
11
- logging "github.com/ipfs/go-log"
11
+ logging "github.com/ipfs/go-log/v2"
12
"github.com/libp2p/go-libp2p"
13
"github.com/libp2p/go-libp2p/core/crypto"
14
"github.com/libp2p/go-libp2p/core/peer"
docs/changelogs/v0.36.md
new
+34
@@ -0,0 +1,34 @@
1
+# Kubo changelog v0.36
2
+
3
+<a href="http://ipshipyard.com/"><img align="right" src="https://github.com/user-attachments/assets/39ed3504-bb71-47f6-9bf8-cb9a1698f272" /></a>
4
+
5
+This release was brought to you by the [Shipyard](http://ipshipyard.com/) team.
6
+
7
+- [v0.36.0](#v0340)
8
+
9
+## v0.36.0
10
+
11
+- [Overview](#overview)
12
+- [🔦 Highlights](#-highlights)
13
+ - [Update go-log to v2](#update-go-log-to-v2)
14
+ - [📦️ Important dependency updates](#-important-dependency-updates)
15
+- [📝 Changelog](#-changelog)
16
+- [👨👩👧👦 Contributors](#-contributors)
17
+
18
+### Overview
19
+
20
+### 🔦 Highlights
21
+
22
+#### Update go-log to v2
23
+
24
+go-log v2 has been out for quite a while now and it is time to deprecate v1.
25
+
26
+- Replace all use of `go-log` with `go-log/v2`
27
+- Makes `/api/v0/log/tail` useful over HTTP
28
+- Fixes `ipfs log tail`
29
+- Removes support for `ContextWithLoggable` as this is not needed for tracing-like functionality
30
+
31
+#### 📦️ Important dependency updates
32
+
33
+### 📝 Changelog
34
+### 👨👩👧👦 Contributors
docs/examples/kubo-as-a-library/go.mod
+10
-10
@@ -97,7 +97,7 @@ require (
97
github.com/ipfs/go-ipfs-redirects-file v0.1.2 // indirect
98
github.com/ipfs/go-ipfs-util v0.0.3 // indirect
99
github.com/ipfs/go-ipld-cbor v0.2.0 // indirect
100
- github.com/ipfs/go-ipld-format v0.6.0 // indirect
100
+ github.com/ipfs/go-ipld-format v0.6.1 // indirect
101
github.com/ipfs/go-ipld-git v0.1.1 // indirect
102
github.com/ipfs/go-ipld-legacy v0.2.1 // indirect
103
github.com/ipfs/go-log v1.0.5 // indirect
@@ -108,8 +108,8 @@ require (
108
github.com/ipfs/go-unixfsnode v1.10.0 // indirect
109
github.com/ipfs/go-verifcid v0.0.3 // indirect
110
github.com/ipld/go-car v0.6.2 // indirect
111
- github.com/ipld/go-car/v2 v2.14.2 // indirect
112
- github.com/ipld/go-codec-dagpb v1.6.0 // indirect
111
+ github.com/ipld/go-car/v2 v2.14.3 // indirect
112
+ github.com/ipld/go-codec-dagpb v1.7.0 // indirect
113
github.com/ipld/go-ipld-prime v0.21.0 // indirect
114
github.com/ipshipyard/p2p-forge v0.4.0 // indirect
115
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -225,14 +225,14 @@ require (
225
go.uber.org/zap v1.27.0 // indirect
226
go.uber.org/zap/exp v0.3.0 // indirect
227
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
228
- golang.org/x/crypto v0.37.0 // indirect
229
- golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
228
+ golang.org/x/crypto v0.38.0 // indirect
229
+ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
230
golang.org/x/mod v0.24.0 // indirect
231
- golang.org/x/net v0.39.0 // indirect
232
- golang.org/x/sync v0.13.0 // indirect
231
+ golang.org/x/net v0.40.0 // indirect
232
+ golang.org/x/sync v0.14.0 // indirect
233
golang.org/x/sys v0.33.0 // indirect
234
- golang.org/x/text v0.24.0 // indirect
235
- golang.org/x/tools v0.32.0 // indirect
234
+ golang.org/x/text v0.25.0 // indirect
235
+ golang.org/x/tools v0.33.0 // indirect
236
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
237
gonum.org/v1/gonum v0.16.0 // indirect
238
google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
@@ -240,5 +240,5 @@ require (
240
google.golang.org/grpc v1.67.1 // indirect
241
google.golang.org/protobuf v1.36.6 // indirect
242
gopkg.in/yaml.v3 v3.0.1 // indirect
243
- lukechampine.com/blake3 v1.4.0 // indirect
243
+ lukechampine.com/blake3 v1.4.1 // indirect
244
)
docs/examples/kubo-as-a-library/go.sum
+22
-22
@@ -371,8 +371,8 @@ github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCm
371
github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs=
372
github.com/ipfs/go-ipld-cbor v0.2.0 h1:VHIW3HVIjcMd8m4ZLZbrYpwjzqlVUfjLM7oK4T5/YF0=
373
github.com/ipfs/go-ipld-cbor v0.2.0/go.mod h1:Cp8T7w1NKcu4AQJLqK0tWpd1nkgTxEVB5C6kVpLW6/0=
374
-github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
375
-github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
374
+github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
375
+github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
376
github.com/ipfs/go-ipld-git v0.1.1 h1:TWGnZjS0htmEmlMFEkA3ogrNCqWjIxwr16x1OsdhG+Y=
377
github.com/ipfs/go-ipld-git v0.1.1/go.mod h1:+VyMqF5lMcJh4rwEppV0e6g4nCCHXThLYYDpKUkJubI=
378
github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
@@ -389,18 +389,18 @@ github.com/ipfs/go-metrics-interface v0.3.0 h1:YwG7/Cy4R94mYDUuwsBfeziJCVm9pBMJ6
389
github.com/ipfs/go-metrics-interface v0.3.0/go.mod h1:OxxQjZDGocXVdyTPocns6cOLwHieqej/jos7H4POwoY=
390
github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
391
github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
392
-github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
393
-github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
392
+github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
393
+github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
394
github.com/ipfs/go-unixfsnode v1.10.0 h1:cZPUUcYjXw2kMOgx4THw2uouw/8TBpmzZpWtPINdLvk=
395
github.com/ipfs/go-unixfsnode v1.10.0/go.mod h1:hVbWqN38WOk7FHao2y0mQAwUHDq58m7plGd+W6GSq2M=
396
github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs=
397
github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw=
398
github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc=
399
github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8=
400
-github.com/ipld/go-car/v2 v2.14.2 h1:9ERr7KXpCC7If0rChZLhYDlyr6Bes6yRKPJnCO3hdHY=
401
-github.com/ipld/go-car/v2 v2.14.2/go.mod h1:0iPB/825lTZLU2zPK5bVTk/R3V2612E1VI279OGSXWA=
402
-github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
403
-github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
400
+github.com/ipld/go-car/v2 v2.14.3 h1:1Mhl82/ny8MVP+w1M4LXbj4j99oK3gnuZG2GmG1IhC8=
401
+github.com/ipld/go-car/v2 v2.14.3/go.mod h1:/vpSvPngOX8UnvmdFJ3o/mDgXa9LuyXsn7wxOzHDYQE=
402
+github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
403
+github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
404
github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8=
405
github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
406
github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
@@ -892,8 +892,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
892
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
893
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
894
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
895
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
896
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
895
+golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
896
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
897
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
898
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
899
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -902,8 +902,8 @@ golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE
902
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
903
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
904
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
905
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
906
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
905
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
906
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
907
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
908
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
909
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -963,8 +963,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
963
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
964
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
965
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
966
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
967
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
966
+golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
967
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
968
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
969
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
970
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -983,8 +983,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
983
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
984
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
985
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
986
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
987
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
986
+golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
987
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
988
golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
989
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
990
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1054,8 +1054,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
1054
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1055
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1056
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1057
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1058
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1057
+golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1058
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1059
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1060
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1061
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1098,8 +1098,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
1098
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1099
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
1100
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
1101
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1102
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1101
+golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1102
+golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1103
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1104
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1105
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1204,8 +1204,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
1204
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1205
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1206
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
1207
-lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1208
-lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1207
+lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1208
+lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1209
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
1210
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
1211
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
fuse/ipns/ipns_unix.go
+1
-1
@@ -23,7 +23,7 @@ import (
23
fs "bazil.org/fuse/fs"
24
mfs "github.com/ipfs/boxo/mfs"
25
cid "github.com/ipfs/go-cid"
26
- logging "github.com/ipfs/go-log"
26
+ logging "github.com/ipfs/go-log/v2"
27
iface "github.com/ipfs/kubo/core/coreiface"
28
options "github.com/ipfs/kubo/core/coreiface/options"
29
)
fuse/mount/mount.go
+1
-1
@@ -8,7 +8,7 @@ import (
8
"runtime"
9
"time"
10
11
- logging "github.com/ipfs/go-log"
11
+ logging "github.com/ipfs/go-log/v2"
12
goprocess "github.com/jbenet/goprocess"
13
)
14
fuse/node/mount_unix.go
+1
-1
@@ -15,7 +15,7 @@ import (
15
mount "github.com/ipfs/kubo/fuse/mount"
16
rofs "github.com/ipfs/kubo/fuse/readonly"
17
18
- logging "github.com/ipfs/go-log"
18
+ logging "github.com/ipfs/go-log/v2"
19
)
20
21
var log = logging.Logger("node")
fuse/readonly/readonly_unix.go
+1
-1
@@ -19,7 +19,7 @@ import (
19
"github.com/ipfs/boxo/path"
20
"github.com/ipfs/go-cid"
21
ipld "github.com/ipfs/go-ipld-format"
22
- logging "github.com/ipfs/go-log"
22
+ logging "github.com/ipfs/go-log/v2"
23
core "github.com/ipfs/kubo/core"
24
ipldprime "github.com/ipld/go-ipld-prime"
25
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
gc/gc.go
+1
-1
@@ -16,7 +16,7 @@ import (
16
cid "github.com/ipfs/go-cid"
17
dstore "github.com/ipfs/go-datastore"
18
ipld "github.com/ipfs/go-ipld-format"
19
- logging "github.com/ipfs/go-log"
19
+ logging "github.com/ipfs/go-log/v2"
20
)
21
22
var log = logging.Logger("gc")
go.mod
+15
-15
@@ -33,20 +33,19 @@ require (
33
github.com/ipfs/go-ds-measure v0.2.2
34
github.com/ipfs/go-ds-pebble v0.5.0
35
github.com/ipfs/go-fs-lock v0.1.1
36
- github.com/ipfs/go-ipfs-cmds v0.14.1
36
+ github.com/ipfs/go-ipfs-cmds v0.15.0
37
github.com/ipfs/go-ipld-cbor v0.2.0
38
- github.com/ipfs/go-ipld-format v0.6.0
38
+ github.com/ipfs/go-ipld-format v0.6.1
39
github.com/ipfs/go-ipld-git v0.1.1
40
github.com/ipfs/go-ipld-legacy v0.2.1
41
- github.com/ipfs/go-log v1.0.5
41
github.com/ipfs/go-log/v2 v2.6.0
42
github.com/ipfs/go-metrics-interface v0.3.0
43
github.com/ipfs/go-metrics-prometheus v0.1.0
45
- github.com/ipfs/go-test v0.2.1
44
+ github.com/ipfs/go-test v0.2.2
45
github.com/ipfs/go-unixfsnode v1.10.0
46
github.com/ipld/go-car v0.6.2
48
- github.com/ipld/go-car/v2 v2.14.2
49
- github.com/ipld/go-codec-dagpb v1.6.0
47
+ github.com/ipld/go-car/v2 v2.14.3
48
+ github.com/ipld/go-codec-dagpb v1.7.0
49
github.com/ipld/go-ipld-prime v0.21.0
50
github.com/ipshipyard/p2p-forge v0.4.0
51
github.com/jbenet/go-temp-err-catcher v0.1.0
@@ -62,7 +61,7 @@ require (
61
github.com/libp2p/go-libp2p-record v0.3.1
62
github.com/libp2p/go-libp2p-routing-helpers v0.7.5
63
github.com/libp2p/go-libp2p-testing v0.12.0
65
- github.com/libp2p/go-socket-activation v0.1.0
64
+ github.com/libp2p/go-socket-activation v0.1.1
65
github.com/multiformats/go-multiaddr v0.15.0
66
github.com/multiformats/go-multiaddr-dns v0.4.1
67
github.com/multiformats/go-multibase v0.2.0
@@ -87,10 +86,10 @@ require (
86
go.uber.org/fx v1.23.0
87
go.uber.org/multierr v1.11.0
88
go.uber.org/zap v1.27.0
90
- golang.org/x/crypto v0.37.0
91
- golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
89
+ golang.org/x/crypto v0.38.0
90
+ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6
91
golang.org/x/mod v0.24.0
93
- golang.org/x/sync v0.13.0
92
+ golang.org/x/sync v0.14.0
93
golang.org/x/sys v0.33.0
94
google.golang.org/protobuf v1.36.6
95
)
@@ -160,6 +159,7 @@ require (
159
github.com/ipfs/go-ipfs-pq v0.0.3 // indirect
160
github.com/ipfs/go-ipfs-redirects-file v0.1.2 // indirect
161
github.com/ipfs/go-ipfs-util v0.0.3 // indirect
162
+ github.com/ipfs/go-log v1.0.5 // indirect
163
github.com/ipfs/go-merkledag v0.11.0 // indirect
164
github.com/ipfs/go-peertaskqueue v0.8.2 // indirect
165
github.com/ipfs/go-verifcid v0.0.3 // indirect
@@ -265,11 +265,11 @@ require (
265
go.uber.org/mock v0.5.0 // indirect
266
go.uber.org/zap/exp v0.3.0 // indirect
267
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
268
- golang.org/x/net v0.39.0 // indirect
268
+ golang.org/x/net v0.40.0 // indirect
269
golang.org/x/oauth2 v0.25.0 // indirect
270
- golang.org/x/term v0.31.0 // indirect
271
- golang.org/x/text v0.24.0 // indirect
272
- golang.org/x/tools v0.32.0 // indirect
270
+ golang.org/x/term v0.32.0 // indirect
271
+ golang.org/x/text v0.25.0 // indirect
272
+ golang.org/x/tools v0.33.0 // indirect
273
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
274
gonum.org/v1/gonum v0.16.0 // indirect
275
google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
@@ -277,5 +277,5 @@ require (
277
google.golang.org/grpc v1.67.1 // indirect
278
gopkg.in/yaml.v2 v2.4.0 // indirect
279
gopkg.in/yaml.v3 v3.0.1 // indirect
280
- lukechampine.com/blake3 v1.4.0 // indirect
280
+ lukechampine.com/blake3 v1.4.1 // indirect
281
)
go.sum
+28
-36
@@ -137,7 +137,6 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz
137
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
138
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
139
github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
140
-github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
140
github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
141
github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs=
142
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
@@ -414,8 +413,8 @@ github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7
413
github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE=
414
github.com/ipfs/go-ipfs-blocksutil v0.0.1 h1:Eh/H4pc1hsvhzsQoMEP3Bke/aW5P5rVM1IWFJMcGIPQ=
415
github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk=
417
-github.com/ipfs/go-ipfs-cmds v0.14.1 h1:TA8vBixPwXL3k7VtcbX3r4FQgw2m+jMOWlslUOlM9Rs=
418
-github.com/ipfs/go-ipfs-cmds v0.14.1/go.mod h1:SCYxNUVPeVR05cE8DJ6wyH2+aQ8vPgjxxkxQWOXobzo=
416
+github.com/ipfs/go-ipfs-cmds v0.15.0 h1:nQDgKadrzyiFyYoZMARMIoVoSwe3gGTAfGvrWLeAQbQ=
417
+github.com/ipfs/go-ipfs-cmds v0.15.0/go.mod h1:VABf/mv/wqvYX6hLG6Z+40eNAEw3FQO0bSm370Or3Wk=
418
github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
419
github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ=
420
github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
@@ -437,17 +436,15 @@ github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCm
436
github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs=
437
github.com/ipfs/go-ipld-cbor v0.2.0 h1:VHIW3HVIjcMd8m4ZLZbrYpwjzqlVUfjLM7oK4T5/YF0=
438
github.com/ipfs/go-ipld-cbor v0.2.0/go.mod h1:Cp8T7w1NKcu4AQJLqK0tWpd1nkgTxEVB5C6kVpLW6/0=
440
-github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
441
-github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
439
+github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
440
+github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
441
github.com/ipfs/go-ipld-git v0.1.1 h1:TWGnZjS0htmEmlMFEkA3ogrNCqWjIxwr16x1OsdhG+Y=
442
github.com/ipfs/go-ipld-git v0.1.1/go.mod h1:+VyMqF5lMcJh4rwEppV0e6g4nCCHXThLYYDpKUkJubI=
443
github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
444
github.com/ipfs/go-ipld-legacy v0.2.1/go.mod h1:782MOUghNzMO2DER0FlBR94mllfdCJCkTtDtPM51otM=
445
github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM=
447
-github.com/ipfs/go-log v1.0.3/go.mod h1:OsLySYkwIbiSUR/yBTdv1qPtcE4FW3WPWk/ewz9Ru+A=
446
github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8=
447
github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo=
450
-github.com/ipfs/go-log/v2 v2.0.3/go.mod h1:O7P1lJt27vWHhOwQmcFEvlmo49ry2VY2+JfBWFaa9+0=
448
github.com/ipfs/go-log/v2 v2.1.3/go.mod h1:/8d0SH3Su5Ooc31QlL1WysJhvyOTDCjcCZ9Axpmri6g=
449
github.com/ipfs/go-log/v2 v2.6.0 h1:2Nu1KKQQ2ayonKp4MPo6pXCjqw1ULc9iohRqWV5EYqg=
450
github.com/ipfs/go-log/v2 v2.6.0/go.mod h1:p+Efr3qaY5YXpx9TX7MoLCSEZX5boSWj9wh86P5HJa8=
@@ -459,18 +456,18 @@ github.com/ipfs/go-metrics-prometheus v0.1.0 h1:bApWOHkrH3VTBHzTHrZSfq4n4weOZDzZ
456
github.com/ipfs/go-metrics-prometheus v0.1.0/go.mod h1:2GtL525C/4yxtvSXpRJ4dnE45mCX9AS0XRa03vHx7G0=
457
github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
458
github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
462
-github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
463
-github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
459
+github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
460
+github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
461
github.com/ipfs/go-unixfsnode v1.10.0 h1:cZPUUcYjXw2kMOgx4THw2uouw/8TBpmzZpWtPINdLvk=
462
github.com/ipfs/go-unixfsnode v1.10.0/go.mod h1:hVbWqN38WOk7FHao2y0mQAwUHDq58m7plGd+W6GSq2M=
463
github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs=
464
github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw=
465
github.com/ipld/go-car v0.6.2 h1:Hlnl3Awgnq8icK+ze3iRghk805lu8YNq3wlREDTF2qc=
466
github.com/ipld/go-car v0.6.2/go.mod h1:oEGXdwp6bmxJCZ+rARSkDliTeYnVzv3++eXajZ+Bmr8=
470
-github.com/ipld/go-car/v2 v2.14.2 h1:9ERr7KXpCC7If0rChZLhYDlyr6Bes6yRKPJnCO3hdHY=
471
-github.com/ipld/go-car/v2 v2.14.2/go.mod h1:0iPB/825lTZLU2zPK5bVTk/R3V2612E1VI279OGSXWA=
472
-github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
473
-github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
467
+github.com/ipld/go-car/v2 v2.14.3 h1:1Mhl82/ny8MVP+w1M4LXbj4j99oK3gnuZG2GmG1IhC8=
468
+github.com/ipld/go-car/v2 v2.14.3/go.mod h1:/vpSvPngOX8UnvmdFJ3o/mDgXa9LuyXsn7wxOzHDYQE=
469
+github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
470
+github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
471
github.com/ipld/go-ipld-prime v0.11.0/go.mod h1:+WIAkokurHmZ/KwzDOMUuoeJgaRQktHtEaLglS3ZeV8=
472
github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
473
github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
@@ -583,8 +580,8 @@ github.com/libp2p/go-openssl v0.0.3/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO
580
github.com/libp2p/go-openssl v0.0.4/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc=
581
github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQscQm2s=
582
github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU=
586
-github.com/libp2p/go-socket-activation v0.1.0 h1:OImQPhtbGlCNaF/KSTl6pBBy+chA5eBt5i9uMJNtEdY=
587
-github.com/libp2p/go-socket-activation v0.1.0/go.mod h1:gzda2dNkMG5Ti2OfWNNwW0FDIbj0g/aJJU320FcLfhk=
583
+github.com/libp2p/go-socket-activation v0.1.1 h1:wkLBj6RqKffjt7BI794ewoSt241UV52NKYvIbpzhn4Q=
584
+github.com/libp2p/go-socket-activation v0.1.1/go.mod h1:NBfVUPXTRL/FU6UmSOM+1O7/vJkpS523sQiriw0Qln8=
585
github.com/libp2p/go-yamux/v5 v5.0.0 h1:2djUh96d3Jiac/JpGkKs4TO49YhsfLopAoryfPmf+Po=
586
github.com/libp2p/go-yamux/v5 v5.0.0/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU=
587
github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q=
@@ -653,7 +650,6 @@ github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a
650
github.com/multiformats/go-multiaddr v0.1.0/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44=
651
github.com/multiformats/go-multiaddr v0.1.1/go.mod h1:aMKBKNEYmzmDmxfX88/vz+J5IU55txyt0p4aiWVohjo=
652
github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
656
-github.com/multiformats/go-multiaddr v0.4.0/go.mod h1:YcpyLH8ZPudLxQlemYBPhSm0/oCXAT8Z4mzFpyoPyRc=
653
github.com/multiformats/go-multiaddr v0.15.0 h1:zB/HeaI/apcZiTDwhY5YqMvNVl/oQYvs3XySU+qeAVo=
654
github.com/multiformats/go-multiaddr v0.15.0/go.mod h1:JSVUmXDjsVFiW7RjIFMP7+Ev+h1DTbiJgVeTV/tcmP0=
655
github.com/multiformats/go-multiaddr-dns v0.4.1 h1:whi/uCLbDS3mSEUMb1MsoT4uzUeZB0N32yzufqS0i5M=
@@ -712,7 +708,6 @@ github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/
708
github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE7dzrbT927iTk=
709
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
710
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
715
-github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
711
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
712
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
713
github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8=
@@ -1014,7 +1009,6 @@ go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt
1009
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
1010
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
1011
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
1017
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
1012
go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
1013
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
1014
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
@@ -1027,13 +1021,11 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
1021
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
1022
go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU=
1023
go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM=
1030
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
1024
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
1025
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
1026
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
1027
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
1028
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
1036
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
1029
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
1030
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
1031
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
@@ -1062,8 +1054,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
1054
golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE=
1055
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
1056
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
1065
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
1066
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
1057
+golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
1058
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
1059
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1060
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
1061
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -1074,8 +1066,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
1066
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
1067
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
1068
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
1077
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
1078
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
1069
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
1070
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
1071
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
1072
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
1073
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -1152,8 +1144,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
1144
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
1145
golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI=
1146
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
1155
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
1156
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
1147
+golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
1148
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
1149
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1150
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
1151
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -1180,8 +1172,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ
1172
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1173
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1174
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
1183
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
1184
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
1175
+golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
1176
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
1177
golang.org/x/sys v0.0.0-20180810173357-98c5dad5d1a0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1178
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1179
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1262,8 +1254,8 @@ golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
1254
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
1255
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
1256
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
1265
-golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
1266
-golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
1257
+golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
1258
+golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
1259
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1260
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1261
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1275,8 +1267,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
1267
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
1268
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1269
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1278
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1279
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1270
+golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1271
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1272
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1273
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1274
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1336,8 +1328,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
1328
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
1329
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
1330
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
1339
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1340
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1331
+golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1332
+golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1333
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1334
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1335
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1477,8 +1469,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
1469
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
1470
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
1471
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
1480
-lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1481
-lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1472
+lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1473
+lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1474
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
1475
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
1476
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
p2p/p2p.go
+1
-1
@@ -1,7 +1,7 @@
1
package p2p
2
3
import (
4
- logging "github.com/ipfs/go-log"
4
+ logging "github.com/ipfs/go-log/v2"
5
p2phost "github.com/libp2p/go-libp2p/core/host"
6
"github.com/libp2p/go-libp2p/core/peer"
7
pstore "github.com/libp2p/go-libp2p/core/peerstore"
plugin/loader/loader.go
+1
-1
@@ -18,7 +18,7 @@ import (
18
plugin "github.com/ipfs/kubo/plugin"
19
fsrepo "github.com/ipfs/kubo/repo/fsrepo"
20
21
- logging "github.com/ipfs/go-log"
21
+ logging "github.com/ipfs/go-log/v2"
22
opentracing "github.com/opentracing/opentracing-go"
23
)
24
plugin/plugins/fxtest/fxtest.go
+1
-1
@@ -3,7 +3,7 @@ package fxtest
3
import (
4
"os"
5
6
- logging "github.com/ipfs/go-log"
6
+ logging "github.com/ipfs/go-log/v2"
7
"github.com/ipfs/kubo/core"
8
"github.com/ipfs/kubo/plugin"
9
"go.uber.org/fx"
plugin/plugins/peerlog/peerlog.go
+1
-1
@@ -5,7 +5,7 @@ import (
5
"sync/atomic"
6
"time"
7
8
- logging "github.com/ipfs/go-log"
8
+ logging "github.com/ipfs/go-log/v2"
9
core "github.com/ipfs/kubo/core"
10
plugin "github.com/ipfs/kubo/plugin"
11
event "github.com/libp2p/go-libp2p/core/event"
profile/profile.go
+1
-1
@@ -14,7 +14,7 @@ import (
14
"sync"
15
"time"
16
17
- "github.com/ipfs/go-log"
17
+ "github.com/ipfs/go-log/v2"
18
version "github.com/ipfs/kubo"
19
)
20
repo/fsrepo/fsrepo.go
+1
-1
@@ -22,7 +22,7 @@ import (
22
ds "github.com/ipfs/go-datastore"
23
measure "github.com/ipfs/go-ds-measure"
24
lockfile "github.com/ipfs/go-fs-lock"
25
- logging "github.com/ipfs/go-log"
25
+ logging "github.com/ipfs/go-log/v2"
26
config "github.com/ipfs/kubo/config"
27
serialize "github.com/ipfs/kubo/config/serialize"
28
"github.com/ipfs/kubo/misc/fsutil"
routing/delegated.go
+1
-1
@@ -10,7 +10,7 @@ import (
10
drclient "github.com/ipfs/boxo/routing/http/client"
11
"github.com/ipfs/boxo/routing/http/contentrouter"
12
"github.com/ipfs/go-datastore"
13
- logging "github.com/ipfs/go-log"
13
+ logging "github.com/ipfs/go-log/v2"
14
version "github.com/ipfs/kubo"
15
"github.com/ipfs/kubo/config"
16
dht "github.com/libp2p/go-libp2p-kad-dht"
test/cli/gateway_test.go
+46
-24
@@ -1,6 +1,7 @@
1
package cli
2
3
import (
4
+ "bufio"
5
"context"
6
"encoding/json"
7
"fmt"
@@ -11,6 +12,7 @@ import (
12
"strconv"
13
"strings"
14
"testing"
15
+ "time"
16
17
"github.com/ipfs/kubo/config"
18
"github.com/ipfs/kubo/test/cli/harness"
@@ -238,30 +240,6 @@ func TestGateway(t *testing.T) {
240
assert.Contains(t, []int{302, 301}, resp.StatusCode)
241
})
242
241
- t.Run("GET /logs returns logs", func(t *testing.T) {
242
- t.Parallel()
243
- apiClient := node.APIClient()
244
- reqURL := apiClient.BuildURL("/logs")
245
-
246
- ctx, cancel := context.WithCancel(context.Background())
247
- defer cancel()
248
-
249
- req, err := http.NewRequestWithContext(ctx, http.MethodGet, reqURL, nil)
250
- require.NoError(t, err)
251
-
252
- resp, err := apiClient.Client.Do(req)
253
- require.NoError(t, err)
254
- defer resp.Body.Close()
255
-
256
- // read the first line of the output and parse its JSON
257
- dec := json.NewDecoder(resp.Body)
258
- event := struct{ Event string }{}
259
- err = dec.Decode(&event)
260
- require.NoError(t, err)
261
-
262
- assert.Equal(t, "log API client connected", event.Event)
263
- })
264
-
243
t.Run("POST /api/v0/version succeeds", func(t *testing.T) {
244
t.Parallel()
245
resp := node.APIClient().Post("/api/v0/version", nil)
@@ -558,3 +536,47 @@ func TestGateway(t *testing.T) {
536
})
537
})
538
}
539
+
540
+// TestLogs tests that GET /logs returns log messages. This test is separate
541
+// because it requires setting the server's log level to "info" which may
542
+// change the output expected by other tests.
543
+func TestLogs(t *testing.T) {
544
+ h := harness.NewT(t)
545
+
546
+ t.Setenv("GOLOG_LOG_LEVEL", "info")
547
+
548
+ node := h.NewNode().Init().StartDaemon("--offline")
549
+ cid := node.IPFSAddStr("Hello Worlds!")
550
+
551
+ peerID, err := peer.ToCid(node.PeerID()).StringOfBase(multibase.Base36)
552
+ assert.NoError(t, err)
553
+
554
+ client := node.GatewayClient()
555
+ client.TemplateData = map[string]string{
556
+ "CID": cid,
557
+ "PeerID": peerID,
558
+ }
559
+
560
+ apiClient := node.APIClient()
561
+ reqURL := apiClient.BuildURL("/logs")
562
+
563
+ ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
564
+ defer cancel()
565
+
566
+ req, err := http.NewRequestWithContext(ctx, http.MethodGet, reqURL, nil)
567
+ require.NoError(t, err)
568
+
569
+ resp, err := apiClient.Client.Do(req)
570
+ require.NoError(t, err)
571
+ defer resp.Body.Close()
572
+
573
+ var found bool
574
+ scanner := bufio.NewScanner(resp.Body)
575
+ for scanner.Scan() {
576
+ if strings.Contains(scanner.Text(), "log API client connected") {
577
+ found = true
578
+ break
579
+ }
580
+ }
581
+ assert.True(t, found)
582
+}
test/dependencies/go.mod
+11
-11
@@ -9,7 +9,7 @@ require (
9
github.com/golangci/golangci-lint v1.60.2
10
github.com/ipfs/go-cidutil v0.1.0
11
github.com/ipfs/go-log/v2 v2.6.0
12
- github.com/ipfs/go-test v0.2.1
12
+ github.com/ipfs/go-test v0.2.2
13
github.com/ipfs/hang-fds v0.1.0
14
github.com/ipfs/iptb v1.4.1
15
github.com/ipfs/iptb-plugins v0.5.1
@@ -134,11 +134,11 @@ require (
134
github.com/ipfs/go-block-format v0.2.1 // indirect
135
github.com/ipfs/go-cid v0.5.0 // indirect
136
github.com/ipfs/go-datastore v0.8.2 // indirect
137
- github.com/ipfs/go-ipld-format v0.6.0 // indirect
137
+ github.com/ipfs/go-ipld-format v0.6.1 // indirect
138
github.com/ipfs/go-ipld-legacy v0.2.1 // indirect
139
github.com/ipfs/go-metrics-interface v0.3.0 // indirect
140
github.com/ipfs/kubo v0.31.0 // indirect
141
- github.com/ipld/go-codec-dagpb v1.6.0 // indirect
141
+ github.com/ipld/go-codec-dagpb v1.7.0 // indirect
142
github.com/ipld/go-ipld-prime v0.21.0 // indirect
143
github.com/ipshipyard/p2p-forge v0.4.0 // indirect
144
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -310,23 +310,23 @@ require (
310
go.uber.org/multierr v1.11.0 // indirect
311
go.uber.org/zap v1.27.0 // indirect
312
go.uber.org/zap/exp v0.3.0 // indirect
313
- golang.org/x/crypto v0.37.0 // indirect
314
- golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
313
+ golang.org/x/crypto v0.38.0 // indirect
314
+ golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
315
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
316
golang.org/x/mod v0.24.0 // indirect
317
- golang.org/x/net v0.39.0 // indirect
318
- golang.org/x/sync v0.13.0 // indirect
317
+ golang.org/x/net v0.40.0 // indirect
318
+ golang.org/x/sync v0.14.0 // indirect
319
golang.org/x/sys v0.33.0 // indirect
320
- golang.org/x/term v0.31.0 // indirect
321
- golang.org/x/text v0.24.0 // indirect
322
- golang.org/x/tools v0.32.0 // indirect
320
+ golang.org/x/term v0.32.0 // indirect
321
+ golang.org/x/text v0.25.0 // indirect
322
+ golang.org/x/tools v0.33.0 // indirect
323
gonum.org/v1/gonum v0.16.0 // indirect
324
google.golang.org/protobuf v1.36.6 // indirect
325
gopkg.in/ini.v1 v1.67.0 // indirect
326
gopkg.in/yaml.v2 v2.4.0 // indirect
327
gopkg.in/yaml.v3 v3.0.1 // indirect
328
honnef.co/go/tools v0.5.1 // indirect
329
- lukechampine.com/blake3 v1.4.0 // indirect
329
+ lukechampine.com/blake3 v1.4.1 // indirect
330
mvdan.cc/gofumpt v0.7.0 // indirect
331
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
332
)
test/dependencies/go.sum
+22
-22
@@ -348,8 +348,8 @@ github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1I
348
github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw=
349
github.com/ipfs/go-ipfs-pq v0.0.3 h1:YpoHVJB+jzK15mr/xsWC574tyDLkezVrDNeaalQBsTE=
350
github.com/ipfs/go-ipfs-pq v0.0.3/go.mod h1:btNw5hsHBpRcSSgZtiNm/SLj5gYIZ18AKtv3kERkRb4=
351
-github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U=
352
-github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg=
351
+github.com/ipfs/go-ipld-format v0.6.1 h1:lQLmBM/HHbrXvjIkrydRXkn+gc0DE5xO5fqelsCKYOQ=
352
+github.com/ipfs/go-ipld-format v0.6.1/go.mod h1:8TOH1Hj+LFyqM2PjSqI2/ZnyO0KlfhHbJLkbxFa61hs=
353
github.com/ipfs/go-ipld-legacy v0.2.1 h1:mDFtrBpmU7b//LzLSypVrXsD8QxkEWxu5qVxN99/+tk=
354
github.com/ipfs/go-ipld-legacy v0.2.1/go.mod h1:782MOUghNzMO2DER0FlBR94mllfdCJCkTtDtPM51otM=
355
github.com/ipfs/go-log/v2 v2.6.0 h1:2Nu1KKQQ2ayonKp4MPo6pXCjqw1ULc9iohRqWV5EYqg=
@@ -358,16 +358,16 @@ github.com/ipfs/go-metrics-interface v0.3.0 h1:YwG7/Cy4R94mYDUuwsBfeziJCVm9pBMJ6
358
github.com/ipfs/go-metrics-interface v0.3.0/go.mod h1:OxxQjZDGocXVdyTPocns6cOLwHieqej/jos7H4POwoY=
359
github.com/ipfs/go-peertaskqueue v0.8.2 h1:PaHFRaVFdxQk1Qo3OKiHPYjmmusQy7gKQUaL8JDszAU=
360
github.com/ipfs/go-peertaskqueue v0.8.2/go.mod h1:L6QPvou0346c2qPJNiJa6BvOibxDfaiPlqHInmzg0FA=
361
-github.com/ipfs/go-test v0.2.1 h1:/D/a8xZ2JzkYqcVcV/7HYlCnc7bv/pKHQiX5TdClkPE=
362
-github.com/ipfs/go-test v0.2.1/go.mod h1:dzu+KB9cmWjuJnXFDYJwC25T3j1GcN57byN+ixmK39M=
361
+github.com/ipfs/go-test v0.2.2 h1:1yjYyfbdt1w93lVzde6JZ2einh3DIV40at4rVoyEcE8=
362
+github.com/ipfs/go-test v0.2.2/go.mod h1:cmLisgVwkdRCnKu/CFZOk2DdhOcwghr5GsHeqwexoRA=
363
github.com/ipfs/hang-fds v0.1.0 h1:deBiFlWHsVGzJ0ZMaqscEqRM1r2O1rFZ59UiQXb1Xko=
364
github.com/ipfs/hang-fds v0.1.0/go.mod h1:29VLWOn3ftAgNNgXg/al7b11UzuQ+w7AwtCGcTaWkbM=
365
github.com/ipfs/iptb v1.4.1 h1:faXd3TKGPswbHyZecqqg6UfbES7RDjTKQb+6VFPKDUo=
366
github.com/ipfs/iptb v1.4.1/go.mod h1:nTsBMtVYFEu0FjC5DgrErnABm3OG9ruXkFXGJoTV5OA=
367
github.com/ipfs/iptb-plugins v0.5.1 h1:11PNTNEt2+SFxjUcO5qpyCTXqDj6T8Tx9pU/G4ytCIQ=
368
github.com/ipfs/iptb-plugins v0.5.1/go.mod h1:mscJAjRnu4g16QK6oUBn9RGpcp8ueJmLfmPxIG/At78=
369
-github.com/ipld/go-codec-dagpb v1.6.0 h1:9nYazfyu9B1p3NAgfVdpRco3Fs2nFC72DqVsMj6rOcc=
370
-github.com/ipld/go-codec-dagpb v1.6.0/go.mod h1:ANzFhfP2uMJxRBr8CE+WQWs5UsNa0pYtmKZ+agnUw9s=
369
+github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0=
370
+github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM=
371
github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E=
372
github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ=
373
github.com/ipshipyard/p2p-forge v0.4.0 h1:A40PW027nCZn0d/pw5ufMoxnAo9wZwrG+iuz18A8P5I=
@@ -881,11 +881,11 @@ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf
881
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
882
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
883
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
884
-golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
885
-golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
884
+golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
885
+golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
886
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
887
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
888
-golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
887
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
888
+golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
889
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
890
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
891
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
@@ -943,8 +943,8 @@ golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
943
golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
944
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
945
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
946
-golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
947
-golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
946
+golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
947
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
948
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
949
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
950
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -964,8 +964,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
964
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
965
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
966
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
967
-golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
968
-golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
967
+golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
968
+golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
969
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
970
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
971
golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -1021,8 +1021,8 @@ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
1021
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
1022
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
1023
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
1024
-golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
1025
-golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
1024
+golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
1025
+golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
1026
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1027
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
1028
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -1037,8 +1037,8 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1037
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1038
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
1039
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
1040
-golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
1041
-golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
1040
+golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
1041
+golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
1042
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1043
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
1044
golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
@@ -1076,8 +1076,8 @@ golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8
1076
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
1077
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
1078
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
1079
-golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
1080
-golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
1079
+golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
1080
+golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
1081
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1082
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
1083
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1125,8 +1125,8 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
1125
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
1126
honnef.co/go/tools v0.5.1 h1:4bH5o3b5ZULQ4UrBmP+63W9r7qIkqJClEA9ko5YKx+I=
1127
honnef.co/go/tools v0.5.1/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
1128
-lukechampine.com/blake3 v1.4.0 h1:xDbKOZCVbnZsfzM6mHSYcGRHZ3YrLDzqz8XnV4uaD5w=
1129
-lukechampine.com/blake3 v1.4.0/go.mod h1:MQJNQCTnR+kwOP/JEZSxj3MaQjp80FOFSNMMHXcSeX0=
1128
+lukechampine.com/blake3 v1.4.1 h1:I3Smz7gso8w4/TunLKec6K2fn+kyKtDxr/xcQEN84Wg=
1129
+lukechampine.com/blake3 v1.4.1/go.mod h1:QFosUxmjB8mnrWFSNwKmvxHpfY72bmD2tQ0kBMM3kwo=
1130
mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
1131
mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
1132
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f h1:lMpcwN6GxNbWtbpI1+xzFLSW8XzX0u72NttUGVFjO3U=
test/integration/addcat_test.go
+1
-1
@@ -13,7 +13,7 @@ import (
13
14
"github.com/ipfs/boxo/bootstrap"
15
"github.com/ipfs/boxo/files"
16
- logging "github.com/ipfs/go-log"
16
+ logging "github.com/ipfs/go-log/v2"
17
"github.com/ipfs/go-test/random"
18
"github.com/ipfs/kubo/core"
19
"github.com/ipfs/kubo/core/coreapi"