Skip to content

Releases: libp2p/go-libp2p

v0.18.0-rc1

18 Jan 14:09
a7333ea
Compare
Choose a tag to compare
v0.18.0-rc1 Pre-release
Pre-release

The (pre-) release adds support for the libp2p resource manager. See #1260 and libp2p/go-libp2p-core#229 for the discussion and https://github.com/libp2p/go-libp2p-resource-manager for the implementation.

What's Changed

New Contributors

Full Changelog: v0.17.0...v0.18.0-rc1

v0.17.0

14 Dec 10:17
bfee9f5
Compare
Choose a tag to compare

Changelog

Contributors

Contributor Commits Lines ± Files Changed
Marten Seemann 51 +3168/-1546 140
Steven Allen 4 +88/-17 4
Richard Ramos 1 +51/-0 2
Manfred Touron 1 +21/-2 2
Peter Rabbitson 1 +15/-2 1
Jakub Sztandera 2 +11/-2 2
alliswell 1 +0/-2 1
Hector Sanjuan 1 +1/-1 1

v0.16.0

29 Nov 10:19
3a71a6d
Compare
Choose a tag to compare

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

Read more

v0.15.1

27 Sep 21:20
Compare
Choose a tag to compare

v0.15.0

09 Sep 22:09
Compare
Choose a tag to compare

We're happy to announce go-libp2p v0.15.0. This release adds a new mDNS implementation, deprecating our old (and buggy) one.
This release also removes a lot of deprecated interfaces, functions, methods and variables.

Changelog

Read more

v0.14.4

17 Jul 07:39
5d3b015
Compare
Choose a tag to compare

This release updates go-tcp-transport, which fixes an unbounded state growth caused by the metrics tracer in case Prometheus was not running.

Changelog

Contributors

Contributor Commits Lines ± Files Changed
Marten Seemann 5 +105/-79 10
Steven Allen 2 +21/-5 2
Lasse Johnsen 1 +4/-4 2
snyh 1 +5/-2 1

v0.14.3

24 Jun 02:33
8ec1eec
Compare
Choose a tag to compare

This release updates go-tcp-transport to v0.2.3, which collects TCP metrics from the kernel and exposes them via Prometheus.

Changelog

Contributors

Contributor Commits Lines ± Files Changed
Marten Seemann 19 +1885/-300 39
Eric Myhre 17 +637/-553 48
web3-bot 15 +387/-122 23
Steven Allen 1 +16/-6 1
aarshkshah1992 1 +9/-1 1
Aaron Bieber 1 +6/-2 1

Release v0.14.2

07 Jun 19:13
779acf9
Compare
Choose a tag to compare

This is an optional bug-fix release fixing a bug in the mock-network testing framework. This bug did not affect libp2p itself.

Bug: Identifying a connection would sometimes fail because identify would run before both peers "knew" about the connection.

Release v0.14.1

31 May 21:13
v0.14.1
f0d89c2
Compare
Choose a tag to compare

This release fixes a spec-breaking change to yamux (libp2p/go-libp2p-yamux#36) that could reliably lead to random stream resets.

The bug was introduced in go-libp2p 0.14.0.

Release v0.14.0

11 May 02:18
v0.14.0
035edd3
Compare
Choose a tag to compare

We're happy to announce go-libp2p 0.14.0. This release introduces a few long awaited features, fixes a few bugs, and includes progress towards NAT hole punching.

Custom DNS Resolvers

You can now pass a custom DNS resolver through the MultiaddrResolver option. This can be used to add support for DoH, custom TLDs (e.g., .eth), etc.

TCP Simultaneous Open

Adds initial support for TCP Simultaneous Open. If two peers open a TCP connection to each other at the same time using the same set of ports, they'll end up with a single TCP connection. Previously, go-libp2p would treat this as an error and disconnect. Now the connection succeeds. In the next libp2p release, this will be used to enable hole-punching for NAT traversal.

Improved Stream Multiplexer (Yamux) Performance

Yamux now uses variable sized receive windows to improve performance on high-latency, high-bandwidth connections.

Optimized Noise Read Throughput

The Noise security transport now buffers reads, reducing syscalls and significantly improving throughput.

Changelog

Read more