Nine Languages
Write your data types once and generate the code that reads and writes them — bit-identical — in C, C++, C#, Go, Rust, JavaScript, Dart, Java and Elixir.
- Three new backends: Dart, Java and Elixir. Each emits the same straight-line serializer the other targets do — monomorphic, constant-width, no reflection and no schema walking at runtime.
- Nine-language conformance runs in CI on shared corpora: every target reads and writes the same bits, proven on every commit.
- One benchmark contract covers all nine languages, and
bench/run.sh --quickruns the mixed shape under a minute per language, reporting nanoseconds per message and percent of fastest. The full interleaved standard remains the certification form. - Dynamically sized unions read correctly in the JavaScript flat tier.
- String reads carry no validation cost: well-formed UTF-8 is the writer's obligation under SPEC 4.7, and the reader trusts it.
The wire did not move. No protocol id changed in this release: a schema built with v2.0.0 and with v2.1.0 produces the same bytes and the same id, so deployed peers interoperate across the upgrade.