1.5.3 (2026-05-18)
- config: update validation error message domain → domains (a7383d2)
1.5.2 (2026-05-14)
- config: preserve defaults when partial TOML sections are present (0714ed1)
- desync: sort segment plans before slicing (f92bac7)
- nix: update vendorHash for new go modules (daaa803)
- packet,socks5: fix BPF load missing in non-Ethernet path and bind timeout handling (2354354)
- packet: restrict sniffer TTL updates to registered destinations (9e2dc90)
- packet: suppress duplicate ttl sniff logs when nhops is unchanged (5d68874)
- socks5: correct BIND handler implementation (bbc45d8)
- socks5: drain accept channel on context cancellation to prevent fd leak (82d58e7)
- tun: remove host route for gateway on Darwin (e0cfa04)
- tun: return error on non-numeric port in connToDst (9b7c847)
1.5.1 (2026-05-05)
- release: drop bogus mips64 hardfloat suffix from archive names (e6acdcf)
1.5.0 (2026-05-04)
- config: eager-resolve policy overrides at load time (fc4cafd)
- config: pretty-print rules in trace logs via per-type MarshalJSON (c16a9c5)
- config: summarize match domains/addrs and segments as "N items" (0908cd5)
- server: register UDP destinations with sniffer for fake-packet TTL (4c2fb3b)
- config: reset rule https.skip when not explicitly set (6715b21)
- matcher: resolve duplicate-domain rules by priority (894b6ae)
- matcher: tighten conflict error format to avoid escaped quotes (b5e82df)
- tui: keep TUI alive on startup errors so user can read them (956eb9c)
- tui: preserve log line color across wrapped continuations (22bac0b)
- tui: switch log wrap from word-wrap to hardwrap (041cf52)
- tui: wrap log lines to viewport width (2b76cde)