THE IROH JOURNAL / FIELD NOTES
All things iroh
& development.
Articles related to iroh use & development.
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.