Skip to content

v2.8.2

Choose a tag to compare

@wboayue wboayue released this 12 Feb 07:27
· 581 commits to main since this release
be6f744

What's New

Integration test suite (#400)

Added ~80 integration tests covering the full public API (sync + async) against a live IB Gateway.

  • Tests organized in integration/ workspace with shared ibapi-test helper crate
  • Token-bucket rate limiter and RAII client ID pool for parallel-safe execution
  • Serial test groups for APIs that don't support concurrent requests

Bug Fixes

Fix async client deadlock (#400)

Split async TcpStream into separate read/write halves to prevent deadlocks when concurrent tasks contend for the single socket mutex. Replaced polling-based shutdown loop with tokio::Notify to avoid cancelling read_exact mid-read, which could corrupt the TCP stream.

// Before: single mutex could deadlock when reading and writing concurrently
pub(crate) socket: Mutex<TcpStream>,

// After: independent locks for read and write
pub(crate) reader: Mutex<OwnedReadHalf>,
pub(crate) writer: Mutex<OwnedWriteHalf>,