Skip to content

Nine Languages

Choose a tag to compare

@rowan-claude rowan-claude released this 30 Aug 22:17
d9fd170

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 --quick runs 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.