v1.243.1
Bug fixes
Improve Session Replay abort metric reliability
Pass Session Replay abort metrics through the event emitter buffer to guarantee that early lifecycle failures are captured by the Metrics feature for prioritizing future improvements.
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.243.1 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 108-117, Edge 108-116, Safari 15-16, and Firefox 108-117. For mobile devices, v1.243.1 was built and tested for Android Chrome 100-117 and iOS Safari 15.5-16.2.
v1.242.0
Features
Add messaging about Session Replay abort behavior
Add messaging to signal why a replay aborted, which could happen for a number of reasons.
Applying new cache headers to assets
Released browser agent assets will now be delivered with a 1 year cache header. This will allow user's browsers to cache the async chunks the agent loads for much longer and eliminate performance recommendations found in synthetic performance tools like Lighthouse. This will be applied retroactively to all released versions of the agent.
Bug Fixes
Drain event emitter even when feature fails to initialize
A failure to import and initialize a feature could block the agent from draining data out of the event emitter, which prevents the agent from making any successful calls. This fix allows the event emitter to drain even when an individual feature fails to initialize.
Validation of SR configurations
Update the block selector, mask selector, and mask input setters to handle empty strings.
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.242.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 108-117, Edge 108-116, Safari 15-16, and Firefox 108-117. For mobile devices, v1.242.0 was built and tested for Android Chrome 100-117 and iOS Safari 15.5-16.2.
v1.241.0
Features
Add SR entrypoint to NPM ahead of LP
Add SR instrumentation entrypoint to NPM ahead of the upcoming Limited Preview window
Removing hash from chunk asset name
Removing the hash from the chunk asset file name. This will allow internal and external automation to predict the file name of each asset chunk as long as the loader type and version number is known.
Bug Fixes
Final harvest does not happen when initial RUM call fails
Fixes the final harvest behavior in cases when the RUM request fails. The initial request is meant to act as a gateway for the agent to start reporting data, and its failure should result in the agent not sending anything. As of previous version, the metrics and page view timing features do not follow this rule, and that has been corrected.
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.241.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 107-116, Edge 107-115, Safari 15-16, and Firefox 108-116. For mobile devices, v1.241.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-16.2.
v1.240.0
Features
Origin of agent webpack chunks now changeable
Allow the agent to operate through a proxy. The agent needs to be able to fetch its source code and send analytics to a different domain, and this solves the former. NPM is not affected.
Add session trace metadata params
Add first timestamp and node count information to session trace payloads for optimization in UI experiences.
Add SR to pro and spa builds (only runs for LP customers)
Add the SR feature to Pro and Pro+Spa builds of the agent. The session replay library shipping with this version of the browser agent is in limited preview and is not turned on by default. To use the feature, users will need to be part of the limited preview customer group and configure their browser application settings in the UI.
Centralize web vitals timings
Centralize web vitals timings to be accessible from any part of the agent.
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.240.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 107-116, Edge 107-115, Safari 15-16, and Firefox 108-116. For mobile devices, v1.240.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-16.2.
v1.239.1
Features
Add best effort to detect Ajax events before instantiation
Add a "best effort" at detecting ajax events that may have happened on the page before the agent was instantiated by utilizing the ResourceTiming browser API.
Add mode to enable agent to not harvest until user consent
Add ability for customers to wait to start harvesting. This behavior will utilize a configuration setting in tandem with an API call to trigger features to begin harvesting.
Remove allow_bfcache flag
Removes unused code which still relied on the window unload event. Going forward, the only method the agent will use to monitor potential end of page session will be visibility change in accordance with modern web practice.
Remove old supportability metrics
Removing supportability metrics that are no longer needed including polyfill detection, bfcache usage, body and query bytes sent count, and custom attributes size.
Bug Fixes
Fix issue with leaking event listeners
Fixing an issue where session timeout would result in rewrapping global event handlers. For instances where the site would be open for long periods of time, such as kiosks, this would eventually result in a degradation in event handler performance.
Issues with types resolution
Fixing issues with typescript throwing errors when trying to resolve the typings for individual features with "moduleResolution": "node" set in the tsconfig.json. "moduleResolution": "nodenext" and "moduleResolution": "node16" will enable typescript use of the exports field of our package.json but could also break other libraries and forces developers to change all local imports to include file extensions.
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.239.1 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 107-116, Edge 107-115, Safari 15-16, and Firefox 108-116. For mobile devices, v1.238.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-16.2.
v1.238.0
Features
Reducing the agent chunk count
Reducing the number JavaScript files the agent loads asynchronously down to a single file. This means customer's users will now only need to load one additional JavaScript file for the New Relic Browser Agent to operate. This additional JavaScript file will continue to only be loaded upon the document "load" event. This change not only reduces the number of additional requests the agent must make but also reduces the amount of code that must be loaded by eliminating duplication.
Add API: setApplicationVersion
Add api method to top-level interface to allow the setting of application version across all outgoing payloads
Bug Fixes
Capture potential missing tail data for session trace
Send buffered session trace data in certain cases when it's being discarded at the tail end of a captured session.
Fix distributed tracing handling of empty string fetch parameter
Fixing an issue with distributed tracing that would result in an exception within the agent when fetch is called with an empty string as the first parameter.
Typo in type declarations
Fixing typos made in the browser and micro agent API declarations. This includes adding internal test cases for those types to ensure this issue does not happen again.
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.238.0 of the Browser agent was built for and tested against these browsers and version ranges: Chrome 106-114, Edge 106-113, Safari 15-16, and Firefox 107-113. For mobile devices, v1.238.0 was built and tested for Android Chrome 100 and iOS Safari 15.2-16.2.
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.