Changelog
All notable changes to Strata are documented in this file.
v0.3.0 - Cross-Language Determinism
Added
JavaScript implementation (
strata-js)TypeScript-first, Node 20+ runtime
Full support for the v1 value model
BigInt-backed integer semantics
Canonical encoder and strict decoder
BLAKE3-256 hashing over canonical bytes
Strata Text (
.st) parserCLI with
compile,decode,hash, andfmtcommands
Cross-language golden vector enforcement
JavaScript consumes vectors directly from
/vectorsPositive vectors enforced byte-for-byte
Negative vectors enforced with exact error kind and offset
Northstar T1 – Wire Determinism
Rust → JS envelope transport
Canonical bytes and hashes must match exactly
Northstar T2 – Raw Wire Determinism
Raw
.scbbytes over HTTPNo helpers, no framing, no normalization
Northstar T3 – Framed Streaming Determinism
Streaming transport with explicit framing
Arbitrary chunking without hash instability
CI enforcement for all Northstar tests
Rust CI
JS CI
Northstar T1, T2, T3 block merges on failure
Guarantees
Rust and JavaScript produce identical canonical bytes
Rust and JavaScript produce identical hashes
Decoding behavior matches exactly across languages
All v1 and v2 vectors remain valid and unchanged
Not Changed
Canonical encoding rules
Hashing semantics
Value model
Binary layout and tags
Decode failure conditions
Notes
This release introduces parity and enforcement tooling only
No canonical truth was modified
Any future change to bytes, hashes, or semantics requires a new MINOR version and a new Northstar
Last updated
Was this helpful?