Skip to content

v0.5.1 - Connectivity Intensifies

Compare
Choose a tag to compare
@dignifiedquire dignifiedquire released this 18 Jul 11:40
· 899 commits to main since this release

First you have to find one another, before you can interact.

This release is all about finding and connecting with your peers. Before iroh could only connect with peers that were directly reachable, eg. static IP address or local LAN peers. Thanks to NATs and the various complications of IPv4 and IPv6 these are not that many machines in the world, and especially mobile devices are hard to discover.

So we are proud to present the first version of iroh with builtin NAT traversal, hole punching and automatic relaying when everything fails.

If you want to find out the details on how all of this works, header over to the [Iroh Hole Punching](https://www.notion.so/Iroh-Hole-Punching-b9a38cc228fb47328a73e71d10520418?pvs=21).

Of course that is not all, we have also fixed some pesky bugs, as well added some more features, like generic collections and pluggable authentication.

On a practical side, iroh is now split into multiple crates:

  • iroh - The CLI and main library entry point.
  • iroh-bytes - The core data transfer protocol, including resume.
  • iroh-net - Nat traversal, peer management and general networking tools.
  • iroh-metrics - Metrics collection using prometheus

This should open up more possibilities when integrating just the pieces you need from iroh into your app.

[Note: this ended up being 0.5.1 for iroh and iroh-net due to a publish issue with iroh-net@0.5.0]