Skip to content

Upstream iroh 1.1.0 / noq 1.2.0; experiments on released noq and the lannbot forks - #104

Merged
lannbot merged 1 commit into
mainfrom
upstream-iroh-1.1.0
Sep 6, 2026
Merged

Upstream iroh 1.1.0 / noq 1.2.0; experiments on released noq and the lannbot forks#104
lannbot merged 1 commit into
mainfrom
upstream-iroh-1.1.0

Conversation

@lannbot

@lannbot lannbot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Main workspace

  • noq-proto =1.1.0=1.2.0 (endpoint), iroh =1.0.3=1.1.0 (tools/iroh-peer), IROH_RELAY_VERSION 1.0.3 → 1.1.0 (scripts/setup.sh), plus the version citations in endpoint_impl.rs doc comments (the cited constants — CONNECT_TIMEOUT, PING_INTERVAL, PING_TIMEOUT — are unchanged at 1.1.0) and the README interop claim.
  • No API adaptation needed; rustls stays at 0.23.43. The wasm component's dependency graph changes by exactly one crate.

Upstream changes with a bearing on this endpoint:

  • noq#771 — per-path idle timer only after multipath is negotiated. This endpoint never negotiates multipath, so upstream peers used to run a 15s path-idle clock against us that the protocol never agreed to (masked by keep-alives, issue endpoint: idle connections die at ~30s (transport_config() sets no keep_alive_interval) #70). Latent hazard, now gone.
  • noq#782 — coalesced datagram tail for an unknown path no longer panics the decoder.
  • iroh#4473 — upstream stops sending the endpoint ID as SNI. We already send a fixed placeholder (core/src/tls.rs) and never read SNI server-side; interop unaffected either direction.
  • iroh#4455 — new relay Status::RateLimited, no protocol version bump; recv_datagram ignores Status frames.
  • iroh#4465CustomAddr serialization changed (marked breaking). Inert: nothing here parses upstream address records yet. Relevant when discovery lands.

Experiments

noq#773 (wasip2 support in noq-udp) is released in 1.2.0, so the three guests' noq [patch.crates-io] git pins are deleted. The remaining wasi patches (lann/iroh#1–3, lann/net-tools#1–2) are rebased onto v1.1.0 and netwatch-v0.19.3 (which iroh 1.1.0 requires) on the lannbot/iroh and lannbot/net-tools forks, branch polymorph-iroh, pinned by rev. The net-tools posix_minimal patch was re-targeted at 0.19.3's new netdev cfg alias as its own commit message anticipated; the iroh patches applied clean.

Same ruling everywhere it holds (noq family → released 1.2.0), three near-identical diffs.

Gates

  • just check, just build, just matrix (13/13 pairings, incl. both UDP interop directions against the 1.1.0 peer and relay) — pass.
  • cargo build --release in all three experiment guests — pass.
  • just iroh-relay-ws — runs end to end on the rebased stack: relay bootstrap, migration onto the data channel, echo RTT drop. The four relay_recv_channel closed teardown log lines are pre-existing (verified against the previous configuration).

Automerge is armed.

…d the lannbot forks

Main workspace: noq-proto =1.2.0 (the endpoint's QUIC core), iroh =1.1.0
(the interop peer) and the co-pinned iroh-relay 1.1.0 binary. No API
adaptation was needed. Upstream changes with a bearing on this endpoint:

- noq#771: the per-path idle timer is armed only once multipath is
  negotiated. This endpoint never negotiates multipath, so upstream peers
  used to run a 15s path-idle clock against us that the protocol never
  agreed to; keep-alives masked it.
- noq#782: a coalesced datagram tail for an unknown path no longer panics
  the decoder.
- iroh#4473: upstream stops sending the endpoint ID as SNI. This endpoint
  already sent a fixed placeholder and never read SNI server-side.
- iroh#4455: a new relay Status variant (RateLimited), no protocol version
  bump; this client ignores Status frames.
- iroh#4465: the serialized CustomAddr form changed. Nothing here parses
  upstream address records yet.

Experiments: noq#773 (wasip2 support in noq-udp) is released in 1.2.0, so
the noq git patches go. The remaining wasi patches (lann/iroh#1-3,
lann/net-tools#1-2) are rebased onto v1.1.0 and netwatch-v0.19.3 on the
lannbot/iroh and lannbot/net-tools forks, pinned by rev. All three guests
build; the relay-ws spike runs end to end (relay bootstrap, migration onto
the data channel).
@lannbot
lannbot enabled auto-merge September 6, 2026 21:37
@lannbot
lannbot merged commit ebcf51f into main Sep 6, 2026
1 check passed
@lannbot
lannbot deleted the upstream-iroh-1.1.0 branch September 6, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants