Skip to main content

Publisher SDK changelog

[0.4.1] - 2026-10-26​

Patch Changes​

  • Fixed AAC audio from the publisher declaring the wrong sample rate (16960 Hz instead of, for example, 48000 Hz).
  • Fixed a publisher over WebTransport delaying the start of each group by a network round trip.

[0.4.0] - 2026-10-15​

Minor Changes​

  • The publish pipeline now runs entirely in a worker. prepare() and publish() reject with encoding_failed when the browser cannot encode a track config, instead of never settling.

    Breaking, low-level API only: Client, TimeSource and ChannelProducer are no longer exported, and Producer.start(channelId) takes a channel id and returns nothing. Connect with producer.controller().connect({ url, authToken }).

Patch Changes​

  • Fix slow close()/unpublish() during connection setup, spurious already_broadcasting errors from stale connection attempts, and duplicate WebSocket fallback connections.

[0.3.2] - 2026-07-03​

Patch Changes​

  • Published video now reports the exact codec the encoder produces, improving playback compatibility across browsers and players.

[0.3.1] - 2026-06-29​

Patch Changes​

  • Optimization: video capture and encoding now run in a dedicated worker (parity with the audio worker), keeping the capture/encode hot path off the main thread.

[0.3.0] - 2026-06-18​

Minor Changes​

  • broadcast health: state, reasons, and per-dimension 0-10 scores, plus an overall score, limitingDimension, and coverage. The live signal (the "health" event and publisher.health) is the current snapshot; publisher.stats().health carries the scores aggregated (min/max/average over a rolling window) for telemetry.

Patch Changes​

  • Fixed an issue where wss publishing dropped the connection every ~2 minutes

[0.2.1] - 2026-06-15​

Patch Changes​

  • Optimization: audio encoding now runs in a dedicated worker, so main-thread contention no longer drops audio frames or distorts timestamps.

[0.2.0] - 2026-06-03​

Minor Changes​

  • Accept wss:// publisher URLs (WebSocket only), and fix the https:// WebSocket fallback to use the default 443 instead of the WebTransport port.