v1.234.0
Features
Migrate RUM network call from GET to POST
When making its initial network call (the RUM call), the agent will now use the POST method instead of the GET method and will not depend on JSON-P to trigger follow-on events. This change facilitates setting custom attributes in the request body, reducing the likelihood of long GET URLs.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, v1.234.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 104-114, Edge 104-113, Safari 15-16, and Firefox 104-113. For mobile devices, v1.234.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
v1.233.1
Bug Fixes
Address bug affecting XHR harvest re-schedule
A early return condition in the harvest rescheduling logic in version 1.233.0 was preventing Ajax event harvest from being rescheduled in cases where no data had accumulated.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, v1.233.1 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 104-113, Edge 104-113, Safari 15-16, and Firefox 104-113. For mobile devices, v1.233.1 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
v1.233.0
Features
Capture metrics for usage of MooTools and certain polyfills
New supportability metrics have been added to capture MooTools library usage and presence of customer-defined polyfills for certain native JavaScript features, such as function binding and ES6 Array prototype methods.
Update agent internals in early preparation for new features
The agent code base now contains the non-functional foundations of session replay mechanics. Note that this code is dormant and disabled. It will not download or execute until the session replay feature and its downstream dependencies are in a finished state.
Bug Fixes
Address "configurable" warnings arising from user-agent module
The unused userAgent property and corresponding module have been removed from the runtime object due to "configurable" warnings being thrown in cases attempting to overwrite the runtime configuration.
Refactor usage of Array.from to address MooTools conflict
To work around a conflict with some versions of the MooTools library that mutate the native Array.from method, the agent will now use alternative methods.
Ensure runtime is preserved for late-configuration cases
Fix an issue where the internal runtime state of the agent was not preserved when the agent configurations were supplied after the loader had finished initializing, which caused the session to be cleared.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, v1.233.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 104-113, Edge 104-113, Safari 15-16, and Firefox 104-113. For mobile devices, v1.233.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
v1.232.1
Bug Fixes
Add X-NewRelic-ID header only if defined
The agent will now set the X-NewRelic-ID
header on XHR requests only when a truthy xpid
value is explicitly set in the loader configuration. Previously the header was added even if undefined.
Identify inline stack trace URLs more precisely
URLs in JavaScriptError
stack traces were sometimes misidentified as inline scripts when they shared a partial URL with the page on which the agent was loaded. The agent will now identify same-page scripts more precisely.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, version v1.232.1 of the browser agent was built for and tested against these browsers and version ranges: Chrome 104-113, Edge 104-113, Safari 15-16, Firefox 104-113. For mobile devices, v1.232.1 was built and tested for Android Chrome 100 and iOS Safari 15-15.5.
v1.232.0
Features
Minor changes to SMs
Add internal metrics to track the duration of the average session, to improve estimation for future efforts.
Add query parameter supportability metrics
Adding supportability metrics to capture legacy network method usage, query parameter size statistics, and custom data size statistics.
Allow custom error grouping
The setErrorHandler
method now supports applying custom fingerprints to exceptions. Events with the same fingerprint appear grouped together in the New Relic One errors inbox.
Add new stateful Session Manager
The agent will now manage the end-user session lifecycle statefully, across page views and tab changes.
Support statement:
We recommend you to upgrade the agent regularly so you get the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, version v1.232.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 104-113, Edge 104-112, Safari 15-16, Firefox 103-112; and for mobile devices, Android Chrome 100 and iOS Safari 15-15.5.
v1.231.0
Omit CLS scores before web-vitals report them
Initial snapshots of CLS reported as 0s attached to timing metrics will be omitted, so as to "de-noise" the aggregate CLS dataset. This also temporarily addresses an edge case of long loading pages potentially sending a "final" CLS value of 0, inaccurately. The case of a final 0 CLS when a user only navigates away from the page has also been fixed.
Fix accepted argument type for all
and race
methods of Promise
The wrapped Promise's static all
and race
methods now work with iterators per native implementation, rather than only arrays.
Upgrade Navigation Timing API in PageView
(RUM) call
The performance entry data sent for PageView
now uses the Navigation Timing Level 2 API over the deprecated Level 1 API.
Fix typo in top-level API causing exception
An an uncaught reference exception was occurring on pages with more than one initialized agent due to a typo in the name of a variable (returnsVals
).
Add null entry checks to certain web-vitals handlers
For LCP and FID, we will exclude the performance entry info when there are no entries given by web-vitals. This had thrown exceptions.
Remove previously added console logging measurements
This reverses performance impacts and exceptions introduced in the prior release by serializing console API arguments.
Rectify version reported by NPM agent implementations
Agents installed via the NPM method will report the correct semantic version in data harvests.
Fix exception when importing NPM package source code
An error was occurring related to a missing environment variable when importing from the NPM package source directly (versus via the CJS/ESM packages).
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Consistent with our browser support policy, version v1.231.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 103-112, Edge 103-112, Safari 15-16, Firefox 103-112; and for mobile devices, Android Chrome 100 and iOS Safari 15-15.5.
v1.230.0
Add persistence for custom attributes
Custom attributes may now optionally be persisted between page loads via session storage. The API method setCustomAttribute
now takes a third parameter, which defaults to false
. When true
, this boolean indicates that the provided custom attribute should be persisted in session storage and restored on subsequent page loads. Session storage is subject to the same-origin policy of the browser.
Add setUserId API
A new setUserId
API method is now available. It defines a custom attribute containing a specified user ID, to be included in all payloads. The setUserId
API is an extension of the setCustomAttribute
API and automatically persists between page loads.
Fix npm package browser targets
The previous npm package release included code that was not compatible with browsers in our supported browser list. The package exports will now default to code that matches our browser support list. The package will also include the source code for power users that would like more control over how the agent is built.
Fix npm package exports
Some dangling, unused, and non-existent imports and exports were causing issues with consuming the NPM package in some projects. These have been removed.
Fix npm package import for typescript projects
Fixed an issue where typescript projects attempting to import the browser agent library would not get proper auto-complete in the import statement and would receive module declaration errors. The browser agent will not use tsc to generate type definitions from the JavaScript code at build time. The package.json has been updated with appropriate type export declarations.
Add error catch around sendBeacon
Added error catch logic around the sendBeacon usage. In the event sendBeacon throws an error during the final harvest, the final harvest will attempt to fall back to the image data submission method.
Remove array reduce polyfill
Removed the array reduce polyfill in favor of the native browser array reduce method.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
v1.229.0
Use semantic versioning scheme
The agent will now utilize semantic versioning for subsequent releases. The previous version (1228) will carry forward into 1.229.0, and so on.
Use web-vitals
library for internal timing calculations
In an effort to align and standardize the timings the agent collects, the agent now uses the Google CWV library to track page timings such as CLS, LCP, FCP, TTFB and more. See Core Web Vitals documentation for more information.
Ship the Browser Agent repository to NPM
The Browser Agent repository will now be available as a pre-release NPM package. See @newrelic/browser-agent for more information.
Support statement:
New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Older releases will no longer be supported when they reach end-of-life. Release dates are reflective of the original publish date of the agent version.
New Browser Agent releases are rolled out to customers in small stages over a period of time. Because of this, the date the release becomes accessible to your account may not match the original publish date. Please see this status dashboard for more information.
Bug Fixes
Fix negative offset timings
Fix an issue that caused session trace offset timings to be miscalculated in the early-page lifecycle, sometimes leading to negative "backend" timings.
New Features
Add INP and long tasks reporting
The interaction-to-next-paint metric is now calculated and reported at the end of user sessions, via the Google CWV library. In addition, long continuously executed and blocking scripts detected by the PerformanceLongTaskTiming
API are also forwarded to New Relic. This latter functionality is off
by default, until a curated UI experience is created to utilize this data.
Bug Fixes
Revert unwrapping of globals on agent abort
Partial revert of graceful handling change made in v1225 that unwrapped modified global APIs and handlers, which caused integration issues with other wrapping libraries and code.
Add resiliency around SPA interaction saving
Added resiliency code around SPA interaction node save functionality to ensure a cancelled interaction node without a parent further up the interaction tree does not cause an exception to be raised from the agent.
Internal
Add internal metrics to evaluate feasibility page resource harvests
Internal metrics were added to track the feasibility and impact of collecting page resource information using the PerformanceObserver
resource timings, such as scripts, images, network calls, and more.
Collect supportability metrics at the end of page life
Collate all of the internal statistic metrics calls, which, as of today, are sent at page start and periodically into one call made when the end user is leaving the page.