v1.0.0-rc.0

elyxlz/voxtralv1.0.0-rc.0May 7, 2026by github-actions[bot]

AI Summary

This Release Candidate (RC) version introduces major architectural refactoring and breaking changes to support the upcoming 1.0.0 stable release, including API surface reductions and new path observation logic.

Key Highlights

  • Refactor `ConnectionInfo` to `WeakConnectionHandle`
  • Redesign path observation API
  • Add cache metrics to DNS server
  • Support auth tokens for relays
  • Add post quantum key exchange examples

Breaking Changes

  • Replace `Incoming::local_ip` with `Incoming::local_addr`
  • Remove `noq Written` reexport
  • Replace `ConnectionInfo` with `WeakConnectionHandle`
  • Make `Source` private and trim variants
  • Remove portmapper metrics from public API

New Features

  • Add cache metrics to dns-server
  • Add post quantum key exchange examples
  • Integration tests for embedding the relay
  • Support setting auth tokens for relays
  • Impl From<&[u8; 32]> for SecretKey

Full Release Notes

### โ›ฐ๏ธ  Features

- *(iroh)* [**breaking**] Replace Incoming::local_ip with Incoming::local_addr ([#4182](https://github.com/n0-computer/iroh/issues/4182)) - ([5dc7160](https://github.com/n0-computer/iroh/commit/5dc71602e6875444bec3db16641f3528ceb58638))
- *(iroh)* [**breaking**] Update QNT config defaults & update to latest noq main ([#4213](https://github.com/n0-computer/iroh/issues/4213)) - ([00f961b](https://github.com/n0-computer/iroh/commit/00f961bb00f14775feb2907c8712ca107c1c3684))
- *(iroh, iroh-relay)* [**breaking**] Support setting auth tokens for relays ([#4205](https://github.com/n0-computer/iroh/issues/4205)) - ([1dc6fe8](https://github.com/n0-computer/iroh/commit/1dc6fe837af1f8e0bd2360a7330632ddd2f7a0d0))
- *(iroh-base)* Impl From<&[u8; 32]> for SecretKey ([#4181](https://github.com/n0-computer/iroh/issues/4181)) - ([80dfb19](https://github.com/n0-computer/iroh/commit/80dfb1938371a3a3679b1dbcd7080e3773b4c74e))
- *(iroh-relay)* [**breaking**] Pass a ClientRequest to AccessConfig and let the client set query params ([#4207](https://github.com/n0-computer/iroh/issues/4207)) - ([7bee17b](https://github.com/n0-computer/iroh/commit/7bee17b4fb4a4d0d1feb9a1116749ef2393a1ae4))
- *(metrics)* Add cache metrics to dns-server ([#3800](https://github.com/n0-computer/iroh/issues/3800)) - ([eb67669](https://github.com/n0-computer/iroh/commit/eb67669ea64038d5230087d0156974a297d35e27))
- [**breaking**] Update to 1.0.0-rc.0 deps ([#4237](https://github.com/n0-computer/iroh/issues/4237)) - ([20350e9](https://github.com/n0-computer/iroh/commit/20350e9bf6f3dea8da37aa148d79a1d77bd3c856))

### ๐Ÿ› Bug Fixes

- *(iroh)* Don't abort connection attempts when an empty `EndpointAddr` is added concurrently ([#4177](https://github.com/n0-computer/iroh/issues/4177)) - ([a1fa579](https://github.com/n0-computer/iroh/commit/a1fa579039145de344f530848b01fda27aff0288))
- *(iroh)* [**breaking**] Remove noq Written reexport ([#4236](https://github.com/n0-computer/iroh/issues/4236)) - ([7d3e485](https://github.com/n0-computer/iroh/commit/7d3e4857ee134a259d7b668560f6303dea1def16))
- *(iroh-dns)* Document how to use iroh on Android and run tests in Android emulator ([#4183](https://github.com/n0-computer/iroh/issues/4183)) - ([54e4a29](https://github.com/n0-computer/iroh/commit/54e4a291d26f9e3d1e340927294a3c895af55ffe))
- Protect against division by zero in process_datagram ([#4178](https://github.com/n0-computer/iroh/issues/4178)) - ([db1b335](https://github.com/n0-computer/iroh/commit/db1b3351469291020efb892049eb30479117b7cc))

### ๐Ÿšœ Refactor

- *(iroh)* [**breaking**] Replace ConnectionInfo with WeakConnectionHandle ([#4189](https://github.com/n0-computer/iroh/issues/4189)) - ([9bfc8da](https://github.com/n0-computer/iroh/commit/9bfc8da3ca04cc19ce87670da0f7c49d40fce593))
- *(iroh)* [**breaking**] Make `Source` private and trim its variants ([#4227](https://github.com/n0-computer/iroh/issues/4227)) - ([927addf](https://github.com/n0-computer/iroh/commit/927addfdb3613804c66598e3c41c508aeec0c71d))
- *(iroh)* Express IPv6 ULA constants in hex ([#4225](https://github.com/n0-computer/iroh/issues/4225)) - ([cb8775c](https://github.com/n0-computer/iroh/commit/cb8775cbf6b6ad644ec8e9d449b135fcdbb46e1b))
- *(iroh)* Adapt for noq::Closed return type of Connection::closed ([#4229](https://github.com/n0-computer/iroh/issues/4229)) - ([217ec7c](https://github.com/n0-computer/iroh/commit/217ec7cc3b83f1b3d8de3f1cc3e0e8ec5e0ea824))
- *(iroh)* [**breaking**] Remove portmapper metrics from public API ([#4235](https://github.com/n0-computer/iroh/issues/4235)) - ([7955bea](https://github.com/n0-computer/iroh/commit/7955bea420a13ce2bf2c2f402deb6a701bacd46d))
- *(iroh)* Apply path status for path selection ([#4233](https://github.com/n0-computer/iroh/issues/4233)) - ([63ed351](https://github.com/n0-computer/iroh/commit/63ed3517066c74d52bd64d9ae9a02add22a016a5))
- *(iroh)* [**breaking**] Improve feature-gating for `unstable-custom-transports` ([#4228](https://github.com/n0-computer/iroh/issues/4228)) - ([f246242](https://github.com/n0-computer/iroh/commit/f246242ff1e6cc8cb865bfb5b8389b6f1ff0158f))
- *(iroh)* [**breaking**] Redesign path observation API ([#4188](https://github.com/n0-computer/iroh/issues/4188)) - ([3e82de5](https://github.com/n0-computer/iroh/commit/3e82de5088391fb00c7b645912861ebfc611ae34))
- *(iroh-dns-server)* [**breaking**] Reduce public API surface, improve docs, cleanup visibilities ([#4160](https://github.com/n0-computer/iroh/issues/4160)) - ([4ed44b7](https://github.com/n0-computer/iroh/commit/4ed44b7e7c9f0f0d0c420df99227dcc6e4d56850))
- *(iroh-relay)* [**breaking**] Do not depend on `tokio-rustls-acme` in public API ([#4166](https://github.com/n0-computer/iroh/issues/4166)) - ([5a984c6](https://github.com/n0-computer/iroh/commit/5a984c6ab4476c9c17ba1bd4d680b10b506e600d))
- *(iroh-relay)* Make MaybeTlsStream public again ([#4193](https://github.com/n0-computer/iroh/issues/4193)) - ([89ad5d8](https://github.com/n0-computer/iroh/commit/89ad5d89a22122ebc53d2166654d00062ee75b98))
- *(iroh-relay)* [**breaking**] Make `AccessConfig` non-exhaustive ([#4190](https://github.com/n0-computer/iroh/issues/4190)) - ([d636e54](https://github.com/n0-computer/iroh/commit/d636e54755622723e76ab461796cc7093a081b38))
- Prefer release assert for locations where a bounds check follows ([#4214](https://github.com/n0-computer/iroh/issues/4214)) - ([eb588ec](https://github.com/n0-computer/iroh/commit/eb588eccc876bc5b9dba5750d0bd0cc7b6261393))
- Prefer loop over zip ([#4215](https://github.com/n0-computer/iroh/issues/4215)) - ([c953d9b](https://github.com/n0-computer/iroh/commit/c953d9b3982aa08f517673ad7b717823cf248b13))
- [**breaking**] Mark more items as non-exhaustive ([#4226](https://github.com/n0-computer/iroh/issues/4226)) - ([eebb60f](https://github.com/n0-computer/iroh/commit/eebb60fef928d822a822adecdea092f2eaa00053))
- Remove obsolete fn transport_bias from endpoint builder. ([#4234](https://github.com/n0-computer/iroh/issues/4234)) - ([dd418df](https://github.com/n0-computer/iroh/commit/dd418df0920b6bf154869f63714453a7a23e3092))

### ๐Ÿ“š Documentation

- Add post quantum key exchange examples ([#4196](https://github.com/n0-computer/iroh/issues/4196)) - ([872d8ee](https://github.com/n0-computer/iroh/commit/872d8ee931f16708f0e8e32a80c9eaaf4127037f))

### ๐Ÿงช Testing

- *(iroh-relay)* Integration tests for embedding the relay ([#4206](https://github.com/n0-computer/iroh/issues/4206)) - ([88c9eed](https://github.com/n0-computer/iroh/commit/88c9eedd0fe08690e0d4baf9cbbab02d30b98a78))

### โš™๏ธ Miscellaneous Tasks

- *(ci)* Fix sccache for netsim ([#4176](https://github.com/n0-computer/iroh/issues/4176)) - ([4f22f1a](https://github.com/n0-computer/iroh/commit/4f22f1a53524a8239eba3d20c8d2d3d8a07da730))
- *(ci)* Fix musl/gnu build setup ([#4184](https://github.com/n0-computer/iroh/issues/4184)) - ([e95ac06](https://github.com/n0-computer/iroh/commit/e95ac068a3ffbcce18623ece739f4e7d952285b8))
- *(ci)* Make sccache fail gracefully ([#4208](https://github.com/n0-computer/iroh/issues/4208)) - ([a187130](https://github.com/n0-computer/iroh/commit/a1871300fc563202f38efe6d7ea85864d83c239f))
- *(ci)* Enforce external type allow-list in public API ([#4204](https://github.com/n0-computer/iroh/issues/4204)) - ([3e0c25f](https://github.com/n0-computer/iroh/commit/3e0c25f252e89a563a1d97f0f35b915b7c360010))
- *(ci)* Fix docker releases and musl linking ([#4230](https://github.com/n0-computer/iroh/issues/4230)) - ([5f578da](https://github.com/n0-computer/iroh/commit/5f578daac1f3c0a6149b4a83732aada7aecebc32))
- Fixup relative deps - ([1d0ff85](https://github.com/n0-computer/iroh/commit/1d0ff852aad08bc4157988c040df7793ffef4f26))

### Deps

- Pin pkcs8 and der ([#4197](https://github.com/n0-computer/iroh/issues/4197)) - ([36c5c6d](https://github.com/n0-computer/iroh/commit/36c5c6d1b7d96cbbb1373b1ee840d87062a19260))