v30
handle rotation transparently, harden streams, fix review findings Rotation/truncation now always shows the new file: mid-stream via an SSE reset, on reconnect via a file identity check on cached offsets. Also: SSE heartbeat + client-side reconnect (no duplicate lines behind proxies), symlinked dir sources, stale-detection false positives, bounded line buffering, -b refuses to delete non-sockets, doc fixes.