THE IROH JOURNAL / FIELD NOTES

All things iroh
& development.

Articles related to iroh use & development.

93 ARTICLESRESEARCH, RELEASES & THINGS WE'RE BUILDING

Announcing the iroh-blobs canary series

iroh-blobs 0.104: bug fixes and the start of the road to 1.0

↗

iroh 1.4.0 - Security updates and better local networking

Release of iroh v1.4.0

↗

Blinded address lookup

Iroh public keys are not (yet?) secrets.

↗

Iroh on tiny embedded devices

How to get mTLS encrypted QUIC connections even on tiny embedded devices

↗

iroh-blobs security fix

A bug in the iroh-blobs event mask allowed any peer to push blobs into a provider's store. Please update.

↗

Group your endpoints and deep dive into attributes

Organize your endpoints with named groups and custom attributes in iroh-services 2.0.

↗

Iroh global content discovery

How to discover content globally with iroh using BitTorrent mainline DHT.

↗

iroh 1.2.0 & 1.3.0 - Small features for more user control

Release of iroh v1.2.0 and v1.3.0

↗

Buzz: share spare compute and run open models together over p2p networks.

How Block is using Buzz, MeshLLM, and iroh to turn the computers in a community into shared infrastructure for AI agents.

↗

iroh on Raspberry Pi Pico 2 RP2350

Iroh currently does not support nostd, so you would have to fork not just iroh but our entire protocol ecosystem to do something actually useful... can we maybe just get std to work?

↗

Share relay servers to save money and heartache

The new Iroh Services Pro plan gives hobby projects an authenticated relay without the work or price of dedicated infrastructure.

↗

iroh 1.1.0 - Security fixes

Release of iroh v1.1.0

↗

Protect your relays

Managed relays are now authenticated by default, so the relay capacity you pay for is only ever used by your endpoints.

↗

iroh 1.0.3 - Steadier Connections

Release of iroh v1.0.3, alongside noq v1.1.0

↗

Mesh LLM: distributed AI computing on iroh

How Mesh LLM pools existing GPU resources across machines into a single OpenAI-compatible API, built on iroh.

↗

The road to iroh 1.0

↗

iroh 1.0.2 - `iroh-relay` Security Fix

Release of iroh v1.0.2

↗

An iroh powered smart fan

Putting iroh on a bare ESP32 to build a temperature-driven smart fan you can check on from anywhere.

↗

iroh 1.0.1 - Just Boring

Release of iroh v1.0.1

↗

Iroh language support

Announcing Swift, Kotlin, Python, and JavaScript bindings with first-party support for iroh.

↗

Iroh 1.0 - Dial Keys, not IPs

Iroh 1.0 is out. Now is the time to build.

↗

Address validation tokens - what are they good for anyway?

A closer look at QUIC NEW_TOKEN tokens, why they exist, and what they buy you in iroh and noq.

↗

iroh 1.0.0-rc.1 - The last one

Release of iroh v1.0.0-rc.1, the last release candidate before 1.0

↗

Iroh post-quantum key exchange

Iroh post-quantum key exchange

↗

iroh 1.0.0-rc.0 - The first release candidate

Release of iroh v1.0.0-rc.0

↗

iroh 0.98.0 - Getting back to traversing NATs

Release of iroh v0.98.0

↗

QUIC packet rejection in practice

Putting QUIC packet rejection to the test with a real iroh endpoint.

↗

iroh for payments

How Paycode used iroh to connect payment terminals to point of sale systems at highway toll booths, with no additional servers and full compliance.

↗

Running iroh on an ESP32

Running iroh on an ESP32 microcontroller.

↗

noq, noq, who's there?

Introducing noq: n0's QUIC implementation

↗

iroh 0.97.0 - Custom Transports & noq

Release of iroh v0.97.0

↗

What if your security camera was secure?

Iroh and Media over QUIC are changing the game for video streaming

↗

How QUIC rejects garbage packets

A look at how QUIC allows efficient rejection of invalid packets before they waste resources.

↗

iroh 0.96.0 - The QUIC Multipaths to 1.0

Release of iroh v0.96

↗

Use iroh with Tor for anonymous connections

We combine the privacy of Tor onion services with the performance of Iroh via a custom transport.

↗

iroh 0.95.0 - A New Relay, Error Handling, and Connection API Improvements

Release of iroh v0.95

↗

iroh 0.94.0 - The Endpoint Takeover

Release of iroh v0.94

↗

Hashing multiple blobs with BLAKE3

How to quickly hash multiple small blobs with BLAKE3

↗

iroh-blobs 0.95 - New features

Learn about the new features in the new blobs API

↗

iroh 0.93.0 - 🟢 iroh services

Release of iroh v0.93

↗

A DHT for iroh - Part 1, The Protocol

Let's write a DHT for iroh

↗

iroh 0.92.0 - mDNS improvements

Release of iroh v0.92.0

↗

Moving from STUN to QUIC Address Discovery

Moving STUN into QUIC

↗

Trying to get error backtraces in rust libraries right

