Skip to content

Commit 7dcccff

Browse files
BigLepclaude
andauthored
chore: update go-libp2p to v0.42.0 and golang to v1.23.10 (#13190)
* chore: update go-libp2p to v0.42.0 Updates go-libp2p from v0.39.1 to v0.42.0. This builds on the work to update to 0.41.1 in #13173 and validates the draft PR submitted in #13179. Key dependency updates: - go-yamux v4.0.2 → v5.0.1 (major version bump) - go-datastore v0.6.0 → v0.8.2 (API compatibility) - go-multiaddr v0.14.0 → v0.16.0 - go-ds-badger2 v0.1.3 → v0.1.5 (fixes API breaking change) - Multiple golang.org/x/* standard library updates All changes maintain API compatibility with existing lotus code. Local testing shows successful compilation and unit tests pass. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * chore: update CHANGELOG.md for go-libp2p v0.42.0 * chore: update Go version to 1.23.10 and remove toolchain directive * chore: update all Go version references to 1.23.10 - Update GO_VERSION_MIN to enforce 1.23.10 minimum - Update .go-version for version managers - Update README.md badge and documentation - Update installation example to use 1.23.10 This follows the lotus standard practice of updating all Go version files together for consistency across the codebase. * chore: update Dockerfile to use Go 1.23.10 Updates the Docker base image from golang:1.23.7-bullseye to golang:1.23.10-bullseye to match the updated Go version requirements. * chore: run go mod tidy to clean up unused checksums Removes checksums for modules that are no longer needed after the go-libp2p v0.42.0 update and Go 1.23.10 version bump. * chore: remove .go-version from tracking and add to .gitignore The .go-version file is developer-specific and should not be tracked in version control. Developers can create their own local .go-version file for their preferred Go version manager (gvm, g, etc.). * fix(docker): update Rust version to 1.86.0 to match filecoin-ffi requirements The filecoin-ffi submodule now requires Rust 1.86.0 as specified in rust-toolchain.toml, but the Dockerfile was still using Rust 1.63.0, causing Docker builds to fail during the 'make clean deps' step when trying to update the Rust toolchain. Also add changelog entry for Go version update to 1.23.10. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
1 parent 06515b6 commit 7dcccff

File tree

7 files changed

+146
-167
lines changed

7 files changed

+146
-167
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ extern/filecoin-ffi/rust/target
2626
**/*.pc
2727
/**/*/.DS_STORE
2828
.DS_STORE
29+
.go-version
2930
build/.*
3031
build/paramfetch.sh
3132
/vendor

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
> * [CHANGELOG_1.2x.md](./documentation/changelog/CHANGELOG_1.2x.md) - v1.20.0 to v1.29.2
99
1010
# UNRELEASED
11-
- chore(deps): update go-libp2p to v0.41.1 and go-multiaddr to v0.15.0 ([filecoin-project/lotus#13173](https://github.com/filecoin-project/lotus/pull/13173))
11+
- chore(deps): update go-libp2p to v0.42.0 ([filecoin-project/lotus#13190](https://github.com/filecoin-project/lotus/pull/13190))
12+
- chore: update Go version to 1.23.10 ([filecoin-project/lotus#13190](https://github.com/filecoin-project/lotus/pull/13190))
1213
- fix(cli): fix `lotus state sector` command to display DealIDs correctly post-FIP-0076 by querying market actor's ProviderSectors HAMT while maintaining backward compatibility with DeprecatedDealIDs field ([filecoin-project/lotus#13140](https://github.com/filecoin-project/lotus/pull/13140))
1314
- chore(deps): bump filecoin-ffi for [email protected] which adds Logs and IpldOps to debug FVM execution traces ([filecoin-project/lotus#13029](https://github.com/filecoin-project/lotus/pull/13029))
1415
- chore: return `method not supported` via Gateway when /v2 isn't supported by the backend ([filecoin-project/lotus#13121](https://github.com/filecoin-project/lotus/pull/13121))

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#####################################
2-
FROM golang:1.23.7-bullseye AS lotus-builder
2+
FROM golang:1.23.10-bullseye AS lotus-builder
33
MAINTAINER Lotus Development Team
44

55
RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
@@ -9,7 +9,7 @@ ENV XDG_CACHE_HOME="/tmp"
99
ENV RUSTUP_HOME=/usr/local/rustup \
1010
CARGO_HOME=/usr/local/cargo \
1111
PATH=/usr/local/cargo/bin:$PATH \
12-
RUST_VERSION=1.63.0
12+
RUST_VERSION=1.86.0
1313

1414
RUN set -eux; \
1515
dpkgArch="$(dpkg --print-architecture)"; \

GO_VERSION_MIN

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.23.7
1+
1.23.10

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<a href="https://github.com/filecoin-project/lotus/actions/workflows/check.yml"><img src="https://github.com/filecoin-project/lotus/actions/workflows/check.yml/badge.svg"></a>
1212
<a href="https://github.com/filecoin-project/lotus/actions/workflows/test.yml"><img src="https://github.com/filecoin-project/lotus/actions/workflows/test.yml/badge.svg"></a>
1313
<a href="https://goreportcard.com/report/github.com/filecoin-project/lotus"><img src="https://goreportcard.com/badge/github.com/filecoin-project/lotus" /></a>
14-
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.23.6-blue.svg" /></a>
14+
<a href=""><img src="https://img.shields.io/badge/golang-%3E%3D1.23.10-blue.svg" /></a>
1515
<br>
1616
</p>
1717

@@ -58,10 +58,10 @@ For other distributions you can find the required dependencies [here.](https://l
5858

5959
#### Go
6060

61-
To build Lotus, you need a working installation of [Go 1.23.7 or higher](https://golang.org/dl/):
61+
To build Lotus, you need a working installation of [Go 1.23.10 or higher](https://golang.org/dl/):
6262

6363
```bash
64-
wget -c https://golang.org/dl/go1.23.7.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
64+
wget -c https://golang.org/dl/go1.23.10.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
6565
```
6666

6767
**TIP:**

go.mod

Lines changed: 44 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/filecoin-project/lotus
22

3-
go 1.23.7
3+
go 1.23.10
44

55
retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead.
66

@@ -70,7 +70,7 @@ require (
7070
github.com/georgysavva/scany/v2 v2.1.3
7171
github.com/go-openapi/spec v0.19.11
7272
github.com/golang/mock v1.6.0
73-
github.com/google/go-cmp v0.6.0
73+
github.com/google/go-cmp v0.7.0
7474
github.com/google/go-github/v66 v66.0.0
7575
github.com/google/uuid v1.6.0
7676
github.com/gorilla/mux v1.8.1
@@ -88,14 +88,14 @@ require (
8888
github.com/ipfs/boxo v0.20.0
8989
github.com/ipfs/go-block-format v0.2.0
9090
github.com/ipfs/go-cid v0.5.0
91-
github.com/ipfs/go-datastore v0.6.0
92-
github.com/ipfs/go-ds-badger2 v0.1.3
91+
github.com/ipfs/go-datastore v0.8.2
92+
github.com/ipfs/go-ds-badger2 v0.1.5
9393
github.com/ipfs/go-ds-leveldb v0.5.0
9494
github.com/ipfs/go-ds-measure v0.2.0
9595
github.com/ipfs/go-fs-lock v0.0.7
9696
github.com/ipfs/go-ipld-cbor v0.2.0
9797
github.com/ipfs/go-ipld-format v0.6.0
98-
github.com/ipfs/go-log/v2 v2.5.1
98+
github.com/ipfs/go-log/v2 v2.6.0
9999
github.com/ipfs/go-metrics-interface v0.0.1
100100
github.com/ipfs/go-metrics-prometheus v0.0.2
101101
github.com/ipld/go-car v0.6.2
@@ -104,10 +104,10 @@ require (
104104
github.com/jackc/pgerrcode v0.0.0-20240316143900-6e2875d9b438
105105
github.com/jpillora/backoff v1.0.0
106106
github.com/kelseyhightower/envconfig v1.4.0
107-
github.com/klauspost/compress v1.17.11
107+
github.com/klauspost/compress v1.18.0
108108
github.com/koalacxr/quantile v0.0.1
109109
github.com/libp2p/go-buffer-pool v0.1.0
110-
github.com/libp2p/go-libp2p v0.39.1
110+
github.com/libp2p/go-libp2p v0.42.0
111111
github.com/libp2p/go-libp2p-kad-dht v0.25.2
112112
github.com/libp2p/go-libp2p-pubsub v0.13.0
113113
github.com/libp2p/go-libp2p-record v0.2.0
@@ -119,14 +119,14 @@ require (
119119
github.com/mattn/go-sqlite3 v1.14.16
120120
github.com/mitchellh/go-homedir v1.1.0
121121
github.com/multiformats/go-base32 v0.1.0
122-
github.com/multiformats/go-multiaddr v0.14.0
122+
github.com/multiformats/go-multiaddr v0.16.0
123123
github.com/multiformats/go-multiaddr-dns v0.4.1
124-
github.com/multiformats/go-multicodec v0.9.0
124+
github.com/multiformats/go-multicodec v0.9.1
125125
github.com/multiformats/go-multihash v0.2.3
126126
github.com/multiformats/go-varint v0.0.7
127127
github.com/open-rpc/meta-schema v0.0.0-20201029221707-1b72ef2ea333
128128
github.com/polydawn/refmt v0.89.0
129-
github.com/prometheus/client_golang v1.20.5
129+
github.com/prometheus/client_golang v1.22.0
130130
github.com/puzpuzpuz/xsync/v2 v2.4.0
131131
github.com/raulk/clock v1.1.0
132132
github.com/raulk/go-watchdog v1.3.0
@@ -152,17 +152,17 @@ require (
152152
go.opentelemetry.io/otel/metric v1.34.0
153153
go.opentelemetry.io/otel/sdk v1.34.0
154154
go.opentelemetry.io/otel/sdk/metric v1.32.0
155-
go.uber.org/fx v1.23.0
155+
go.uber.org/fx v1.24.0
156156
go.uber.org/multierr v1.11.0
157157
go.uber.org/zap v1.27.0
158-
golang.org/x/crypto v0.38.0
159-
golang.org/x/mod v0.24.0
160-
golang.org/x/net v0.38.0
158+
golang.org/x/crypto v0.39.0
159+
golang.org/x/mod v0.25.0
160+
golang.org/x/net v0.41.0
161161
golang.org/x/sync v0.15.0
162162
golang.org/x/sys v0.33.0
163163
golang.org/x/term v0.32.0
164-
golang.org/x/time v0.11.0
165-
golang.org/x/tools v0.31.0
164+
golang.org/x/time v0.12.0
165+
golang.org/x/tools v0.34.0
166166
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
167167
gotest.tools v2.2.0+incompatible
168168
)
@@ -191,7 +191,7 @@ require (
191191
github.com/daaku/go.zipexe v1.0.2 // indirect
192192
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect; dependency-check-ignore: needed by github.com/drand/[email protected]
193193
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
194-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
194+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
195195
github.com/dgraph-io/ristretto v0.1.1 // indirect
196196
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
197197
github.com/drand/drand/v2 v2.0.6
@@ -224,7 +224,7 @@ require (
224224
github.com/golang/snappy v0.0.4 // indirect
225225
github.com/google/go-querystring v1.1.0 // indirect
226226
github.com/google/gopacket v1.1.19 // indirect
227-
github.com/google/pprof v0.0.0-20250208200701-d0013a598941 // indirect
227+
github.com/google/pprof v0.0.0-20250607225305-033d6d78b36a // indirect
228228
github.com/hashicorp/errwrap v1.1.0 // indirect
229229
github.com/hashicorp/golang-lru v1.0.2 // indirect
230230
github.com/huandu/xstrings v1.5.0 // indirect
@@ -254,23 +254,21 @@ require (
254254
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
255255
github.com/josharian/intern v1.0.0 // indirect
256256
github.com/kilic/bls12-381 v0.1.0 // indirect
257-
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
258-
github.com/koron/go-ssdp v0.0.5 // indirect
257+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
258+
github.com/koron/go-ssdp v0.0.6 // indirect
259259
github.com/libp2p/go-cidranger v1.1.0 // indirect
260260
github.com/libp2p/go-flow-metrics v0.2.0 // indirect
261261
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
262262
github.com/libp2p/go-libp2p-kbucket v0.6.3 // indirect
263-
github.com/libp2p/go-nat v0.2.0 // indirect
264263
github.com/libp2p/go-netroute v0.2.2 // indirect
265264
github.com/libp2p/go-reuseport v0.4.0 // indirect
266-
github.com/libp2p/go-yamux/v4 v4.0.2 // indirect
267265
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
268266
github.com/magefile/mage v1.9.0 // indirect
269267
github.com/mailru/easyjson v0.7.7 // indirect
270268
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
271269
github.com/mattn/go-colorable v0.1.14 // indirect
272270
github.com/mattn/go-runewidth v0.0.16 // indirect
273-
github.com/miekg/dns v1.1.63 // indirect
271+
github.com/miekg/dns v1.1.66 // indirect
274272
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
275273
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
276274
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
@@ -282,37 +280,34 @@ require (
282280
github.com/multiformats/go-base36 v0.2.0 // indirect
283281
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
284282
github.com/multiformats/go-multibase v0.2.0 // indirect
285-
github.com/multiformats/go-multistream v0.6.0 // indirect
283+
github.com/multiformats/go-multistream v0.6.1 // indirect
286284
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
287285
github.com/nikkolasg/hexjson v0.1.0 // indirect
288286
github.com/nkovacs/streamquote v1.0.0 // indirect
289-
github.com/onsi/ginkgo/v2 v2.22.2 // indirect
287+
github.com/onsi/ginkgo/v2 v2.23.4 // indirect
290288
github.com/opencontainers/runtime-spec v1.2.0 // indirect
291289
github.com/opentracing/opentracing-go v1.2.0 // indirect
292290
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
293291
github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 // indirect
294292
github.com/pion/datachannel v1.5.10 // indirect
295293
github.com/pion/dtls/v2 v2.2.12 // indirect
296-
github.com/pion/ice/v2 v2.3.37 // indirect
297-
github.com/pion/interceptor v0.1.39 // indirect
294+
github.com/pion/interceptor v0.1.40 // indirect
298295
github.com/pion/logging v0.2.3 // indirect
299-
github.com/pion/mdns v0.0.12 // indirect
300296
github.com/pion/randutil v0.1.0 // indirect
301297
github.com/pion/rtcp v1.2.15 // indirect
302-
github.com/pion/rtp v1.8.18 // indirect
303-
github.com/pion/sctp v1.8.35 // indirect
304-
github.com/pion/sdp/v3 v3.0.10 // indirect
298+
github.com/pion/rtp v1.8.19 // indirect
299+
github.com/pion/sctp v1.8.39 // indirect
300+
github.com/pion/sdp/v3 v3.0.13 // indirect
305301
github.com/pion/stun v0.6.1 // indirect
306302
github.com/pion/transport/v2 v2.2.10 // indirect
307-
github.com/pion/turn/v2 v2.1.6 // indirect
308303
github.com/pkg/errors v0.9.1 // indirect
309304
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect; dependency-check-ignore: needed by github.com/drand/[email protected]
310-
github.com/prometheus/client_model v0.6.1 // indirect
311-
github.com/prometheus/common v0.62.0 // indirect
312-
github.com/prometheus/procfs v0.15.1 // indirect
305+
github.com/prometheus/client_model v0.6.2 // indirect
306+
github.com/prometheus/common v0.64.0 // indirect
307+
github.com/prometheus/procfs v0.16.1 // indirect
313308
github.com/prometheus/statsd_exporter v0.22.7 // indirect
314309
github.com/quic-go/qpack v0.5.1 // indirect
315-
github.com/quic-go/quic-go v0.49.0 // indirect
310+
github.com/quic-go/quic-go v0.52.0 // indirect
316311
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect; dependency-check-ignore: unknown
317312
github.com/rivo/uniseg v0.4.7 // indirect
318313
github.com/russross/blackfriday/v2 v2.1.0 // indirect
@@ -339,32 +334,34 @@ require (
339334
go.dedis.ch/kyber/v4 v4.0.0-pre2.0.20240924132404-4de33740016e // indirect; dependency-check-ignore: unknown
340335
go.opentelemetry.io/otel/trace v1.34.0 // indirect
341336
go.uber.org/atomic v1.11.0 // indirect
342-
go.uber.org/dig v1.18.0 // indirect
343-
go.uber.org/mock v0.5.0 // indirect
337+
go.uber.org/dig v1.19.0 // indirect
338+
go.uber.org/mock v0.5.2 // indirect
344339
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
345-
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac // indirect
346-
golang.org/x/text v0.25.0 // indirect
340+
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
341+
golang.org/x/text v0.26.0 // indirect
347342
gonum.org/v1/gonum v0.15.0 // indirect
348343
google.golang.org/genproto/googleapis/api v0.0.0-20250212204824-5a70512c5d8b // indirect
349344
google.golang.org/genproto/googleapis/rpc v0.0.0-20250212204824-5a70512c5d8b // indirect
350345
google.golang.org/grpc v1.70.0 // indirect
351-
google.golang.org/protobuf v1.36.5 // indirect
346+
google.golang.org/protobuf v1.36.6 // indirect
352347
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
353348
gopkg.in/yaml.v2 v2.4.0 // indirect
354349
gopkg.in/yaml.v3 v3.0.1 // indirect
355350
howett.net/plist v0.0.0-20181124034731-591f970eefbb // indirect; dependency-check-ignore: required by github.com/elastic/go-sysinfo
356-
lukechampine.com/blake3 v1.3.0 // indirect
351+
lukechampine.com/blake3 v1.4.1 // indirect
357352
rsc.io/tmplfunc v0.0.3 // indirect
358353
)
359354

360355
require (
361-
github.com/pion/dtls/v3 v3.0.4 // indirect
362-
github.com/pion/ice/v4 v4.0.6 // indirect
356+
github.com/libp2p/go-yamux/v5 v5.0.1 // indirect
357+
github.com/pion/dtls/v3 v3.0.6 // indirect
358+
github.com/pion/ice/v4 v4.0.10 // indirect
363359
github.com/pion/mdns/v2 v2.0.7 // indirect
364-
github.com/pion/srtp/v3 v3.0.4 // indirect
360+
github.com/pion/srtp/v3 v3.0.6 // indirect
365361
github.com/pion/stun/v3 v3.0.0 // indirect
366362
github.com/pion/transport/v3 v3.0.7 // indirect
367-
github.com/pion/turn/v4 v4.0.0 // indirect
368-
github.com/pion/webrtc/v4 v4.0.9 // indirect
363+
github.com/pion/turn/v4 v4.0.2 // indirect
364+
github.com/pion/webrtc/v4 v4.1.2 // indirect
369365
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
366+
go.uber.org/automaxprocs v1.6.0 // indirect
370367
)

0 commit comments

Comments
 (0)