libp2p / libp2p/go-libp2p

webtransport-go >v0.7 breaks compatibility with earlier versions

Open
#2,789 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
6.9k
Forks
1.3k
Avg merge
13d 21h
Merged PRs (30d)
1

Description

webtransport-go v0.7 introduced this breaking change:

> Before v0.7.0, the server (incorrectly) didn't advertise support the Extended CONNECT extension. With https://github.com/quic-go/quic-go/pull/4341, it now does. The client now checks for Extended CONNECT support, and aborts the handshake if the server doesn't support it. This means that v0.7.0 clients are now incompatible with pre-v0.7.0 servers.

from https://github.com/quic-go/webtransport-go/releases.

This means that by updating webtranport-go we will break compatibility with earlier versions of webtransport-go.

I think this is fine because the largest use case for webtransport is a browser client interacting with a webtransport server, and that won't change. A go-libp2p client connecting to a go-libp2p server should prefer quic over webtransport.

This is also probably fine because webtransport itself is experimental and still a draft. So there is an expectation that versions may not be compatible.

This issue is mostly for documentation, but if folks feel like I'm missing something, please let me know.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the webtransport-go v0.7 compatibility change and the linked release notes first. Update the appropriate project documentation to warn that v0.7 clients cannot connect to pre-v0.7.0 servers, then verify that the compatibility guidance is clear.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
documentation, networking
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.