Changelog¶
2026/08/11¶
RUM SDK 3.3.7 additions and optimizations:
- 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
- Added the
allowTraceHeaderWithoutSessionconfiguration. When enabled, Trace Headers are still injected into XHR and Fetch requests that matchallowedTracingUrls, 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 - 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
resetandbitmapsends. Multi-canvas uses fair scheduling, change detection, and bounded concurrency, balancing dynamic frame continuity with page performance. Canvas Recording Manual - 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
- 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.
- Fixed query parameter parsing for Hash Router View URLs; parameters in
#/path?key=valueare now correctly written to the View URL Query. RUM Data Structure
Upgrade note: WebGL Replay is available from SDK
3.3.7onwards 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 Canvasautomode, must be registered duringinit()and before WebGL engine initialization; it does not provide GL command replay, frame-by-frame video, orOffscreenCanvasrecording.When Canvas 2D does not use a named quality preset, the default values for automatic collection interval/cooldown are adjusted from
1000/1000 msto250/250 ms; thelow,medium, andhighpresets 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
replayCanvasSamplingis used to select the snapshot path, not to represent the capture frequency; the frequency is controlled by interval, cooldown, and backoff. The string preset ofreplayCanvasQualitysimultaneously adjusts quality, sampling, and scheduling budget, while a numeric value only adjusts encoding quality.
2026/07/29¶
RUM SDK 3.3.6 additions:
- 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
- Client-side integration for Next.js App Router, Pages Router, and Nuxt 3/4. SSR Integration Guide
- Experimental native WebSocket long-lived connection collection, aggregating connection statistics into RUM Resources. WebSocket Long-Lived Connection Collection
startView()now supports specifying a View URL viaurl, for integration of manual Views with framework routers. Custom View- Added
startSession(), which supports immediately ending the current Session, re-executing session sampling, and overridingsessionSampleRateat 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¶
- Added
shouldMaskNodeconfiguration to customize the masking effect of session replay nodes. - Added
sessionOnErrorSampleRateconfiguration to collect only error session events. Reference - Added
sessionReplayOnErrorSampleRateconfiguration 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¶
-
Added
traceTypeconfiguration to specify the tracing tool type. If not configured, the default isddtrace. Currently supports 6 types:ddtrace,zipkin,skywalking_v3,jaeger,zipkin_single_header,w3c_traceparent. -
Added
allowedTracingOriginsto 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. -
The original configuration item
allowedDDTracingOriginsand the new configuration itemallowedTracingOriginsserve the same function. Either can be configured; if both are configured,allowedTracingOriginshas higher priority thanallowedDDTracingOrigins.
2021/5/20¶
-
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.
-
SDK upgraded to V2 version, the CDN address changed to
https://static.guance.com/browser-sdk/v2/dataflux-rum.js. -
Removed collection of
rum_web_page_performance,rum_web_resource_performance,js_error, andpagemetric data; added collection ofview,action,long_task, anderrormetric data. -
Added
trackInteractionsconfiguration to the initialization, used to enable Action (user behavior data) collection. Default is disabled.