CHANGELOG.md.
This page summarizes recent releases and breaking changes for SDK users.
0.2.6 — 2026-04-24
Breaking
- Polymarket
Market.idis now thecondition_idhex string (e.g.0x311d0c4b…), not the numeric REST id. Callers that need the numeric id should readMarket.native_numeric_idinstead.
0.2.5 — 2026-04-23
Breaking
WsUpdate::Snapshot.market_idandDelta.market_idcarry the parent condition ID on Polymarket (not the CLOB token). Consumers keying bymarket_idexpecting a token should switch to the newasset_idfield.- Kalshi
fetch_marketscursor format changed. Old 0.2.3 cursors are rejected; restart pagination after upgrading.
Added
- New
WsUpdate::Clearvariant withInvalidationReasonfor per-market book invalidation on the same stream asSnapshot/Delta. - Reconnect parity across all exchanges.
Fixed
- Kalshi
fetch_marketsrewritten on/markets+/historical/markets.
0.2.0 — 2026-04-22
Breaking
- WebSocket surface rewritten. Per-token
orderbook_stream(token_id)andactivity_stream(token_id)are gone. Consumers now readws.updates()(multiplexedWsUpdate) andws.session_events()(connection-levelSessionEvent). - Both stream methods are take-once — calling either twice returns
None(Rust) or raises (Python/TS). WsUpdate::Rawremoved. Untyped escape-hatch variant retired.- Timestamps unified to
u64millis on the entire WS surface. - Python WS variants are real classes (
Snapshot,Delta,Trade,Fill,Connected,Reconnected,Lagged,BookInvalidated,SessionError) — not dicts.matchandisinstancework directly. tokio::sync::broadcastreplaced withasync-channelplus explicitLagged+BookInvalidatedsignaling.