Skip to content

Commit 85f7d4b

Browse files
committed
fix(v9.1.0): close codex r14 audit findings — repo URL drift, stale subscribe_* docs, trailing whitespace
Four findings from r14, all closed. 1. **Repo URL drift in user-facing files** — the rename pass earlier in this branch had also rewritten every literal `userFRM/ThetaDataDx` GitHub URL to `userFRM/ThetaDataDxClient`, breaking every badge, homepage link, repository-link, and changelog `[X.Y.Z]: ...` reference. The actual remote is `userFRM/ThetaDataDx`. Reverted the URL part of the rewrite across `README.md`, `CHANGELOG.md`, every `Cargo.toml` `homepage`/`repository`, `sdks/python/pyproject.toml`, the docs-site `flatfiles/{api-reference,index}.md`, the GitHub workflows, and `docs/ATTRIBUTION.md`. The Rust client type stays `ThetaDataDxClient` (correct rename target); only the GitHub project / repo identifier is reverted. Also fixed two prose drift sites: `README.md` H1 (`# ThetaDataDxClient` → `# ThetaDataDx`, the project name) and the `tools/mcp/Cargo.toml` description ("MCP server for ThetaDataDxClient" → "MCP server for ThetaDataDx"). 2. **Stale `subscribe_*` family in public docs / docstrings** — three sites still referred to the removed shape: - `docs-site/docs/streaming/connection.md`: "You can safely call `subscribe_*()` from any thread" → "You can safely call `subscribe(spec)` / `unsubscribe(spec)` from any thread". - `sdks/cpp/include/thetadx.hpp` `UnifiedClient` class doc-comment: told users to drive raw `_subscribe_*` C ABI through `get()`; now describes the polymorphic `subscribe(spec)` / `unsubscribe(spec)` and `start_streaming_iter()` entries the C++ wrapper actually exposes, and only routes `tdx_unified_set_callback` / `tdx_unified_await_drain` through `get()` (the genuine FFI-only operations). - `crates/thetadatadx/src/fpss/mod.rs` `FpssClient` docstring's "Thread safety" section: "The `subscribe_*` and `unsubscribe_*` methods send commands..." → "The polymorphic `subscribe(spec)` / `unsubscribe(spec)` methods send commands...". 3. **TS `index.js` stale `9.0.2` version pin** — `npm run build` regenerated the napi loader against the bumped 9.1.0 package + optional-deps; six guard sites in `sdks/typescript/index.js` refreshed from `9.0.2` to `9.1.0`. 4. **Trailing whitespace in generated artifacts** — empty doc- comment lines in `crates/thetadatadx/build_support/sdk_surface/ common.rs::push_rust_doc_comment` and `push_cpp_doc_comment` were emitting `/// ` and ` * ` with a single trailing space. Both helpers now special-case empty input lines and write bare `///` / ` *`. Re-ran `generate_sdk_surfaces`; `git diff --check origin/main..HEAD` is now clean across the generated tree (`sdks/cpp/include/fpss.hpp.inc`, `sdks/python/src/_generated/streaming_methods.rs`, `sdks/typescript/src/_generated/streaming_methods.rs`). Pre-push pipeline: cargo fmt --all -- --check, clippy --workspace --locked -- -D warnings, test --workspace --locked, generate_sdk_surfaces --check, deny check, npm run build / test.
1 parent 905064d commit 85f7d4b

20 files changed

Lines changed: 215 additions & 200 deletions

File tree

CHANGELOG.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3310,53 +3310,53 @@ See `TODO.md` (as of the 1.2.0 release) for the production readiness checklist a
33103310
- FIT decoder uses i64 accumulator with i32 saturation (no silent overflow)
33113311
- Price type range enforced with `assert!` in release builds
33123312

