Schema 3.1.0

A small release that touches the encoder and decoder rather than the schema records themselves.

Changed

Byte counters on outbound RTP are encoded and decoded as BigInt

OutboundRtpEncoder and OutboundRtpDecoder now use NumberToBigIntEncoder and BigIntToNumberDecoder for the bytes-sent and bytes-received fields, so values above Number.MAX_SAFE_INTEGER (2⁵³ − 1) survive a round trip.

When this actually bites

2⁵³ bytes is about 9 petabytes, so a single session will never reach it. The failure mode this fixes is aggregation: sums accumulated across a large fleet, or long-lived server-side counters that roll up many sessions, lose precision silently once they cross that boundary — no error, just wrong numbers in the last digits.

No record definition changed, so no field numbers moved and nothing about the sample shape is different.

Removed

Stale generated proto, SQL and TypeScript outputs left over from the 2.x layout. These were dead files in the repository, not part of any published package.

Where the SQL outputs went

The 2.x generator emitted BigQuery / PostgreSQL / Redshift / ClickHouse table definitions and CSV headers. The 3.x generator does not — its outputs are TypeScript, flattened Avro, protobuf, the three npm packages, and the Markdown reference.

If you need table definitions, generate them from the Avro schema in outputs/avsc/ or from the TypeScript types; they are a straightforward mapping and staying out of the SQL-dialect business keeps the generator focused.

Compatibility

Fully compatible with 3.0.0 samples in both directions. Upgrade the encoder and decoder together as always.

← Back to version history · 3.0.0 →