From d6249513123623c69cb59320a1289862defc50a0 Mon Sep 17 00:00:00 2001 From: userFRM Date: Wed, 6 May 2026 16:45:16 +0200 Subject: [PATCH 1/2] chore(release): 8.0.31 Patch bump for the additive `tdbe::right::ParsedRight::from_wire_byte` landed in #496 (which itself patch-bumped tdbe 0.12.8 -> 0.12.9). Per the v8 patch-only policy. No SDK behaviour change beyond the new public surface on `tdbe::right`. Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 24 ++++++++++--------- Cargo.lock | 6 ++--- crates/thetadatadx/Cargo.toml | 2 +- docs-site/docs/changelog.md | 24 ++++++++++--------- ffi/Cargo.toml | 2 +- sdks/python/Cargo.lock | 4 ++-- sdks/python/Cargo.toml | 2 +- sdks/typescript/Cargo.lock | 4 ++-- sdks/typescript/Cargo.toml | 2 +- sdks/typescript/npm/darwin-arm64/package.json | 2 +- .../typescript/npm/linux-x64-gnu/package.json | 2 +- .../npm/win32-x64-msvc/package.json | 2 +- sdks/typescript/package.json | 2 +- tools/cli/Cargo.toml | 2 +- tools/mcp/Cargo.lock | 4 ++-- tools/mcp/Cargo.toml | 2 +- tools/server/Cargo.lock | 4 ++-- tools/server/Cargo.toml | 2 +- 18 files changed, 48 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3ce60d26..adf7c1031 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [8.0.31] - 2026-05-06 + +### tdbe + +- `tdbe::right::ParsedRight::from_wire_byte(byte: i32) -> Option` + — `const fn` decoder for the FPSS wire `right` byte (`67` for + `'C'`, `80` for `'P'`). Inverse of the existing `as_wire_byte()`. + Removes the rationale for downstream tick decoders to re-type the + `67` / `80` magic numbers at every trust boundary; round-trip + property test confirms `from_wire_byte(self.as_wire_byte().unwrap()) + == Some(self)` for every variant where the forward direction is + defined. Patch bump tdbe 0.12.8 → 0.12.9. + ## [8.0.30] - 2026-05-06 This release closes #482: the entire FPSS streaming stack — Rust core, @@ -124,17 +137,6 @@ PR #489 (dispatcher core), #490 (C ABI), #492 (Python), #493 shipped in this release. The `fpss_smoke` example is restored on the callback path. -### tdbe - -- `tdbe::right::ParsedRight::from_wire_byte(byte: i32) -> Option` - — `const fn` decoder for the FPSS wire `right` byte (`67` for - `'C'`, `80` for `'P'`). Inverse of the existing `as_wire_byte()`. - Removes the rationale for downstream tick decoders to re-type the - `67` / `80` magic numbers at every trust boundary; round-trip - property test confirms `from_wire_byte(self.as_wire_byte().unwrap()) - == Some(self)` for every variant where the forward direction is - defined. Patch bump tdbe 0.12.8 → 0.12.9. - ## [8.0.29] - 2026-05-06 ### Removed diff --git a/Cargo.lock b/Cargo.lock index 7ce9f8b22..dfeab5a3b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3103,7 +3103,7 @@ dependencies = [ [[package]] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" dependencies = [ "arrow-array", "arrow-schema", @@ -3143,7 +3143,7 @@ dependencies = [ [[package]] name = "thetadatadx-cli" -version = "8.0.30" +version = "8.0.31" dependencies = [ "clap", "comfy-table", @@ -3156,7 +3156,7 @@ dependencies = [ [[package]] name = "thetadatadx-ffi" -version = "8.0.30" +version = "8.0.31" dependencies = [ "tdbe", "thetadatadx", diff --git a/crates/thetadatadx/Cargo.toml b/crates/thetadatadx/Cargo.toml index 58606ad0a..49adbbcd2 100644 --- a/crates/thetadatadx/Cargo.toml +++ b/crates/thetadatadx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" edition.workspace = true rust-version.workspace = true authors.workspace = true diff --git a/docs-site/docs/changelog.md b/docs-site/docs/changelog.md index f3ce60d26..adf7c1031 100644 --- a/docs-site/docs/changelog.md +++ b/docs-site/docs/changelog.md @@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [8.0.31] - 2026-05-06 + +### tdbe + +- `tdbe::right::ParsedRight::from_wire_byte(byte: i32) -> Option` + — `const fn` decoder for the FPSS wire `right` byte (`67` for + `'C'`, `80` for `'P'`). Inverse of the existing `as_wire_byte()`. + Removes the rationale for downstream tick decoders to re-type the + `67` / `80` magic numbers at every trust boundary; round-trip + property test confirms `from_wire_byte(self.as_wire_byte().unwrap()) + == Some(self)` for every variant where the forward direction is + defined. Patch bump tdbe 0.12.8 → 0.12.9. + ## [8.0.30] - 2026-05-06 This release closes #482: the entire FPSS streaming stack — Rust core, @@ -124,17 +137,6 @@ PR #489 (dispatcher core), #490 (C ABI), #492 (Python), #493 shipped in this release. The `fpss_smoke` example is restored on the callback path. -### tdbe - -- `tdbe::right::ParsedRight::from_wire_byte(byte: i32) -> Option` - — `const fn` decoder for the FPSS wire `right` byte (`67` for - `'C'`, `80` for `'P'`). Inverse of the existing `as_wire_byte()`. - Removes the rationale for downstream tick decoders to re-type the - `67` / `80` magic numbers at every trust boundary; round-trip - property test confirms `from_wire_byte(self.as_wire_byte().unwrap()) - == Some(self)` for every variant where the forward direction is - defined. Patch bump tdbe 0.12.8 → 0.12.9. - ## [8.0.29] - 2026-05-06 ### Removed diff --git a/ffi/Cargo.toml b/ffi/Cargo.toml index dc4eee120..ee95d7394 100644 --- a/ffi/Cargo.toml +++ b/ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-ffi" -version = "8.0.30" +version = "8.0.31" edition.workspace = true rust-version.workspace = true authors.workspace = true diff --git a/sdks/python/Cargo.lock b/sdks/python/Cargo.lock index 36e1711be..3731331f6 100644 --- a/sdks/python/Cargo.lock +++ b/sdks/python/Cargo.lock @@ -2339,7 +2339,7 @@ dependencies = [ [[package]] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" dependencies = [ "crossbeam-channel", "disruptor", @@ -2374,7 +2374,7 @@ dependencies = [ [[package]] name = "thetadatadx-py" -version = "8.0.30" +version = "8.0.31" dependencies = [ "arrow", "arrow-array", diff --git a/sdks/python/Cargo.toml b/sdks/python/Cargo.toml index 399c89ab6..0463ccae7 100644 --- a/sdks/python/Cargo.toml +++ b/sdks/python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-py" -version = "8.0.30" +version = "8.0.31" edition = "2021" description = "Python bindings for thetadatadx — native ThetaData SDK powered by Rust" license = "Apache-2.0" diff --git a/sdks/typescript/Cargo.lock b/sdks/typescript/Cargo.lock index ba1182d23..7f35b9209 100644 --- a/sdks/typescript/Cargo.lock +++ b/sdks/typescript/Cargo.lock @@ -1963,7 +1963,7 @@ dependencies = [ [[package]] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" dependencies = [ "crossbeam-channel", "disruptor", @@ -1998,7 +1998,7 @@ dependencies = [ [[package]] name = "thetadatadx-napi" -version = "8.0.30" +version = "8.0.31" dependencies = [ "chrono", "napi", diff --git a/sdks/typescript/Cargo.toml b/sdks/typescript/Cargo.toml index 451756f7b..7dcf20966 100644 --- a/sdks/typescript/Cargo.toml +++ b/sdks/typescript/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-napi" -version = "8.0.30" +version = "8.0.31" edition = "2021" description = "TypeScript/Node.js bindings for thetadatadx — native ThetaData SDK powered by Rust" license = "Apache-2.0" diff --git a/sdks/typescript/npm/darwin-arm64/package.json b/sdks/typescript/npm/darwin-arm64/package.json index aecba1ebd..247772bf4 100644 --- a/sdks/typescript/npm/darwin-arm64/package.json +++ b/sdks/typescript/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "thetadatadx-darwin-arm64", - "version": "8.0.30", + "version": "8.0.31", "os": [ "darwin" ], diff --git a/sdks/typescript/npm/linux-x64-gnu/package.json b/sdks/typescript/npm/linux-x64-gnu/package.json index a0928d236..425d6a147 100644 --- a/sdks/typescript/npm/linux-x64-gnu/package.json +++ b/sdks/typescript/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "thetadatadx-linux-x64-gnu", - "version": "8.0.30", + "version": "8.0.31", "os": [ "linux" ], diff --git a/sdks/typescript/npm/win32-x64-msvc/package.json b/sdks/typescript/npm/win32-x64-msvc/package.json index 80cef9287..8239d21de 100644 --- a/sdks/typescript/npm/win32-x64-msvc/package.json +++ b/sdks/typescript/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "thetadatadx-win32-x64-msvc", - "version": "8.0.30", + "version": "8.0.31", "os": [ "win32" ], diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index 5e113b9a2..77fa08823 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -1,6 +1,6 @@ { "name": "thetadatadx", - "version": "8.0.30", + "version": "8.0.31", "description": "Native ThetaData SDK for Node.js — powered by Rust via napi-rs", "license": "Apache-2.0", "repository": { diff --git a/tools/cli/Cargo.toml b/tools/cli/Cargo.toml index fc5655e9f..ff0ec61d1 100644 --- a/tools/cli/Cargo.toml +++ b/tools/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-cli" -version = "8.0.30" +version = "8.0.31" edition.workspace = true rust-version.workspace = true authors.workspace = true diff --git a/tools/mcp/Cargo.lock b/tools/mcp/Cargo.lock index 7df2a9639..86b3be427 100644 --- a/tools/mcp/Cargo.lock +++ b/tools/mcp/Cargo.lock @@ -1965,7 +1965,7 @@ dependencies = [ [[package]] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" dependencies = [ "crossbeam-channel", "disruptor", @@ -2000,7 +2000,7 @@ dependencies = [ [[package]] name = "thetadatadx-mcp" -version = "8.0.30" +version = "8.0.31" dependencies = [ "json_canon", "serde", diff --git a/tools/mcp/Cargo.toml b/tools/mcp/Cargo.toml index 0447ef7e6..fc7647b3a 100644 --- a/tools/mcp/Cargo.toml +++ b/tools/mcp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-mcp" -version = "8.0.30" +version = "8.0.31" edition = "2021" description = "MCP server for ThetaDataDx — gives LLMs instant access to ThetaData market data" license = "Apache-2.0" diff --git a/tools/server/Cargo.lock b/tools/server/Cargo.lock index 0216b6825..e70537dc5 100644 --- a/tools/server/Cargo.lock +++ b/tools/server/Cargo.lock @@ -2358,7 +2358,7 @@ dependencies = [ [[package]] name = "thetadatadx" -version = "8.0.30" +version = "8.0.31" dependencies = [ "crossbeam-channel", "disruptor", @@ -2393,7 +2393,7 @@ dependencies = [ [[package]] name = "thetadatadx-server" -version = "8.0.30" +version = "8.0.31" dependencies = [ "axum", "clap", diff --git a/tools/server/Cargo.toml b/tools/server/Cargo.toml index 43fa18940..e2225b33b 100644 --- a/tools/server/Cargo.toml +++ b/tools/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thetadatadx-server" -version = "8.0.30" +version = "8.0.31" edition = "2021" rust-version = "1.85" authors = ["userFRM"] From 78eefbdffb18408d7ec859b2ad00cf361e1d4a19 Mon Sep 17 00:00:00 2001 From: userFRM Date: Wed, 6 May 2026 16:54:25 +0200 Subject: [PATCH 2/2] fix(release): sync optionalDependencies in sdks/typescript/package.json The npm `package.json` carries the canonical version on line 3 plus three `optionalDependencies` entries pinning the per-platform native binary packages. The version-sync script (`scripts/check_version_sync.py`) verifies all four match the canonical Cargo.toml version. The release bump missed the optional-deps trio. Co-Authored-By: Claude Opus 4.7 (1M context) --- sdks/typescript/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdks/typescript/package.json b/sdks/typescript/package.json index 77fa08823..62dba63a1 100644 --- a/sdks/typescript/package.json +++ b/sdks/typescript/package.json @@ -30,9 +30,9 @@ "@napi-rs/cli": "^3.6.2" }, "optionalDependencies": { - "thetadatadx-linux-x64-gnu": "8.0.30", - "thetadatadx-darwin-arm64": "8.0.30", - "thetadatadx-win32-x64-msvc": "8.0.30" + "thetadatadx-linux-x64-gnu": "8.0.31", + "thetadatadx-darwin-arm64": "8.0.31", + "thetadatadx-win32-x64-msvc": "8.0.31" }, "engines": { "node": ">= 20"