Skip to content

Release notes

Eugene Lazutkin edited this page Aug 8, 2026 · 3 revisions

Release notes

1.0.0 — 2026-08-08

The initial release.

  • install(options) — the assembly: synchronous matcher-gated interception (default same-origin non-navigation GETs), serve order cache tier → bundle window → coalesced network, clients.claim on activate.
  • Shared cache tier: serve-first, 2xx-only writers, opt-in network store, pattern invalidation, x-io-no-cache bypass, Deno keys() feature-detection.
  • Cross-tab in-flight coalescing (one wire call per method+url+accept, clones per consumer).
  • Transparent bundle window on wire format v1 with total degradation to direct fetches (lone requests, bundler failures, omitted parts).
  • Failure containment throughout: a cache-tier read or write that throws (a QuotaExceededError is the ordinary case) is a miss and a no-op rather than a failed request, and a match outside the Matcher union matches nothing instead of being called. Only the network may fail a request.
  • The io:* message contract v1: hello/capabilities with client-wins library claims, invalidation with BroadcastChannel fan-out, version/upgrade flow, and the io:fetch transport with transferred bodies and navigation-surviving completion.
  • The transport negotiates its body shape per request: stream: true returns a transferred ReadableStream where the platform supports one (announced as the stream capability), and the buffered ArrayBuffer otherwise. Clients that never ask are unaffected, which is why the contract stays at v1.
  • Tested on Node, Bun, and Deno through injected scope/fetch/caches; Deno additionally exercises the real Cache API, and Bun — which cannot transfer streams — covers the buffered fallback.
  • Property-based race tests (fast-check via t.scheduler) over coalescing, invalidation exactness, and fetch resolution under arbitrary interleavings.
  • A real-browser e2e suite (npm run test:e2e): Chromium, the real double-meh-bundler, a real second HTTP hop, and the published double-meh driving the page half as a contract conformance check.

Clone this wiki locally