v0.5.2
fix: add bounded timeout to TCP close to prevent stale socket stalls
- wait_closed() now has 5 second timeout
- Falls back to transport.abort() if timeout expires
- Prevents indefinite hangs during hub stop/disconnect
Full Changelog: v0.5.1...v0.5.2