RUM JS Agent version 5.x

edit

5.16.1 (2024-06-27)

edit
Bug fixes
edit
  • User interaction click transactions will report correct transaction names for IE11 #1511

5.16.0 (2023-12-27)

edit
Features
edit

5.15.0 (2023-09-27)

edit
Potentially breaking changes
edit
  • Previously, there was a start time discrepancy between sampled and unsampled page load transactions, which was wrong. From now on, the agent will set the same start time for both of them.

Custom dashboards built using the page load duration will see an effect with the solution: #1435

Features

edit
  • Capture errors from objects thrown from the promise rejection events including the reason and custom properties: #1428

5.14.0 (2023-08-03)

edit
Features
edit
  • Add redirect span to the page-load transaction: #1400

Bug fixes

edit
  • Fetch API instrumentation now handles requests with URL objects. #1398

5.13.0 (2023-07-19)

edit
Potentially breaking changes
edit
  • Previously, breakdown timings were reported as milliseconds values in the span.self_time.sum.us field, which was wrong. From now on, it will be reported as microsecond values to match the APM specification: #1381
  • The metrics transaction.duration.sum.us, transaction.duration.count and transaction.breakdown.count are no longer recorded: #1382

Features

edit
  • Support for Angular 16 is made available via @elastic/apm-rum-angular@3.0.0: #1380
  • Improve user-interaction transactions naming. Unsupported browsers: IE11 #1390
  • Add apmRequest and sendCredentials config to TypeScript typings: #1254 #1243

Bug fixes

edit
  • Fix warnings where performance entries are not supported: #1246

5.12.0 (2022-06-14)

edit
Features
edit
  • Introduce new config option sendCredentials. This allows the agent to send cookies to APM servers that are behind reverse proxies that need requests to be authenticated: #1238
  • Agent now warns users if they provide non-existent config options when initializing it: #1230

Bug fixes

edit
  • Capture the stacktrace of a SyntaxError triggered because of a malformed JavaScript code. Before this fix the agent was capturing an empty stacktrace: #1239

5.11.1 (2022-05-16)

edit
Features
edit
  • Span’s outcome is now set to Unknown when a Fetch/XHR request is aborted. The outcome can be found in the metadata information of the span details in APM UI: #1211
  • Allow users the ability to disable compression for the events sent to APM server. This is helpful for debugging purposes while inspecting via Devtools and also for generating HAR file. Please see our troubleshooting guide for more information: #1214

Bug fixes

edit
  • The instrumentation of fetch API consumes a response as a readable stream properly. Before this fix the related span was being ended on the start of the response rather than on the end of it: #1213
  • Agent now can listen to all click events on the page. Users can enable/disable click instrumentation via disableInstrumentation: ["click"]. eventtarget instrumentation flag will be deprecated in favor of click and will be removed in the future releases: #1219

5.11.0 (2022-04-20)

edit
Features
edit
  • Events are now beaconed when the user abandons or backgrounds the page, this makes sure the agent never miss an event. Before this change it was only sending them every interval configurable via flushInterval. Unsupported browsers: Firefox, IE11: #1146

Transactions based on the supported technologies and custom managed transactions are the only ones taken into account.

  • rum-vue: Introduce script setup syntax support: #1194
  • Override reuse threshold when redefining a transaction. This will permit the agent not to miss data on slow network connections: #1196

Bug fixes

edit
  • Report Largest Contentful Paint (LCP) properly. Before this fix the agent was not giving the browser enough time to capture LCP entries that are post on-load: #1190

5.10.2 (2022-02-03)

edit
Bug fixes
edit
  • create user-interaction transactions based on the element on which the event occurred rather than the element on which the event handler has been attached. All web applications that rely on event delegation will benefit from this: #969

5.10.1 (2022-01-10)

edit
Features
edit
  • rum-core: update Cumulative layout shift(CLS) calculation following the new guidelines from Google: maximum session window with 1 second gap, capped at 5 seconds.: #1033

Bug fixes

edit
  • rum-angular: recover compatibility with Angular 9.0.x: #1115

5.10.0 (2021-12-07)

edit
Features
edit
  • Introduce new config option serverUrlPrefix to make the APM server URL configurable: #1078
  • Expose Transaction, Span, TransactionOptions and SpanOptions types definition: #1045 and #995
  • Set the values to empty string for deprecated span destination metrics: #1098

Bug fixes

edit
  • Check the existence of navigation timing data when compressing transaction marks: #1104

5.9.1 (2021-07-15)

edit

Bug fixes

edit
  • Validate apmRequest function is called for every request sent to the APM server when compression is enabled: #1055

5.9.0 (2021-07-13)

edit
Features
edit
  • Add support for apmRequest configuration that allows users to pass a custom function that can be used to modify the request sent to the APM server: #1018
  • Support for React 17 is made available via @elastic/apm-rum-react package: #1031
  • Support for Angular 12 is made available via @elastic/apm-rum-angular package: #1028

Bug fixes

edit
  • Update incorrect typings for adding labels to transaction and spans: #1017

5.8.0 (2021-04-19)

edit
Features
edit
  • First draft of session information is added for page-load Transactions (disabled by default): #634

5.7.2 (2021-04-02)

edit
Bug fixes
edit
  • Transaction marks for the APM server V3 spec was mapped to incorrect field which resulted in Kibana User Expererience App missing some of the core data. This only affects users who had set config apiVersion > 2: #1007

5.7.1 (2021-03-17)

