v1.237.1
Bug Fixes
SPA feature respects ajax deny_list for fetch
The SPA feature will now properly respect the Ajax deny list and block internal settings for fetch calls. In prior versions, the SPA feature only consulted the Ajax deny list for XMLHttpRequest calls.
prevent dollar symbol only variable names
Prevent the build process of the agent from creating minified variable names that only contain the dollar symbol. If such a variable is immediately followed by an ampersand, as could be the case in a minified logic block, it could be picked up by string replacement logic applied to outgoing HTML within their server.
Undefined deny list ignores block internal
In cases where the customer's configuration does not include the init.ajax.deny_list
property, the agent would not properly account for the init.ajax.block_internal
setting and would not block Ajax events for internal agent network calls.
Fix serialization issue with array data
Update the harvester to account for array payloads, which in niche cases could convert array payloads to indexed objects.
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.
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.237.1 of the browser agent was built for and tested against these browsers and version ranges:
- Chrome 106-114
- Edge 106-113
- Safari 15-16
- Firefox 106-113.
For mobile devices, v1.237.1 was built and tested for Android Chrome 100 and iOS Safari 15.2-16.2.
v1.237.0
Features
Stop reporting ajax events going to same beacon
Network requests made to the same hostname as the agent's reporting beacon endpoint are no longer captured, by default. As an example, outgoing XHRs to the bam.nr-data.net
URL where analytic data is typically sent would not reflectively record itself.
Add warning for large payloads
Add warning for large payloads, which is typically caused by excessive custom attribute sizes.
reduce jserrors wrapping and remove onerror use
Replaces the use of the onerror
global function with addEventListener
to capture errors that go unhandled by customer code. This does not change how unhandled promise rejects are captured. Additional wrappings for events, timers, and animation fames have been removed in favor of capturing unhandled errors using a global event listener.
Bug Fixes
Remove fetch keep-alive unhandled rejection
Eliminate an unhandled promise rejection error caused by fetch failure in agent EoL logic.
prevent invalid error stack traces
Removing the instantiation of the Error class in the jserrors feature for instances where a non-Error value is thrown from customer's code. In such cases, an Error instance would be created and the stack trace would point back to the agent code as the source. This causes confusion since it makes it seem like the agent code is throwing the error when that is not the case. Instead, the internal UncaughtError class will be used and no stack trace will exist.
Defining agent api methods for ts types
Updating the type interface of the Agent and MicroAgent classes to properly expose the agent API methods in the generated typescript types.
Fix potential property of undefined errors
Patch a couple of areas that can yield reading property of undefined or null errors in the RUM call and jsonp wrapper.
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.237.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 106-114, Edge 105-113, Safari 15-16, and Firefox 106-113. For mobile devices, v1.237.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
v1.236.0
Features
Expose MicroLoader in the npm package
The npm package now exposes an entry-point called MicroLoader
, which may be used to instantiate multiple agents on one page. This loader type, which is smaller than the Lite loader, captures a distinct PageView
event per instance but does not auto-instrument the page. Instead, manual API calls may be used to capture JavaScriptError
and PageAction
events via the noticeError
and addPageAction
methods.
Remove img, jsonp, and xhrGet methods
Unused agent network methods have been removed. All data transmitted by the agent will now default to using XMLHttpRequest
POST calls except for data transmitted during a visibility change or page unload. Visibility changes and page unloads will use sendBeacon
with a fallback to fetch with keepalive. For browsers that do not support sendBeacon
, the final data transmission will use XMLHttpRequest
POST.
Bug Fixes
Handle chunk load promise error introduced in 1.235.0
Starting in 1.235.0, loading the agent in browsers with strict privacy settings resulted in an uncaught error in a promise. This error has been handled, and chunk load failures again result only in a warning.
Fix illegal invocation error on final harvest
An issue from 1.234.0 has been addressed in which an illegal invocation error could occur during a final harvest as a result of calling addPageAction
and passing window.location
as an argument before a navigation.
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.236.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 105-114, Edge 105-113, Safari 15-16, and Firefox 105-113. For mobile devices, v1.236.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
v1.235.0
Features
Add error mode to session trace
Session-enabled traces now have an "error mode" capability in which the feature lies dormant until an exception is thrown. Upon the error, the past 30 seconds of data is retained and sent, and the feature becomes fully activated again.
Minor feature class changes to support testing new features
Feature class internals and testing architecture have been augmented to support testing new experimental features in progress.
Decorate error objects to facilitate future UI experiences
Error payloads will now be decorated with a real timestamp and feature flags to facilitate error usages in future NR1 UI experiences.
Use new shared session for Session Trace feature
Session Trace becomes more aligned with the new interpretation of a user's session defined as part of the upcoming and experimental Session Replay feature. When the session tracking setting is enabled, the Session Trace feature will now use stored session info to make capturing decisions.
Remove unused data from session trace requests
Data defined by APM agents and the customer will no longer be included in session trace requests since the data is not consumed downstream and can result in 414 errors in cases where the custom data would cause the URL to exceed the maximum length of 8,192 bytes.
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.235.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 105-114, Edge 105-113, Safari 15-16, and Firefox 104-113. For mobile devices, v1.235.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-15.5.
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.