Skip to content

Commit 4006200

Browse files
committed
ver: bump workspace version to 0.11.0
1 parent d7c5ca1 commit 4006200

File tree

4 files changed

+111
-37
lines changed

4 files changed

+111
-37
lines changed

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
## [0.11.0] - 2026-03-05
2+
3+
### 🚀 Features
4+
5+
- *(clob)* Add RFQ namespace for request-for-quote trading
6+
- *(clob)* Add rewards namespace for liquidity reward tracking
7+
- *(clob)* Add auth namespace for API key management
8+
- *(clob)* Add batch order operations and single order lookup
9+
- *(clob)* Add batch pricing endpoints for books, prices, midpoints, spreads, and last trades
10+
- *(clob)* Add single pricing, live activity, calculate price, and server time endpoints
11+
- *(clob)* Add heartbeat, notifications, order scoring, and ban status endpoints
12+
- *(clob)* Add simplified/sampling market lists and builder trades endpoint
13+
- *(clob)* Add `ListClobTrades` request builder with filter methods
14+
- *(gamma)* Add missing endpoints and query params across all namespaces
15+
- *(gamma)* Add public search endpoint for profiles, events, and tags
16+
- *(gamma)* Complete `UserResponse` with profile, bio, and badge fields
17+
- *(data)* Add trader leaderboard endpoint and move `TimePeriod` to types
18+
19+
### 🐛 Bug Fixes
20+
21+
- *(clob)* Fix 5 critical deserialization crashes against live API
22+
- *(clob)* Add missing fields to `OpenOrder`, `OrderResponse`, and `Trade` types
23+
- *(clob)* Add missing fields to `OrderBook` type
24+
- *(gamma)* Correct 6 serde renames and expand `SeriesInfo` to match live API
25+
- *(gamma)* Align SDK types with real Polymarket API responses
26+
- *(data)* Add missing `verified` field to `Holder` type
27+
- *(core)* Replace silent epoch fallback with explicit panic in `current_timestamp`
28+
- *(cli)* Use `floor_char_boundary` for safe UTF-8 string truncation
29+
30+
### 🚜 Refactor
31+
32+
- *(clob)* Make gamma dependency optional behind `gamma` feature flag
33+
- *(clob)* Extract WebSocket subscription validation helper
34+
- *(clob)* Deduplicate EIP-712 order conversion and digest computation
35+
- *(core)* Simplify rate limiter config with `endpoint_limit` helper
36+
- *(relay)* Extract retry helper, named constants, and module-level types
37+
38+
### 🧪 Tests
39+
40+
- *(clob)* Add 73 new tests: WebSocket message types, utils, error, mock API (retry, errors, order creation), rejection and edge cases
41+
- *(gamma)* Add mock tests for open() inversion, volume serde renames, and events namespace
42+
- *(data)* Add 12 mock HTTP tests bootstrapping polyoxide-data coverage
43+
- *(core)* Fix retry mock strictness and add 401/403/408 error tests
44+
- *(cli)* Add multibyte and emoji edge case tests for truncate
45+
- Add mockito HTTP mock tests for core, gamma, and clob
46+
47+
### 📚 Documentation
48+
49+
- Add docstrings across workspace, complete relay crate coverage
50+
- Fix incorrect API examples and update project documentation
51+
52+
### ⚙️ Build
53+
54+
- Add mockito workspace dev-dependency for HTTP mock tests
55+
- Move futures-util from workspace deps to per-crate
56+
- Specify per-crate tokio features instead of workspace-wide
57+
58+
### 💅 Style
59+
60+
- Apply rustfmt to gamma and data
61+
162
## [0.10.0] - 2026-03-01
263

364
### ⚠️ Breaking Changes

CLAUDE.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@ polyoxide-core (shared: auth, HTTP client, errors, macros)
6161

6262
**Builder pattern** — All clients use builders: `ClobBuilder::new()`, `Clob::builder(private_key, credentials)`, `Gamma::builder()`, `DataApi::builder()`, `RelayClient::default_builder()`, `Polymarket::builder(account)`.
6363

64-
**API namespaces** — Clients organize endpoints into namespaces: `clob.markets()`, `clob.orders()`, `clob.account_api()`, `clob.health()`, `gamma.markets()`, `gamma.events()`, `gamma.search()`, `data.user(addr)`, `data.trades()`, `data.leaderboard()`. Example: `gamma.markets().list().open(true).send().await?`, `data.user(addr).list_positions().send().await?`.
64+
**API namespaces** — Clients organize endpoints into namespaces:
65+
- CLOB: `clob.markets()`, `clob.orders()`, `clob.account_api()`, `clob.health()`, `clob.auth()`, `clob.rewards()`, `clob.rfq()`, `clob.notifications()`
66+
- Gamma: `gamma.markets()`, `gamma.events()`, `gamma.series()`, `gamma.tags()`, `gamma.comments()`, `gamma.sports()`, `gamma.search()`, `gamma.user()`, `gamma.health()`
67+
- Data: `data.users()`, `data.trades()`, `data.holders()`, `data.leaderboard()`, `data.builders()`, `data.live_volume()`, `data.open_interest()`, `data.health()`
68+
69+
Example: `gamma.markets().list().open(true).send().await?`, `data.leaderboard().list().send().await?`.
6570

6671
**Request builder fluency** — Query parameters are chained with builder methods before `.send().await?`.
6772

@@ -89,6 +94,8 @@ Each crate has live integration tests in `tests/live_api.rs` gated with `#[ignor
8994

9095
Read-only crates (gamma, data) use `Gamma::builder().build()` / `DataApi::builder().build()` directly. CLOB tests use `Clob::public()` for unauthenticated endpoints.
9196

97+
Mock HTTP tests use `mockito` (workspace dev-dependency). Each crate with mock tests has a `tests/mock_api.rs` file with helper functions like `test_public_clob(server)` that point clients at the mock server URL.
98+
9299
## Module Organization
93100

94101
Each crate follows a consistent layout:

Cargo.lock

Lines changed: 36 additions & 30 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ members = [
1111
resolver = "2"
1212

1313
[workspace.package]
14-
version = "0.10.0"
14+
version = "0.11.0"
1515
edition = "2021"
1616
license = "MIT"
1717
authors = ["Aidan Bailey"]
1818
repository = "https://github.com/dilettante-trading/polyoxide"
1919
rust-version = "1.91"
2020

2121
[workspace.dependencies]
22-
polyoxide-core = { path = "polyoxide-core", version = "0.10.0" }
23-
polyoxide-clob = { path = "polyoxide-clob", version = "0.10.0" }
24-
polyoxide-gamma = { path = "polyoxide-gamma", version = "0.10.0" }
25-
polyoxide-data = { path = "polyoxide-data", version = "0.10.0" }
26-
polyoxide-relay = { path = "polyoxide-relay", version = "0.10.0" }
22+
polyoxide-core = { path = "polyoxide-core", version = "0.11.0" }
23+
polyoxide-clob = { path = "polyoxide-clob", version = "0.11.0" }
24+
polyoxide-gamma = { path = "polyoxide-gamma", version = "0.11.0" }
25+
polyoxide-data = { path = "polyoxide-data", version = "0.11.0" }
26+
polyoxide-relay = { path = "polyoxide-relay", version = "0.11.0" }
2727
tokio = { version = "1.41" }
2828
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
2929
serde = { version = "1.0", features = ["derive"] }

0 commit comments

Comments
 (0)