RUM Browser SDK changelog
Browser SDK 4.0.1
Fixed TypeScript build errors caused by the SDK's type declarations, and set TypeScript 4.5.2 as the minimum supported version.
Browser SDK 4.0.0
Upgraded OpenTelemetry to 2.x, moving network spans onto the stable HTTP semantic conventions.
- Breaking change: the npm package is now published as ES2022 instead of ES5. If you support browsers older than ES2022, transpile
@coralogix/browseras part of your own build, or load the ES5 CDN bundle instead, which is unchanged. The default CDN bundle is also now built to ES2022, up from ES2015. Use the ES5 CDN bundle if you support older browsers. - Breaking change: the HTTP attributes on network spans are renamed onto the stable OpenTelemetry semantic conventions:
http.method→http.request.method,http.url→url.full,http.status_code→http.response.status_code,http.host→server.address. This only affects you if you read raw OpenTelemetry span attributes through atracesExportercallback.network_request_context, whatbeforeSendreceives, keeps the same fields and values, apart fromstatus_textbelow. - Breaking change:
status_textnow reports the standard reason phrase for the status code, for exampleService Unavailablefor 503, rather than the phrase the server sent, because HTTP/2 and HTTP/3 carry no reason phrase on the wire at all. - Breaking change:
response_content_lengthis now anumberinstead of astring. It's now reported from theContent-Lengthheader, so cross-origin requests are covered too. It's unset when the server omits the header, and a malformed header is ignored rather than reported as a misleading response size. - A failed XHR request that never reaches the server, whether offline, blocked by CORS, aborted, or timed out, now reports
status_text: "Unknown"instead of leaving it empty. A failedfetchreports the browser's own message, as before.
Browser SDK 3.24.0
The SDK now takes an extra screenshot for Coralogix Product Analytics when a user action leads to a meaningful application state, such as a dialog, drawer, or menu opening, or a view being replaced, on top of the screenshots already taken on the first click and one random later click of each view. On by default whenever session recording is running; set sessionRecordingConfig.captureScreenshotOnDomChange: false to turn it off. Expect a small rise in upload volume: one to four extra screenshots per page view, measured on real applications. Each screenshot event also lists the actions available on the captured view (screenshot_context.actions, up to 100 names). In onlyWithErrorConfig mode, these screenshots are now held until the session has an error, instead of being uploaded for sessions that never error. Learn more
Browser SDK 3.23.8
- A clicked button's own text is now reported as its interaction name (
resolved_name) when the button sits inside a container that has anaria-label, such as arole="dialog"panel. The container's label was reported instead. - A click on an SVG chart shape is now named by the shape's own
<text>label instead of by the text of the whole page section around the chart. - An icon-only control is no longer named after the labels of the other buttons in its toolbar; such controls now take their
titleoraltattribute, and report no name when they have neither. - A
<select>is now named by its first option instead of by all its options joined together, and<input type="submit">,"button"and"reset"are named by theirvalue. - Text under a masked element (
maskClass) is now excluded fromresolved_nameinstead of leaking when the clicked control contains masked content. Learn more resolved_nameandelement_inner_textare now capped at 100 characters, ending with[...]when cut, so a container's content can no longer produce a very long interaction name.- Only the first SDK copy loaded on a page now runs: a second copy (another bundle importing the SDK, or a CDN script next to an npm install) no longer replaces
window.CoralogixRum, and itsinitis ignored with a debug message.
Browser SDK 3.23.7
- A page URL segment is now masked as
{id}only when the whole segment is digits, so route names such as/apm-v2and/oauth2keep their real value. - Your own
pageUrlBlueprintersnow run after the built-in ID masking, so the SDK defaults no longer overwrite them. Learn more - The fragment is now kept when masking a numeric segment:
/user/123#detailsnow reports as/user/{id}#details.
Browser SDK 3.23.6
- The browser tab no longer freezes on Safari, and on every browser on iOS/iPadOS, when an error is reported while the page is navigating away, whether through a redirect on first visit, a link, or a form submit. The tab could hang at 100% CPU and grow in memory until the browser killed it, and the page being navigated to never loaded. Applications that load zone.js, such as Angular, were affected.
- A
pageUrlBlueprinterscallback that throws no longer freezes the tab in any browser. Such a callback is now contained and reported once instead of looping; it still surfaces to your own error handling as before. Learn more - The SDK's own error reporting no longer surfaces in your application as unhandled promise rejections.
Browser SDK 3.23.5
- A single
cx-metadata.jsonrequest is now made per microfrontend when several errors are reported at once, instead of one request per error. Learn more - The SDK's own
cx-metadata.jsonlookups are no longer reported as network requests in your RUM data. - A
cx-metadata.jsonserved with an error status is now ignored instead of being read as metadata, which could label an error with an empty microfrontend name and version.
Browser SDK 3.23.4
Restored canvas capture in session recording. With recordCanvas enabled and a numeric sampling.canvas, snapshots stopped after the first frame and the recording worker reported an uncaught __awaiter is not defined error. Learn more
Browser SDK 3.23.3
The INP (Interaction to Next Paint) reporter no longer throws an uncaught TypeError after a back/forward navigation followed by a tab switch.
Browser SDK 3.23.2
resolved_nameis no longer reported for dead clicks.- Added an optional
fullDataflag toCoralogixRum.getResolvedName(), used by Coralogix's own tooling.
Browser SDK 3.23.1
The public types no longer pull @types/node into browser TypeScript builds.
Browser SDK 3.22.1
- A network request is now reported under the view it started in. A request still in flight when the page changed was previously tagged with the next view's number.
- Full page loads now count as view changes in multi-page apps, where
view_numberpreviously stayed at 0 for the whole session. RequiressessionConfig.keepSessionAfterReload.
Browser SDK 3.22.0
- Added support for an explicit ingress URL through the new
coralogixDomainUrloption, for accounts whose endpoint has no correspondingcoralogixDomainkey. - Initialization now aborts with a clear message when
coralogixDomainis not a recognized region, instead of sending data to an invalid endpoint.
Browser SDK 3.21.1
Updated the Coralogix domains API URL map.
Browser SDK 3.21.0
- Upgraded the session recording engine to rrweb 2.1.1. Learn more
- Session recording now keeps working when another library on the page replaces
MutationObserver. - Style changes are now recorded correctly for CSS rules nested inside
@media/@supports. - Fixed recording errors on browsers without WebGL support.
url()references that contain a fragment are now resolved correctly in captured stylesheets.
Browser SDK 3.20.1
Improved user-interaction tracking for product analytics.
Browser SDK 3.20.0
Updated the Coralogix domains API URL map.
Browser SDK 3.19.4
Improved dead-click handling and referrer path resolution.
Browser SDK 3.19.3
Improved action-name attribute detection in nested elements.
Browser SDK 3.19.2
User-interaction fingerprinting now targets the clickable ancestor instead of the raw click target.
Browser SDK 3.19.1
sdkFetchPriority is now typed with a locally declared SdkFetchPriority alias instead of the DOM RequestPriority type, so the SDK no longer fails to compile on TypeScript versions whose DOM lib predates RequestPriority.
Browser SDK 3.19.0
Added a createNewSession() API to manually rotate the session, for example on user logout.
Browser SDK 3.18.0
Added product analytics support for richer product-level insights.
Browser SDK 3.17.1
Snapshot context now persists across page reloads when keepSessionAfterReload is enabled, so session-level counters (views, errors, actions) no longer reset on refresh.
Browser SDK 3.17.0
Added configurable OpenTelemetry batch and flush settings via otelConfig.
Browser SDK 3.16.2
- Fixed PII masking for password input field changes.
- Breaking change: the default
maskInputTypesis narrowed from['password', 'email', 'tel']to['password'], to match the session-recording default.emailandtelinputs are no longer masked by default in user-interaction events. SetmaskInputTypes: ['password', 'email', 'tel']to restore the previous behavior. Learn more
Browser SDK 3.16.1
Improved user-interaction accuracy: SVG icon clicks are now captured, and role-based and custom controls are resolved.
Browser SDK 3.16.0
Added support for configuring fetch priority on SDK network requests.
Browser SDK 3.15.1
Improved user-interaction tracking accuracy.
Browser SDK 3.15.0
Improved user-interaction tracking with smarter element fingerprinting and more accurate screenshot capture on clicks and navigation.
Browser SDK 3.14.0
Telemetry data now flushes on tab close, with fetch keepalive support.
Browser SDK 3.13.0
Improved user-interaction tracking with click and scroll coordinates, and viewport context.
Browser SDK 3.12.0
Added screenshot capture on each unique view navigation.
Browser SDK 3.11.1
Added SVG element support in session recording and fixed session recording after refreshing the page.
Browser SDK 3.11.0
Added view number tracking for product analytics support.
Browser SDK 3.10.1
Improved beforeSend to correctly reflect modifications in OpenTelemetry span attributes. Learn more
Browser SDK 3.10.0
Improved user interaction instrumentation with richer element metadata.
Browser SDK 3.9.0
Enriched spans with RUM context (cx_rum) to improve RUM-to-tracing correlation. Learn more
Browser SDK 3.8.3
Improved web vitals attribution data by preventing deep nesting.
Browser SDK 3.8.2
Web vitals listeners now run outside the zone.
Browser SDK 3.8.1
Improved error stack trace handling.
Browser SDK 3.8.0
Added support for excluding specific instrumentations from session sampling.
Browser SDK 3.7.1
Added support for error logging of non-JSON-serializable error properties.
Browser SDK 3.7.0
Improved session recording with the immediateFlush option to capture short-duration sessions (under 10 seconds). Learn more
Browser SDK 3.5.1
Improved stack trace truncation.
Browser SDK 3.5.0
SDK web APIs now run outside zone.js by default for Angular applications.
Browser SDK 3.4.1
Improved MFE (Micro-Frontend) stack trace metadata extraction stability and fixed a potential infinite loop in navigation tracking.
Browser SDK 3.4.0
Added numeric ID grouping to the default URL blueprinter.
Browser SDK 3.3.0
Enriched spans with RUM context (cx_rum) to improve RUM-to-tracing correlation.
Browser SDK 3.2.0
Added a new zoneless CDN build for Angular consumers.
Browser SDK 3.1.1
Improved error instrumentation stability and performance.
Browser SDK 3.1.0
Added optimized mutation handling in the session recorder.
Browser SDK 3.0.2
Reverted a mutation counter limit that could cause incomplete session recordings.
Browser SDK 3.0.1
Improved session recorder performance.
Browser SDK 3.0.0
Breaking change: the Total Blocking Time (TBT) web vitals metric is no longer collected by default, reducing overhead. Enable it explicitly if you need it.
Browser SDK 2.14.0
Added stack traces to console error logs.
Browser SDK 2.13.0
Improved trace metadata encoding.
Browser SDK 2.12.0
Introduced the tracesExporter callback, enabling custom processing or exporting of collected trace events. Learn more
Browser SDK 2.11.1
Snapshot context is now triggered when setUserContext is called.
Browser SDK 2.11.0
Added support for a custom propagator.
Browser SDK 2.10.1
Fixed URL encoding of template placeholders in page fragments.
Browser SDK 2.10.0
Added ignoreProxyUrlParams, which lets you skip appending the Coralogix endpoint to the proxy URL.
Browser SDK 2.9.0
Added a user fingerprint. The fingerprint is generated and stored on each user's machine for reuse.
Browser SDK 2.8.9
Improved SDK shutdown handling.
Browser SDK 2.8.8
Added Web Worker monitoring support.
Browser SDK 2.8.7
Added sessionId to span attributes, fixed network span additions, and improved global span handling in idle mode.
Browser SDK 2.8.6
Bundle size optimization, including bundling libraries from CommonJS to ESM.
Browser SDK 2.8.5
Added missing PerformanceNavigationTiming fields to the load time (LT) event.
Browser SDK 2.8.4
Traceparent propagation enhancements, improved span creation, and switched internal warnings to debug level.
Browser SDK 2.8.3
Optimized user agent parsing.
Browser SDK 2.8.2
Omitted the INP attribution property to reduce log payload size.
Browser SDK 2.8.1
Fixed user interaction instrumentation from always being enabled.
Browser SDK 2.8.0
Added CDN builds (ES5 and ES2015).
Browser SDK 2.7.0
Added Web Worker error handling.
Browser SDK 2.6.0
Added npm compatibility for older browsers.
Browser SDK 2.5.0
Added CDN compatibility for older browsers.
Browser SDK 2.4.2
Added support for Smart TV user agents.
Browser SDK 2.4.1
Reduced false recording sessions sent to the API.
Browser SDK 2.4.0
Added support for passing labels to the custom logs API (log, warn, debug, and others).
Browser SDK 2.3.0
Lazy loading of the session recorder for improved load time and reduced bundle size.
Browser SDK 2.2.0
Improved Performance Observer compatibility.
Browser SDK 2.1.0
Improved initialization for server-side rendering (SSR) applications.
Browser SDK 2.0.0
Breaking change: optimized the SDK with rollup bundling and added ES5 support. Import paths changed (for example, from @coralogix/browser/src/types-external to @coralogix/browser).
Browser SDK 1.7.0
Reverted rollup bundling due to unexpected issues.
Browser SDK 1.6.0
Bundled the project with rollup and added ES5 support.
Browser SDK 1.5.0
Added a changelog mechanism.
Browser SDK 1.4.19
Added custom spans, plus custom data and labels for captured errors. Learn more
Browser SDK 1.4.12
Fixed a missing pako dependency in the worker.
Browser SDK 1.4.11
Hotfix for the TTI import.
Browser SDK 1.4.4
Removed fetch resources, implemented allowHeaders for FetchInstrumentation, and added screenshots and start/end time measurements.
Browser SDK 1.2.40
Ensured proxyUrl is added to ignoreUrls.
Browser SDK 1.2.39
Allowed the traceparent header to be sent when the sample rate is 0.
Browser SDK 1.2.36
Fixed OpenTelemetry labels.
Browser SDK 1.2.35
Added TTI metric reporting and fixed an SDK masking bug.
Browser SDK 1.2.31
Switched to a self-hosted worker for session recording.
Browser SDK 1.2.29
Memory usage improvements.
Browser SDK 1.2.28
Masking now applies only to clickable elements.
Browser SDK 1.2.25
Removed lazy loading propagators and added advanced sampling.
Browser SDK 1.2.23
Added timing, custom measurement, and allowed tracing URLs.
Browser SDK 1.2.19
TBT refactor.
Browser SDK 1.2.17
captureError now reports on handled errors.
Browser SDK 1.2.16
Added page referer and soft navigation support.
Browser SDK 1.2.14
Added support for multi-page applications.
Browser SDK 1.2.10
Fixed page fragments that contain an anchor (#) in the URL.
Browser SDK 1.1.17
Added snapshot context end.

