✨ New Features
network/packetrelay — New flow-based PacketRelay API (#618)
Replaces the callback-based PacketProxy with a push-pull design: ReceivePackets blocks in the
caller's goroutine, eliminating boilerplate background goroutines. Includes PacketListenerRelay
(adapts any transport.PacketListener) and TimeoutPacketRelay (RFC 4787 §4.3 compliant idle-timeout
decorator).
network/dnsintercept — New InterceptDNSPacketRelay (#618)
Routes UDP DNS to a dedicated resolver via short-lived per-query associations; passes other traffic
to a default relay.
network/lwip2transport — ConfigureDeviceWithRelay (#618)
Wires the lwIP stack directly to any PacketRelay.
🔄 Deprecations
- network.PacketProxy / PacketProxyHandler — use network/packetrelay. Bridge adapter:
NewPacketProxyFromPacketRelay. - lwip2transport.ConfigureDevice — use ConfigureDeviceWithRelay.