RUM JS Agent version 5.xedit

5.10.0 (2021-12-07)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 fixesedit

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

5.9.1 (2021-07-15)edit

Bug fixesedit

  • 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

  • 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 fixesedit

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

5.8.0 (2021-04-19)edit

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

5.7.2 (2021-04-02)edit

Bug fixesedit
  • 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 fixesedit
  • 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

  • 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

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

5.6.2 (2020-11-06)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

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

5.6.0 (2020-09-17)edit

  • Add new method signaturtes to the exported type definitions: #890
Bug fixesedit
  • 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 Improvementsedit
  • Improve the span creation time when there is an active transaction on page: #883

5.5.0 (2020-08-18)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 fixesedit
  • 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

  • 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

  • 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

  • Added support for path array in <ApmRoute> React component that associates the transaction based on the mounted path: #702
Bug fixesedit
  • 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

  • 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 fixesedit
  • 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 Improvementsedit
  • Refactor ServiceFactory class to use constant service names: #238

5.1.1 (2020-04-15)edit

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

5.1.0 (2020-04-08)edit

  • Route change transactions now includes the browsers next paint frame: #404
  • Support differential loading with Angular CLI: #607
Performance Improvementsedit
  • Reduced the bundle size by modifying the random number generator algorithm: #705
Bug fixesedit
  • 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 changesedit
  • 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.

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