Read about iroh's approach to error handling

↗

Tutorial: Message Framing with iroh

Walk through an example using message framing to create a protocol on iroh.

↗

iroh on QUIC Multipath

Why we're upgrading iroh's networking engine

↗

iroh 0.91.0 - Making relays use established standards 🎆

Release of iroh v0.91.0

↗

IRPC

A lightweight rpc crate for iroh protocols

↗

iroh-blobs 0.90 - New Request Types and Features

Learn about the new features in the new blobs API

↗

iroh-blobs v0.90 - The Upgrade Guide

Upgrade to the latest version of `iroh-blobs`

↗

iroh v0.90 - The Canary Series 🐥

Introducing the Canary Series of releases leading up to 1.0

↗

0-RTT

When to use and when not to use 0-RTT with iroh connections

↗

iroh v0.35 - Prepping for 1.0

Iroh 0.35 release

↗

The new BLAKE3 hazmat API

The new BLAKE3 hazmat API, or why we can retire our BLAKE3 fork

↗

A richer tags api

Tags — what they are and how to use them

↗

iroh v0.34 - Raw Public Keys in TLS

Iroh 0.34 release

↗

Blob store design challenges

It's just hashed data, what's so complex about a blob store anyway?

↗

iroh 0.33.0 - Browsers and Discovery and 0-RTT, oh my!

Iroh 0.33 release

↗

Consensus is Impossible

Impossibility proofs are neat!

↗

Update On FFI Bindings

We are pausing FFI releases until we figure out a better solution

↗

iroh 0.32.0 - Browsers Alpha, QAD, and n0-future

Iroh 0.32 release

↗

iroh 0.31.0 - Back At Fighting Fit

Iroh 0.31 release

↗

iroh 0.30.0 - Slimming Down

Iroh 0.30 release

↗

iroh 0.29 - net is the new iroh

Iroh 0.29 release

↗

Relay outage: A post-mortem

Post mortem of our first outage

↗

iroh 0.28.0 - Let them have crates

Iroh 0.28 release

↗

Iroh 1.0 Roadmap: The future will be connected directly

We are committing to releasing iroh 1.0 in the second half of 2025

↗

iroh 0.27.0 - Squashing Bugs and Taking Names

Iroh 0.27.0 release

↗

Lose your device, but keep your keys

FROST threshold signatures - or how to keep your private keys safe even if a device gets lost or compromised

↗

iroh 0.26.0 - Say Hello to Your Neighbors

Iroh 0.26.0 release

↗

Smaller is better

In the upcoming v0.26.0 release, We're doubling down on iroh's networking stack as “what iroh is”, describing everything else as a custom protocol

↗

iroh 0.25.0 - Custom Protocols For All!

Iroh 0.25.0 release

↗

iroh 0.24.0 - Upgrading to Quinn 11

Iroh 0.24.0 release

↗

iroh 0.23.0 - Welcoming Node.js to the family!

Iroh 0.23.0 release

↗

Closing a QUIC Connection

Closing a QUIC connection without losing any data, using the Quinn API.

↗

iroh 0.22.0 - Cleanup on aisle five

Iroh 0.22.0 release

↗

Async Rust Challenges in Iroh

Documenting some painful lessons we learned while writing iroh using async Rust

↗

iroh 0.21.0 - Fix, clean & polish

Iroh 0.21.0 release

↗

Iroh content discovery experiments

How to discover iroh nodes by node id, using the Mainline Distributed Hash Table (DHT)

↗

iroh 0.20.0 - More ways to connect

Iroh 0.20.0 release

↗

Iroh and DAGs

An experimental iroh extension for syncing directed acyclic graphs (DAGs)

↗

Iroh & the Web

Announcing our plans for bringing iroh to the browser

↗

iroh 0.19.0 - Make it your own

Iroh 0.19.0 release

↗

Healing Connections After Network Migration

Describes the process that iroh-net uses to heal a connection after one side has changed networks or IP addresses.

↗

iroh 0.18.0 - Small, but helpful

Iroh 0.18.0 release

↗

iroh 0.17.0 - Everything Is A Little Better

Iroh 0.17.0 release

↗

Why We Forked Quinn

Why performance issues in iroh led to a fork of Quinn.

↗

Iroh 0.16 - A Better Client!

Iroh 0.16 Release

↗

Dial by NodeID, no address required!

iroh-dns uses domain name servers to resolve dialing details, so you can dial any device by its node identifier

↗

Iroh 0.15.0 - Shut me down

Iroh 0.15.0 Release

↗

Iroh 0.14.0 - Dial the world

Iroh 0.14.0 Release

↗

Iroh global node discovery

How to discover iroh nodes by node id, using the Mainline Distributed Hash Table (DHT)

↗

A new direction for iroh

Thus far, Iroh has been built as an implementation of the InterPlanetary File System (IPFS) focused on interoperability with Kubo, the reference implementation of IPFS. In the near future Iroh will break interoperability with Kubo, with the goal of moving the IPFS project forward.

↗