Releases: libp2p/go-libp2p
v0.23.4
What's Changed
This is a patch release that fixes 3 bugs:
- Programs may crash if we concurrently access a peer's connections in the Connection Manager: #1860
- Swarm would return addrs that are known to be undialable even though we filter these out: #1855
EnableAutoRelay
was tricky to setup properly and lead to a nil pointer dereference panic if you didn't do it correctly.
Full Changelog: v0.23.3...v0.23.4
v0.23.3
What's Changed
This release only contains one bugfix.
It resolves a regression introduced in v0.23.0
that caused application (Kubo v0.16.0
ref.) inability to connect to a WebSocket server (using either /ws
or /wss
) behind a reverse proxy.
The fix ensures that necessary HTTP Host header, that proxies rely on, is sent on /wss
dials.
Investigation and root cause of the regression is described in detail here: #1829 (comment)
Importantly: This only fixes the issue of missing HTTP Host headers for WebSocket Secure and not for regular, insecure WebSockets. For information on why, please see #1829 (comment) and #1830 deprecate insecure WebSockets (ws)
Bug Fixes
- websocket: set the HTTP host header in WSS (see #1834)
Full Changelog: v0.23.2...v0.23.3
v0.23.2
What's Changed
- webtransport: return error before wrapping opened / accepted streams by @marten-seemann in #1775
- chore: update webtransport-go to v0.1.1 by @marten-seemann in #1776
Full Changelog: v0.23.1...v0.23.2
v0.23.1
What's Changed
- websocket: fix nil pointer in tlsClientConf by @MarcoPolo in #1770
Full Changelog: v0.23.0...v0.23.1
v0.23.0
🔦 Highlights
WebTransport
go-libp2p now has experimental support for WebTransport, powered by webtransport-go. WebTransport is a brand-new transport protocol currently under development at the IETF and w3c, and already supported by Chrome. WebTransport allows browsers to establish an encrypted, stream-multiplexed connection (running on top of QUIC) to servers.
js-libp2p is currently working on a WebTransport client implementation: https://github.com/libp2p/js-libp2p-webtransport.
How to enable
Because support is still experimental, WebTransport has be explicitly enabled. When constructing a node, pass in the WebTransport transport, and configure a WebTransport listen address:
host, err := libp2p.New(
libp2p.DefaultTransports,
libp2p.Transport(webtransport.New),
libp2p.ListenAddrStrings("/ip4/0.0.0.0/udp/1234/quic/webtransport"),
)
Other
- It's now possible to disable reuseport for the QUIC transport (#1476). Note: If disabled, QUIC cannot be use for NAT hole punching.
- If no listen addresses are specified, a libp2p now listens on TCP and QUIC (both IPv4 and IPv6).
- Transports can now have a say in how a multiaddr is resolved: #1719. This allows transports to modify the multiaddr before the address is dialed. A transport can set the SNI field for TLS or decide to do its own domain name resolution.
- Yamux now regularly remeasures the RTT of the underlying connection. The RTT is used to auto-tune the size of the receive buffer.
- The QUIC and TCP transports now don't collect metrics, unless the
WithMetrics
option is passed to their constructor (QUIC change, TCP change).
Changelog
- github.com/libp2p/go-libp2p:
- release v0.23.0 (#1764) (libp2p/go-libp2p#1764)
- chore: update deps (#1767) (libp2p/go-libp2p#1767)
- noise: switch to proto2, use the new NoiseExtensions protobuf (libp2p/go-libp2p#1762)
- webtransport: add custom resolver to add SNI (#1761) (libp2p/go-libp2p#1761)
- swarm: skip dialing WebTransport addresses when we have QUIC addresses (#1756) (libp2p/go-libp2p#1756)
- webtransport: have the server send the certificates (#1757) (libp2p/go-libp2p#1757)
- chore: Update .github/workflows/stale.yml [skip ci]
- noise: make it possible for the server to send early data (#1750) (libp2p/go-libp2p#1750)
- swarm: fix selection of transport for dialing (#1653) (libp2p/go-libp2p#1653)
- autorelay: Add a context.Context to WithPeerSource callback (#1736) (libp2p/go-libp2p#1736)
- webtransport: add and check the ?type=noise URL parameter (#1749) (libp2p/go-libp2p#1749)
- webtransport: disable HTTP origin check (#1752) (libp2p/go-libp2p#1752)
- noise: don't fail handshake when early data is received without handler (#1746) (libp2p/go-libp2p#1746)
- Add Resolver interface to transport (#1719) (libp2p/go-libp2p#1719)
- use new /libp2p/go-libp2p/core pkg (#1745) (libp2p/go-libp2p#1745)
- yamux: pass constructors for peer resource scopes to session constructor (#1739) (libp2p/go-libp2p#1739)
- tcp: add an option to enable metrics (disabled by default) (#1734) (libp2p/go-libp2p#1734)
- move go-libp2p-webtransport to p2p/transport/webtransport (libp2p/go-libp2p#1737)
- autorelay: fix race condition in TestBackoff (#1731) (libp2p/go-libp2p#1731)
- rcmgr: increase default connection memory limit to 32 MB (#1740) (libp2p/go-libp2p#1740)
- quic: update quic-go to v0.29.0 (#1723) (libp2p/go-libp2p#1723)
- noise: implement an API to send and receive early data (libp2p/go-libp2p#1728)
- identify: make the protocol version configurable (#1724) (libp2p/go-libp2p#1724)
- ci: add cross-version interop (#1725) (libp2p/go-libp2p#1725)
- Fix threshold calculation (#1722) (libp2p/go-libp2p#1722)
- simplify the release checklist (#1691) (libp2p/go-libp2p#1691)
- connmgr: use clock interface (#1720) (libp2p/go-libp2p#1720)
- quic: increase the buffer size used for encoding qlogs (#1715) (libp2p/go-libp2p#1715)
- quic: add a WithMetrics option (#1716) (libp2p/go-libp2p#1716)
- add default listen addresses for QUIC (#1615) (libp2p/go-libp2p#1615)
- feat: inject DNS resolver (#1607) (libp2p/go-libp2p#1607)
- connmgr: prefer peers with no streams when closing connections (#1675) (libp2p/go-libp2p#1675)
- quic: add DisableReuseport option (#1476) (libp2p/go-libp2p#1476)
- github.com/ipfs/go-cid (v0.2.0 -> v0.3.2):
- chore: release v0.3.2
- Revert "fix: bring back, but deprecate CodecToStr and Codecs"
- chore: release v0.2.1
- fix: bring back, but deprecate CodecToStr and Codecs
- update .github/workflows/go-check.yml
- update .github/workflows/go-test.yml
- run gofmt -s
- bump go.mod to Go 1.18 and run go fix
- chore: release v0.3.0
- fix: return nil Bytes() if the Cid in undef
- chore: Update .github/workflows/stale.yml [skip ci]
- Add MustParse (ipfs/go-cid#139)
- Update .github/workflows/stale.yml
- Add .github/workflows/stale.yml
- github.com/ipfs/go-datastore (v0.5.1 -> v0.6.0):
- Release v0.6.0 (#194) (ipfs/go-datastore#194)
- chore: Update .github/workflows/stale.yml [skip ci]
- Update .github/workflows/stale.yml
- feat: add Features + datastore scoping
- Add .github/workflows/stale.yml
- chore: Fix comment typo (#191) (ipfs/go-datastore#191)
- github.com/libp2p/go-libp2p-testing (v0.11.0 -> v0.12.0):
- release v0.12.0 (#67) (libp2p/go-libp2p-testing#67)
- chore: update to go-libp2p v0.22.0 (#66) (libp2p/go-libp2p-testing#66)
- remove the resource manager mocks (#65) (libp2p/go-libp2p-testing#65)
- github.com/libp2p/go-yamux/v4 (null -> v4.0.0):
- release v4.0.0 (#101) (libp2p/go-yamux#101)
- github.com/lucas-clemente/quic-go (v0.28.1 -> v0.29.0):
- add a logging.NullTracer and logging.NullConnectionTracer (lucas-clemente/quic-go#3512)
- add support for providing a custom Connection ID generator via Config (#3452) (lucas-clemente/quic-go#3452)
- fix typo in README
- fix datagram support detection (#3511) (lucas-clemente/quic-go#3511)
- use a single Go routine to send copies of CONNECTION_CLOSE packets (lucas-clemente/quic-go#3514)
- add YoMo to list of projects in README (#3513) (lucas-clemente/quic-go#3513)
- http3: fix listening on both QUIC and TCP (#3465) (lucas-clemente/quic-go#3465)
- Disable anti-amplification limit by address validation token (#3326) (lucas-clemente/quic-go#3326)
- fix typo in README
- implement a new API to let servers control client address verification (lucas-clemente/quic-go#3501)
- use a generic streams map for incoming streams (lucas-clemente/quic-go#3489)
- fix unreachable code after log.Fatal in fuzzing corpus generator (#3496) (lucas-clemente/quic-go#3496)
- use generic Min and Max functions (lucas-clemente/quic-go#3483)
- add QPACK (RFC 9204) to the list of supported RFCs (#3485) (lucas-clemente/quic-go#3485)
- add a function to distinguish between long and short header packets (#3498) ([lucas-clem...
v0.22.0
🔦 Highlights
go-libp2p is a mono-repo now
This release finishes our long-term effort of consolidating repositories (#1556), turning go-libp2p into a mono-repo. In this release, we've moved the last 4 remaining repositories here:
- https://github.com/libp2p/go-libp2p-resource-manager
- https://github.com/libp2p/go-libp2p-peerstore
- https://github.com/libp2p/go-eventbus
- https://github.com/libp2p/go-libp2p-core
As with our last consolidation release (v0.20.0), this means that some import paths might have changed. The recommended way of updating is the following:
- Run
go get -u ./...
. This will pull in updated dependencies, including updates for all the repositories listed above. - Run
staticcheck ./...
. All repositories listed above were deprecated, andstaticcheck
will generate errors when they are imported.
Other noteworthy changes
- When no
Identity
is passed tolibp2p.New
, we generate a private key for you. We now generate an Ed25519 key instead of a RSA key (#1576). - AutoRelay now actively polls for new candidates, instead of expecting the application to continuously deliver new candidates (#1569).
Changelog
- github.com/libp2p/go-libp2p:
- release v0.22.0 (libp2p/go-libp2p#1688)
- fix: don't prefer local ports from other addresses when dialing (#1673) (libp2p/go-libp2p#1673)
- crypto: add better support for alternative backends (#1686) (libp2p/go-libp2p#1686)
- crypto/secp256k1: Remove btcsuite intermediary. (#1689) (libp2p/go-libp2p#1689)
- Update resource manager README (#1684) (libp2p/go-libp2p#1684)
- move go-libp2p-core here (libp2p/go-libp2p#1683)
- rcmgr: make scaling changes more intuitive (#1685) (libp2p/go-libp2p#1685)
- move go-eventbus here (libp2p/go-libp2p#1681)
- basichost: remove usage of MultistreamServerMatcher in test (#1680) (libp2p/go-libp2p#1680)
- move go-libp2p-resource-manager to p2p/host/resource-manager (libp2p/go-libp2p#1677)
- chore: preallocate slices with known final size (#1679) (libp2p/go-libp2p#1679)
- autorelay: fix flaky TestMaxAge (#1676) (libp2p/go-libp2p#1676)
- move go-libp2p-peerstore to p2p/host/peerstore (libp2p/go-libp2p#1667)
- examples: remove ipfs components from echo (#1672) (libp2p/go-libp2p#1672)
- chore: update libp2p to v0.21 in examples (#1674) (libp2p/go-libp2p#1674)
- change the default key type to Ed25519 (#1576) (libp2p/go-libp2p#1576)
- autorelay: poll for new candidates when needed (libp2p/go-libp2p#1587)
- examples: fix unresponsive pubsub chat example (#1652) (libp2p/go-libp2p#1652)
- routed: respect force direct dial context (#1665) (libp2p/go-libp2p#1665)
- pstoremanager: fix flaky TestClose (#1649) (libp2p/go-libp2p#1649)
- Allow adding prologue to noise connections (#1663) (libp2p/go-libp2p#1663)
- connmgr: add nowatchdog go build tag (#1666) (libp2p/go-libp2p#1666)
- mdns: don't discover ourselves (#1661) (libp2p/go-libp2p#1661)
- Support generating custom x509 certificates (#1481) (libp2p/go-libp2p#1481)
- ci: add testground ping interop workflow (#1625) (libp2p/go-libp2p#1625)
- github.com/libp2p/go-flow-metrics (v0.0.3 -> v0.1.0):
- introduce an API to set a mock clock (#20) (libp2p/go-flow-metrics#20)
- chore: skip slow tests when short testing is specified (libp2p/go-flow-metrics#16)
- Merge branch 'ci/go-1.13'
- github.com/libp2p/go-openssl (v0.0.7 -> v0.1.0):
- release v0.1.0 (#31) (libp2p/go-openssl#31)
- Fix build with OpenSSL 3.0 (#25) (libp2p/go-openssl#25)
- Add openssl.DialTimeout(network, addr, timeout, ctx, flags) call (libp2p/go-openssl#26)
- Add Ctx.SetMinProtoVersion and Ctx.SetMaxProtoVersion wrappers (libp2p/go-openssl#27)
- fix: unsafe pointer passing (libp2p/go-openssl#18)
- Update test RSA cert (libp2p/go-openssl#15)
- Fix tests (libp2p/go-openssl#16)
- Address
staticcheck
issues (libp2p/go-openssl#14) - Enabled PEM files with CRLF line endings to be used (#10) (libp2p/go-openssl#11)
- github.com/libp2p/zeroconf/v2 (v2.1.1 -> v2.2.0):
- Fix windows libp2p (#29) (libp2p/zeroconf#29)
- Fix compatibility with some IoT devices using avahi 0.8-rc1 (#27) (libp2p/zeroconf#27)
- Add TTL server option (#23) (libp2p/zeroconf#23)
- github.com/lucas-clemente/quic-go (v0.28.0 -> v0.28.1):
- update supported RFCs in README (#3456) (lucas-clemente/quic-go#3456)
- http3: ignore context after response when using DontCloseRequestStream (#3473) (lucas-clemente/quic-go#3473)
- github.com/multiformats/go-multihash (v0.2.0 -> v0.2.1):
- feat: adding tests and finish variable sized functions
- feat: add support for variable length hash functions
- adding blake3 tests and fixing an incorrect error message. (#158) (multiformats/go-multihash#158)
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Marten Seemann | 153 | +46888/-13331 | 978 |
Raúl Kripalani | 118 | +23120/-4920 | 428 |
vyzo | 144 | +10129/-3665 | 230 |
Marco Munizaga | 71 | +6395/-2735 | 111 |
Steven Allen | 101 | +2548/-2839 | 213 |
Yusef Napora | 6 | +4968/-203 | 48 |
Cole Brown | 57 | +2169/-1338 | 95 |
Raúl Kripalani | 2 | +1000/-889 | 18 |
Jeromy | 38 | +1165/-672 | 167 |
Łukasz Magiera | 27 | +1313/-501 | 55 |
Juan Batiz-Benet | 2 | +1531/-9 | 21 |
Aarsh Shah | 24 | +377/-105 | 34 |
Masih H. Derkani | 1 | +196/-212 | 20 |
adam | 4 | +235/-49 | 9 |
Jakub Sztandera | 9 | +203/-73 | 13 |
Peter Argue | 1 | +166/-36 | 3 |
Vibhav Pant | 4 | +186/-12 | 7 |
Adrian Lanzafame | 3 | +180/-16 | 5 |
Oleg Jukovec | 3 | +180/-14 | 9 |
Lars Gierth | 5 | +151/-41 | 25 |
dignifiedquire | 3 | +122/-33 | 6 |
Gus Eggert | 4 | +75/-64 | 11 |
Claudia Richoux | 1 | +74/-55 | 4 |
Chinmay Kousik | 1 | +121/-4 | 6 |
Whyrusleeping | 2 | +120/-0 | 6 |
wzp | 2 | +86/-3 | 2 |
cpuchip | 1 | +65/-6 | 2 |
Roman Proskuryakov | 2 | +69/-0 | 2 |
Jorropo | 3 | +56/-11 | 8 |
Arceliar | 2 | +36/-28 | 2 |
Dave Collins | 1 | +28/-34 | 6 |
Christian Stewart | 1 | +37/-23 | 5 |
Maxim Merzhanov | 1 | +29/-24 | 1 |
Richard Ramos | 1 | +51/-0 | 2 |
galargh | 3 | +37/-11 | 4 |
Didrik Nordström | 1 | +35/-6 | 1 |
Vasco Santos | 1 | +20/-20 | 7 |
Jesse Bouwman | 1 | +19/-21 | 1 |
MGMCN | 1 | +9/-24 | 2 |
Brian Meek | 1 | +14/-17 | 4 |
Mars Zuo | 1 | +7/-18 | 1 |
c r | 1 | +11/-6 | 3 |
Cory Schwartz | 1 | +0/-17 | 1 |
Laurent Senta | 1 | +16/-0 | 1 |
Ian Davis | 2 | +14/-2 | 3 |
Piotr Galar | 4 | +7/-6 | 4 |
Matt Joiner | 2 | +10/-3 | 2 |
Dmitry Yu Okunev | 1 | +5/-7 | 5 |
corverroos | 1 | +7/-4 | 2 |
Marcin Rataj | 1 | +4/-7 | 1 |
Ignacio Hagopian | 2 | +7/-2 | 2 |
Julien Muret | 1 | +4/-4 | 2 |
Eclésio Junior | 1 | +8/-0 | 1 |
Stephan Eberle | 1 | +4/-3 | 1 |
muXxer | 1 | +3/-3 | 1 |
Sergey | 1 | +1/-3 | 1 |
Jun10ng | 2 | +2/-2 | 2 |
Jorik Schellekens | 1 | +2/-2 | 1 |
Eli Wang | 1 | +2/-2 | 1 |
Andreas Linde | 1 | +4/-0 | 1 |
whyrusleeping | 1 | +2/-1 | 1 |
star | 1 | +0/-2 | 1 |
bigs | 1 | +1/-1 | 1 |
Tarun Bansal | 1 | +1/-1 | 1 |
Mikerah | 1 | +1/-1 | 1 |
Mike Goelzer | 1 | +2/-0 | 1 |
Max Inden | 1 | +1/-1 | 1 |
Leo Balduf | 1 | +1/-1 | 1 |
Kevin Mai-Husan Chia | 1 | +1/-1 | 1 |
John B Nelson | 1 | +1/-1 | 1 |
Alex Stokes | 1 | +1/-1 | 1 |
v0.21.0
🔦 Highlights
Resource Management
- Default resource management config limits will now autoscale depending on the machine size.
- You can now specify an allowlisted set of multiaddrs that can still connect to you even if you've reached your normal limits (still limited by the allowlist limits).
- Resource manager now exposes opencensus metrics and provides a default grafana dashboard.
Swarm Notifications are now synchronous
If your protocol depended on being given notifications in an async context and taking its time processing that, you will slow down your whole go-libp2p application. See #1562 for more details. This only matters if you implemented a network.Notifiee
and registered to receive notifications on swarm network events.
Canonical Logs
- go-libp2p now logs a small sample of connection events so you can get a feel of the system. Guide for how to hook this into fail2ban coming soon.
What's Changed
- swarm: only dial a single transport in TestDialWorkerLoopBasic by @marten-seemann in #1526
- move resource manager integration tests to p2p/test/ by @marten-seemann in #1561
- fix: mkreleaselog exclude autogenerated files by @Jorropo in #1567
- remove workspace and packages section from README by @marten-seemann in #1563
- identify: fix flaky test by @MarcoPolo in #1568
- chore: update examples to go-libp2p v0.20.0 by @marten-seemann in #1557
- swarm: speed up the TestDialWorkerLoopConcurrentFailureStress test by @marten-seemann in #1573
- connmgr: Add sanity check to test by @MarcoPolo in #1570
- chore: log autorelay start failure error by @Stebalien in #1583
- tls: fix flaky TestInvalidCerts on Windows by @marten-seemann in #1560
- identify: fix flaky TestIdentifyDeltaOnProtocolChange (again) by @MarcoPolo in #1582
- basichost: fix flaky TestSignedPeerRecordWithNoListenAddrs by @marten-seemann in #1559
- swarm: send notifications synchronously by @marten-seemann in #1562
- pstoremanager: fix test timeout by @MarcoPolo in #1588
- autonat: fix flaky TestAutoNATPrivate by @MarcoPolo in #1581
- identify: Fix flaky tests by @MarcoPolo in #1555
- swarm: add ListenClose by @birros in #1586
- Added perPeerRateLimit env config by @millken in #1580
- fix natManager to close natManager.nat by @watjurk in #1468
- feat: allow dialing wss peers using DNS multiaddrs by @aschmahmann in #1592
- remove legacy mDNS implementation by @marten-seemann in #1192
- muxer: expose func to create MuxedConn from backing Conn by @paralin in #1609
- chore: update github.com/multiformats/go-multistream to v0.3.2 by @MarcoPolo in #1610
- tcp: unexport TcpTransport.Upgrader by @marten-seemann in #1596
- use multiaddr ipcidr to parse multiaddr filters by @marten-seemann in #1606
- logging: Add canonical log for misbehaving peers by @MarcoPolo in #1600
- chore: stop using the deprecated mux.MuxedConn by @marten-seemann in #1614
- chore: use the new multiaddr.Contains function by @marten-seemann in #1618
- chore: update github.com/multiformats/go-multistream to v0.3.3 by @MarcoPolo in #1621
- ping: fix flaky test by @marten-seemann in #1617
- fix: deny connections to peers in the right place by @Stebalien in #1627
- swarm: fix logging of accepted connections by @marten-seemann in #1629
- move go-libp2p-circuit here by @marten-seemann in #1626
- Add canonical peer status logs by @MarcoPolo in #1624
- Pass endpoint information to resource manager's OpenConnection by @MarcoPolo in #1633
- chore: update deps by @marten-seemann in #1634
- docs: point to SetDefaultServiceLimits in ResourceManager option by @marten-seemann in #1636
- rcmgr: use autoscaling limits by @marten-seemann in #1637
- fix: return the best acceptable conn in NewStream by @Stebalien in #1604
- Release v0.21.0 RC by @MarcoPolo in #1638
- routedhost: fix decoding of relay peer ID by @marten-seemann in #1644
- chore: update core dep by @MarcoPolo in #1641
- swarm: mark dialing WebTransport addresses as expensive by @marten-seemann in #1650
- chore: remove duplicate clock dep by @Stebalien in #1654
- chore: update go-multihash to remove blake2b-simd dep by @Stebalien in #1656
- feat: switch noise to use minio's SHA256 implementation by @Stebalien in #1657
- ping: optimize random number generation by @marten-seemann in #1658
- Release v0.21.0 by @MarcoPolo in #1648
New Contributors
- @Jorropo made their first contribution in #1567
- @birros made their first contribution in #1586
- @millken made their first contribution in #1580
- @paralin made their first contribution in #1609
Full Changelog: v0.20.0...v0.21.0
More information here: #1514
v0.21.0-rc
What's Changed
Lots of resource management improvements and various bug fixes.
- swarm: only dial a single transport in TestDialWorkerLoopBasic by @marten-seemann in #1526
- move resource manager integration tests to p2p/test/ by @marten-seemann in #1561
- fix: mkreleaselog exclude autogenerated files by @Jorropo in #1567
- remove workspace and packages section from README by @marten-seemann in #1563
- identify: fix flaky test by @MarcoPolo in #1568
- chore: update examples to go-libp2p v0.20.0 by @marten-seemann in #1557
- swarm: speed up the TestDialWorkerLoopConcurrentFailureStress test by @marten-seemann in #1573
- connmgr: Add sanity check to test by @MarcoPolo in #1570
- chore: log autorelay start failure error by @Stebalien in #1583
- tls: fix flaky TestInvalidCerts on Windows by @marten-seemann in #1560
- identify: fix flaky TestIdentifyDeltaOnProtocolChange (again) by @MarcoPolo in #1582
- basichost: fix flaky TestSignedPeerRecordWithNoListenAddrs by @marten-seemann in #1559
- swarm: send notifications synchronously by @marten-seemann in #1562
- pstoremanager: fix test timeout by @MarcoPolo in #1588
- autonat: fix flaky TestAutoNATPrivate by @MarcoPolo in #1581
- identify: Fix flaky tests by @MarcoPolo in #1555
- swarm: add ListenClose by @birros in #1586
- Added perPeerRateLimit env config by @millken in #1580
- fix natManager to close natManager.nat by @watjurk in #1468
- feat: allow dialing wss peers using DNS multiaddrs by @aschmahmann in #1592
- remove legacy mDNS implementation by @marten-seemann in #1192
- muxer: expose func to create MuxedConn from backing Conn by @paralin in #1609
- chore: update github.com/multiformats/go-multistream to v0.3.2 by @MarcoPolo in #1610
- tcp: unexport TcpTransport.Upgrader by @marten-seemann in #1596
- use multiaddr ipcidr to parse multiaddr filters by @marten-seemann in #1606
- logging: Add canonical log for misbehaving peers by @MarcoPolo in #1600
- chore: stop using the deprecated mux.MuxedConn by @marten-seemann in #1614
- chore: use the new multiaddr.Contains function by @marten-seemann in #1618
- chore: update github.com/multiformats/go-multistream to v0.3.3 by @MarcoPolo in #1621
- ping: fix flaky test by @marten-seemann in #1617
- fix: deny connections to peers in the right place by @Stebalien in #1627
- swarm: fix logging of accepted connections by @marten-seemann in #1629
- move go-libp2p-circuit here by @marten-seemann in #1626
- Add canonical peer status logs by @MarcoPolo in #1624
- Pass endpoint information to resource manager's OpenConnection by @MarcoPolo in #1633
- chore: update deps by @marten-seemann in #1634
- docs: point to SetDefaultServiceLimits in ResourceManager option by @marten-seemann in #1636
- rcmgr: use autoscaling limits by @marten-seemann in #1637
- fix: return the best acceptable conn in NewStream by @Stebalien in #1604
- Release v0.21.0 RC by @MarcoPolo in #1638
New Contributors
- @Jorropo made their first contribution in #1567
- @birros made their first contribution in #1586
- @millken made their first contribution in #1580
- @paralin made their first contribution in #1609
Full Changelog: v0.20.0...v0.21.0-rc
v0.20.3
This release fixes a bug in multistream select
What's Changed
- Release 0.20.3 by @MarcoPolo in #1623
Full Changelog: v0.20.2...v0.20.3
v0.20.2
This release fixes a bug in multistream and in WSS dialing.
Changelog
- release v0.20.2 by @marten-seemann in #1612
Full Changelog: v0.20.1...v0.20.2