Skip to content

v0.16.0

Compare
Choose a tag to compare
@marten-seemann marten-seemann released this 29 Nov 10:19
· 3766 commits to master since this release
3a71a6d

We're happy to announce go-libp2p v0.16.0. This is a big release, which adds support for the circuit v2 protocol, paving the way to decentralized hole punching.

Running a circuit v1 relay turned out to be very expensive, which is why only a few nodes could afford to act as a relay. Circuit v2 changes this dramatically: By introducing the concept of relay reservations (limiting the number of nodes connected to a relay at any given point), as well as connection limits (limiting the amount of data and the duration of relayed connections), every node on the network will be able to afford running the relay service.
When circuit v2 relay service is enabled (using the EnableRelayService option), AutoNAT enables the relay v2 service if the node is publicly reachable. Note that currently, AutoRelay does not yet automatically discover relay v2 nodes. This will be added in a future libp2p release very soon. In this release, it is possible to configure known relay servers using the StaticRelays configuration option.

Features

Breaking Changes

  • The context.Context in the host constructor (libp2p.New) was removed (#1190). Use Host.Close() to shut down a host.
  • Remove support for relays running the circuitv1 protocol.

Fixes

  • Fix non-ASCII mDNS peer names (#1222).

Changelog

Contributors

Contributor Commits Lines ± Files Changed
Marten Seemann 286 +85457/-19526 1382
vyzo 9 +6764/-190 107
Gus Eggert 13 +2267/-1113 73
Steven Allen 7 +63/-594 22
Randy Reddig 2 +187/-53 8
Aaron Riekenberg 4 +64/-52 6
Hector Sanjuan 2 +95/-0 3
Sudarshan Reddy 1 +9/-40 1
pymq 1 +32/-8 2
bt90 3 +30/-2 3
Audrius Butkevicius 1 +12/-1 1
muXxer 1 +3/-3 1
市川恭佑 (ebi) 1 +1/-3 1
Song Zhu 1 +2/-2 1
Mathis Engelbart 1 +1/-2 1
folbrich 1 +1/-1 1
George Xie 1 +1/-1 1