Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update module github.com/libp2p/go-libp2p to v0.37.1 #811

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 25, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/libp2p/go-libp2p v0.35.4 -> v0.37.1 age adoption passing confidence

Release Notes

libp2p/go-libp2p (github.com/libp2p/go-libp2p)

v0.37.1

Compare Source

Bug Fixes

  • Fixes an issue with webrtc-direct listeners where the short handshake queue dropped some connection requests. For more details see: #​3040
  • Fixes a race condition when multistream lazy negotiation was used with rust-libp2p or js-libp2p for write only streams. See https://github.com/libp2p/go-libp2p/issues/3038 for details

What's Changed

  • 0606295 refactor(libp2phttp): don't require specific port for the HTTP host example (#​3047)
  • ae0d78a fix: Defer resource usage cleanup until the very end (#​3042)
  • df02f4d chore: update go-multistream to v0.6.0 (#​3041)
  • 09ae179 fix: obsaddr: do not record observations over relayed conn (#​3043)
  • 2404f75 webrtc: handshake more connections in parallel (#​3040)
  • 994b69e fix: basichost: Use NegotiationTimeout as fallback timeout for NewStream (#​3020)

Full Changelog: libp2p/go-libp2p@v0.37.0...dont-delete/release-v0371

v0.37.0

Compare Source

Breaking Changes

  • The libp2p.MultiaddrResolver option now takes an interface rather than a
    specific pointer. This decouples the resolver from a specific implementation
    and also defines a better interface that is aware of bounds.
    • The swarm exports a new type ResolverFromMaDNS that implements this interface from a *madns.Resolver. The one line diff is essentially:
    -libp2p.MultiaddrResolver(rslv)
    +libp2p.MultiaddrResolver(swarm.ResolverFromMaDNS{Resolver: rslv})

🔦 Highlights

HTTP Peer ID Authentication (#​2854)

Authenticate a peer's identity over HTTP. This works on both libp2p stream backed HTTP transports and standard HTTP transports. There is also browser support in the js-libp2p module: https://github.com/libp2p/js-libp2p-http-fetch/tree/main.

See the spec for more details on how it works: https://github.com/libp2p/specs/blob/master/http/peer-id-auth.md

Experimental WithFxOption (#​2956)

A new libp2p Config option lets you add custom Fx options to the libp2p constructor. Use this to get access to and provide libp2p services.

For example, this allows you to easily get a reference to the ID Service of a libp2p Node. Refer to this test for a concrete code example: https://github.com/libp2p/go-libp2p/blob/c4c3a34545aab54b5b825a7adbd6a3db2c680afa/fx_options_test.go#L50-L60

In the future we'd like to expose the Fx options libp2p uses to construct itself so that users can better customize their libp2p nodes and integrate it seamlessly into their applications.

Changelog

From v0.36.5 to v0.37.0

  • feat: Add WithFxOption (#​2956)
  • Make BlackHoleState type public (#​2917)
  • connmgr: reduce log level for untagging untracked peers
  • feat(websocket): switch the underlying http server logger to use ipfs/go-log (#​2985)
  • fix(websocket): re-enable websocket transport test (#​2987)
  • relay: make only 1 reservation per peer (#​2974)
  • libp2phttp: HTTP Peer ID Authentication (#​2854)
  • chore: update quic-go to v0.48.1
  • Add backoff for updating local IP addresses on error (#​2999) Reporting credit to @​elecbug
  • fix: swarm: refactor address resolution (#​2990)
  • peerstore: limit number of non connected peers in addrbook (#​2971)
  • swarm: add a peer dial latency metric (#​2959)
  • autonat: fix interaction with autorelay (#​2967)

Full Changelog: libp2p/go-libp2p@v0.36.5...v0.37.0

New Contributors

v0.36.5

Compare Source

What's Changed

  • basichost: ensure no duplicates in Addrs output #​2980
  • autonatv2: recover from panics #​2992
  • chore: update go-multiaddr-dns to v0.4.0 #​2994

Note

In the previous release, we called out a bug in go1.23 unbuffered timers that deadlocked go-libp2p. This has been fixed in go1.23.2. You can safely update your go.mod's go version to go1.23 now.

Full Changelog: libp2p/go-libp2p@v0.36.4...v0.36.5

v0.36.4

Compare Source

Note

[!CAUTION]
Due tohttps://github.com/golang/go/issues/69312312 in unbuffered timers introduced in go1.23, libp2p deadlocks if the go version in your go.mod file is go1.23. To fix this, either use the environment variable GODEBUG="asynctimerchan=1", or downgrade the go version in your go.mod file.

What's Changed

Full Changelog: libp2p/go-libp2p@v0.36.3...v0.36.4

v0.36.3

Compare Source

What's Changed

New Contributors

Full Changelog: libp2p/go-libp2p@v0.36.2...v0.36.3

v0.36.2

Compare Source

What's Changed

Full Changelog: libp2p/go-libp2p@v0.36.1...v0.36.2

v0.36.1

Compare Source

⚠️ Breaking Changes ⚠️

  • Conn.NewStream, Network.NewStream and Host.NewStream timeout after 15 seconds, if no deadline is specified on the provided ctx.

🔦 Highlights

AutoNAT v2
  • This release ships with an autonat-v2 service. The service allows users to check their rechability for individual addresses.
  • For more details of the protocol, refer to the specs:
  • BasicHost doesn't use autonat-v2 right now for verifying reachability. Once there are enough autonat-v2 servers in the IPFS network, we will use autonat-v2 to infer the node's reachability, and deprecate autonat-v1.
  • AutoNAT v2 is disabled by default. To enable, use the EnableAutoNATV2 option.
WebRTC
WebRTC Direct transport is now Non-Experimental
  • /webrtc-direct is now enabled by default.
  • We will provide patch releases for any bug fixes or security vulnerabilities in WebRTC just like other transports.
Share listening port with QUIC
  • WebRTC Direct nodes, like WebTransport nodes can use the same port as the QUIC transport.
	h, err = libp2p.New(
		libp2p.ListenAddrStrings(
			"/ip4/0.0.0.0/udp/4242/quic-v1",
			"/ip4/0.0.0.0/udp/4242/webrtc-direct"),
	)
  • Servers now don't need to open an extra port in their firewalls. This also enables WebRTC Direct nodes to infer their publicly visible address on machines behind a NAT.

What's Changed

New Contributors

Full Changelog: libp2p/go-libp2p@v0.35.0...v0.36.1

v0.36.0

Compare Source

Retracted

What's Changed

New Contributors

Full Changelog: libp2p/go-libp2p@v0.35.0...v0.36.0

v0.35.5

Compare Source

Note

  • Due to a race condition in unbuffered timers introduced in go1.23, libp2p deadlocks if the go version in your go.mod file is go1.23. To fix this, either use the environment variable GODEBUG=asynctimerchan=1, or downgrade the go version in your go.mod file.

What's Changed

Full Changelog: libp2p/go-libp2p@v0.35.4...v0.35.5


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Nov 25, 2024

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 19 additional dependencies were updated

Details:

Package Change
github.com/klauspost/compress v1.17.9 -> v1.17.11
github.com/libp2p/go-flow-metrics v0.1.0 -> v0.2.0
github.com/multiformats/go-multistream v0.5.0 -> v0.6.0
github.com/pion/datachannel v1.5.8 -> v1.5.9
github.com/pion/ice/v2 v2.3.34 -> v2.3.36
github.com/pion/interceptor v0.1.29 -> v0.1.37
github.com/pion/rtp v1.8.8 -> v1.8.9
github.com/pion/sctp v1.8.20 -> v1.8.33
github.com/pion/webrtc/v3 v3.3.0 -> v3.3.4
github.com/prometheus/client_golang v1.19.1 -> v1.20.5
github.com/prometheus/common v0.55.0 -> v0.60.0
github.com/quic-go/qpack v0.4.0 -> v0.5.1
github.com/quic-go/quic-go v0.45.2 -> v0.48.1
github.com/quic-go/webtransport-go v0.8.0 -> v0.8.1-0.20241018022711-4ac2c9250e66
github.com/wlynxg/anet v0.0.3 -> v0.0.5
go.uber.org/dig v1.17.1 -> v1.18.0
go.uber.org/fx v1.22.1 -> v1.23.0
go.uber.org/mock v0.4.0 -> v0.5.0
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 -> v0.0.0-20241009180824-f66d83c29e7c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants