You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor!: rename Contract.root/exp_date to symbol/expiration (#484)
Closes#467.
Rename the public-API fields on the SDK to match the v3 vendor surface
documented in the v2 → v3 migration guide:
Contract.root -> Contract.symbol
Contract.exp_date -> Contract.expiration
OptionContract.root -> OptionContract.symbol
FlatFileRow.root -> FlatFileRow.symbol
IndexEntry.root -> IndexEntry.symbol
IndexEntry.exp -> IndexEntry.expiration
Plus the matching constructor + parameter renames (Contract::stock(symbol),
Contract::option(symbol, expiration, ...), Contract::option_raw(...),
FlatFileRow::from_decoded(symbol, expiration, ...)) and the cross-language
bindings regenerated from the SSOT (Python, TypeScript, Go, C++, C ABI).
The wire format is unchanged. Contract::to_bytes / Contract::from_bytes
still serialize the field as `root` per Contract.java parity, and the
FLATFILES decoder still resolves both v2 (`root`) and v3 (`symbol`)
response columns through the existing decode::HEADER_ALIASES alias
table.
Workspace 8.0.26 -> 8.0.27, tdbe 0.12.7 -> 0.12.8. CHANGELOG and
docs-site/docs/changelog.md kept byte-identical.
Local CI gate:
cargo fmt --all -- --check # clean
cargo clippy --workspace --all-targets -- -D warnings # clean
cargo test --workspace # 0 failures
cargo deny check # advisories+bans+licenses+sources ok
generate_sdk_surfaces --check # no drift
cargo check/clippy/test --manifest-path tools/mcp/Cargo.toml
cargo check/clippy/test --manifest-path tools/server/Cargo.toml
0 commit comments