Skip to content

Releases: signalfx/splunk-otel-js-web

v2.3.0

03 Mar 14:45
295b8d5

Choose a tag to compare

  • @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 sessionMetadata configuration 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
  • 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

19 Feb 11:39
1234547

Choose a tag to compare

  • @splunk/otel-web

    • Enable rage clicks by default #1641
      • Rage clicks frustration signal is now enabled by default
    • Remove _experimental prefix from spaMetrics #1640
      • The spaMetrics feature is now stable and no longer marked as experimental
    • Prevent session.start spans and session replay for native sessions #1638
      • Prevents duplicate session.start spans and session replay when receiving a session ID from the mobile agent (MRUM)
  • @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
  • 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

03 Feb 11:15
14c0233

Choose a tag to compare

  • @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_type and interaction_type attributes
      • 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.start span when a new session begins
      • Each session generates exactly one span for tracking session lifecycles
    • 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
  • @splunk/otel-web-session-recorder

    • Updated Session Replay CDN Module #1630
      • Bumped session-replay to latest upstream version
  • 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

19 Jan 14:13
6390a2d

Choose a tag to compare

⚠️ Breaking Changes

  • @splunk/otel-web
    • Anonymous User Tracking Enabled by Default #1579
      • Changed the default value of user.trackingMode from noTracking to anonymousTracking
      • 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
        	},
        })

New Features and Improvements

  • @splunk/otel-web-session-recorder

    • Added Session Replay Sampling #1577
      • Introduced SessionBasedSampler to control the percentage of sessions that get recorded by session recorder

      • SplunkRum takes a ratio of all possible sessions, e.g. 0.8 means 80% of all possible sessions will be sent to the backend

      • SplunkSessionRecorder also takes a ratio of all possible sessions, e.g. 0.02 means 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 for SplunkRum is 0.2 and the ratio for SplunkSessionRecorder is 0.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
  • @splunk/otel-web

    • Added Experimental Data Attributes Capture #1537
      • Added __experimental_dataAttributesToCapture config option to capture custom data-* 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 Page Completion Time (PCT) Metric for SPAs #1536
      • Introduced a new SpaMetricsManager for 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 routeChange span 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 routeChange span
      • 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
        	},
        })

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

04 Dec 11:40
9b8d905

Choose a tag to compare

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: true or rageClick: {} 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
  • @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

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

04 Nov 10:29
9c96723

Choose a tag to compare

  • @splunk/otel-web

    • Fixed service.name attribute handling #1451
      • Prevents the default unknown_service value from being included in exported spans when no explicit service name is configured
    • Reduced click text capture length #1455
      • Decreased maximum captured click text length from 128 to 50 characters
    • Updated dependencies
      • Updated various dependencies
  • @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)

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

21 Oct 16:25
4ac6c4f

Choose a tag to compare

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 maskAllText and sensitiveRules configuration 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'
      • See documentation for details on masking configuration
  • @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.

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

01 Oct 17:48
9c5d3ee

Choose a tag to compare

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.

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

01 Oct 10:47
8683a9f

Choose a tag to compare

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 - Use applicationName instead
        • beaconUrl - Use beaconEndpoint instead
        • environment - Use deploymentEnvironment instead
        • rumAuth - Use rumAccessToken instead
      • Removed deprecated API methods:
        • SplunkRum._experimental_getGlobalAttributes() - Use SplunkRum.getGlobalAttributes() instead
        • SplunkRum.error(...args) - Use SplunkRum.reportError(error, context) instead
        • SplunkRum._experimental_addEventListener(name, callback) - Use SplunkRum.addEventListener(name, callback) instead
        • SplunkRum._experimental_removeEventListener(name, callback) - Use SplunkRum.removeEventListener(name, callback) instead
        • SplunkRum._experimental_getSessionId() - Use SplunkRum.getSessionId() instead
    • Session Management Changes #1289

      • Session lifecycle management has been simplified and now works independently
      • Sessions are extended only when click, scroll, touch, and keydown events are detected
      • Previously, we extended sessions based on the _experimental_allSpansExtendSession and _experimental_longtaskNoStartSession config 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 recorderType configuration option - The recorder: 'rrweb|splunk' option is no longer supported
      • Please refer to the Record browser sessions docs for more details.
    • Session Replay Enhancements #1368

      • Added persistFailedReplayData option to improve replay data reliability (set to true by default)
      • When persistFailedReplayData is 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

Migration Guide

If you're upgrading from a previous version, please ensure:

  1. 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',
    })
  2. 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

03 Sep 07:45
3e94f2e

Choose a tag to compare

  • @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 → Use applicationName instead
        • beaconUrl → Use beaconEndpoint instead
        • environment → Use deploymentEnvironment instead
        • rumAuth → Use rumAccessToken instead
      • API Methods: The following methods are deprecated:
        • SplunkRum._experimental_getGlobalAttributes() → Use SplunkRum.getGlobalAttributes() instead
        • SplunkRum.error(...args) → Use SplunkRum.reportError(error, context) instead
        • SplunkRum._experimental_addEventListener(name, callback) → Use SplunkRum.addEventListener(name, callback) instead
        • SplunkRum._experimental_removeEventListener(name, callback) → Use SplunkRum.removeEventListener(name, callback) instead
        • SplunkRum._experimental_getSessionId() → Use SplunkRum.getSessionId() instead

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>