Skip to content

Commit 1f4087f

Browse files
userFRMclaude
andauthored
docs: sweep stale root/exp_date refs across doc tree (closes #503) (#504)
Post-#484 (8.0.28) follow-up. The Rust SDK rename Contract.root -> Contract.symbol and Contract.exp_date -> Contract.expiration was not propagated to the doc tree. Sweep brings the docs into alignment with the SDK surface; wire codecs (FPSS binary frames, MDDS gRPC) are unchanged. Touched: - docs/api-reference.md - Rust struct definitions and prose - docs/macro-guide.md - parsed_endpoint! example query block - docs/architecture.md - clarifies that the FPSS binary diagram labels are wire-format names, not SDK struct names - docs/java-parity-checklist.md - top-of-file vocabulary note plus Rust-side rewrites; Java-side root/expDate references kept verbatim - docs-site/docs/api-reference.md - field tables and prose - docs-site/docs/streaming/{connection,events}.md - inline comments - docs-site/docs/historical/option/list/roots.md - prose only; URL slug preserved for inbound-link stability - docs-site/docs/historical/option/list/contracts.md - JSON sample, response table, and Go example (t.Root -> t.Symbol) - docs-site/public/thetadatadx.yaml - OpenAPI schema for Contract - sdks/cpp/README.md - OptionContract surface row Version bump 8.0.33 -> 8.0.35 across all manifests; sub-Cargo.lock files updated (8.0.34 placeholder is reserved for Wave 2A's parallel work-stream). CHANGELOG entry added under [8.0.35] in both CHANGELOG.md and the docs-site mirror. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent a6f9a51 commit 1f4087f

29 files changed

Lines changed: 91 additions & 50 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [8.0.35] - 2026-05-07
9+
10+
### Documentation
11+
12+
- **Sweep stale `root` / `exp_date` references across the doc tree.**
13+
Post-#484 (8.0.28) follow-up: `docs/api-reference.md`, `docs/macro-guide.md`,
14+
`docs/architecture.md`, `docs/java-parity-checklist.md`, `docs-site/docs/api-reference.md`,
15+
`docs-site/docs/streaming/{connection,events}.md`, `docs-site/docs/historical/option/list/{roots,contracts}.md`,
16+
`sdks/cpp/README.md` — Rust SDK references rewritten to use the post-#484
17+
`symbol` / `expiration` vocabulary. Closes #503.
18+
819
## [8.0.33] - 2026-05-07
920

1021
### Added

Cargo.lock

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

crates/thetadatadx/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "thetadatadx"
3-
version = "8.0.33"
3+
version = "8.0.35"
44
edition.workspace = true
55
rust-version.workspace = true
66
authors.workspace = true

docs-site/docs/api-reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ auto contracts = client.option_list_contracts("TRADE", "SPY", "20240315");
608608
| `date` | string | Yes | Date (`YYYYMMDD`) |
609609
| `max_dte` | int | No | Maximum days to expiration filter |
610610

611-
**Returns:** Array of OptionContract records with root, expiration, strike, right.
611+
**Returns:** Array of OptionContract records with symbol, expiration, strike, right.
612612

613613
---
614614

@@ -2528,9 +2528,9 @@ fpss.subscribe_quotes("AAPL");
25282528

25292529
| Field | Type | Description |
25302530
|-------|------|-------------|
2531-
| `root` | string | Ticker symbol |
2531+
| `symbol` | string | Ticker symbol |
25322532
| `sec_type` | SecType | Security type |
2533-
| `exp_date` | int (optional) | Expiration date as YYYYMMDD (options only) |
2533+
| `expiration` | int (optional) | Expiration date as YYYYMMDD (options only) |
25342534
| `is_call` | bool (optional) | true = call, false = put (options only) |
25352535
| `strike` | string (optional) | Strike price in dollars (options only) |
25362536

docs-site/docs/changelog.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [8.0.35] - 2026-05-07
9+
10+
### Documentation
11+
12+
- **Sweep stale `root` / `exp_date` references across the doc tree.**
13+
Post-#484 (8.0.28) follow-up: `docs/api-reference.md`, `docs/macro-guide.md`,
14+
`docs/architecture.md`, `docs/java-parity-checklist.md`, `docs-site/docs/api-reference.md`,
15+
`docs-site/docs/streaming/{connection,events}.md`, `docs-site/docs/historical/option/list/{roots,contracts}.md`,
16+
`sdks/cpp/README.md` — Rust SDK references rewritten to use the post-#484
17+
`symbol` / `expiration` vocabulary. Closes #503.
18+
819
## [8.0.33] - 2026-05-07
920

1021
### Added

docs-site/docs/historical/option/list/contracts.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ console.log(data);
3232
data, _ := client.OptionListContracts("TRADE", "SPY", "20260402")
3333
for _, t := range data {
3434
fmt.Printf("symbol=%s expiration=%d strike=%.2f right=%s\n",
35-
t.Root, t.Expiration, t.Strike, t.Right)
35+
t.Symbol, t.Expiration, t.Strike, t.Right)
3636
}
3737
```
3838
```cpp [C++]
@@ -69,7 +69,7 @@ for (const auto& t : data) {
6969

7070
<div class="param-list">
7171
<div class="param">
72-
<div class="param-header"><code>root</code><span class="param-type">string</span></div>
72+
<div class="param-header"><code>symbol</code><span class="param-type">string</span></div>
7373
<div class="param-desc">Underlying symbol</div>
7474
</div>
7575
<div class="param">
@@ -91,12 +91,18 @@ for (const auto& t : data) {
9191

9292
```json
9393
[
94-
{"root": "SPY", "expiration": 20260403, "strike": 320.00, "right": "C"},
95-
{"root": "SPY", "expiration": 20260403, "strike": 640.00, "right": "C"},
96-
{"root": "SPY", "expiration": 20260417, "strike": 550.00, "right": "P"}
94+
{"symbol": "SPY", "expiration": 20260403, "strike": 320.00, "right": "C"},
95+
{"symbol": "SPY", "expiration": 20260403, "strike": 640.00, "right": "C"},
96+
{"symbol": "SPY", "expiration": 20260417, "strike": 550.00, "right": "P"}
9797
]
9898
```
9999

100+
> Field names above match the typed `OptionContract` struct exposed by every
101+
> SDK (`symbol`, `expiration`, `strike`, `right`). The `Vec<OptionContract>` is
102+
> decoded from the v3 gRPC `DataTable` response — there is no raw JSON wire
103+
> format on this endpoint, so the SDK's `symbol` vocabulary is what callers
104+
> see.
105+
100106
> Lists all option contracts for SPY on the given date. 5,467 contracts returned for 2026-04-02.
101107
102108
## Notes

docs-site/docs/historical/option/list/roots.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ None.
6161
["SPY", "SPY1", "SPY2", "SPY7"]
6262
```
6363

64-
> Returns all option root symbols for the given underlying.
64+
> Returns the full list of underlying symbols with available option chains.
6565
6666
## Notes
6767

6868
- Returns all underlying symbols, not individual contracts. Use [option_list_expirations](./expirations) and [option_list_strikes](./strikes) to drill into a specific chain.
69-
- The Rust SDK method is `option_list_symbols`; "roots" refers to the underlying concept in ThetaData's API.
69+
- The Rust SDK method is `option_list_symbols`. The legacy "roots" term is preserved in this page's URL slug for inbound-link stability; the SDK and protobuf surface use `symbol` exclusively.

docs-site/docs/streaming/connection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ let tdx = ThetaDataDx::connect(&creds, DirectConfig::production()).await?;
3434

3535
tdx.start_streaming(|event: &FpssEvent| {
3636
match event {
37-
// Every data event carries an `Arc<Contract>` — read the root ticker
37+
// Every data event carries an `Arc<Contract>` — read the symbol
3838
// directly, no contract-ID map lookup required.
3939
FpssEvent::Data(FpssData::Quote { contract, bid, ask, received_at_ns, .. }) => {
4040
println!("Quote: {} bid={bid:.2} ask={ask:.2} rx={received_at_ns}ns", contract.symbol);

docs-site/docs/streaming/events.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tdx.start_streaming(|event: &FpssEvent| {
1313
match event {
1414
// --- Data events ---
1515
// Each data variant carries an `Arc<Contract>`, so `contract.symbol`
16-
// (plus `.exp_date` / `.strike` / `.is_call` on options) is readable
16+
// (plus `.expiration` / `.strike` / `.is_call` on options) is readable
1717
// inline — no contract-ID map lookup required.
1818
FpssEvent::Data(FpssData::Quote {
1919
contract, ms_of_day, bid, ask, bid_size, ask_size,

docs-site/public/thetadatadx.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3279,14 +3279,14 @@ components:
32793279
type: object
32803280
description: Full contract representation used in streaming
32813281
properties:
3282-
root:
3282+
symbol:
32833283
type: string
32843284
description: Underlying symbol
32853285
sec_type:
32863286
type: integer
32873287
enum: [0, 1, 2, 3]
32883288
description: '0=Stock, 1=Option, 2=Index, 3=Rate'
3289-
exp_date:
3289+
expiration:
32903290
type: integer
32913291
description: Expiration as YYYYMMDD integer (options only)
32923292
is_call:

0 commit comments

Comments
 (0)