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

v0.36 #2778

Closed
2 tasks done
MarcoPolo opened this issue Apr 22, 2024 · 1 comment
Closed
2 tasks done

v0.36 #2778

MarcoPolo opened this issue Apr 22, 2024 · 1 comment

Comments

@MarcoPolo
Copy link
Collaborator

MarcoPolo commented Apr 22, 2024

🗺 What's left for release

⚠️ 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.

Changelog

< changelog generated by scripts/mkreleaselog >

✅ Release Checklist

  • Stage 0 - Finishing Touches
    • Go through relevant libp2p repos looking for unreleased changes that should make it into the release. If you find any, cut releases.
    • Run go get -u ./... to see if there are any out-of-date deps that look important. If there are, bubble them. Try to avoid directly updating indirect deps in go-libp2p's go.mod when possible.
  • Stage 1 - Release
    • Publish the release through the GitHub UI, adding the release notes. Some users rely on this to receive notifications of new releases.
    • Announce the release on the discuss.libp2p.io.
  • Stage 2 - Update Upstream
  • Make required changes to the release process.

Tasks

@MarcoPolo MarcoPolo pinned this issue Apr 22, 2024
@achingbrain
Copy link
Member

Very excited for #2657! 👏 👏 👏

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

No branches or pull requests

3 participants