v0.19.0
marten-seemann
released this
19 Apr 12:12
·
3314 commits
to master
since this release
We're happy to announce to v0.19.0 release of go-libp2p.
🛠 BREAKING CHANGES
AutoRelay now discovers Circuit Relay v2 nodes. AutoRelays reads peers from a channel (provided by autorelay.WithPeerSource
), tests if those peers speak the relay v2 protocol and tries to obtain a reservation with these nodes.
By default, AutoRelay does not use Circuit Relay v1 nodes any more. If circuit v1 support is desired, the autorelay.WithCircuitV1Support
option can be used.
The mplex
stream multiplexer was removed from the default list of stream multiplexers. If you still need to support both yamux and mplex, you can manually enable it using the following libp2p.Option
:
libp2p.ChainOptions(
libp2p.Muxer("/yamux/1.0.0", yamux.DefaultTransport),
libp2p.Muxer("/mplex/6.7.0", mplex.DefaultTransport),
)
Changelog
- github.com/libp2p/go-libp2p:
- Close resource manager when host closes (#1343) (libp2p/go-libp2p#1343)
- fix flaky reconnect test (#1406) (libp2p/go-libp2p#1406)
- redirect to libp2p/specs for general libp2p ideas (#1388) (libp2p/go-libp2p#1388)
- make sure to not oversubscribe to relays (#1404) (libp2p/go-libp2p#1404)
- rewrite the reconnect test (#1399) (libp2p/go-libp2p#1399)
- don't try to reconnect to already connected relays (#1401) (libp2p/go-libp2p#1401)
- reduce flakiness of AutoRelay TestBackoff test (#1400) (libp2p/go-libp2p#1400)
- improve AutoRelay v1 handling (libp2p/go-libp2p#1396)
- remove note about gx from README (#1385) (libp2p/go-libp2p#1385)
- chore: update transport dependencies (#1387) (libp2p/go-libp2p#1387)
- use the vcs information from ReadBuildInfo in Go 1.18 (libp2p/go-libp2p#1381)
- chore: update go-libp2p-quic-transport to v0.17.0 (#1380) (libp2p/go-libp2p#1380)
- fix race condition in AutoRelay candidate handling (#1383) (libp2p/go-libp2p#1383)
- implement relay v2 discovery (libp2p/go-libp2p#1368)
- fix go vet error in proxy example (#1377) (libp2p/go-libp2p#1377)
- Resolve addresses when creating a new stream (#1342) (libp2p/go-libp2p#1342)
- remove mplex from the list of default muxers (#1344) (libp2p/go-libp2p#1344)
- refactor the holepunching code (libp2p/go-libp2p#1355)
- speed up the connmgr tests (#1354) (libp2p/go-libp2p#1354)
- update the examples to v0.18.0 (#1362) (libp2p/go-libp2p#1362)
- github.com/libp2p/go-libp2p-quic-transport (v0.16.1 -> v0.17.0):
- chore: update go-libp2p-testing to v0.9.0 (#268) (libp2p/go-libp2p-quic-transport#268)
- update quic-go to v0.27.0 (#264) (libp2p/go-libp2p-quic-transport#264)
- update interop matrix (#263) (libp2p/go-libp2p-quic-transport#263)
- chore: update quic-go to v0.26.0 (#262) (libp2p/go-libp2p-quic-transport#262)
- github.com/libp2p/go-libp2p-tls (v0.3.1 -> v0.4.0):
- use tls.Conn.HandshakeContext instead of tls.Conn.Handshake (#106) (libp2p/go-libp2p-tls#106)
- remove paragraph about Go modules from README (#104) (libp2p/go-libp2p-tls#104)
- migrate to standard Go tests, stop using Ginkgo (libp2p/go-libp2p-tls#105)
- chore: remove Codecov config (#103) (libp2p/go-libp2p-tls#103)
- github.com/lucas-clemente/quic-go (v0.25.0 -> v0.27.0):
- stop using the deprecated net.Error.Temporary, update golangci-lint to v1.45.2 (lucas-clemente/quic-go#3367)
- add support for serializing Extended CONNECT requests (#3360) (lucas-clemente/quic-go#3360)
- improve the error thrown when building with an unsupported Go version (lucas-clemente/quic-go#3364)
- remove nextdns from list of projects using quic-go (#3363) (lucas-clemente/quic-go#3363)
- rename the Session to Connection (lucas-clemente/quic-go#3361)
- respect the request context when dialing (lucas-clemente/quic-go#3359)
- update HTTP/3 Datagram to draft-ietf-masque-h3-datagram-07 (#3355) (lucas-clemente/quic-go#3355)
- add support for the Extended CONNECT method (#3357) (lucas-clemente/quic-go#3357)
- remove the SkipSchemeCheck RoundTripOpt (#3353) (lucas-clemente/quic-go#3353)
- remove parser logic for HTTP/3 DUPLICATE_PUSH frame (#3356) (lucas-clemente/quic-go#3356)
- improve code coverage of random number generator test (#3358) (lucas-clemente/quic-go#3358)
- advertise multiple listeners via Alt-Svc and improve perf of SetQuicHeaders (#3352) (lucas-clemente/quic-go#3352)
- avoid recursion when skipping unknown HTTP/3 frames (#3354) (lucas-clemente/quic-go#3354)
- update qtls packages (#3351) (lucas-clemente/quic-go#3351)
- Implement http3.Server.ServeListener (#3349) (lucas-clemente/quic-go#3349)
- update for Go 1.18 (lucas-clemente/quic-go#3345)
- don't print a receive buffer warning for closed connections (#3346) (lucas-clemente/quic-go#3346)
- move set DF implementation to separate files & avoid the need for OOBCapablePacketConn (#3334) (lucas-clemente/quic-go#3334)
- add env to disable the receive buffer warning (#3339) (lucas-clemente/quic-go#3339)
- fix typo (#3333) (lucas-clemente/quic-go#3333)
- update GitHub Actions to use Go 1.18rc1 (#3335) (lucas-clemente/quic-go#3335)
- sendQueue: ignore "datagram too large" error (#3328) (lucas-clemente/quic-go#3328)
- add OONI Probe to list of projects in README (#3324) (lucas-clemente/quic-go#3324)
- remove build status badges from README (#3325) (lucas-clemente/quic-go#3325)
- github.com/marten-seemann/qtls-go1-16 (v0.1.4 -> v0.1.5):
- gopherjs: add js-specific compat (#1) (marten-seemann/qtls-go1-16#1)
- github.com/marten-seemann/qtls-go1-17 (v0.1.0 -> v0.1.1):
- cpu: fix building for js (#2) (marten-seemann/qtls-go1-17#2)
- github.com/marten-seemann/qtls-go1-18 (v0.1.0-beta.1 -> v0.1.1):
- cpu: fix building for js (#2) (marten-seemann/qtls-go1-18#2)
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Marten Seemann | 123 | +44877/-11386 | 659 |
Artem Mikheev | 2 | +616/-120 | 5 |
Toby | 2 | +107/-86 | 11 |
Rachel Chen | 1 | +124/-57 | 15 |
Christian Stewart | 3 | +106/-60 | 13 |
Andrew Gillis | 2 | +61/-0 | 3 |
Arash Payan | 1 | +5/-0 | 1 |
Elena Frank | 1 | +2/-2 | 2 |
ignoramous | 1 | +0/-1 | 1 |