3313-
[Unreleased]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.11...HEAD
3314-
[8.0.11]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.10...v8.0.11
3315-
[8.0.10]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.9...v8.0.10
3316-
[8.0.9]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.8...v8.0.9
3317-
[8.0.8]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.7...v8.0.8
3318-
[8.0.7]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.6...v8.0.7
3319-
[8.0.6]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.5...v8.0.6
3320-
[8.0.5]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.4...v8.0.5
3321-
[8.0.4]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.3...v8.0.4
3322-
[8.0.3]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.2...v8.0.3
3323-
[8.0.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.1...v8.0.2
3324-
[8.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.0...v8.0.1
3325-
[8.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.3.1...v8.0.0
3326-
[7.3.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.3.0...v7.3.1
3327-
[7.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.2.1...v7.3.0
3328-
[7.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.2.0...v7.2.1
3329-
[7.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.1.0...v7.2.0
3330-
[7.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.0.0...v7.1.0
3331-
[7.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v6.0.1...v7.0.0
3332-
[6.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.4.0...v6.0.1
3333-
[5.4.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.3.1...v5.4.0
3334-
[5.3.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.3.0...v5.3.1
3335-
[5.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.2.1...v5.3.0
3336-
[5.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.2.0...v5.2.1
3337-
[5.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.1.1...v5.2.0
3338-
[5.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.1.0...v5.1.1
3339-
[5.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.2...v5.1.0
3340-
[5.0.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.1...v5.0.2
3341-
[5.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.0...v5.0.1
3342-
[5.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.5.0...v5.0.0
3343-
[4.5.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.4.0...v4.5.0
3344-
[4.4.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.3.0...v4.4.0
3345-
[4.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.2.0...v4.3.0
3346-
[4.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.2...v4.2.0
3347-
[4.1.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.1...v4.1.2
3348-
[4.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.0...v4.1.1
3349-
[4.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.0.0...v4.1.0
3350-
[4.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.2.2...v4.0.0
3351-
[3.2.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.2.0...v3.2.2
3352-
[3.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.1.0...v3.2.0
3353-
[3.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.0.0...v3.1.0
3354-
[3.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v2.0.0...v3.0.0
3355-
[2.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.2...v2.0.0
3356-
[1.2.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.1...v1.2.2
3357-
[1.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.0...v1.2.1
3358-
[1.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.1.1...v1.2.0
3359-
[1.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.1.0...v1.1.1
3360-
[1.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.0.1...v1.1.0
3361-
[1.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.0.0...v1.0.1
3362-
[1.0.0]: https://github.com/userFRM/ThetaDataDxClient/releases/tag/v1.0.0
3313+
[Unreleased]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.11...HEAD
3314+
[8.0.11]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.10...v8.0.11
3315+
[8.0.10]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.9...v8.0.10
3316+
[8.0.9]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.8...v8.0.9
3317+
[8.0.8]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.7...v8.0.8
3318+
[8.0.7]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.6...v8.0.7
3319+
[8.0.6]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.5...v8.0.6
3320+
[8.0.5]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.4...v8.0.5
3321+
[8.0.4]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.3...v8.0.4
3322+
[8.0.3]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.2...v8.0.3
3323+
[8.0.2]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.1...v8.0.2
3324+
[8.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.0...v8.0.1
3325+
[8.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.3.1...v8.0.0
3326+
[7.3.1]: https://github.com/userFRM/ThetaDataDx/compare/v7.3.0...v7.3.1
3327+
[7.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.2.1...v7.3.0
3328+
[7.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v7.2.0...v7.2.1
3329+
[7.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.1.0...v7.2.0
3330+
[7.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.0.0...v7.1.0
3331+
[7.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v6.0.1...v7.0.0
3332+
[6.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.4.0...v6.0.1
3333+
[5.4.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.3.1...v5.4.0
3334+
[5.3.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.3.0...v5.3.1
3335+
[5.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.2.1...v5.3.0
3336+
[5.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.2.0...v5.2.1
3337+
[5.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.1.1...v5.2.0
3338+
[5.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.1.0...v5.1.1
3339+
[5.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.2...v5.1.0
3340+
[5.0.2]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.1...v5.0.2
3341+
[5.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.0...v5.0.1
3342+
[5.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.5.0...v5.0.0
3343+
[4.5.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.4.0...v4.5.0
3344+
[4.4.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.3.0...v4.4.0
3345+
[4.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.2.0...v4.3.0
3346+
[4.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.2...v4.2.0
3347+
[4.1.2]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.1...v4.1.2
3348+
[4.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.0...v4.1.1
3349+
[4.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.0.0...v4.1.0
3350+
[4.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.2.2...v4.0.0
3351+
[3.2.2]: https://github.com/userFRM/ThetaDataDx/compare/v3.2.0...v3.2.2
3352+
[3.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.1.0...v3.2.0
3353+
[3.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.0.0...v3.1.0
3354+
[3.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v2.0.0...v3.0.0
3355+
[2.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.2...v2.0.0
3356+
[1.2.2]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.1...v1.2.2
3357+
[1.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.0...v1.2.1
3358+
[1.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.1.1...v1.2.0
3359+
[1.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.1.0...v1.1.1
3360+
[1.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.0.1...v1.1.0
3361+
[1.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.0.0...v1.0.1
3362+
[1.0.0]: https://github.com/userFRM/ThetaDataDx/releases/tag/v1.0.0

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# ThetaDataDxClient
1+
# ThetaDataDx
22

33
Rust SDK for ThetaData market data — single Rust core, four language surfaces (Rust, Python, TypeScript, C++).
44

5-
[![build](https://github.com/userFRM/ThetaDataDxClient/actions/workflows/ci.yml/badge.svg)](https://github.com/userFRM/ThetaDataDxClient/actions/workflows/ci.yml)
5+
[![build](https://github.com/userFRM/ThetaDataDx/actions/workflows/ci.yml/badge.svg)](https://github.com/userFRM/ThetaDataDx/actions/workflows/ci.yml)
66
[![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
77
[![Crates.io](https://img.shields.io/crates/v/thetadatadx.svg)](https://crates.io/crates/thetadatadx)
88
[![PyPI](https://img.shields.io/pypi/v/thetadatadx)](https://pypi.org/project/thetadatadx)

crates/thetadatadx/build_support/sdk_surface/common.rs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,27 @@ pub(super) fn rust_string_array_literal(values: &[String]) -> String {
7070

7171
pub(super) fn push_rust_doc_comment(out: &mut String, indent: &str, doc: &str) {
7272
for line in doc.lines() {
73-
writeln!(out, "{indent}/// {line}").unwrap();
73+
if line.is_empty() {
74+
// Avoid trailing whitespace on blank doc-comment lines —
75+
// `git diff --check` treats `/// ` (slashes followed by a
76+
// single trailing space) as a whitespace error.
77+
writeln!(out, "{indent}///").unwrap();
78+
} else {
79+
writeln!(out, "{indent}/// {line}").unwrap();
80+
}
7481
}
7582
}
7683

7784
pub(super) fn push_cpp_doc_comment(out: &mut String, indent: &str, doc: &str) {
7885
if doc.contains('\n') {
7986
writeln!(out, "{indent}/**").unwrap();
8087
for line in doc.lines() {
81-
writeln!(out, "{indent} * {line}").unwrap();
88+
if line.is_empty() {
89+
// Same trailing-whitespace guard as the Rust emitter.
90+
writeln!(out, "{indent} *").unwrap();
91+
} else {
92+
writeln!(out, "{indent} * {line}").unwrap();
93+
}
8294
}
8395
writeln!(out, "{indent} */").unwrap();
8496
} else {

crates/thetadatadx/src/fpss/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,9 @@ pub enum HarnessPublishMode {
286286
///
287287
/// # Thread safety
288288
///
289-
/// `FpssClient` is `Send + Sync`. The `subscribe_*` and `unsubscribe_*` methods
290-
/// send commands through a lock-free channel to the I/O thread; they never touch
291-
/// the TLS stream directly.
289+
/// `FpssClient` is `Send + Sync`. The polymorphic `subscribe(spec)` /
290+
/// `unsubscribe(spec)` methods send commands through a lock-free channel to
291+
/// the I/O thread; they never touch the TLS stream directly.
292292
pub struct FpssClient {
293293
/// Channel to send write commands to the I/O thread.
294294
///

docs-site/docs/changelog.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3310,53 +3310,53 @@ See `TODO.md` (as of the 1.2.0 release) for the production readiness checklist a
33103310
- FIT decoder uses i64 accumulator with i32 saturation (no silent overflow)
33113311
- Price type range enforced with `assert!` in release builds
33123312

3313-
[Unreleased]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.11...HEAD
3314-
[8.0.11]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.10...v8.0.11
3315-
[8.0.10]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.9...v8.0.10
3316-
[8.0.9]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.8...v8.0.9
3317-
[8.0.8]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.7...v8.0.8
3318-
[8.0.7]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.6...v8.0.7
3319-
[8.0.6]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.5...v8.0.6
3320-
[8.0.5]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.4...v8.0.5
3321-
[8.0.4]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.3...v8.0.4
3322-
[8.0.3]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.2...v8.0.3
3323-
[8.0.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.1...v8.0.2
3324-
[8.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v8.0.0...v8.0.1
3325-
[8.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.3.1...v8.0.0
3326-
[7.3.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.3.0...v7.3.1
3327-
[7.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.2.1...v7.3.0
3328-
[7.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.2.0...v7.2.1
3329-
[7.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.1.0...v7.2.0
3330-
[7.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v7.0.0...v7.1.0
3331-
[7.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v6.0.1...v7.0.0
3332-
[6.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.4.0...v6.0.1
3333-
[5.4.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.3.1...v5.4.0
3334-
[5.3.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.3.0...v5.3.1
3335-
[5.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.2.1...v5.3.0
3336-
[5.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.2.0...v5.2.1
3337-
[5.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.1.1...v5.2.0
3338-
[5.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.1.0...v5.1.1
3339-
[5.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.2...v5.1.0
3340-
[5.0.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.1...v5.0.2
3341-
[5.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v5.0.0...v5.0.1
3342-
[5.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.5.0...v5.0.0
3343-
[4.5.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.4.0...v4.5.0
3344-
[4.4.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.3.0...v4.4.0
3345-
[4.3.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.2.0...v4.3.0
3346-
[4.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.2...v4.2.0
3347-
[4.1.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.1...v4.1.2
3348-
[4.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.1.0...v4.1.1
3349-
[4.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v4.0.0...v4.1.0
3350-
[4.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.2.2...v4.0.0
3351-
[3.2.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.2.0...v3.2.2
3352-
[3.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.1.0...v3.2.0
3353-
[3.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v3.0.0...v3.1.0
3354-
[3.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v2.0.0...v3.0.0
3355-
[2.0.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.2...v2.0.0
3356-
[1.2.2]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.1...v1.2.2
3357-
[1.2.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.2.0...v1.2.1
3358-
[1.2.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.1.1...v1.2.0
3359-
[1.1.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.1.0...v1.1.1
3360-
[1.1.0]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.0.1...v1.1.0
3361-
[1.0.1]: https://github.com/userFRM/ThetaDataDxClient/compare/v1.0.0...v1.0.1
3362-
[1.0.0]: https://github.com/userFRM/ThetaDataDxClient/releases/tag/v1.0.0
3313+
[Unreleased]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.11...HEAD
3314+
[8.0.11]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.10...v8.0.11
3315+
[8.0.10]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.9...v8.0.10
3316+
[8.0.9]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.8...v8.0.9
3317+
[8.0.8]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.7...v8.0.8
3318+
[8.0.7]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.6...v8.0.7
3319+
[8.0.6]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.5...v8.0.6
3320+
[8.0.5]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.4...v8.0.5
3321+
[8.0.4]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.3...v8.0.4
3322+
[8.0.3]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.2...v8.0.3
3323+
[8.0.2]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.1...v8.0.2
3324+
[8.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v8.0.0...v8.0.1
3325+
[8.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.3.1...v8.0.0
3326+
[7.3.1]: https://github.com/userFRM/ThetaDataDx/compare/v7.3.0...v7.3.1
3327+
[7.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.2.1...v7.3.0
3328+
[7.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v7.2.0...v7.2.1
3329+
[7.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.1.0...v7.2.0
3330+
[7.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v7.0.0...v7.1.0
3331+
[7.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v6.0.1...v7.0.0
3332+
[6.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.4.0...v6.0.1
3333+
[5.4.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.3.1...v5.4.0
3334+
[5.3.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.3.0...v5.3.1
3335+
[5.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.2.1...v5.3.0
3336+
[5.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.2.0...v5.2.1
3337+
[5.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.1.1...v5.2.0
3338+
[5.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.1.0...v5.1.1
3339+
[5.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.2...v5.1.0
3340+
[5.0.2]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.1...v5.0.2
3341+
[5.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v5.0.0...v5.0.1
3342+
[5.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.5.0...v5.0.0
3343+
[4.5.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.4.0...v4.5.0
3344+
[4.4.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.3.0...v4.4.0
3345+
[4.3.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.2.0...v4.3.0
3346+
[4.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.2...v4.2.0
3347+
[4.1.2]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.1...v4.1.2
3348+
[4.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v4.1.0...v4.1.1
3349+
[4.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v4.0.0...v4.1.0
3350+
[4.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.2.2...v4.0.0
3351+
[3.2.2]: https://github.com/userFRM/ThetaDataDx/compare/v3.2.0...v3.2.2
3352+
[3.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.1.0...v3.2.0
3353+
[3.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.0.0...v3.1.0
3354+
[3.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v2.0.0...v3.0.0
3355+
[2.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.2...v2.0.0
3356+
[1.2.2]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.1...v1.2.2
3357+
[1.2.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.0...v1.2.1
3358+
[1.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.1.1...v1.2.0
3359+
[1.1.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.1.0...v1.1.1
3360+
[1.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.0.1...v1.1.0
3361+
[1.0.1]: https://github.com/userFRM/ThetaDataDx/compare/v1.0.0...v1.0.1
3362+
[1.0.0]: https://github.com/userFRM/ThetaDataDx/releases/tag/v1.0.0

docs-site/docs/flatfiles/api-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The FLATFILES surface accepts three orthogonal inputs:
99
| `date` | `YYYYMMDD` string | Single trading date. Flat files are **per-day** blobs; date ranges are not supported. |
1010
| `format` | `csv`, `jsonl` | On-disk encoding when writing bytes to a file. |
1111

12-
Not every `(sec_type, req_type)` combination is supported by ThetaData — see the [ROADMAP](https://github.com/userFRM/ThetaDataDxClient/blob/main/docs/ROADMAP.md#flatfiles--surface-status) for the verified subset. Unsupported combinations surface as a typed `Error::FlatFilesUnavailable` in Rust (or its language-specific equivalent).
12+
Not every `(sec_type, req_type)` combination is supported by ThetaData — see the [ROADMAP](https://github.com/userFRM/ThetaDataDx/blob/main/docs/ROADMAP.md#flatfiles--surface-status) for the verified subset. Unsupported combinations surface as a typed `Error::FlatFilesUnavailable` in Rust (or its language-specific equivalent).
1313

1414
## Output formats
1515

docs-site/docs/flatfiles/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ Flat files are large. A single option-quote daily blob can exceed 100 MB. Plan a
4747
| REST server | `GET /v3/flatfile/{sec_type}/{req_type}?date=YYYYMMDD&format=csv\|jsonl` and `POST /v3/flatfile/request`. |
4848
| MCP server | `tdx_flatfile_*` tools mirroring the Rust convenience methods. |
4949

50-
The full per-binding matrix lives in [`docs/ROADMAP.md`](https://github.com/userFRM/ThetaDataDxClient/blob/main/docs/ROADMAP.md#binding-coverage-matrix).
50+
The full per-binding matrix lives in [`docs/ROADMAP.md`](https://github.com/userFRM/ThetaDataDx/blob/main/docs/ROADMAP.md#binding-coverage-matrix).
5151

5252
Continue to [Quickstart](./quickstart) for code samples, then [API reference](./api-reference) for the full method signatures.

docs-site/docs/streaming/connection.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ Disruptor consumer thread
239239
+-- your callback(FnMut(&FpssEvent))
240240
```
241241

242-
You can safely call `subscribe_*()` from any thread -- the command is sent through an `mpsc` channel and executed by the I/O thread.
242+
You can safely call `subscribe(spec)` / `unsubscribe(spec)` from any thread -- the command is sent through an `mpsc` channel and executed by the I/O thread.
243243

244244
## Subscribe
245245

0 commit comments

Comments
 (0)