Skip to content

Changelog


2026/08/11

RUM SDK 3.3.7 additions and optimizations:

  1. Added an optional WebGL/WebGL2 Session Replay plug-in, supporting NPM and CDN integration, which records game and visualization screens via draw-driven, budget-constrained pixel snapshots. The WebGL implementation is decoupled from the RUM main package; applications that do not use WebGL do not need to include the plug-in. Canvas Recording Manual
  2. Added the allowTraceHeaderWithoutSession configuration. When enabled, Trace Headers are still injected into XHR and Fetch requests that match allowedTracingUrls, even if the current RUM Session is not sampled. This does not create or force-enable a Session, nor does it upload RUM data for that unsampled Session. Web Application Integration
  3. Optimized automatic Canvas 2D recording and command capture, supplementing more drawing APIs and states; fixed missing captures for partial or transparency changes, out-of-order asynchronous frames, incomplete zoom snapshot overlays, and flickering caused by separate reset and bitmap sends. Multi-canvas uses fair scheduling, change detection, and bounded concurrency, balancing dynamic frame continuity with page performance. Canvas Recording Manual
  4. Optimized replay of large DOM, dynamic Shadow DOM, and stylesheets. Large snapshots and sudden DOM mutations adopt chunking, atomic commits, and baseline recovery, reducing page jitter caused by node moves being split into "delete then add" and missing large elements or CSS styles. Session Replay Integration Guide
  5. Enhanced compressed upload and Session Replay transmission reliability: when the compression worker encounters an exception, it automatically falls back to uncompressed upload to avoid loss of RUM data such as View, Action, Error, and Resource; meanwhile, it maintains the Replay baseline and subsequent segment order during encoding backpressure, network retries, and page exits, 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 and requires the RUM main package version >= 3.3.7. It is recommended to use the same SDK release version for both the plug-in and the main package. The plug-in only works in Canvas auto mode, must be registered during init() and 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 are adjusted from 1000/1000 ms to 250/250 ms; the low, medium, and high presets also adopt faster Canvas 2D scheduling. Dynamic scenes will be smoother, but this may increase CPU, encoding, and upload overhead. WebGL, when interval/cooldown is not explicitly configured, still retains a more conservative GPU readback rhythm.

A positive value for replayCanvasSampling is used to select the snapshot path, not to represent the capture frequency; the frequency is controlled by interval, cooldown, and backoff. The string preset of 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 plug-ins for React, Vue, Angular, Next.js, and Nuxt, supporting View collection based on route templates, along with corresponding framework error entry points. Integration Guide
  2. Client-side integration for Next.js App Router, Pages Router, and Nuxt 3/4. SSR Integration Guide
  3. Experimental native WebSocket long-lived connection collection, aggregating connection statistics into RUM Resources. WebSocket Long-Lived Connection Collection
  4. startView() now supports specifying a View URL via url, for integration of manual Views with framework routers. Custom View
  5. Added startSession(), which supports immediately ending the current Session, re-executing session sampling, and overriding sessionSampleRate at runtime. Sampling & Runtime Session Control

2026/04/17

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

2025/04/23

Added remoteConfiguration, supporting remote dynamic modification of data collection configurations.

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 error-related Session Replay data. Reference

2022/9/29

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

2022/3/10

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

  2. Added allowedTracingOrigins to specify the list of all requests allowed to inject headers required by the Trace collector. Can be the origin of the request or a regular expression.

  3. The original configuration item allowedDDTracingOrigins and the new configuration item allowedTracingOrigins serve the same function. Either can be configured; if both are configured, allowedTracingOrigins has higher priority than allowedDDTracingOrigins.

2021/5/20

  1. To align with V2 version metric data changes, you need to upgrade DataKit to version 1.1.7-rc0 or later. For more details, refer to DataKit Configuration.

  2. SDK upgraded to V2 version, the CDN address changed to https://static.guance.com/browser-sdk/v2/dataflux-rum.js.

  3. Removed collection of rum_web_page_performance, rum_web_resource_performance, js_error, and page metric data; added collection of view, action, long_task, and error metric data.

  4. Added trackInteractions configuration to the initialization, used to enable Action (user behavior data) collection. Default is disabled.

Feedback

Is this page helpful?