Skip to content

v2.1.0

Choose a tag to compare

@Wkkkkk Wkkkkk released this 10 Jul 10:44
· 54 commits to main since this release
0e02ea6

Internal hardening, new test tooling, and documentation. No CLI or API changes — every invocation from 2.0.0 keeps working. First release since v2.0.0; behaviour-preserving, so a minor bump.

Added

  • Automated browser-driven WHEP test (tests/browser/): drives real Chrome through the WHEP handshake via Puppeteer and asserts decoded video frames climb, guarding against the connected-but-silent version-skew regression. Emits a pass/fail verdict + JSON even when Chrome can't launch. Verified for this release (frames 0 → 141, H264 1280×720).
  • ADR-0005: watchdog-triggered pipeline restarts routed through the supervisor.
  • Regenerated animated architecture diagram with editable Excalidraw source + renderer.

Changed

  • Watchdog restarts now flow through the pipeline supervisor rather than the coordinator; pipeline quit/lifecycle control lives behind the PipelineLifecycle seam (ADR 0005).
  • Tests exercise the signal plane through the public SignalHandle; the internal command enum is private, list/reset unified through one request path.
  • Stream bus-reap channel is constructor-injected and typed by branch id.
  • add_branch cleans up its own half-attached branch on failure, on the coordinator's critical path (restores the ADR-0002 teardown bound).
  • Core GStreamer element names single-sourced from a stream::naming module; coordinator config defaults single-sourced as constants.
  • Folded the SDP newtypes' shared string-conversion boilerplate behind a macro.
  • Refreshed CONTEXT.md and the shared-lock → coordinator-actor architecture narrative.

Full changelog: https://github.com/Eyevinn/srt-whep/blob/v2.1.0/CHANGELOG.md