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 →