···7676- other implementations possible (io_uring, kqueue, etc.)
77777878the interface is concrete, not generic - same benefits as 0.15's explicit buffer approach.
7979+8080+## zat 0.16 migration prep
8181+8282+isolated HTTP I/O behind `HttpTransport` in `src/internal/transport.zig`. when 0.16 lands:
8383+8484+1. update `transport.zig` to accept `std.Io` parameter
8585+2. add `initWithIo()` constructors if needed
8686+3. all resolvers/clients automatically get the change
8787+8888+### downstream update points
8989+9090+projects importing zat that may need updates when 0.16 drops:
9191+9292+| project | files | notes |
9393+|---------|-------|-------|
9494+| leaflet-search | `tap.zig`, `extractor.zig` | uses zat for firehose sync |
9595+| music-atmosphere-feed | `posts.zig`, `api.zig`, `auth.zig`, `filter.zig` | uses zat for atproto integration |
9696+9797+these projects also have their own direct `std.http` usage that will need migration:
9898+9999+| project | files | I/O type |
100100+|---------|-------|----------|
101101+| leaflet-search | `embedder.zig`, `Client.zig`, `server.zig` | HTTP client |
102102+| music-atmosphere-feed | `server/http.zig` | HTTP server |
103103+| find-bufo-bot | `bsky.zig`, `main.zig`, `stats.zig` | HTTP client + server |
104104+| logfire-zig | `exporter.zig` | HTTP client |
105105+| prefect-server | uses zap framework | HTTP server (zap will need update) |