Releases: signalfx/splunk-otel-js-web
v2.3.0
-
@splunk/otel-web- External session support #1648
- Enables sharing a single RUM session between mobile and browser agents by transferring session metadata across application boundaries
- New
sessionMetadataconfiguration parameter to initialize with externally provided session data - New
SplunkRum.getSessionMetadata()method to expose current session metadata for transfer - Prevents fragmented sessions when users navigate from native app contexts to browser environments
- Introduce
_experimental_discardDataAfterInactivity#1670- Experimental flag to discard all data once user activity expires after 15 minutes of inactivity
- Also fixes a bug involving missing previous session state
- Initialize anonymous ID on load #1674
- Fixed a race condition where the anonymous user ID was persisted lazily, causing a second tab to generate its own ID if opened before the first span fired
- External session support #1648
-
Updated dependencies #1649, #1650, #1651, #1652, #1654, #1655, #1656, #1657, #1658, #1659, #1660, #1661, #1663, #1664, #1665, #1666, #1667, #1668, #1669, #1672
CDN
Version v2.3.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3.0/background-service.html" integrity="sha384-AggP7sVqXrY0GDAvuN48/FFQQXi88Scvi8I5Xz8RpHHR90ioC4IisE/qJMZhXk2h" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3.0/splunk-otel-web-session-recorder.js" integrity="sha384-4bUO29+sSf4UUPZUUHLAJ4GaF1G9MtAMXZU6eKrMij6UvmmjAnev58FwcZWlRqdP" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3.0/splunk-otel-web.js" integrity="sha384-IvIWluE2BNZr5w9/0lb0L+QLc9ko2NktAE8h0bJKqan6i0X9XlXGBFFJnozMjtWy" crossorigin="anonymous"></script>Version v2.3
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.3/splunk-otel-web.js" crossorigin="anonymous"></script>Version v2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v2.2.0
-
@splunk/otel-web- Enable rage clicks by default #1641
- Rage clicks frustration signal is now enabled by default
- Remove
_experimentalprefix fromspaMetrics#1640- The spaMetrics feature is now stable and no longer marked as experimental
- Prevent
session.startspans and session replay for native sessions #1638- Prevents duplicate
session.startspans and session replay when receiving a session ID from the mobile agent (MRUM)
- Prevents duplicate
- Enable rage clicks by default #1641
-
@splunk/otel-web-session-recorder- Update session-replay CDN module to v2.6.7 #1643
-
@splunk/otel-web-build-plugins- Fix build of
@splunk/rum-build-plugins#1644- Fixed broken source map upload functionality for both CommonJS and ES Module consumers
- Added webpack example for end-to-end validation of upload behavior
- Fix build of
-
Updated dependencies
CDN
Version v2.2.0
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.2.0/splunk-otel-web-session-recorder.js" integrity="sha384-TDkvh5GR3vQmDyq1uPBAjIE7fmrsk6M2V9pZe51Ok4XxcPaF+qE2LsRZs65M3+dw" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.2.0/splunk-otel-web.js" integrity="sha384-wFnO8STkWhh4K8Hm/poge42BCGS7y10oSmY+4kBp4vLcbmnVMBbbJQwgE5MTO4pV" crossorigin="anonymous"></script>Version v2.2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.2/splunk-otel-web.js" crossorigin="anonymous"></script>Version v2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v2.1.0
-
@splunk/otel-web- Change Rage Click Type to Frustration #1593
- Renamed rage click feature to "frustration" to enable future expansion to additional frustration categories
- Added new
frustration_typeandinteraction_typeattributes - This allows future support for error clicks and dead clicks
- Increase Default Rage Click Limit from 3 to 4 #1590
- Raised the threshold for detecting rage clicks from 3 to 4 occurrences within a one-second timeframe
- Emit Session Start Span #1584
- Added automatic emission of a
session.startspan when a new session begins - Each session generates exactly one span for tracking session lifecycles
- Added automatic emission of a
- Fix Secret Scanning False Positives in Bundle #1594
- Fixed an issue where GitHub's secret scanning triggered false alerts when including the library's bundle in repositories
- Replaced occurrences of unused "OTEL_EXPORTER_JAEGER_PASSWORD" environment variable name
- Internal: Ensure Fresh Session State is Returned #1589
- Internal: Fix Optimised Parameter in getElementXPath #1588
- Change Rage Click Type to Frustration #1593
-
@splunk/otel-web-session-recorder- Updated Session Replay CDN Module #1630
- Bumped session-replay to latest upstream version
- Updated Session Replay CDN Module #1630
-
Updated dependencies #1592, #1595, #1596, #1597, #1599, #1601, #1602, #1603, #1604, #1605, #1608, #1609, #1610, #1611, #1616, #1620, #1621, #1622, #1623, #1624, #1625, #1627, #1628, #1632, #1633, #1634, #1635, #1636
CDN
Version v2.1.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1.0/background-service.html" integrity="sha384-XJGfg0ZTiemi+P19rBpkgMvQfSv4KUMjyDYesQr+Sb2DufnHtpV1ZNDdtCQqAXkw" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1.0/splunk-otel-web-session-recorder.js" integrity="sha384-0mVnL5yVkIGmvif7SGWJHQJ43fg/WP5b23I93XYDguBGTJSax/9Teuoncc1BovHR" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1.0/splunk-otel-web.js" integrity="sha384-OL3JYH6lxvFNUBrB+mo6kk0P8fBZNMulljO8jKzw6UNpRMwPb98qCEY36lZUL9mE" crossorigin="anonymous"></script>Version v2.1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.1/splunk-otel-web.js" crossorigin="anonymous"></script>Version v2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v2.0.0
⚠️ Breaking Changes
@splunk/otel-web- Anonymous User Tracking Enabled by Default #1579
- Changed the default value of
user.trackingModefromnoTrackingtoanonymousTracking - The agent now generates a persistent anonymous user ID (
_splunk_rum_user_anonymousId) stored via the configured persistence method (default: cookie) - This enables:
- User journey correlation across sessions
- Issue diagnosis by tracking user behavior patterns
- Digital experience analytics without identifying individual users
- Migration: Users who do not want this behavior can explicitly set
user.trackingMode: 'noTracking'in their configuration - Example:
SplunkRum.init({ realm: 'us0', rumAccessToken: '....', user: { trackingMode: 'noTracking', // Opt out of anonymous tracking }, })
- Changed the default value of
- Anonymous User Tracking Enabled by Default #1579
New Features and Improvements
-
@splunk/otel-web-session-recorder- Added Session Replay Sampling #1577
-
Introduced
SessionBasedSamplerto control the percentage of sessions that get recorded by session recorder -
SplunkRum takes a
ratioof all possible sessions, e.g.0.8means 80% of all possible sessions will be sent to the backend -
SplunkSessionRecorder also takes a
ratioof all possible sessions, e.g.0.02means that replay will be recorded for the 2% of all possible sessions -
Note that if you record 20% of the sessions, and you want the replay for 10% of recorded sessions then you need to multiply:
0.2 * 0.1 = 0.02, so the ratio forSplunkRumis0.2and the ratio forSplunkSessionRecorderis0.02 -
We ensure that if the replay is recorded then the session itself is recorded and that the ratios are preserved
-
Example usage:
// Example 1: Record 30% of all sessions (independent of agent sampling) SplunkSessionRecorder.init({ realm: 'us0', rumAccessToken: '....', sampler: new SplunkRum.SessionBasedSampler({ ratio: 0.3 }), // records 30% of sessions }) // Example 2: If agent samples 80% and you want session recorder to record 20% of ALL sessions // (not 20% of the agent-sampled sessions), use: SplunkRum.init({ realm: 'us0', rumAccessToken: '....', sampler: new SplunkRum.SessionBasedSampler({ ratio: 0.8 }), // agent samples 80% }) SplunkSessionRecorder.init({ realm: 'us0', rumAccessToken: '....', sampler: new SplunkRum.SessionBasedSampler({ ratio: 0.2 }), // records 20% of all sessions }) // Result: 20% of all sessions will have session replay // Example 3: If agent samples 80% and you want session recorder to record 20% of of the agent-sampled sessions, use: SplunkRum.init({ realm: 'us0', rumAccessToken: '....', sampler: new SplunkRum.SessionBasedSampler({ ratio: 0.8 }), // agent samples 80% }) SplunkSessionRecorder.init({ realm: 'us0', rumAccessToken: '....', sampler: new SplunkRum.SessionBasedSampler({ ratio: 0.16 }), // 0.8 * 0.2 = 0.16 })
- Bug fixes included:
- Replay export is now scoped to the current session. This fixes a case where the last chunk from the previous session could be attached to a new session
- Recording now re-checks sampling when a new session starts, not just on the first page load. This prevents sessions from being skipped when sampling changes across sessions
- Bug fixes included:
-
- Added Session Replay Sampling #1577
-
@splunk/otel-web- Added Experimental Data Attributes Capture #1537
- Added
__experimental_dataAttributesToCaptureconfig option to capture customdata-*attributes from clicked elements - Captured attributes are attached to click and rage click spans
- Supports both hyphenated and camelCase format for attribute names
- Example:
SplunkRum.init({ realm: 'us0', rumAccessToken: 'YOUR_TOKEN', applicationName: 'my-app', __experimental_dataAttributesToCapture: [ 'data-testid', // hyphenated format 'track', // camelCase format (looks up data-track) 'userName', // camelCase format (looks up data-user-name) ], })
- When a button with these attributes is clicked, the span will include:
element.dataset.testid: "submit-btn"element.dataset.track: "purchase"element.dataset.userName: "john-doe"
- Added
- Added Page Completion Time (PCT) Metric for SPAs #1536
-
Introduced a new
SpaMetricsManagerfor measuring page load times in Single Page Applications (SPAs) -
Unlike traditional page load metrics that rely on browser navigation events, this monitors actual resource loading activity to determine when a page has finished loading
-
When enabled, PCT is automatically recorded as the duration of every
routeChangespan in your application -
How PCT is calculated:
- When a user navigates within your SPA (clicking links, tabs, or menu items), the timer starts
- Monitors all resource loading activity (API calls, images, stylesheets, etc.)
- Uses a quiet period detection algorithm - waits for a configurable period (default: 5 seconds) with no new resource activity
- The total time is recorded as the duration of the
routeChangespan
-
Disabled by default - must be explicitly enabled in configuration
-
How to enable:
// Option 1: Enable with defaults SplunkOtelWeb.init({ realm: 'us0', rumAccessToken: 'your-token', applicationName: 'my-spa-app', _experimental_spaMetrics: true, }) // Option 2: Enable with custom configuration SplunkOtelWeb.init({ realm: 'us0', rumAccessToken: 'your-token', applicationName: 'my-spa-app', _experimental_spaMetrics: { quietTime: 3000, // 3 seconds quiet period (default: 5000ms) maxResourcesToWatch: 50, // Limit tracked resources (default: 100) ignoreUrls: [/analytics/], // Additional URLs to ignore }, })
-
- Added Experimental Data Attributes Capture #1537
CDN
Version v2.0.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0.0/background-service.html" integrity="sha384-AggP7sVqXrY0GDAvuN48/FFQQXi88Scvi8I5Xz8RpHHR90ioC4IisE/qJMZhXk2h" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0.0/splunk-otel-web-session-recorder.js" integrity="sha384-tYHVKx02d+Ft+HjVMw07H6R8rT+azHH47m7IR//Tg25B2FHTU4uHe64SDhDodAF2" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0.0/splunk-otel-web.js" integrity="sha384-e2igRFzjYOqVycVNCStQz8ca4wF5qXSPg6kf/wt3HmzrOyl5O4St/UX8VNjZT4j2" crossorigin="anonymous"></script>Version v2.0
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.0/splunk-otel-web.js" crossorigin="anonymous"></script>Version v2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v1.2.0
1.2.0
-
@splunk/otel-web- Added Rage Click Detection #1484
- Automatically detects and reports rage click events (multiple rapid clicks on the same element)
- Helps identify user frustration signals and usability issues
- Disabled by default - must be explicitly enabled in configuration
- Example of how to enable rage click detection:
SplunkRum.init({ // ... other config options instrumentations: { frustrationSignals: { rageClick: { count: 3, // Number of clicks to trigger rage click (default: 3) timeframeSeconds: 1, // Timeframe in seconds (default: 1) ignoreSelectors: ['#no-rage'], // CSS selectors to ignore (optional) }, }, }, })
- Set
rageClick: trueorrageClick: {}to use default settings (3 clicks within 1 second)
- Added Platform Attributes Including OS Version #1482
- Spans now include detailed platform information such as operating system name and version
- Uses the User Agent Client Hints API to obtain enhanced platform data
- Automatically falls back to basic platform information if the API is not available
- Removed FID (First Input Delay) Metric #1448
- Removed FID metric collection as it has been deprecated by Chrome
- FID was previously replaced by INP (Interaction to Next Paint) metric which provides better insights into page responsiveness
- Updated web-vitals dependency to latest version
- Added Rage Click Detection #1484
-
@splunk/otel-web-session-recorder- Fixed Session Replay Sampling #1486
- Session replay now properly respects the configured sampling rate
- Fixed Session Recording on Session Expiration #1488
- Recording now stops correctly when a session expires
- Change span names for session replay lifecycle events #1485
- Updated Session Replay CDN Module #1525
- Updated to the latest version of the session replay CDN script
- Fixed Session Replay Sampling #1486
CDN
Version v1.2.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2.0/background-service.html" integrity="sha384-AggP7sVqXrY0GDAvuN48/FFQQXi88Scvi8I5Xz8RpHHR90ioC4IisE/qJMZhXk2h" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2.0/splunk-otel-web-session-recorder.js" integrity="sha384-qspEOIMr5BdYlE8DyYwcFxEvWD0QvdELYMtklj8yrW1ss6S/cKA8HprUCQ26bpIp" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2.0/splunk-otel-web.js" integrity="sha384-5cshQi6oHZ9aKdBpG7xwKig+I8DhfhCOZh1wLc4Rxnp/hvE0jc8mAkuuKTXW1uZT" crossorigin="anonymous"></script>Version v1.2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.2/splunk-otel-web.js" crossorigin="anonymous"></script>Version v1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v1.1.1
-
@splunk/otel-web- Fixed service.name attribute handling #1451
- Prevents the default
unknown_servicevalue from being included in exported spans when no explicit service name is configured
- Prevents the default
- Reduced click text capture length #1455
- Decreased maximum captured click text length from 128 to 50 characters
- Updated dependencies
- Updated various dependencies
- Fixed service.name attribute handling #1451
-
@splunk/otel-web-session-recorder- Updated session replay CDN package #1468
- Updated session replay module from v2.5.2 to v2.5.4
- Fixes potential website crashes in Safari in certain scenarios related to WebKit bug (WebKit Bug 301688)
- Updated session replay CDN package #1468
CDN
Version v1.1.1
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.1/background-service.html" integrity="sha384-ZVMm1obDFBzKDsJItSw+FB1TZ03kQNR5xWLZDQamYs0gC67EzXizC+idj/pxPlQf" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.1/splunk-otel-web-session-recorder.js" integrity="sha384-LtdUmAqXXNFos/8pnOC7rYChz1GH7r3A0j/sONa+k3stxSGewbiSNxKz+UR01a4U" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.1/splunk-otel-web.js" integrity="sha384-bNb4toipOKBsL5yJJDhfzMw3oP/nF16ITIljsKDEDkeAQsXkeET9qRTLUHU/l5bV" crossorigin="anonymous"></script>Version v1.1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/splunk-otel-web.js" crossorigin="anonymous"></script>Version v1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v1.1.0
1.1.0
-
@splunk/otel-web- Collect Text from Clicked Elements #1332
- Click events now capture text content from the clicked elements with privacy-first defaults
- Default Behavior: By default, only the element's tag name is collected (e.g.,
[Button]), ensuring no sensitive information is captured - Masking & Unmasking: Use
maskAllTextandsensitiveRulesconfiguration options to control text capture behavior, similar to session replay functionality - Examples:
- Default:
Clicked to '[Button]'for<button>Potentially sensitive text</button> - After explicitly unmasking:
Clicked to 'Potentially sensitive text'
- Default:
- See documentation for details on masking configuration
- Collect Text from Clicked Elements #1332
-
@splunk/otel-web-session-recorder- Add browser compatibility guard and enable polyfills for session recorder CDN bundle #1450
- Prevents session recorder initialization in unsupported browsers and enables automatic polyfill injection for the CDN bundle.
- Add browser compatibility guard and enable polyfills for session recorder CDN bundle #1450
CDN
Version v1.1.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.0/background-service.html" integrity="sha384-l3e3SkIe70EJszv9JJHolIysOS6TtstZ0BLj3SJ2B1VCx2zRfWesvIyPW9ryAxcw" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.0/splunk-otel-web-session-recorder.js" integrity="sha384-mcPcBFuXOE0CVSUtvhDm9M9PT82GzWLdku7bDUFzwDFKDZG05bAhQtKp4LlsboDk" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1.0/splunk-otel-web.js" integrity="sha384-FxBJDOf/jiV/jfujmzYrH9uYbj6qcF9QQFTGgGyCTh2ny7+R6vEevZCrHNEEn3uz" crossorigin="anonymous"></script>Version v1.1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.1/splunk-otel-web.js" crossorigin="anonymous"></script>Version v1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v1.0.1
1.0.1
@splunk/otel-web- Improved Configuration Error Handling #1431
- Invalid configuration options no longer throw errors that can break initialization. Instead, the SDK now logs an error message and gracefully stops initialization, preventing application crashes due to misconfiguration.
- Improved Configuration Error Handling #1431
CDN
Version v1.0.1
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0.1/splunk-otel-web-session-recorder.js" integrity="sha384-cZAnYtsTi0psFMN2hhveMlGsmKOmACU/WICWf66Vb17eYJMTxQRoRQxo22NhoBLG" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0.1/splunk-otel-web.js" integrity="sha384-9scaH3LbGmxMHfqmCAs9b0qLsLaMRO0hwIOYEHv3Mx0wXP3jqdS5VgHGa7/VWqxK" crossorigin="anonymous"></script>Version v1.0
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0/splunk-otel-web.js" crossorigin="anonymous"></script>Version v1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v1.0.0
1.0.0
🎉 We're out of beta! This is the first stable release of Splunk OpenTelemetry JavaScript Web SDK.
Breaking Changes
This release includes several breaking changes as we graduate from beta to stable:
-
@splunk/otel-web-
Removed Legacy Build Support #1366
- Dropped support for legacy browsers (Internet Explorer)
- The legacy build that provided IE compatibility has been removed
-
Removed Deprecated and Experimental APIs #1331
- All APIs marked as deprecated in previous versions have been removed
- All experimental APIs (prefixed with
_experimental_) have been removed or promoted to stable - Removed deprecated configuration options:
app- UseapplicationNameinsteadbeaconUrl- UsebeaconEndpointinsteadenvironment- UsedeploymentEnvironmentinsteadrumAuth- UserumAccessTokeninstead
- Removed deprecated API methods:
SplunkRum._experimental_getGlobalAttributes()- UseSplunkRum.getGlobalAttributes()insteadSplunkRum.error(...args)- UseSplunkRum.reportError(error, context)insteadSplunkRum._experimental_addEventListener(name, callback)- UseSplunkRum.addEventListener(name, callback)insteadSplunkRum._experimental_removeEventListener(name, callback)- UseSplunkRum.removeEventListener(name, callback)insteadSplunkRum._experimental_getSessionId()- UseSplunkRum.getSessionId()instead
-
Session Management Changes #1289
- Session lifecycle management has been simplified and now works independently
- Sessions are extended only when
click,scroll,touch, andkeydownevents are detected - Previously, we extended sessions based on the
_experimental_allSpansExtendSessionand_experimental_longtaskNoStartSessionconfig options. These options are no longer supported and can be removed from your configuration.
-
-
@splunk/otel-web-session-recorder-
Session Recorder Breaking Changes #1330
- Removed rrweb dependency - The session recorder no longer uses the external rrweb library
- Replaced with Splunk's native recorder - Session recording is now handled by Splunk's proprietary, more efficient recording engine
- Removed
recorderTypeconfiguration option - Therecorder: 'rrweb|splunk'option is no longer supported - Please refer to the Record browser sessions docs for more details.
-
Session Replay Enhancements #1368
- Added
persistFailedReplayDataoption to improve replay data reliability (set totrueby default) - When
persistFailedReplayDatais enabled, data that we are unable to send to Splunk is persisted to local storage and sent again when the page is reloaded. - There is a 2MB limit for data stored in local storage
- Added
-
Migration Guide
If you're upgrading from a previous version, please ensure:
-
Update your configuration to use the new option names:
// Before (deprecated) SplunkRum.init({ app: 'my-app', beaconUrl: 'https://...', environment: 'production', rumAuth: 'token', }) // After (stable) SplunkRum.init({ applicationName: 'my-app', beaconEndpoint: 'https://...', deploymentEnvironment: 'production', rumAccessToken: 'token', })
-
Update your API calls to use the stable methods:
// Before (deprecated) SplunkRum._experimental_getGlobalAttributes() SplunkRum.error('Something went wrong') // After (stable) SplunkRum.getGlobalAttributes() SplunkRum.reportError('Something went wrong')
CDN
Version v1.0.0
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0.0/splunk-otel-web-session-recorder.js" integrity="sha384-YjsSwSwKGZC5OBUvd88p9Iwat5hj/V3bg9aA/3RwwhMFQFXoNr25eumFo/PN6M7m" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0.0/splunk-otel-web.js" integrity="sha384-fWHQKHi0Uppw3FP4QXbLWy8MFwna/Ib2anyxtKJ/Bk3AbY8mRZFMf2KP1j4Gj2bz" crossorigin="anonymous"></script>Version v1.0
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1.0/splunk-otel-web.js" crossorigin="anonymous"></script>Version v1
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v1/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>v0.24.0
@splunk/otel-web- Deprecation Warnings: Added console warning messages for better visibility of previously deprecated APIs and configuration options. #1345
- These items were deprecated in earlier versions but now show explicit deprecation warnings to help users migrate before they are removed in a future major version:
- Configuration Options: The following configuration options have been renamed and the old names will show deprecation warnings:
app→ UseapplicationNameinsteadbeaconUrl→ UsebeaconEndpointinsteadenvironment→ UsedeploymentEnvironmentinsteadrumAuth→ UserumAccessTokeninstead
- API Methods: The following methods are deprecated:
SplunkRum._experimental_getGlobalAttributes()→ UseSplunkRum.getGlobalAttributes()insteadSplunkRum.error(...args)→ UseSplunkRum.reportError(error, context)insteadSplunkRum._experimental_addEventListener(name, callback)→ UseSplunkRum.addEventListener(name, callback)insteadSplunkRum._experimental_removeEventListener(name, callback)→ UseSplunkRum.removeEventListener(name, callback)insteadSplunkRum._experimental_getSessionId()→ UseSplunkRum.getSessionId()instead
- Configuration Options: The following configuration options have been renamed and the old names will show deprecation warnings:
CDN
Version v0.24.0
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0.24.0/splunk-otel-web-session-recorder.js" integrity="sha384-SRt6qeawLqbRcUViFfgoV/e9W6FZAT7DdLQBN8qvDYmxBzL7Kn6kqEyEpkDKNrqM" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0.24.0/splunk-otel-web.js" integrity="sha384-job28qXQtLiPEobe1cPBFpQ0TLNRZUsrMaRJMKjHqkQ1L1TIRWHOwnjAZ02oBklh" crossorigin="anonymous"></script>Version v0.24
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0.24/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0.24/splunk-otel-web.js" crossorigin="anonymous"></script>Version v0
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v0/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>