Skip to content

Changelog


2026/08/28

RUM SDK subsequent version additions and optimizations:

  1. Added support for distinguishing Windows 10 and Windows 11 via platformVersion when the browser provides User-Agent Client Hints. Ensures that the first batch of RUM data uses the same system version information. Falls back to the traditional User-Agent when the capability is not supported, high-entropy values are refused, or query times out. RUM Data Structure

2026/08/26

RUM SDK 3.3.11 additions and optimizations:

  1. Fixed Session Replay's recognition of cross-iframe JavaScript realm elements in micro frontends such as Wujie. Native form inputs, DOM changes, and enabled Canvas recordings created by the iframe realm and mounted to the current page's open ShadowRoot can now be properly replayed. Value assignments to form element properties (value, checked, selectedIndex) can also be recorded. In Canvas command capture mode, cross-realm Canvas automatically falls back to bitmap snapshots. This capability does not include iframe internal documents or closed Shadow DOM. Session Replay Setup Guide

RUM SDK 3.3.10 additions and optimizations:

  1. Automatic Action now supports clicked elements inside open Shadow DOM, including elements created by the iframe's JavaScript realm and mounted to a ShadowRoot (e.g., in Wujie micro frontends). The SDK generates names based on the actual click target and provides positioning information with Shadow boundary, while avoiding aggregated text from containers like table rows or cards as Action names. Closed Shadow DOM remains restricted by the browser's encapsulation boundary. User Action

2026/08/25

RUM SDK 3.3.9 additions and optimizations:

  1. SPA route_change View supports the Chrome Soft Navigation API. When the browser natively supports it, route changes can include FCP, LCP, LCP element selector, and view_navigation_type. When the native API is not supported, Route Views are created via Navigation API, History API, or Hash route compatibility logic, retaining push, replace, and traverse navigation types, but without supplementing FCP/LCP for that route. RUM Data Structure
  2. Fixed an issue where View data might be delayed in uploading during continuous page updates. Ensures that when a pending View is updated, it still uses the original batch's upload deadline and reports the latest data at the existing send interval.

2026/08/20

RUM SDK 3.3.8 additions and optimizations:

  1. WebSocket Resource now includes a segment end page path field resource_websocket_end_view_path; the segment start path reuses the standard field view_path. This allows filtering in the Resource Explorer by the connection start or end page. WebSocket Long Connection Tracking

2026/08/11

RUM SDK 3.3.7 additions and optimizations:

  1. Added an optional WebGL/WebGL2 Session Replay plugin, supporting NPM and CDN integration. Records game and visualization frames via drawing-driven, budget-constrained pixel snapshots. The WebGL implementation is separated from the RUM main package; applications not using WebGL do not need to include the plugin. Canvas Recording Guide
  2. Added the allowTraceHeaderWithoutSession configuration. When enabled, Trace Headers are injected into XHR and Fetch requests matching allowedTracingUrls even if the current RUM Session is not sampled. This does not create or force-enable a Session, nor does it report RUM data for the unsampled Session. Web Application Setup
  3. Optimized Canvas 2D automatic recording and command capture, adding more drawing APIs and states. Fixed issues such as missed partial or transparency changes, out-of-order async frames, incomplete snapshot scaling coverage, and flickering caused by send separate reset and bitmap. Multiple canvases use fair scheduling, change detection, and bounded concurrency to balance dynamic frame continuity and page performance. Canvas Recording Guide
  4. Optimized replay for large DOM, dynamic Shadow DOM, and stylesheets. Large snapshots and burst DOM changes use chunking, atomic commits, and baseline recovery to reduce page jitter caused by node movements being split into "remove then add" and to fix missing large elements or CSS styles. Session Replay Setup Guide
  5. Enhanced compression upload and Session Replay transport reliability: When the compression worker fails, it automatically falls back to uncompressed uploads to prevent loss of RUM data such as View, Action, Error, Resource. Also maintains Replay baseline and segment order during encoding backpressure, network retries, and page exit, reducing incomplete or missing replays.
  6. Fixed query parameter parsing for Hash Router View URLs. Parameters in #/path?key=value are now correctly written to the View URL Query. RUM Data Structure

