All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.2 - 2026-01-31
- (clob) add status to ws OrderMessage (#219)
- add Serialize for MarketResponse and SimplifiedMarketResponse (#217)
- expose API credentials (#213)
- add dedicated types for trades function (#203)
- (rtds) add unsubscribe support with reference counting (#192)
- (Bridge) add status endpoint (#198)
- (ws) add TickSizeChange typed stream + unsubscribe (#195)
- (clob) serialize PriceHistoryRequest market as decimal token_id (#224)
- MarketResolved event (#212)
- (ws) tolerant batch parsing and forward-compatible message types (#200)
- (clob) propagate non-HTTP errors in create_or_derive_api_key (#193)
- (ws) add alias for matchtime field deserialization (#196)
- (cargo) bump alloy from 1.4.3 to 1.5.2 (#222)
- (cargo) bump uuid from 1.19.0 to 1.20.0 (#221)
- (gha) bump MarcoIeni/release-plz-action from 0.5.121 to 0.5.124 (#220)
- (cargo) bump rust_decimal_macros from 1.39.0 to 1.40.0 (#208)
- (cargo) bump rust_decimal from 1.39.0 to 1.40.0 (#206)
- (cargo) bump chrono from 0.4.42 to 0.4.43 (#209)
- (cargo) bump aws-sdk-kms from 1.97.0 to 1.98.0 (#207)
- (cargo) bump alloy from 1.4.0 to 1.4.3 (#205)
- (gha) bump MarcoIeni/release-plz-action from 0.5.120 to 0.5.121 (#204)
- (ws) use
rustlsinstead ofnative-tls(#194)
0.4.1 - 2026-01-14
- (clob) add last_trade_price field to OrderBookSummaryResponse (#174)
- (ws) prevent TOCTOU race in subscription unsubscribe (#190)
- (rtds) prevent race condition in subscription check (#191)
- (ws) preserve custom_feature_enabled flag on reconnect (#186)
- (clob) usage of ampersand before and without question mark (#189)
- (data) make Activity.condition_id optional (#173)
- (ws) eliminate double JSON parsing in parse_if_interested (#182)
- (clob/ws) use channel map for laziness instead of once_cell (#183)
- (cargo) add release profile optimizations (#180)
- (clob) optimize SignedOrder serialization (#181)
- (cargo) bump alloy from 1.3.0 to 1.4.0 (#178)
- (cargo) bump bon from 3.8.1 to 3.8.2 (#177)
- (cargo) bump serde_json from 1.0.148 to 1.0.149 (#179)
- (cargo) bump url from 2.5.7 to 2.5.8 (#176)
- (examples) update WebSocket examples to use tracing (#170)
- (examples) update RFQ examples to use tracing (#169)
- (examples) update CLOB examples to use tracing (#168)
0.4.0 - 2026-01-12
- (clob) add cache setter methods to prewarm market data (#153)
- (bridge) improve bridge type safety (#151)
- (gamma) convert neg_risk_market_id and neg_risk_request_id to B256 (#143)
- (gamma) convert question_id fields to B256 type (#142)
- (clob) clob typed b256 address (#139)
- (clob) add clob feature flag for optional CLOB compilation (#135)
- (tracing) add serde_path_to_error for detailed deserialization on errors (#140)
- (data) use typed Address and B256 for hex string fields, update data example (#132)
- (gamma) use typed Address and B256 for hex string fields (#126)
- (ctf) add CTF client/operations (#82)
- add Unknown(String) variant to all enums for forward compatibility (#124)
- add subscribe_last_trade_price websocket method (#121)
- support post-only orders (#115)
- (heartbeats) [breaking] add heartbeats (#113)
- (rfq) url path fixes (#162)
- (gamma) use repeated query params for array fields (#148)
- (rtds) serialize Chainlink filters as JSON string (#136) (#137)
- add missing makerRebatesFeeShareBps field to Market struct (#130)
- add MakerRebate enum option to ActivityType (#127)
- suppress unused variable warnings in tracing cfg blocks (#125)
- add Yield enum option to ActivityType (#122)
- (rtds) [breaking] well-type RTDS structs (#167)
- (gamma) [breaking] well-type structs (#166)
- (clob/rfq) well-type structs (#163)
- (data) well-type data types (#159)
- (gamma,rtds) add Builder to non_exhaustive structs (#160)
- (ctf) add Builder to non_exhaustive response structs (#161)
- (ws) [breaking] well-type ws structs (#156)
- add benchmarks for CLOB and WebSocket types/operations (#155)
- (clob) [breaking] well-type requests/responses with U256 (#150)
- update rustdocs (#134)
- (ws) extract WsError to shared ws module (#131)
- update license (#128)
- update builder method doc comment (#129)
0.3.3 - 2026-01-06
- (auth) auto derive funder address (#99)
- (rfq) add standalone RFQ API client (#76)
- (types) re-export commonly used external types for API ergonomics (#102)
- add missing cumulativeMarkets field to Event struct (#108)
- (cargo) bump reqwest from 0.12.28 to 0.13.1 (#103)
- (ws) common connection for clob ws and rtds (#97)
- (cargo) bump tokio from 1.48.0 to 1.49.0 (#104)
- (examples) improve approvals example with tracing (#101)
- (examples) improve bridge example with tracing (#100)
- (examples) improve rtds example with tracing and dynamic IDs (#94)
- (examples) improve gamma example with tracing and dynamic IDs (#93)
0.3.2 - 2026-01-04
- add unknown field warnings for API responses (#47)
- (ws) add custom feature message types and subscription support (#79)
- (ws) defer WebSocket connection until first subscription (#90)
- (types) improve type handling and API compatibility (#92)
- add serde aliases for API response field variants (#88)
- (data) add missing fields to Position and Holder types (#85)
- (gamma) add missing fields to response types (#87)
- (deser_warn) show full JSON values in unknown field warnings (#86)
- handle order_type field in OpenOrderResponse (#81)
- update README with new features and examples (#80)
0.3.1 - 2025-12-31
- (ws) add unsubscribe support with reference counting (#70)
- (auth) add secret and passphrase accessors to Credentials (#78)
- add RTDS (Real-Time Data Socket) client (#56)
- (clob) align API implementation with OpenAPI spec (#72)
0.3.0 - 2025-12-31
- (auth) add key() getter to Credentials (#69)
- add geographic restrictions check (#63)
- add bridge API client (#55)
- (gamma) use repeated query params for clob_token_ids (#65)
- correct data example required-features name (#68)
- (clob) allow market orders to supply price (#67)
- add CTF Exchange approval to approvals example (#45)
- [breaking] ws types (#52)
- consolidate request and query params (#64)
- [breaking] rescope data types and rename feature (#62)
- [breaking] rescope gamma types (#61)
- [breaking] scope clob types into request/response (#60)
- [breaking] WS cleanup (#58)
- [breaking] minor cleanup (#57)
0.2.1 - 2025-12-29
- use TryFrom for TickSize to avoid panic on unknown values (#43)
- (cargo) bump tracing from 0.1.41 to 0.1.44 (#49)
- (cargo) bump serde_json from 1.0.146 to 1.0.148 (#51)
- (cargo) bump alloy from 1.1.3 to 1.2.1 (#50)
- (cargo) bump reqwest from 0.12.27 to 0.12.28 (#48)
0.2.0 - 2025-12-27
- WebSocket client for real-time market and user data (#26)
- [breaking] change from
derive_buildertobon(#41)
0.1.2 - 2025-12-23
- add optional tracing instrumentation (#38)
- add gamma client (#31)
- support share-denominated market orders (#29)
- rescope clients with gamma feature (#37)
- Replacing
status: Stringto enum (#36) - (cargo) bump serde_json from 1.0.145 to 1.0.146 (#34)
- (cargo) bump reqwest from 0.12.26 to 0.12.27 (#33)
- (gha) bump dtolnay/rust-toolchain from 0b1efabc08b657293548b77fb76cc02d26091c7e to f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 (#32)
0.1.1 - 2025-12-17
- remove signer from Authenticated (#22)