diff --git a/src/app/blog/iroh-1-0-3/page.mdx b/src/app/blog/iroh-1-0-3/page.mdx new file mode 100644 index 00000000..633b0b8b --- /dev/null +++ b/src/app/blog/iroh-1-0-3/page.mdx @@ -0,0 +1,60 @@ +import { BlogPostLayout } from '@/components/BlogPostLayout' +import { MotionCanvas } from '@/components/MotionCanvas' + +export const post = { + draft: false, + author: 'ramfox', + date: '2026-07-21', + title: 'iroh 1.0.3 - Steadier Connections', + description: 'Release of iroh v1.0.3, alongside noq v1.1.0', +} + +export const metadata = { + title: post.title, + description: post.description, + openGraph: { + title: post.title, + description: post.description, + images: [{ + url: `/api/og?title=Blog&subtitle=${post.title}`, + width: 1200, + height: 630, + alt: post.title, + type: 'image/png', + }], + type: 'article' + } +} + +export default (props) => + +Welcome to a new release of `iroh`, a modular networking stack in Rust, for building direct connections between devices. + +We've shipped iroh 1.0.3 together with [noq 1.1.0](https://github.com/n0-computer/noq/releases/tag/noq-v1.1.0) to give you a cleaner, smoother connection experience. Say "goodbye" to some pesky panics and "hello" to better error messaging. + +## Connections hold up better under real-world conditions + +This release closes up a handful of corner cases in noq: path validation is timed more consistently when a new path opens, better handling of received data referring to abandoned paths, and a connection-accounting bug that could undercount active connections is fixed. Packet coalescing during the handshake is also more correct now, which matters most on networks that don't behave nicely. + +Specifically, if you were seeing the following panics, they have been fixed! + +- `panicked at noq-1.0.1/src/endpoint.rs:648:17: attempt to subtract with overflow` +- `panicked at noq-proto-1.0.1/src/connection/packet_builder.rs:159:9: assertion failed: max_size >= min_size` + +## Fewer confusing errors, less noise + +A couple of small changes make failures easier to reason about. Connecting with an empty ALPN now gives you a clear error instead of a panic. Logs are quieter in a couple of places. Small stuff, but it adds up to a better experience when looking through logs to debug. + +## A win for us because of open source + +On top of the work we did to improve noq, we've also merged some extremely helpful upstream commits that were implemented by the folks working on [quinn](https://github.com/quinn-rs/quinn). Thank you! + +## Better defaults out of the box + +The `n0` preset now includes an HTTPS-based pkarr resolver. This means that we now, by default, have a fallback if our normal DNS-based resolver fails. + +## What's next? + +We expect the next few releases to keep this rhythm: happy maintenance releases every few weeks, with small fixes for corner cases and invisible improvements. As always, the full details are in the changelogs for [iroh](https://github.com/n0-computer/iroh/releases/tag/v1.0.3) and [noq](https://github.com/n0-computer/noq/releases/tag/noq-v1.1.0). + +See you at the next release, and keep [filing](https://github.com/n0-computer/iroh/issues) those bugs!