Back to Blog

June Updates v1.6.0: Analysis Page Revamp, Rich API Filters & PC Security

Version 1.6.0 revamps the Analysis page with new stat cards and filters, brings rich filters to the public API and MCP, and adds deeper peer connection security visibility.

Posted by

June Updates v1.6.0: Analysis Page Revamp, Rich API Filters & PC Security

Welcome to v1.6.0 of rtcStats! This release sharpens the way you triage sessions: the Analysis page now leads with at-a-glance stats and smarter filters, the public API gains the same expressive filtering on top of richer session abstracts, and the Peer Connection pane finally answers "is this call actually encrypted, and how?"

A bit of dashboard polish, a lot more API power, and some long-awaited security visibility - let's dive in! πŸ”

πŸš€ Major Improvements

> A Revamped Analysis Page πŸ“Š

The Analysis page (dashboard sessions list) gets a serious facelift. At the top, five new stat cards summarize your account at a glance: total Sessions, average Score, Observations by severity, Clients (browser + version), and OS breakdown. This gives you an immediate understanding of the files you've uploaded.

Below the cards, the sessions table now exposes a Score column and three new facet-aware filters: OS, Clients, and Tags.

A Revamped Analysis PageA Revamped Analysis Page

> Rich API & MCP Filters (Paid Plans) πŸ”Ž

The public REST and MCP surfaces gain a much richer filter set on GET /api/rtcstats/v1.0/sessions and on the MCP list_sessions tool. You can now filter by observations, os, browser, userId, name, observationTags, browserVersion, conferenceId, sessionId, severity flags (hasCritical, hasHigh, hasMedium), and experience-score bands (hasLowScore, hasMediumScore, hasHighScore).

Each session returned by the list endpoint now carries an abstract field: a denormalized summary that bundles browser / OS, observation flags and tags, severity counts, and the experience-score band.

To make life easier for AI agents, the API reference is also available at api-docs.md.

Rich API & MCP FiltersRich API & MCP Filters

> Deeper Peer-Connection Visibility πŸ”

The Peer Connection pane now includes a dedicated Security section. For every peer connection, you can see the negotiated TLS version, which side sent the DTLS ClientHello (so you can tell who initiated the handshake), the negotiated dtlsCipher, and the srtpCipher protecting the media. It is finally easy to answer questions like "is this connection on DTLS 1.2 or 1.3?" or "are we landing on a strong SRTP profile?" without digging into raw SDP.

On the Connectivity side, the diagram now shows an IPv4/IPv6 indicator on each candidate pair, making it obvious when a call is happily flowing over IPv6 (or, more often, why it just refused to).

Deeper Peer-Connection VisibilityDeeper Peer-Connection Visibility

πŸ› οΈ Other Enhancements

> SDP Munging Detection 🧬

Two new observations flag SDP munging on the local description: mungedReorderedLinesInLocalSDP fires when m-lines or attributes have been reordered before setLocalDescription, and mungedModifiedLinesInLocalSDP fires when individual lines were edited. Both are common sources of "it works on my machine" interop bugs and were previously invisible from dump analysis alone.

> Overview Enhancements πŸ—ΊοΈ

The Overview page gets two welcome upgrades:

  • Areas treemap: the old tag strip is replaced with a treemap, so the visual weight of each area now matches its share of the session - much easier to spot where the noise is concentrated
  • Session geolocation in "From": building on the v1.5 geolocation work, the session "From" field at the top of Overview now resolves directly to a location, so you do not have to jump to the Connectivity diagram to know where the call came from

> Free-Plan & Marketing Tweaks ✨

Two small but visible changes:

  • Logged-in users can easily browse the public site: the homepage and other static marketing pages no longer redirect signed-in users straight to the dashboard - useful when you want to share a page with a colleague without logging out
  • "Notes" is now "Feedbacks": the column on the Analysis sessions table is renamed to better match what teams actually put in there

πŸ“¦ Ecosystem Updates

> @rtcstats/rtcstats-js v2.2.0 β†’ v2.2.3 πŸ“‘

  • computePressure / getStats integration: CPU-pressure samples are now traced alongside getStats, so the cloud's Compute Pressure observation lines up cleanly with the client-side timeline
  • reloadCount shipped: the SDK now reports how many times the page reloaded mid-call, surfacing a previously invisible source of mid-call disruption
  • Cleaner connect tracing: onicecandidate now serializes .url and .relayProtocol, the WebSocket connect time is measured, and a close before connect race was fixed - flaky networks no longer produce mysterious gaps at the start of a trace
  • Patch series v2.2.1 β†’ v2.2.3: corrects the trace timestamp baseline across reconnects and adds optional WebSocket error logging. If you are still on 2.2.0 or 2.2.1, upgrade to 2.2.3 - earlier 2.2.x builds were deprecated

> rtcstats-server πŸ› οΈ

No public release in this window - we'll catch up next month.


We're excited to see how you use the new Analysis page stats and the richer API filters to triage your WebRTC sessions! As always, the latest version of @rtcstats/rtcstats-js (v2.2.3) is available - make sure you're up to date to get the best out of these new features.

Happy debugging! πŸ’Ž