edit
Bug fixes
edit
  • Discard buffered longtasks spans from page load transactions getting added to subsequent route change and other auto auto-instrumented transactions resulting in incorrect start time for those transactions: #989

5.7.0 (2021-03-15)

edit
Features
edit
  • Support regular expression for detecting distributed tracing origins (distributedTracingOrigins): #943
  • Capture buffered longtask entries: #964
  • Expose agent configuration TypeScript definition: #979

5.6.3 (2021-02-02)

edit
Features
edit
  • Propagate sampling weight through tracestate header: #845
  • Add necessary scripts to load test APM server with RUM payload: #948
Bug fixes
edit
  • Handle null reason in promise rejection event: #940

5.6.2 (2020-11-06)

edit
Features
edit
  • Add transaction sampling rate precision which ensures transaction_sample_rate configuration option has a maximum precision of 4 decimal places: #927
  • Add outcome field to applicable transactions and spans that is used by the APM UI for displaying the error rate chart: #904

5.6.1 (2020-09-29)

edit
Features
edit
  • Longtasks are now aggregated under the experience field to make querying faster: #900
Bug fixes
edit
  • Check for a Webkit Navigation timing API bug is added to avoid having incorrect navigation marks: #903

5.6.0 (2020-09-17)

edit
Features
edit
  • Add new method signaturtes to the exported type definitions: #890
Bug fixes
edit
  • Frameworks should not be automatically instrumented when the apm is inactive : #885
  • Add default XHR timeout for compressed requests to APM server: #897
  • Measure First Input Delay metrics properly for page load transactions: #899
Performance Improvements
edit
  • Improve the span creation time when there is an active transaction on page: #883

5.5.0 (2020-08-18)

edit
Features
edit
  • Provide an API to block all auto instrumented transactions created by the agent through transaction.block method. Users can also use the startSpan API to create blocking spans to control this behaviour: #866
  • Expose options to create blocking spans from the agent API via startSpan: #875
  • Capture Cumulative layout shift(CLS), Total blocking time(TBT) and First input delay(FID) as part of experience metrics under page-load transactions: #838
Bug fixes
edit
  • Track various XHR states like timeouts, errors and aborts and end all managed transactions correctly: #871
  • Fix inconsistencies in the XHR timings by removing the task scheduling logic: #871
  • Accept the user provided logLevel configuration when agent is not active: #861
  • Opentracing Tracer should return Noop on unsupported platforms: #872s

5.4.0 (2020-07-29)

edit
Features
edit
  • Agent now uses the new CompressionStream API available on modern browsers to gzip compress the payload sent to the APM server. This yields a huge reduction of around ~96% in the payload size for an example web application when compared with the v3 specification: #572

5.3.0 (2020-07-06)

edit
Features
edit
  • Introduced better grouping strategy for all managed transactions based on the current browser’s location by default instead of grouping all transactions under UNKNOWN category: #827
  • Capture XHR, Fetch calls as spans that happened before the agent script is downloaded using the browser’s Resource Timing API: #825
  • Populate span.destination.* context fields for Navigation Timing span that denotes the HTML downloading phase: #829
  • Use Page Visibility API to discard transactions if the page was backgrounded at any point during the lifetime of the transaction: #295
  • Add apiVersion config to TypeScript typings: #833

5.2.1 (2020-06-24)

edit
Features
edit
  • Added support for path array in <ApmRoute> React component that associates the transaction based on the mounted path: #702
Bug fixes
edit
  • Capture Total Blocking Time (TBT) only after all longtask entries are observed: #803
  • Do not capture page load transaction marks when the NavigationTiming data from the browsers are not trustable: #818

5.2.0 (2020-05-28)

edit
Features
edit
  • Agent now supports compressing events payload sent to the APM server via new configuration apiVersion. It yeilds a huge reduction of around ~45% in the payload size for average sized web pages: #768
  • Capture First Input Delay(FID) as Span for page-load transaction: #732
  • Capture Total Blocking Time(TBT) as Span for page-load transaction: #781
Bug fixes
edit
  • Allow setting labels before agent is initialized: #780
  • Use single instance of apm across all packages: #791
  • User defined types for managed transactions are considered of high precedence: #758
  • Add span subtype information in payload without camelcasing: #753
  • Treat truncated spans percentage as regular span in breakdown calculation: #776
Performance Improvements
edit
  • Refactor ServiceFactory class to use constant service names: #238

5.1.1 (2020-04-15)

edit
Features
edit
  • Performance Observer is used to measure FirstContentfulPaint Metric: #731
Bug fixes
edit
  • Avoid full component re-rerender when query params are updated on current ApmRoute inside child components: #748

5.1.0 (2020-04-08)

edit
Features
edit
  • Route change transactions now includes the browsers next paint frame: #404
  • Support differential loading with Angular CLI: #607
Performance Improvements
edit
  • Reduced the bundle size by modifying the random number generator algorithm: #705
Bug fixes
edit
  • Handle when errors are thrown in unsupported browsers: #707
  • Captured API calls are duplicated as spans in IE: #723

5.0.0 (2020-03-18)

edit
Breaking changes
edit
  • The agent now uses the official W3C traceparent header to propagate trace context: #477
  • The agent name is changed from js-base to rum-js: #379
  • Global labels are only added to metadata to improve payload size: #618
  • Labels now accept Boolean and Number types: #272
  • Simplify configuration by removing and/or merging config options: #628
  • addTags method is removed in favour of addLabels: #215

Please see our Upgrade to version 5.x guide for more information.

Features
edit
  • Monitor longtasks by default during active transaction: #601
  • Set sync field only for synchronous spans: #619