Notes
The Browser Agent, sometimes called the JS Agent, has multiple variants: Lite, Pro, Pro+SPA. Unless noted otherwise, all features/improvements/bug fixes are available in all variants of the agent.
Improvements
- Adjusted PageAction limits: Previously, we limited PageAction events to 120 per page load and only 20 events per harvest cycle, resulting in dropped data if a user sent more than 20 pageAction events in a single burst. Increasing the harvest time to 30 seconds also increases the event buffer, allowing users to send up to 60 events per harvest.
- Improved time measurement: Previously, the agent used the system clock to calculate timing, and since the system clock may shift over the lifecycle of a page, the agent could occasionally report inaccurate or unexpectedly negative values. Going forward, the agent will use
perfomance.now()
, which is a monotonically increasing clock that starts fromnavigationStart
. This change will result in more accurate timing for modern browsers.
Bug fixes
- Preserve event listeners: Previously, if the agent doesn't load correctly it affected the functionality of
add-
andremoveEventListener
. These will now function the same whether the agent loads or not.
How to upgrade
To upgrade your agent to the latest version, see Upgrade Browser agent.
Notes
The Browser Agent, sometimes called the JS Agent, has multiple variants: Lite, Pro, Pro+SPA. Unless noted otherwise, all features/improvements/bug fixes are available in all variants of the agent.
New features
- Release ID API: A new API allows you to uniquely identify your current JavaScript version, enabling a richer error feature with source maps identification. Stay tuned for more information and documentation!
Improvements
- Passive Scroll Event Listeners: Previously, the wrapped scroll event listener did not take advantage of an available performance optimization: the passive annotation. By including this annotation, our wrapped scroll listener will allow a non-blocking, smooth scrolling action.
Bug fixes
- XHR With Credentials: Previously, when the agent would send data using an XHR, it would feature-check the
withCredentials
property and set it totrue
if it was available. However, older versions of IE do not allow modification of thewithCredentials
property on unsent XHRs. The agent now wraps the property assignment in a try/catch block to prevent errors.
How to upgrade
To upgrade your agent to the latest version, see Upgrade Browser agent.
Notes
The Browser Agent, sometimes called the JS Agent, has multiple variants: Lite, Pro, Pro+SPA. Unless noted otherwise, all features/improvements/bug fixes are available in all variants of the agent.
New features
- Added the setCurrentRouteName API method [relevant only for Pro+SPA]: The agent now has an API method to set the current route name for the page. This api can be used to set the
previousRouteName
andtargetRouteName
for BrowserInteraction events.
For details on how and why to use this API, see our Browser SPA API Docs
Improvements
- Disabled insecure communication with New Relic: Previously the agent would send RUM data to the router without TLS if the request was initiated from an insecure page. Now the Browser Agent will always use TLS connection when transmitting data.
- Browser Agent no longer mutates the attributes object passed to the addPageAction API: Previously the agent would mutate the attributes object passed to add page actions by adding the default and page attributes onto this object.
Bug fixes
- Fixed a compatibility issue with zone.js: Previously when the Browser Agent and zone.js were both included on a page, additional event handlers would be triggered twice. For example, when event handlers were added as properties, such as
onreadystatechange
, these handlers would be triggered twice in some browsers. This issue has now been resolved. - Fixed a bug with cross-frame callbacks: Previously, when adding event handlers for events in iframes, the agent would attempt to wrap the provided callbacks. When the wrapping logic called the callback belonging to another frame, a permissions exception would be thrown. The agent will now only wrap callbacks created in the same frame.
- Fixed a memory leak when the Browser agent fails to load correctly
How to upgrade
To upgrade your agent to the latest version, see Upgrade Browser agent.
Notes
The Browser Agent, sometimes called the JS Agent, has multiple variants: Lite, Pro, Pro+SPA. Unless noted otherwise, all features/improvements/bug fixes are available in all variants of the agent.
New features
- Added newrelic.setErrorHandler API to allow for selective ignoring of known errors [Pro, Pro+SPA]: This API takes a single error handler function, which will be called for each error the agent captures. If the handler returns true, the error will NOT be recorded by New Relic, otherwise it will be processed normally.
For details on how to use this API, see our Browser API Docs.
How to upgrade
To upgrade your agent to the latest version, see Upgrade Browser agent.
Notes
The Browser Agent, sometimes called the JS Agent, has multiple variants: Lite, Pro, Pro+SPA. Unless noted otherwise, all features/improvements/bug fixes are available in all variants of the agent.
New features
- Add support for keyboard change events [Pro+SPA]: Keyboard events will now automatically trigger a Browser Interaction timing.
- Browser Timing Events now have Traced Callback Duration [Pro+SPA]: In order to match the attributes on other New Relic Browser related events, the Browser Timing events now include callback durations by default.
Improvements
- Change harvest to not use sendBeacon: We now use the
sendBeacon
native API only for page unload. The agent will now attempt to use an XHR when available and savesendBeacon
forunload
events, in order to reduce the data transferred using the sendBeacon API.
How to upgrade
To upgrade your agent to the latest version, see Upgrade Browser agent.