[go: nahoru, domu]

Skip to content

Releases: libp2p/go-libp2p

v0.36.2

16 Aug 15:11
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.36.1...v0.36.2

v0.36.1

06 Aug 13:32
Compare
Choose a tag to compare

⚠️ 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: v0.35.0...v0.36.1

v0.36.0

05 Aug 17:27
61507e5
Compare
Choose a tag to compare

Retracted

What's Changed

New Contributors

Full Changelog: v0.35.0...v0.36.0

v0.35.4

18 Jul 17:09
Compare
Choose a tag to compare

What's Changed

  • basichost: reset stream if SetProtocol fails #2875

Full Changelog: v0.35.3...v0.35.4

v0.35.3

15 Jul 16:48
Compare
Choose a tag to compare

What's Changed

  • Fix a case where transient streams were not properly reset #2869

Full Changelog: v0.35.2...v0.35.3

v0.35.2

04 Jul 19:03
604f3ff
Compare
Choose a tag to compare

What's Changed

  • release v0.35.2
  • webtransport: close underlying h3 connection (#2862)
  • peerstore: don't intern protocols (#2860)
  • chore: Bump gorilla/websocket to 1.5.3
  • chore: Bump fx to v1.22.1 (#2857)
  • PR Comments
  • Add a transport level test to ensure we close conns after rejecting them by the rcmgr
  • Close quic conns when wrapping conn fails
  • pstoremanager: fix connectedness check

Full Changelog: v0.35.0...v0.35.2

v0.35.1

13 Jun 17:10
Compare
Choose a tag to compare

What's Changed

  • identify: Don't filter addr if remote is neither public nor private (#2820)
  • identify: fix bug in observed address handling (#2825)
  • identify: add test for observed address handling (#2828)
  • libp2phttp: workaround for ResponseWriter's CloseNotifier (#2821)
  • circuitv2: improve voucher validation (#2826)
  • webrtc: fix ufrag prefix for dialing (#2832)

Full Changelog: v0.35.0...v0.35.1

v0.35.0

24 May 20:46
f52cec1
Compare
Choose a tag to compare

⚠️ Breaking Changes ⚠️

  • Resource Manager: ConnLimitPerCIDR is now called ConnLimitPerSubnet. The field previously named BitMask is now called PrefixLength. Apologies for the churn, but the old names were vague and confusing.

🔦 Highlights

  • Resource Manager: Renames ConnLimitPerCIDR to ConnLimitPerSubnet
  • Resource Manager: Able to provide connection limits for specific IP address blocks.
    • By default we new allow unlimited connections from localhost. Should help fix tests that broke with the previous behavior of limiting to only 8 connections per IP address.

What's Changed

  • rcmgr: Support specific network prefix in conn limiter by @MarcoPolo in #2807

Full Changelog: v0.34.1...v0.35.0

v0.34.1

23 May 18:37
879faab
Compare
Choose a tag to compare

Refer to the v0.34.0 release notes for breaking changes in v0.34

What's Changed

  • rcmgr: Backwards compatibility if you wrap default impl by @MarcoPolo in #2805
  • config: fix "Insecure-security" constructor by @sukunrt in #2810

Full Changelog: v0.34.0...v0.34.1

v0.34.0

20 May 17:23
1e2adf3
Compare
Choose a tag to compare

⚠️ Breaking Changes ⚠️

  1. Transient Connections are now called Limited Connections. The prior terminology was confusing to many, and conflicted with the transient definition in the resource manager. The term actually referred to a connection that was relayed and limited in some aspect (either data or time).
  2. libp2phttp: The well-known resource for libp2p protocols has changed. See the discussion thread for context. This means that new clients will not be able to reach the well-known endpoint automatically on old servers, and new servers won't respond to the old well-known endpoint to old clients. If you do not fully control the deployment of this, you should set EnableCompatibilityWithLegacyWellKnownEndpoint in libp2phttp.Host to true to enable backwards compatibility. This is not the default behavior because libp2phttp is still experimental and things are generally permitted to break. In this case supporting backwards compatibility was simple enough and we generally don't like breaking users even on an experimental feature.
  3. ResourceManager: This probably only affects 0.01% of use cases. The resource manager is now IP aware. Meaning it will set limits for how many connections it tracks per IP address or IP Address range (CIDR subnet). Look at ‎WithLimitPeersPerCIDR‎ for how to configure it. Almost all users will not need to touch this. If you're tests are suddenly breaking, this is might be why

🔦 Highlights

WebRTC Direct

  • We've significantly improved support for webrtc-direct transport with multiple security and performance fixes.
  • Based on the experience of webrtc-direct on v0.34 we intend to make it non experimental in v0.35

Transient Connections are now called Limited Connections

  • Connections to peers over relayed or other limited connections, previously called transient are now called limited throughout the code. Limited is more descriptive of the connection's behavior and it avoids conflict with Resource Manager's Transient scope.
  • For Connections, the Transient connection state has been renamed to Limited. This is a breaking change and you'll have to replace uses of conn.Stat().Transient with conn.Stat().Limited
  • Network context functions like network.WithUseTransient are deprecated, use their limited alternatives like network.WithUseLimited.

Limited Connectedness state

  • Peers connected to the host via relayed or any other limited connection now report their connectivity state as Limited.
  • This state is also reflected in EvtPeerConnectednessChanged event. Consumers only interested in peers connected over Unlimited connections can ignore events with Limited Connectedness. NOTE: This changes the behavior of the Connected Connectedness state. Previously it included all limited connections and now it doesn't. To keep existing behavior in your code you can replace checks connectedness == network.Connected with connectedness != network.NotConnected

What's Changed

New Contributors

Full Changelog: v0.33.0...v0.34.0