Skip to content

Commit 218aa34

Browse files
userFRMclaude
andcommitted
release: v3.2.0 - typed endpoints, TOML codegen, full docs overhaul
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 78f9ae1 commit 218aa34

16 files changed

Lines changed: 418 additions & 130 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,25 @@ 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-
## [Unreleased]
8+
## [3.2.0] - 2026-03-30
99

1010
### Added
1111

1212
- **Fully typed returns for all 61 endpoints** - 9 new tick types (`TradeQuoteTick`, `OpenInterestTick`, `MarketValueTick`, `GreeksTick`, `IvTick`, `PriceTick`, `CalendarDay`, `InterestRateTick`, `OptionContract`). All 31 endpoints that returned raw `proto::DataTable` now return typed `Vec<T>`. The `raw_endpoint!` macro has been removed entirely. Zero raw protobuf in the public API.
13-
- **TOML-driven codegen** - `endpoint_schema.toml` is the single source of truth for all 13 tick type definitions and DataTable column schemas. `build.rs` generates Rust structs and parsers at compile time. Adding a new column = one line in the TOML.
13+
- **TOML-driven codegen** - `endpoint_schema.toml` is the single source of truth for all 14 tick type definitions and DataTable column schemas. `build.rs` generates Rust structs and parsers at compile time. Adding a new column = one line in the TOML.
14+
- **Proto maintenance guide** (`proto/MAINTENANCE.md`) - step-by-step instructions for ThetaData engineers to add columns, RPCs, or replace proto files.
1415
- 10 new parse functions in `decode.rs` (including `parse_eod_ticks` moved from inline in `direct.rs`)
1516
- All downstream consumers updated: FFI (9 new JSON converters), CLI (9 new renderers), Server (9 new sonic_rs serializers), MCP (9 new serializers), Python SDK (9 new dict converters)
17+
- Crate README (`crates/thetadatadx/README.md`) and FFI README (`ffi/README.md`)
18+
- Python SDK: polars support documented (`pip install thetadatadx[polars]`)
19+
20+
### Fixed
21+
22+
- **Comprehensive documentation sweep** - 6 parallel agents audited every doc page, README, notebook, and example file against the actual source code. Fixed fabricated homepage examples, wrong C++ include paths (`thetadatadx.hpp` -> `thetadx.hpp`), stale `client.` variable names, missing typed return annotations, wrong Python `all_greeks()` parameter name, version pins (`3.0` -> `3.1`), `for_each_chunk` signature in API reference, and MIT license in footer (should be GPL-3.0).
23+
- **Parameter/response display redesign** - replaced flat markdown tables with Databento-inspired vertical card layout across 60 endpoint documentation pages.
24+
- Root README streamlined with navigation table (removed 90-line endpoint listing)
25+
- Notebook 105: fixed event kinds and removed raw payload access pattern
26+
- OpenAPI yaml: fixed license, GitHub URLs, removed DataTable response types
1627

1728
## [3.1.0] - 2026-03-27
1829

@@ -363,7 +374,8 @@ See [TODO.md](TODO.md) for the production readiness checklist and performance ro
363374
- FIT decoder uses i64 accumulator with i32 saturation (no silent overflow)
364375
- Price type range enforced with `assert!` in release builds
365376

366-
[Unreleased]: https://github.com/userFRM/ThetaDataDx/compare/v3.1.0...HEAD
377+
[Unreleased]: https://github.com/userFRM/ThetaDataDx/compare/v3.2.0...HEAD
378+
[3.2.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.1.0...v3.2.0
367379
[3.1.0]: https://github.com/userFRM/ThetaDataDx/compare/v3.0.0...v3.1.0
368380
[3.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v2.0.0...v3.0.0
369381
[2.0.0]: https://github.com/userFRM/ThetaDataDx/compare/v1.2.2...v2.0.0

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.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ No-JVM ThetaData Terminal - native Rust SDK for direct market data access.
4141

4242
```toml
4343
[dependencies]
44-
thetadatadx = "3.1"
44+
thetadatadx = "3.2"
4545
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
4646
```
4747

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 = "3.1.0"
3+
version = "3.2.0"
44
edition = "2021"
55
rust-version = "1.85"
66
authors = ["userFRM"]

docs-site/docs/changelog.md

Lines changed: 204 additions & 108 deletions
Large diffs are not rendered by default.

docs-site/docs/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description: Install ThetaDataDx, configure credentials, and run your first quer
1111
```toml [Rust]
1212
# Add to your Cargo.toml
1313
[dependencies]
14-
thetadatadx = "3.1"
14+
thetadatadx = "3.2"
1515
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
1616
```
1717
```bash [Python]

docs-site/docs/getting-started/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description: Install ThetaDataDx for Rust, Python, Go, or C++.
1111
```toml [Rust]
1212
# Add to your Cargo.toml
1313
[dependencies]
14-
thetadatadx = "3.1"
14+
thetadatadx = "3.2"
1515
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
1616
```
1717
```bash [Python]

ffi/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-ffi"
3-
version = "3.1.0"
3+
version = "3.2.0"
44
edition = "2021"
55
description = "C FFI layer for thetadatadx — used by Go and C++ SDKs"
66
license = "GPL-3.0-or-later"

sdks/python/Cargo.lock

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

sdks/python/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-py"
3-
version = "3.1.0"
3+
version = "3.2.0"
44
edition = "2021"
55
description = "Python bindings for thetadatadx — native ThetaData SDK powered by Rust"
66

0 commit comments

Comments
 (0)