v0.95.0

n0-computer/irohv0.95.0Nov 4, 2025by github-actions[bot]

AI Summary

Release focused on error handling refactoring from snafu to n0-error system, with database upgrades for iroh-dns-server and protocol handler API changes.

Key Highlights

  • Error system converted from snafu to n0-error
  • Database upgrade for iroh-dns-server (redb v2 to v3)
  • Protocol handler changes (on_connecting removed, replaced with on_accepting)
  • New NA west default relay added
  • Connection::remote_id and Connection::alpn made infallible

Breaking Changes

  • All errors changed from snafu to n0-error
  • ConnectError::Connection fields changed
  • AcceptError::Connection, MissingRemoteEndpointId, NotAllowed, User fields changed
  • ProtocolHandler::on_connecting() removed - use on_accepting() instead
  • iroh::endpoint::IncomingFuture removed - use Accepting instead
  • ZeroRttAccepted replaced by explicit 0-RTT connection types
  • Connecting::into_0rtt now returns Result<OutgoingZeroRttConnection, Connecting>

Full Release Notes

## ⚠️ Breaking Changes

- `iroh-dns-server`
    - upgraded to redb version 3 - you much run with version 0.93 at least once to upgrade the database
- `iroh`
    - changed
        - All errors have changed from `snafu` errors to `n0-error` errors.
        - `ConnectError::Connection` - fields changed
        - `AcceptError::Connection` - fields changed
        - `AcceptError::MissingRemoteEndpointId` - fields changed
        - `AcceptError::NotAllowed` - fields changed
        - `AcceptError::User` - fields changed
        - `Connecting::into_0rtt` -> returns `Result<OutgoingZeroRttConnection, Connecting>`
    - `removed`
        - `ProtocolHandler::on_connecting()` removed - implement `on_accepting()` instead, which takes `Accepting` rather than `Connecting`
        - `DynProtocolHandler::on_connecting()` removed - implement `on_accepting()` instead
        - `iroh::endpoint::IncomingFuture` - use `Accepting` instead
        - `iroh::endpoint::ZeroRttAccepted` - replaced by explicit 0-RTT connection types

## ⛰️  Features

- *(iroh-relay)* Allow for extension of `RelayMap`s ([#3575](https://github.com/n0-computer/iroh/issues/3575)) - ([45e1f48](https://github.com/n0-computer/iroh/commit/45e1f4895f2cc4bb74ebd442f153f5f6c03058bb))
- Add new NA west default relay ([#3599](https://github.com/n0-computer/iroh/issues/3599)) - ([828789a](https://github.com/n0-computer/iroh/commit/828789af1f538781eebb8c40805043d1e70f75ea))
- Make `Connection::remote_id` and `Connection::alpn` infallible ([#3556](https://github.com/n0-computer/iroh/issues/3556)) - ([e2dc591](https://github.com/n0-computer/iroh/commit/e2dc59107e350d07b86b77ae678d2a76edb6f6b7))

## 🐛 Bug Fixes

- Remove "https" from NA west url ([#3600](https://github.com/n0-computer/iroh/issues/3600)) - ([c2bdbe2](https://github.com/n0-computer/iroh/commit/c2bdbe25f85dfb1180bc842996c3934519deaa62))
- Stop relay actor on endpoint close ([#3601](https://github.com/n0-computer/iroh/issues/3601)) - ([30c23e8](https://github.com/n0-computer/iroh/commit/30c23e8dbaa02d17ab57ba41f0aa5271b0a411dc))

## 🚜 Refactor

- [**breaking**] Convert from snafu to n0-error ([#3561](https://github.com/n0-computer/iroh/issues/3561)) - ([7b9c95b](https://github.com/n0-computer/iroh/commit/7b9c95b7a12415ded937a62858c72337d3e731a9))

## 📚 Documentation

- *(iroh)* Fix documentation on endpoint::Builder::empty ([#3592](https://github.com/n0-computer/iroh/issues/3592)) - ([71d5136](https://github.com/n0-computer/iroh/commit/71d5136962b6fb7b56c2ddb7789dfe9edaab7414))
- *(iroh)* Clarify ProtocolHandler::accept ([#3567](https://github.com/n0-computer/iroh/issues/3567)) - ([406bfde](https://github.com/n0-computer/iroh/commit/406bfde94c00f45037a9a98c808629ecb35e8b11))

## ⚙️ Miscellaneous Tasks

- *(iroh)* Update wasm-bindgen version to fix CI ([#3589](https://github.com/n0-computer/iroh/issues/3589)) - ([0f4c15c](https://github.com/n0-computer/iroh/commit/0f4c15cbcad1fac13b3b60aba825d975a8843e46))
- [**breaking**] Update redb to version 3 ([#3562](https://github.com/n0-computer/iroh/issues/3562)) - ([b057b91](https://github.com/n0-computer/iroh/commit/b057b91b26162b6e6aadac48eb82e6567acf7ef3))