Upgrade Note: WebGL Replay is available from SDK 3.3.7 onwards. Requires the RUM main package version >= 3.3.7, and it is recommended to use the same SDK release version for the plugin and main package. The plugin only works in Canvas auto mode and must be registered during init() before WebGL engine initialization. It does not provide GL command replay, frame-by-frame video, or OffscreenCanvas recording.

When Canvas 2D does not use a named quality preset, the default values for automatic collection interval/cooldown have been changed from 1000/1000 ms to 250/250 ms. The low, medium, and high presets also adopt faster Canvas 2D scheduling. Dynamic frames will be more continuous, but may increase CPU, encoding, and upload overhead. For WebGL, when interval/cooldown is not explicitly configured, the more conservative GPU readback rhythm is retained.

A positive value for replayCanvasSampling selects the snapshot path and does not represent collection frequency; the frequency is controlled by interval, cooldown, and backoff. The string preset for replayCanvasQuality simultaneously adjusts quality, sampling, and scheduling budget, while a numeric value only adjusts encoding quality.

2026/07/29

RUM SDK 3.3.6 additions:

  1. Framework plugins for React, Vue, Angular, Next.js, and Nuxt, supporting View collection based on route templates and providing corresponding framework error entry points. Framework Setup Guide
  2. Client-side integration for Next.js App Router, Pages Router, and Nuxt 3/4. SSR Setup Guide
  3. Experimental native WebSocket long connection tracking, aggregating connection statistics into RUM Resources. WebSocket Long Connection Tracking
  4. startView() now supports specifying a View URL via the url parameter for manual View and framework Router integration. Custom View
  5. Added startSession(), which supports immediately ending the current Session, re-executing session sampling, and overriding sessionSampleRate at runtime. Sampling and Runtime Session Control

2026/06/30

RUM SDK 3.3.3 additions:

  1. Added a slim RUM SDK, supporting NPM and CDN integration. Retains regular RUM capabilities such as View, Resource, Long Task, Error, Action, Context, custom events, and tracing, but does not include Session Replay, Canvas recording, or compressIntakeRequests upload compression. Slim RUM SDK Setup Guide

2026/04/17

Added Canvas Session Replay recording. Reference Added Resource Hook feature. Reference

2025/04/23

Added remoteConfiguration to support remote dynamic modification of data collection configuration.

2025/04/13

  1. Added shouldMaskNode configuration to customize the masking effect of session replay nodes.
  2. Added sessionOnErrorSampleRate configuration to collect only error session events. Reference
  3. Added sessionReplayOnErrorSampleRate configuration to collect only Session Replay data related to errors. Reference

2022/09/29

Added isIntakeUrl configuration parameter to determine whether to collect resource data based on the request resource URL. By default, all resources are collected.

2022/03/10

  1. Added traceType configuration to specify the tracing tool type. If not configured, defaults to ddtrace. Currently supports six data types: ddtrace, zipkin, skywalking_v3, jaeger, zipkin_single_header, w3c_traceparent.

  2. Added allowedTracingOrigins list of all requests allowed to inject the Trace collector's required headers. Can be the request's origin or a regex.

  3. The original configuration item allowedDDTracingOrigins and the new allowedTracingOrigins serve the same function. Either can be configured; if both are configured, allowedTracingOrigins takes precedence over allowedDDTracingOrigins.

2021/05/20

  1. Compatible with V2 version metric data changes, requires upgrading DataKit to version 1.1.7-rc0 or later. For more details, see DataKit Configuration.

  2. SDK upgraded to V2. The CDN URL has changed to https://static.truewatch.com/browser-sdk/v2/dataflux-rum.js.

  3. Removed rum_web_page_performance, rum_web_resource_performance, js_error, page metric data collection. Added view, action, long_task, error metric data collection.

  4. Added trackInteractions configuration in initialization to enable Action (user behavior data) collection. Disabled by default.