Skip to content

Latest commit

Β 

History

History
1776 lines (1212 loc) Β· 106 KB

CHANGELOG.md

File metadata and controls

1776 lines (1212 loc) Β· 106 KB

Changelog

Legend

πŸ’₯ - Breaking change.

✨ - New feature.

πŸ› - Bug fix.

⚑️ - Performance improvement.

πŸ“ - Documentation.

βš— - Experimental.


v5.19.0

  • πŸ› [RUM-4629] accept null as env/version/service (#2781)
  • πŸ› [RUM-4493] do not compute selectors for detached elements (#2766)
  • πŸ› [RUM-2720] Send logs without session id when session inactive (#2578)
  • πŸ› [RUM-1666] Don't set negative action loading time (#2764)
  • πŸ› [RUM-4434] fix timing matching for the same resource requested twice at the same time (#2747)
  • πŸ› [RUM-4436] fix detached node memory leak on CLS (#2749)
  • βœ… fix clearing cookies between tests (#2780)
  • πŸ”₯ Cleanup experimental features (#2768)
  • ✏️ various comment fixes (#2760)

v5.18.0

  • πŸ”Š[RUM-4360] monitor more API usages (#2745)
  • πŸ”Š collect pre start telemetry (#2755)
  • πŸ”Š Deduplicate telemetry events (#2746)
  • πŸ› [RUM-97] Sanitize tags parameter in configuration (#2744)

v5.17.1

  • πŸ›fix deploy script (#2742)

v5.17.0

  • ✨ [RUM-4052] Sanitize site parameter in configuration (#2735)
  • ✨ [RUM-4287] Enable feature flags API (#2728)
  • ✨ [RUM-3710] Update session ID handling to support cookie deletion (#2673)
  • βœ¨βš—οΈ [RUM-4179] vital: collect computed_value property (#2723)
  • ♻️ use browser.execute and browser.executeAsync directly (#2700)
  • ♻️ move createHandlingStack to the tools folder (#2727)

v5.16.0

  • ✨ [RUM-3684] Capture scroll record on shadow dom elements (#2708)
  • ✨[RUM-3798] Report the cpu impact as a pr comment (#2702)
  • ✨ [RUM-162] Truncate resources URL containing data URLs (#2690)
  • πŸ›[RUM-4109] Mask iframe srcdoc with privacy override (#2714)
  • βš— [RUM-2782] Validate resource timings more granularly

v5.15.0

  • πŸ› fix beforeSend type definition for logs (#2686)
  • πŸ› [RUM-2782] remove buggy redirect timing estimation based on fetchStart (#2683)
  • [ci-visibility] Implement driver-agnostic integration with CI Visibility (#2639)

v5.14.0

  • ✨ [RUM-3387] forward to beforeSend context (#2665)
  • πŸ› [RUM-3581] Fix the selector computation due to properties partially supported on IE (#2663)
  • πŸ› [RUM-96] Ignore frustrations on clicks resulting in scrolls (#2669)
  • β™»οΈβœ… Harmonize record observers (#2659)

v5.13.0

  • ✨ [RUM-3542] Add trace context injection control in rum configuration (#2656)
  • πŸ› [RUM-3599] do not define undefined instrumented method (#2662)
  • πŸ› [RUM-3598] Ignore collecting requests to logs PCI intake as RUM resources (#2655)
  • ⚑ [RUM-2633] Optimize DOM iteration in the recorder (#2657)

v5.12.0

  • ✨ [RUM-3546] Add support of PCI compliant intake for browser logs (#2648)
  • ✨ [RUM 3352] Extra resource event attributes to enable performance CWV troubleshooting (#2646)
  • ✨ [RUM-2885] Collect CSP disposition (#2635)
  • πŸ› [RUM-3440] Fix INP CSS selector computation
  • πŸ› [RUM-3502] fix fetch(url) tracing (#2642)
  • πŸ”§ Enforce snake case for event type properties (#2649)
  • πŸ”Š [RUM-3501] add tracking_consent to configuration telemetry (#2640)
  • πŸ”§ configure renovate to deduplicate subdependencies (#2643)

v5.11.0

  • ✨ [RUM-3349] enable the consent management API (#2634)
  • ✨ [RUM-2203] Forward replay records to the bridge (#2470)
  • πŸ› [RUM-2445] fix unexpected session renewal after expire() (#2632)
  • βš—οΈ [RUM-3234] Discard outdated vitals (#2610)

v5.10.0

  • ✨ [RUM-2902] Add error causes to context when logging an error (#2602)
  • ✨ [RUM-3151] Report bundle sizes to logs (#2605)
  • ✨ [RUM-160] Collect PerformanceResourceTiming.responseStatus (#2587)
  • πŸ› [RUM-3039] Fix missing pending mutations at view end (#2598)
  • βš—οΈ[RUM-3235] collect vital.name attribute (#2609)
  • βš—οΈ[RUM-2889] custom vitals improvements (#2606)
  • πŸ”§ ignore karma-webpack for now (#2604)
  • βš—οΈ[RUM-2889] Bootstrap custom vital APIs (#2591)
  • βš— ️✨ [RUM-2445] implement Tracking Consent management (#2589)

v5.9.0

  • ✨[Developer extension] npm setup override support (#2304)
  • πŸ› Fix LCP with size < previous LCP (#2586)
  • πŸ› [RUM-2940] fix normalize URL for relative paths (#2576)
  • ♻️ register setupBuilder.cleanup as a cleanup task (#2590)
  • ♻️ [RUM-2445] split RUM and Logs public APIs modules (#2575)
  • ⚑️ [RUM-2893] optimize getNodePrivacyLevel by adding a cache (#2579)
  • ♻️ [RUM-2203] Move record logic from startRecording to the record module (#2574)

v5.8.0

  • ✨[RUM-2729] collect connectivity data (#2560)
  • πŸ›[RUM-2752] Replay: generate censored images with custom dimensions (#2565)
  • πŸ›[RUM-2735] Track request with undefined/null method
  • πŸ“ Document addTiming API relative time issue (#2570)
  • ♻️ [RUM-2445] simplify context manager sync with local storage (#2562)
  • ♻️ [RUM-2445] align rum and logs common context implementation (#2564)
  • ♻️ [RUM-2445] use recorderApi directly (#2563)

v5.7.0

  • πŸ› [RUM-2689] fix recorder crash when restarted quickly (#2553)
  • πŸ”‰ [RUM-253] adjust heavy customer data warning when compression is enabled (#2529)
  • ♻️ [RUMF-1436] instrument method improvements (#2551)
  • βœ¨βš— [RUM-2682] writable resource.graphql field on Resource events (#2550)
  • πŸ“ add @datadog/browser-worker package to readme (#2537)
  • ♻️ pass the Observable instance to the onFirstSubscribe callback (#2539)

v5.6.0

  • ✨[RUM-2436] add partitioned support for third party cookies (#2535)
  • πŸ”Š[RUM-2324] Telemetry on other wrong LCP cases (#2531)

v5.5.1

  • πŸ› [RUM-2280] fix duplicated mutations when using Shadow DOM (#2527)
  • πŸ”Š[RUM-2324] Telemetry on LCP with startTime to 0 (#2515)
  • βœ… import JSON schemas dynamically in tests (#2521)

v5.5.0

  • ✨ Expose original report events in beforeSend (#2510)
  • ✨ Developer Extension improvements (#2516)
  • ♻️ [Logs] reorganise some components (#2519)

v5.4.0

  • ✨ [RUM-1214] Collect core web vitals target selectors (#2506)
  • ✨ [RUM-2158] Allow more flexible proxy URL (#2502)

v5.3.0

  • ✨ [RUM-253] enable compression via the compressIntakeRequests parameter (#2500)
  • πŸ› [RUM-1561] Fix CLS selector computation on detached node (#2480)

v5.2.0

  • πŸ› [RUM-2016] don't collect useless resources events (#2493)
  • πŸ› [RUM-1863] fix iOS webview detection (#2486)
  • ⚑️[RUM-2017] optimize cookie accesses (#2497)
  • βœ… [RUM-253] add E2E tests related to compression (#2416)
  • βš—οΈβœ¨ [RUM-253] compress RUM data (#2400)
  • πŸ”‰ [RUM-1658] Add extra field to identify sessions recorded manually (#2479)
  • πŸ”Š Add CLS target selector telemetry (#2477)

v5.1.0

  • ✨ [RUM-1215] Collect INP #2355 (#2448)
  • πŸ› Prevent console warning on Firefox on route change (#2469)
  • πŸ› [RUM-1360] Cap INP outliers (#2466)
  • ♻️ [RUM-1329] Merge tracekit into error folder (#2450)

v5.0.0

See our upgrade guide for a comprehensive list of breaking changes introduced by this major version.

  • πŸ’₯ [RUMF-1589] automatically start recording (#2275)
  • πŸ’₯ [RUMF-1587] Remove premiumSampleRate and replaySampleRate (#2256)
  • πŸ’₯ [RUMF-1597] Drop plan and send sampled_for_replay (#2293)
  • πŸ’₯ [RUMF-1578] Promote track frustration as default action behaviour (#2232)
  • πŸ’₯ [RUMF-1230] Only apply main logger configuration to its own logs (#2298)
  • πŸ’₯ [RUM-1210] Add W3C tracecontext to default propagator types (#2443)
  • πŸ’₯ [RUMF-1473] Ignore untrusted event (#2308)
  • πŸ’₯ [RUMF-1564] remove intake subdomains (#2309)
  • πŸ’₯ [RUMF-1577] Stop collecting foreground periods (#2311)
  • πŸ’₯ [RUMF-1557] beforeSend domain context: use PerformanceEntry (#2300)
  • πŸ’₯ [RUMF-1556] Typings: consistent beforeSend return type (#2303)
  • πŸ’₯ [RUMF-1229] Logs: remove error.origin attribute (#2294)
  • πŸ’₯ [RUMF-1228] Remove console error message prefix (#2289)
  • πŸ’₯ [RUMF-1555] Rework logger context APIs (#2285)
  • πŸ’₯ [RUMF-1152] sanitize resource method names (#2288)
  • πŸ’₯ [RUMF-1555] Remove event in action domain context (#2286)
  • πŸ’₯ [RUMF-1588] Update default session replay behaviour (#2257)
  • πŸ’₯ [RUMF-1554] Drop some deprecated public APIs (#2241)
  • πŸ’₯ [RUMF-1554] Drop some deprecated config parameters (#2238)
  • ✨ [RUM-255] add allowUntrustedEvents config parameter (#2347)
  • πŸ› [RUMF-1499] Don't send duration for resources crossing a page frozen state (#2271)
  • πŸ”₯ [RUMF-1555] Remove startTime in xhr start context (#2287)
  • ♻️ [RUMF-1555] Remove deprecated context manager APIs (#2284)

v4.50.1

  • πŸ› [RUM-1325] fix memory leak when using shadow dom (#2451)
  • πŸ› [RUM-1325] propagate privacy defined on shadow hosts (#2454)
  • πŸ› [RUM-1196] escape CSS rules containing a colon for Safari compatibility (#2440)
  • πŸ› [RUM-1062] remove message prefix when using the console handler (#2452)
  • πŸ› [RUM-1211] fix compatibility with TS4.6/4.7 using ES2022 (#2455)

v4.50.0

  • ✨ [RUM-1062] add a prefix to all console message displayed by the SDK (#2432)
  • ✨ [extension] add columns to the event list (#2372)
  • ✨ [extension] revamp event description and JSON viz (#2371)
  • ✨ [extension] revamp filter UI (#2370)
  • ✨ [extension] filter outdated events (#2369)
  • πŸ› [RUM-1085] Remove lock usage from Local Storage strategy (#2435)
  • ♻️ rename scroll fields (#2439)
  • πŸ”‡ Remove cwv attribution telemetry
  • ♻️ [RUM-1039] Harmonize view tests (#2430)
  • Report scroll metrics when page is resized (#2399)
  • ♻️ [RUM-253] adapt transport to send encoded data (#2415)
  • πŸ”Š [RUM-253] customize deflate worker failure logs (#2414)
  • ♻️ Use performance entry fixtures in tests (#2428)
  • βš—οΈ [RUM-1020] Collect core web vitals target selectors (#2418)

v4.49.0

  • ✨[RUM-265] Store contexts across pages (#2378)
  • ✨[RUM-1016] Allow to change "view.name" (#2396)
  • ✨[RUM-1013] Early exit when no configuration provided (#2417)
  • πŸ›[RUM-89] Do not count discarded resources (#2410)

v4.48.2

  • πŸ› fix dynamic style serialization (#2397)

v4.48.1

  • πŸ› fix INP support detection (#2405)

v4.48.0

  • ✨ [RUM-252] optimistic worker creation (#2377)
  • πŸ› do not ignore @import rules pointing to inaccessible stylesheets (#2398)
  • 🎨 [RUM-262] Move view metrics in dedicated files (#2386)
  • ♻️ [RUM-253] refactor batch creation (#2390)
  • βš—οΈ [RUM-257] Collect INP (#2355)
  • ♻️ [RUM-250] introduce a DeflateEncoder (#2376)

v4.47.0

  • ✨ [RUM-233] add workerUrl initialization parameter (#2354)
  • πŸ›[RUM-142] fix the generation of some invalid selectors (#2375)
  • ✨ enable scrollmap collection (#2374)
  • πŸ“ [RUM-254] Document extension internally available on store (#2368)
  • ♻️ Cherry-pick some changes from v5 to limit conflicts (#2357)

v4.46.0

  • βš— [RUM][REPLAY] Try to reduce the size of the replay payload (#2348)
  • ♻️ [RUM-249] update worker protocol (#2346)
  • πŸ”ˆ Add web vital attribution telemetry debug (#2344)
  • πŸ“ [developer-extension] Update extension instructions (#2343)
  • πŸ”‰ [developer-extension] bootstrap monitoring (#2337)
  • πŸ› Avoid setting non-object values for contexts (#2341)

v4.45.0

  • ✨ [RUM-235] add sample rates fields (#2323)
  • πŸ› [RUM-238] Handle tracekit multilines message parsing (#2332)
  • πŸ›πŸ‘· Fix scope packages npm publication (#2334)
  • πŸ”‰ monitor reported errors (#2335)

v4.44.2

  • πŸ›πŸ‘· [RUM-232] fix worker/string package (#2331)

v4.44.1

  • πŸ› Fix RUM slim npm package publication (#2325)
  • πŸ› [RUM-231] Fix location.origin is "null" for file: URIs (#2306)
  • ♻️ [RUM-232] create a @datadog/browser-worker package (#2319)
  • πŸ”Š Add tracekit try parse message failing telemetry (#2322)
  • πŸ’¬ Update heavy customer data warning (#2316)

v4.44.0

  • ✨ Collect replay privacy level in views (#2299)
  • πŸ› [RUMF-1613] fix session replay performance regression (#2313)
  • ♻️ Base foreground computation on page lifecycle states (#2253)
  • βš— Collect scroll metrics (#2180)

v4.43.0

  • ✨ [RUMF-1580] Implement storage fallback (#2261)
  • ✨ [RUMF-1580] Implement Local Storage (#2260)
  • πŸ› Telemetry: do not scrub staging and canary frames (#2273)
  • ♻️ [RUMF-1580] Decouple storage mechanism (#2259)
  • βš—οΈ [RUMF-1499] Don't send duration for resources crossing a page frozen state (#2255)
  • πŸ”Š [RUMF-1577] Collect page lifecycle states (#2229)

v4.42.2

  • πŸ› Fix TypeError when document.cookie is empty (#2216)
  • πŸ› [RUMF-1583][recorder] do not ignore empty text node during serialization (#2237)
  • πŸ› Fix use_excluded_activity_urls telemetry (#2236)
  • πŸ› when bridge is present, send a final view update on page exit (#2234)
  • πŸ“ Update FCP browser support (#2187)
  • πŸ‘· use a separate job to deploy US1 (#2228)

v4.42.1

  • πŸ› fix isolatedModules support (#2209)
  • πŸ› [RUMF-1576] fix support for tools that removes console.* references (#2210)
  • πŸ“¦πŸ‘· include webpack, typescript and @types/express in common upgrades (#2222)
  • ⚑ remove spec files from npm packages (#2224)
  • πŸ“¦ [RUMF-1532] update webpack-related dependencies (#2212)
  • πŸ“¦ update vulnerable subdependency engine.io (#2211)

v4.42.0

  • ✨[RUMF-1573] Allow to provide custom fingerprint to RUM errors (#2189)
  • ✨[RUMF-1508] Provide stack trace for all uncaught exceptions (#2182)
  • ✨[RUMF-1573] allow to add modifiable field paths with beforeSend (#2186)
  • πŸ› Revert Errors serialization behavior (#2197)
  • ♻️ [RUMF-1508] reorganise error handling (#2181)

v4.41.0

  • ✨ [RUMF-1470] enable sanitize for user-provided data (#2175)

v4.40.0

  • ♻️ [RUMF-1508] refactor error types / constants (#2179)
  • ✨ [RUMF-1530] enable sending replay metadata as json (#2177)
  • ✨ [RUMF-1479] enable heatmaps collection (#2178)
  • ✨ [RUMF-1534] send a view update when session is expiring (#2166)
  • ✨ [RUMF-1534] allow (some) view updates after session expiration (#2167)
  • πŸ› Fix exception when using wrong tracing parameters (#2173)
  • 🚨 add require-await rule and remove useless async (#2132)
  • ✨ [RUMF-1530] send replay metadata as json (#2125)
  • ✨ [RUMF-1533] flush pending data on session expiration (#2150)
  • ♻️ factorize LifeCycle and simplify its types (#2165)

v4.39.0

  • ♻️ [RUMF-1533] extract the Flush logic into a reusable component (#2144)
  • πŸ”₯ Cleanup unnecessary flags (#2145)
  • [REPLAY] Add public function to get the link to current Replay (#2047)
  • πŸ› [RUMF-1544] Fix badly polyfilled URL (#2141)
  • Add an eslint rule to disallow the use of too generic utility file names (#2101)
  • ♻️ [RUMF-1517] split tools utils (#2128)
  • ♻️ [RUMF-1505] make sure we don't use Zone.js addEventListener (#2129)
  • 🏷️ improve addEventListener typings (#2127)
  • πŸ›[RUMF-1517] Remove specHelper export in src code (#2126)
  • ♻️ rename performance utils (#2136)
  • ✨ Support snippet as a valid file url for stack trace computation (#2077)
  • βœ… Remove feature flag test warning noise

v4.38.0

  • ✨ [RUMF-1510] Warn the user when a heavy context is used (#2120)
  • ♻️ [RUMF-1517] reorganise some components (#2124)
  • πŸ› [RUMF-1470] Sanitize - Fix size computation (#2116)
  • βœ… improve async calls collection (#2123)
  • πŸ”Š Collect url and base on failing URL build telemetry (#2062)
  • πŸ“ [RUMF-1526] simplify rum package README.md (#2122)
  • πŸ“ [RUMF-1526] simplify logs package README.md (#2121)
  • ♻️ [RUMF-1529] use an enum for experimental features (#2113)
  • ♻️ [RUMF-1517] split rum test utils (#2117)
  • ♻️ [RUMF-1517] split core specHelper (#2111)
  • ♻️ [RUMF-1517] rework test utils (#2118)
  • ♻️ [RUMF-1517] add test index files (#2115)
  • ♻️ [RUMF-1517] split domain utils (#2105)

v4.37.0

  • ♻️[RUMF-1517] split rum-core specHelper (#2106)
  • ♻️[RUMF-1517] split scripts utils (#2102)
  • ✨[RUMF-1500] Remove some references to legacy bundles (#2097)
  • πŸ“ RUMF-1497 Update logger API documentation (#2098)
  • ✨ [RUMF-1518] implement a new API to stop the RUM session (#2064)
  • πŸ› ♻️ [RUMF 1470] Fix serialization issues (#1971)
  • ♻️ [RUMF-1505] introduce a safe setInterval helper function (#2044)

v4.36.0

  • ✨ [RUMF-1497] Allow logger APIs to pass an Error parameter (#2029)
  • βš—οΈ [RUMF-1522] Expose addFeatureFlagEvaluation (#2096)
  • πŸ› [RUMF-1491] fix error when calling fetch with an unexpected value as first parameter (#2061)

v4.35.0

  • ✨[RUMF-1500] deploy new datacenter files (#2049)

v4.34.3

  • πŸ› Handle undefined cancel idle callback (#2045)
  • ♻️ [RUMF-1500] tweak deployment scripts (#2046)
  • ♻️ [RUMF-1505] introduce and use a safe setTimeout helper function (#2032)
  • ♻️ [REPLAY] Avoid casting & add proper check instead of relying on try/catch (#2016)

v4.34.2

  • πŸ› [RUMF-1443] fix Zone.js/Angular crash when recording the session (#2030)
  • πŸ› [REPLAY] Fix serialization for checkbox & radio (#2021)
  • βš—οΈ [RUMF-1484] use pagehide as unload event (#2020)

v4.34.1

  • πŸ› [RUMF-1493] Avoid infinite loop on form > input[name="host"] element (#2017)
  • πŸ› [RUMF-1485] Flush event when page becomes frozen (#2015)
  • πŸ› [RUMF-1296][rumf-1293] Fix dead click computation (#1998)

v4.34.0

  • πŸ› fix Shadow DOM support on Microsoft Edge (#2003)
  • ✨ [RUMF-1469] introduce a new proxy initialization parameter (#1947)

v4.33.0

  • πŸ› fix frustration animation in session replay (#1999)
  • ✨ Add new intake strategy for ap1 (#1997)
  • Revert "πŸ”Š add view document_count in non-view events (#1892)" (#1959)
  • πŸ› [REPLAY] Discard mouse/touch event without x/y position (#1993)

v4.32.1

  • πŸ›[RUMF-1450] stop computing coordinates for focus/blur records (#1985)

v4.32.0

  • πŸ› ignore contenteditable elements for dead clicks (#1986)
  • πŸ› [RUMF-1476] Fix removednodes.foreach is not a function (#1984)
  • πŸ›βš— [RUMF-1293] discard dead clicks when activity occurs on pointerdown (#1979)
  • ⬆️ fix flaky test (#1982)
  • πŸ”Š Enable customer data telemetry (#1983)
  • βš—πŸ› [RUMF-1296] use pointerup to trigger click actions (#1958)
  • [REPLAY] Add telemetry for shadow dom (#1978)
  • ⬆️ fix Jasmine deprecation warning on unit tests/IE (#1974)
  • πŸ›[RUMF-1465] collect data for disturbed response (#1977)
  • πŸ”Š [REPLAY] Add telemetry for shadow DOM (#1975)

v4.31.0

  • ✨[REPLAY] Add support for shadow dom (#1969)
  • ✨[REPLAY] Keep Href from link even when importing CSS (#1960)
  • πŸ›[RUMF-1465] fix missing data when fetch instrumented by zone.js (#1942)
  • βš—οΈ πŸ› reset input state at the beginning of each click (#1968)
  • βš—οΈ πŸ”Š[RUMF-1467] Collect user data telemetry (#1941)
  • βš—οΈ πŸ”Š [RUMF-1445] Check if the page was discarded before a resource (#1945)

v4.30.1

  • βš—οΈ [REPLAY] Add support for adoptedStyleSheets (#1916)
  • πŸ”Š [RUMF-1345] Revert log first untrusted events of each type (#1940)
  • πŸ› Fix getInitConfiguration() behaviour (#1893)
  • ⚑ Ignore modulepreload and prefetch in link tags (#1921)
  • βš—οΈπŸ”Š Collect page lifecycle states in resources (#1890)

v4.30.0

  • ✨[RUMF-1397] init parameter standardisation (#1917)

v4.29.1

  • βš—οΈ [REPLAY] Experiment support for shadow DOM (#1787)
  • πŸ”Š [RUMF-1345] add telemetry logs on untrusted events (#1910)
  • πŸ”Š add view document_count in non-view events (#1892)

v4.29.0

  • πŸ› [RUMF-1435] do not retry status 0 request while online (#1891)
  • ✨ [RUMF-1236] Add support for OTel headers (#1832)
  • πŸ›[RUMF-1435] don't retry opaque response (#1877)
  • ✨ [RUMF-1425] enable request retry/throttle for replay intake (#1819)
  • πŸ› [RUMF-1421] keep updating the view event counters after view end (#1864)

v4.28.1

  • Re-release v4.28.0 to work around a NPM packaging issue

v4.28.0

  • πŸ› [RUMF-1337] Fix incorrect fetch duration (#1875)

v4.27.1

  • πŸ› [RUMF-1449] fix Zone support when symbol is missing (#1872)

v4.27.0

  • ✨Allow internal analytics subdomain (#1863)
  • πŸ”Š Collect computed and perf entry durations (#1861)
  • πŸ› [RUMF-1449] workaround for Firefox memory leak when using Zone.js (#1860)
  • ✨ send data from the SDK to the extension (#1850)
  • ♻️ [RUMF-1440] improve feature flag collection implementation (#1839)

v4.26.0

  • πŸ› [RUMF-1421] improve counters by filtering child events (#1837)
  • ✨ [RUMF-1435] Add transport api on events (#1840)
  • βš—οΈ [RUMF-1337] add fetch_duration experiment to resolve incorrect fetch duration (#1810)
  • ✨ Move extension settings to a Settings panel (#1847)
  • ✨ Clear event list on page reload for SDK extension (#1825)
  • ⬆️ [RUMF-1434] fix yarn failing to install puppeteer on M1 mac (#1843)
  • ⬆️ [RUMF-1434] fix running e2e tests on M1 macs (#1842)
  • ✨ Improve event description message in developer extension (#1831)
  • ✨ [RUMF-1396] migrate extension to manifest v3 (#1828)

v4.25.0

  • ⚑️ βš— [RUMF-1438] Collect feature flags (#1827)
  • ✨ Auto Flush for SDK extension (#1824)

v4.24.1

  • βͺ Revert "πŸ› [RUMF-1410] Allow serialization of objects with cyclic references (#1783)" (#1821)
  • πŸ“ˆ[RUMF-1432] Collect trackResources and trackLongTasks configs (#1814)
  • πŸ—‘οΈ [RUMF-1433] Remove Preflight request Performance Entry check (#1813)
  • ✨[RUMF-1435] Add some retry info on events (#1817)

v4.24.0

  • βš—οΈβœ¨ [RUMF-1379] heatmaps: enable descendant combined selectors (#1811)
  • ✨ [RUMF-1409] Provide setUser and related functions for logs SDK (#1801)
  • βš—οΈ ✨ [RUMF-1425] use the retry/throttle transport strategy to send segments (#1807)
  • ♻️ [RUMF-1424] factorize page exit logic (#1805)
  • πŸ“ Clarify log SDK usage in the readme (#1767)

v4.23.3

  • πŸ› [REPLAY-1075] Convert relative URLS to absolute in stylesheets (#1792)
  • πŸ› [RUMF-1423] prevent unexpected behavior when our xhr are reused (#1797)
  • πŸ› [RUMF-1410] Allow serialization of objects with cyclic references (#1783)

v4.23.2

  • πŸ”‰[RUMF-1423] Investigation for retry issue - part 2 (#1793)

v4.23.1

  • πŸ”‰[RUMF-1423] Add debug log for retry issue (#1790)

v4.23.0

  • ✨[RUMF-1377] Enable new request strategy (#1770)
  • πŸ› [RUMF-1393] don't mask attributes used to create CSS selectors (#1737)
  • βš— [RUMF-1379] heatmap: experiment improved selector regarding unicity (#1741)

v4.22.0

  • ⚑️ Enable telemetry configuration (#1780)
  • πŸ”Š [RUMF-1416] Use service distinguish log rum telemetry configuration (#1774)
  • ✨ accept functions in allowedTracingOrigins/excludedActivityUrls arguments list (#1775)
  • βš—οΈ [RUMF-1405] remove mechanism to simulate intake issue (#1768)
  • πŸ”Š Collect configuration telemetry event (#1760)

v4.21.2

  • βš—οΈ [RUMF-1405] add mechanism to simulate intake issue (#1757)

v4.21.1

  • πŸ› npm publish: skip publish confirmation (#1755)

v4.21.0

  • ✨ [RUMF-1353] Collect error causes (#1740)
  • πŸ› [RUMF-1276] handle performance entry without toJSON (#1751)
  • πŸ› handle undefined policy (#1752)

v4.20.0

  • ✨ [RUMF-1391] Introduce trackResources, trackLongTasks and sessionReplaySampleRate (#1744)
  • ♻️ [RUMF-1368] use the PointerDown event target for click actions (#1731)
  • βš— [RUMF-1379] use experimented CSS selectors strategies by default (#1738)

v4.19.1

  • πŸ› [RUMF-1369] Exclude error message from stacktrace parsing (#1725)
  • πŸ› [RUMF-1384] Filter abnormal TTFB values (#1729)
  • πŸ› [RUMF-1378] do not mask action name attributes (#1721)
  • βš—οΈ [RUMF-1378] use stable attributes when computing heatmap selector (#1724)
  • βš—οΈ [RUMF-1379] heatmaps: refine selectors pass 2 (#1726)
  • βš—οΈ [RUMF-1351] tweak retry strategy (#1723)
  • βš—οΈ [RUMF-1351] retry request on timeout (#1728)

v4.19.0

  • ✨ [RUMF-1286] test for expected features before starting recording (#1719)
  • ✨ [RUMF-1371] Collect view time to first byte (#1717)
  • πŸ“ Fix actionNameAttribute broken link (#1708)
  • βš—οΈπŸ”‰ [RUMF-1351] add error when reaching max events size queued for upload (#1716)
  • βš—οΈπŸ”‰ [RUMF-1351] retry: add extra context to queue full log (#1714)
  • βš—οΈβœ¨[RUMF-1351] experiment request retry strategy (#1700)

v4.18.1

  • πŸ› [RUMF-1333] fix keepalive support check (#1712)

v4.18.0

  • ✨ [RUMF-1306] Send the tracing sample rate in rule_psr for resources (#1669), (#1705)
  • ✨ [RUMF-1333] Send request with fetch keepalive + fallback (#1701), (#1682)
  • ✨ [RUMF-1309] Implement nested CSS support (#1699)
  • πŸ› Fix instrumention of null function with 3rd party wrapper (#1570) (#1697)

v4.17.2

  • πŸ› [RUMF-1344] scroll positions: remove fallback for null scrollingElement (#1694)
  • βš—οΈ [RUMF-1356] selectors using stable attributes and no class names (#1689)
  • πŸ‘· [RUMF-1357] Add a peer dependency between rum and logs packages (#1668)

v4.17.1

  • πŸ› [RUMF-1344] try to improve document scrolling element handling (#1688)
  • βœ¨βš— [RUMF-1355] add selector with stable attributes (#1684)

v4.17.0

  • ✨ [RUMF-1315] Extend user object methods (#1641)
  • ⚑[RUMF-1344] Serialize scroll positions only for full snapshots (#1670)
  • ⚑ [RUMF-1344] Access scroll attributes only on initial full snapshot (#1680)
  • βš—οΈ [RUMF-1346] heatmaps: move action event attributes (#1667)
  • πŸ› [RUMF-1239] Hide placeholder value when privacy set to mask (#1660)
  • πŸ› fix compatibility check (#1685)

v4.16.1

  • πŸ› [RUMF-1274] track request to undefined/null URL (#1665)

v4.16.0

  • ✨ [REPLAY-898] Recording Frustration signals (dead, error & rage clicks) for session replay (#1632)
  • πŸ› [RUMF-1310] handle extra stacktrace parsing cases (#1647)
  • πŸ› improve jsonStringify implementation (#1653)
  • πŸ”’ [RUMF-1335] fix incorrect string escape (#1651)

v4.15.0

  • πŸ› frustration signals: track window open (#1631)
  • πŸ› [RUMF-1327] rum synthetics: fix logs session conflict (#1629)
  • πŸ”Š Add feature flags to telemetry events (#1625)
  • ✨[RUMF-1314] Expose a DD_LOGS.getInternalContext (#1626)
  • πŸ› [RUMF-1273] fix BUILD_MODE scope (#1627)

v4.14.0

  • ✨ [RUMF-1211] release Frustration Signals publicly (#1617)
  • πŸ› [RUMF-1294] ignore dead clicks based on the click event target (#1610)
  • πŸ“ Fixing intrapage broken links (#1613)
  • πŸ“ Removes Extra Link (#1612)
  • πŸ› [RUMF-1297] frustration signals: track input changes (#1603)
  • πŸ“ DOCS-2277 Browser Monitoring Edits (#1572)
  • πŸ› [RUMF-1209] frustration signals: track selection change (#1596)

v4.13.0

  • ✨ Enable service and version update on startView (#1601)

v4.12.0

  • πŸ› [RUMF-1305] forbid the usage of Date.now (#1600)
  • πŸ”Š Clear batch before send to allow telemetry in httpRequest.send (#1594)
  • βš—βœ¨ [RUMF-1288] Collect viewport size (#1584)

v4.11.5

  • πŸ› [RUMF-1303] stop forwarding network errors when forwardErrorsToLogs is false (#1591)
  • ♻️ Simplify RUM assembly (#1588)

v4.11.4

  • 🏷️ adjust types to allow updating the SDK in Datadog app (#1587)
  • [RUMF-1280] collect click position (#1566)

v4.11.3

  • ✨ improve developer extension (#1580)
  • πŸ› [RUMF-1267] remove last circular dependencies (#1577)

v4.11.2

  • 🏷️ [RUMF-1256] adjust StyleSheetRule records to support index paths (#1571)
  • πŸ› [RUMF-1267] resolve remaining cyclic dependencies related to telemetry (#1567)
  • πŸ“ Browser Monitoring Edits (#1563)

v4.11.1

  • ♻️ [RUMF-1190] cleanup telemetry (#1560)
  • ♻️ [RUMF-1267] remove circular dependencies part 1 (#1559)
  • ♻️ [RUMF-1277] rename frustration types (#1557)

v4.11.0

  • ✨ [RUMF-1262] ignore some URLs when watching the page activity (#1536)
  • ✨ [RUMF-1191] enable telemetry on us1 site (#1554)

v4.10.4

  • ✨ [RUMF-1191] enable telemetry on eu site (#1551)
  • ✨ [RUMF-1264] scrub customer frames from telemetry errors (#1546)

v4.10.3

  • πŸ› Fix dependency issue (#1549)

v4.10.2

  • ✨ rename Replay plan to Premium plan (#1534)
  • ✨ enable telemetry on us3 site (#1544)

v4.10.1

  • ✨ enable telemetry on us5 site (#1540)

v4.10.0

  • ✨[RUMF-1253] add tracingSampleRate option (#1526)
  • βš—οΈβœ¨ [RUMF-1258] stop ongoing action on view end (#1528)
  • πŸ› [RUMF-1259] support Zone.js < 0.8.6 (#1530)
  • ✨ add a button to clear events in the developer extension (#1527)
  • βš—βœ¨ [RUMF-1210] add a trackFrustrations initialization parameter (#1524)
  • ✨[RUMF-1257] prevent dual shipping of telemetry events (#1523)
  • ✨ [RUMF-1251] allow to enable telemetry by site (#1520)

v4.9.0

  • ✨ Upgraded console logger to log the proper levels (#1501)
  • ♻️ [RUMF-1178] New logger assembly flow (#1497)
  • βš—βœ¨ [RUMF-1209] introduce "dead" and "error" frustration types (#1487)
  • βš—βœ¨ [RUMF-1209] collect rage clicks (#1488)
  • βš—βœ¨ [RUMF-1214] implement frustration signals counters (#1511)

v4.8.1

  • πŸ› [RUMF-1240] fix attribute mutating to an empty value (#1512)
  • βš—οΈ [RUMF-1182] add telemetry sample rate (#1510)
  • πŸ’‘ Update links to api key docs (#1508)

v4.8.0

  • ✨ [RUMF-1192] forward Reports to Datadog (#1506)
  • ✨ [RUMF-1192] forward console.* logs to Datadog (#1505)
  • πŸ“ fix documentation for proxyUrl documentation (#1503)
  • ✨ [RUMF-1237] The event bridge allowed hosts should also match subdomains (#1499)
  • πŸ“ add replaySampleRate to README examples (#1370)

v4.7.1

  • πŸ› Adjust records generated during view change so their date matches the view date (#1486)
  • βš—βœ¨ [RUMF-1224] remove console APIs prefix (#1479)
  • ♻️ [RUMF-1178] improve logs assembly part 2 (#1463)
  • βš—βœ¨ Allow update service version with start view (#1448)
  • βš—βœ¨ [RUMF-1208] don't discard automatic action on view creation (#1451)
  • βš—βœ¨ [RUMF-1207] collect concurrent actions (#1434)
  • ♻️ [RUMF-1207] collect concurrent actions groundwork - move action history closer to action collection (#1432)

v4.7.0

Note: The Logs Browser SDK 3.10.1 (released on December 21th, 2021) unexpectedly changed the initialization parameter forwardErrorsToLogs default value from true to false. This release restores the default value to true, so Logs Browser SDK users who don't specify this parameter will have errors forwarded as logs.

  • πŸ› [RUMF-1217] restore forwardErrorsToLogs default value to true (#1433)
  • πŸ› [RUMF-1203] fix stopSessionReplayRecording instrumentation cleanup (#1442)
  • ♻️ πŸ› [RUMF-1178] fix logs displayed twice in the console (#1425)
  • πŸ“ Update browser config to include SDK version (#1380)

v4.6.1

  • πŸ› fix build-env replacement in npm packages (#1389)

v4.6.0

  • πŸ“¦ [RUMF-1162] update developer-extension (#1379)
  • πŸ”₯ [RUMF-1198] remove problematic and useless code from the DeflateWorker (#1378)
  • βš—οΈβœ¨ [RUMF-1175] collect reports and csp violation (#1332)
  • βš—οΈ [RUMF-1181] collect telemetry events (#1374)
  • πŸ“„ Update documentation (#1362)
  • ♻️ [RUMF-1181] preliminary refactorings for telemetry events collection (#1371)
  • 🎨 Avoid template syntax when not needed (#1372)
  • πŸ“¦ [RUMF-1168] update typescript (#1368)
  • ⚑️ [RUMF-1171] prefer const enums (#1364)
  • πŸ”₯ Clear remaining code of network error removal (#1367)
  • ⚑️ Process buffered performance entries in an idle callback (#1337)
  • ⚑️ [RUMF-1043] remove TSLib dependency (#1347)
  • βš—οΈβœ¨[RUMF-1188] add telemetry event types (#1353)

v4.5.0

  • ⚑️ [RUMF-1115] throttle view updates by addTiming (#1355)
  • πŸ“ Update the configuration of the Browser Sessions (#1322)
  • ✨ [RUMF-1177] add index_in_view to segment meta (#1342)
  • ✨ [RUMF-1103] enable RUM tracking inside mobile webviews (#1333)
  • βš— [RUMF-1176] collect other console logs new (#1316)

v4.4.0

  • ✨ [RUMF-1180] add error.source_type attribute (#1328)
  • ⚑️ [RUMF-1169] cleanup compute stack trace (#1335)
  • πŸ› [RUMF-1079] limit session inconsistencies issue on chromium browsers (#1327)

v4.3.0

  • ✨ [RUMF-1135] expose SDK version through global variable (#1278)
  • ✨ [RUMF-1174] forward event to bridge with rum type (#1309)
  • πŸ› [RUMF-1153] fix initial view loading time computation (#1315)
  • βš— [RUMF-1079] restrict cookie-lock to chromium browsers (#1283)

v4.2.0

  • ⚑️ [RUMF-1113] Notify performance entries by batch (#1255)
  • πŸ› [RUMF-1147] Implement TextEncoder().encode fallback for replay encorder (#1269)
  • ✨ [RUMF-1146] add 'source:browser' to all RUM events (#1271)
  • ⚑️ [RUMF-1111] limit the number of bytes read from the response (#1264)
  • ✨ [REPLAY-564] enable visual viewport recording (#1247)
  • πŸ“ add clarification to config example (#1268)
  • ⚑️ [RUMF-1111] compute response text in trackNetworkError (#1263)
  • πŸ“ [RUMF-1137] replace major changes description by links to the upgrade guide (#1265)
  • βš— [RUMF-1079] tweak max number of lock retries (#1262)

v4.1.0

  • πŸ› [RUMF-1143] make sure to drop LCP timings if the page was previously hidden (#1259)
  • βš—πŸ› [RUMF-1079] add lock mechanism for session cookie writes (#1230)
  • ✨ [RUMF-1119] Implement dual ship for other orgs (#1248)
  • ✨ [RUMF-1109] Add event rate limiters for loggers (#1243)
  • ⚑️ [REPLAY-565] ♻️ Remove URL "relative to absolute" transformation (#1244)

v4.0.1

  • πŸ› let the backend to most of the tags sanitization (#1252)
  • πŸ› remove child with action-names innerText instead of replacing them (#1251)
  • πŸ“ Add module convention to contributing (#1240)
  • ⚑️ [RUMF-1030] Decrease BoundedBuffer limitation to 500 (#1242)

v4.0.0

See our upgrade guide for a comprehensive list of breaking changes introduced by this major version.

Changes

  • πŸ’₯ improve privacy computation on a single node (#1226)
  • πŸ’₯ [RUMF-1098] move init options into their related interfaces (#1232)
  • πŸ’₯ [RUMF-1093] deprecated proxyhost option (#1227)
  • πŸ’₯ [RUMF-1124] Use the programmatic action attribute instead of innertext (#1200)
  • πŸ’₯ [RUMF-1094] remove deprecated privacy attributes (#1224)
  • πŸ’₯ [RUMF-1092] use a WeakMap to store XHR context (#1222)
  • πŸ’₯ [RUMF-1090] update minimal version to 3.8.2 (#1219)
  • πŸ’₯ [RUMF-827] sanitize tags (#1218)
  • πŸ’₯ [RUMF-1089] Cleanup legacy intake URLs (#1214)

v3.11.0

  • ✨ [ci-visibility] Link CI Visibility and RUM (#1192)

v3.10.1

  • ♻️ [RUMF-1097] revamp configuration - rum (#1221)
  • πŸ› [RUMF-1122] fix view updates while session is expired (#1228)
  • πŸ› Fix proxy url intake detection (#1223)
  • ♻️ [RUMF-1097] revamp configuration - logs (#1217)

v3.10.0

  • β™» [RUMF-1097] revamp internal configuration - core (#1216)
  • ♻️ [RUMF-1083] rework session management API (#1197)
  • ♻️ [RUMF-1083] introduce session context history (#1187)
  • ♻️ [RUMF-1083] rework session cookie cache (#1180)

v3.9.0

  • πŸ› remove readonly from all LogsEvent properties (#1198)
  • βš—βœ¨ [RUMF-1085] implement the synthetics.injected field (#1194)
  • βš—βœ¨ [RUMF-1047] implement a RUM synthetics entry point (#1188)
  • ✨ [RUMF-1082] enable record-at-dom-loaded (#1182)
  • πŸ“ improve site parameter doc (#1189)
  • βš—βœ¨ [RUMF-1071] forward internal monitoring to bridge (#1177)
  • βš—βœ¨ [RUMF-1070] forward logs event to bridge (#1155)
  • βš— [RUMF-1068] Forward browser_sdk_version to mobile (#1162)
  • πŸ“ add details about sampling configuration (#1186)
  • βš—βœ¨ [RUMF-1084] ignore init if a RUM instance is or will be injected by synthetics (#1170)

v3.8.0

  • βš— [RUMF-1082] start recording when the DOM is ready (#1164)
  • πŸ› [RUMF-1077] use cookies to get Synthetics context (#1161)
  • ✨ [RUMF-1074] bridge host checking (#1157)
  • βš—[REPLAY-341] Add VisualViewport tracking (Pinch Zoom) (#1118)

v3.7.0

  • ✨ [RUMF-1067] forward rum event to bridge (#1148)
  • πŸ› [RUMF-1062] fix support for Safari 11.0 (#1154)
  • πŸ“„ [RUMF-1075] add missing initialization parameters (#1152)
  • πŸ› [Internal monitoring] use monitoring api key for monitoring requests (#1147)

v3.6.13

  • πŸ› [RUMF-1060] fix failing worker detection in Firefox (#1139)

v3.6.12

  • πŸ› Do not trace requests when the session is not tracked (#1131)
  • πŸ”Š [RUMF-1041] add lcp info on view events (#1129)
  • πŸ”‡ [RUMF-1021] remove monitoring on cookie (#1132)
  • πŸ› Discard views and actions with negative loading time (#1122)

v3.6.11

  • ♻️ [RUMF-1046] instrument method implementation (#1117)
  • πŸ”Š [RUMF-1021] improve cookie monitoring (#1120)

v3.6.10

  • Revert "βš—[REPLAY-341] Add VisualViewport tracking (Pinch Zoom) (#1089)" (#1115)

v3.6.9

  • [RUMF-1045] rely on browser detection to check for innerText support (#1110)
  • βš—[REPLAY-341] Add VisualViewport tracking (Pinch Zoom) (#1089)

v3.6.8

  • πŸ› [RUMF-1040] Remove long task for lite plan (#1103)
  • βš— [REPLAY-465] Base tag support (feature flagged): Remove URL transformation from relative to absolute (#1106)

v3.6.7

  • πŸ”Š [RUMF-1036] Add negative loading time internal monitoring (#1095)

v3.6.6

  • πŸ› [RUMF-1021] fix regression on renew session (#1096)

v3.6.5

  • πŸ› [RUMF-1033] request parameters into proxy url (#1087)
  • [RUMF-1034] allow passing undefined options to RUM and Logs init (#1082)
  • πŸ”Š [RUMF-1021] add extra monitoring on session type change (#1091)

v3.6.4

  • ✨ [RUMF-1000] add a custom time parameter to addTiming (#1079)
  • πŸ› [RUMF-1021] clear cookie cache before expanding cookie (#1080)

v3.6.3

  • [REPLAY-328][rumf-1035] gracefully handle recorder Worker initialisation crash (#1068)
  • πŸ”Š Add monitoring on session type change (#1075)

v3.6.2

  • πŸ”Š Add extra monitoring info on lite session with replay (#1072)

v3.6.1

  • ⚑ [RUMF-1022] remove __sn property in nodes (#1069)
  • ♻️ [RUMF-1015] use the url corresponding to the start of the event (#1063)

v3.6.0

  • ✨ [RUMF-1028] enable privacy by default (#1049)
  • ✨ [RUMF-1020] enable intake v2 (#1048)

v3.5.0

  • ✨ Add rate limit on actions (#1058)
  • ✨ Remove focus feature flag (#1053)
  • ✨ [RUMF-1029] remove the limit on view.loading_time (#1054)
  • ✨ Discard long FCP and LCP (#1045)
  • πŸ“ Add proxyUrl option documentation (#1050)
  • ⚑️Introducing new max for foreground periods (#1032)

v3.4.1

  • πŸ”Š [RUMF-976] add info to monitor failing xhr fallback (#1035)
  • πŸ› MutationObserver bug fix for privacy level (#1038)

v3.4.0

  • ForegroundContext: Remove monitoring & ignore untrusted events (#1029)
  • ✨ [RUMF-992] New CLS implementation (#1026)

v3.3.1

  • πŸ› [RUMF-1005] Fix dd-request-id endpoint query param (#1018)

v3.3.0

  • ✨ [RUMF-993] New proxy strategy (#1016)
  • πŸ› [RUMF-1012] fix console.error loop on npm setup (#1027)
  • πŸ› [REPLAY-371] Truncate long "data:" URIs (#1021)

v3.2.0

  • ✨ [RUMF-994] support intake v2 (#1013)
  • ✨ [RUMF-998] introduce the initialPrivacyLevel configuration option (#1004)
  • πŸ› [RUMF-997] dont take a FullSnapshot on view creation during session renew (#1011)
  • πŸ› prevent recording to start when session renewed before onload (#1009)
  • ✨ [RUMF-996] set synthetics ids on RUM events (#1007)

v3.1.3

  • βš—βœ¨[REPLAY-336] Privacy by Default (#951)
  • βš—βœ¨ [REPLAY-379] add replay stats on view (getter edition) (#994)
  • πŸ“ Update Readme for v3 cdn links (#999)
  • πŸ›[RUMF-990] restore global check to detect synthetics sessions (#997)

v3.1.2

  • ✨[RUMF-970] enable buffered PerformanceObserver (#995)
  • Limit log monitoring + add more details (#990)
  • πŸ—‘οΈ Remove deprecated trace endpoint (#992)

v3.1.1

  • βš— [RUMF-970] Buffered PerformanceObserver: add fallback for older browsers (#978)
  • βš— [RUMF-971] experiment to detect when the computer goes to sleep (#976)
  • πŸ”Š [RUMF-971] add some context on suspicious LCP and FCP monitoring (#979)

v3.1.0

Note: this is the first 3.x release for the Logs SDK. See migration notes in v3.0.0.

  • πŸ“πŸ—‘ deprecate the XHR context, to be removed in V4 (#973)
  • βš— [RUMF-970] experiment with buffered PerformanceObserver (#972)
  • πŸ“ [RUMF-984] update CHANGELOG for logs breaking changes (#971)
  • ✨ [RUMF-974] use user-agent to detect synthetics sessions (#969)
  • πŸ’₯ [RUMF-982] remove deprecated LogsUserConfiguration type (#968)
  • πŸ’₯ [RUMF-981] remove deprecated logs options (#967)
  • πŸ“ document trackViewsManually option (#965)

v3.0.2

  • [RUMF-972] Revert "πŸ’₯ always use alternative domains for RUM (#944)" (#963)
  • πŸ“ update CDN URLs for V3 (#962)

v3.0.1

  • πŸ› fix recording session renewal (#955)

v3.0.0

See our upgrade guide for a comprehensive list of breaking changes introduced by this major version.

Changes

  • πŸ’₯ always use alternative domains for RUM (#944)
  • πŸ’₯ remove deprecated rum init options (#940)
  • πŸ’₯ remove deprecated types (#942)
  • πŸ’₯ [RUMF-951] merge rum-recorder into rum (#941)
  • πŸ‘· [RUMF-937] create the rum-slim package (#935)
  • πŸ’₯ remove deprecated RUM.addUserAction (#939)
  • ✨ [RUMF-940] implement the replay sample rate option and remove resource sample rate option (#931)
  • πŸ’₯ Remove addError 'source' argument (#936)

v2.18.0

  • πŸ‘· Versioned CDN files (#932)
  • πŸ‘· Increase browser cache to 4 hours (#933)
  • πŸ› ensure that test cookie is correctly deleted after the test (#927)
  • πŸ“ add actionNameAttribute initialization parameter (#923)

v2.17.0

  • ✨ [RUMF-928] enable manual view tracking (#924)
  • ✨ [PROF-3535] expose init configuration via getInitConfiguration() API (#897)

v2.16.0

  • ✨ [RUMF-932] allow context edition in logs beforeSend (#909)
  • ✨ [RUMF-945] allow users to customize the attribute used to define the action name (#919)

v2.15.1

  • πŸ› fix new view segment starting with an IncrementalSnapshot (#908)
  • πŸ› [REPLAY-325] add verbose error details on XHR transport failure (#902)

v2.15.0

  • ✨ [RUMF-920] keep trace id on aborted requests (#898)
  • ✨ [RUMF-922] stack trace on handled calls (#889)

v2.14.0

  • πŸ› [RUMF-931] check if PerformanceEntry is defined before using it (#891)
  • ✨ [RUMF-921] differentiate handled and unhandled errors (#886)
  • πŸ› [RUMF-876] Improve proxy behavior for xhr reuse (#865)
  • βš— manual view mode: create new view on renew session (#887)

v2.13.0

  • ✨ [RUMF-909] add beforeSend context (#883)
  • ✨ [RUMF-909] allow event context edition in beforeSend (#869)
  • πŸ”Š[RUMF-927] monitor timings with high values (#884)
  • βš— [RUMF-878] add trackViewsManually option (disabled) (#867)

v2.12.1

  • πŸ”Š monitor potential invalid date (#880)

v2.12.0

  • ⚑️ start mutation observer only when needed (#858)
  • πŸ“¦ bump ws from 7.4.2 to 7.4.6 (#875)
  • ✨ track foreground (#854)
  • ✨ add id on rum events (#873)

v2.11.1

  • πŸ› do not break the recorder when an URL fails to parse (#871)

v2.11.0

  • πŸ› [REPLAY-312] use unpatched MutationObserver object (#866)
  • πŸ› ignore full snapshots taken before "load" event (#861)
  • βš—βœ¨ [RUMF-878] add startView API (#850)
  • 🏷️ update events format (#864)
  • ✨ [RUMF-913] allow masking input values (#860)

v2.10.0

  • ✨[RUMF-889] enable system clock usages (#845)

v2.9.1

  • πŸ› [logs] Fix IE11 console.log issue (#852)

v2.9.0

  • ✨[RUMF-907] Use unaltered console functions when displaying console messages (#847)
  • ✨[RUMF-910] handle logs console and http simultaneously (#844)
  • ⚑️ [RUMF-902] enable new mutation observer (#842)
  • ✨[RUMF-908] attach current drift value to events (#843)
  • ✨ Clear previously set user context (#840)
  • πŸ“ add a warning in the RUM-recorder readme (#838)
  • πŸ“ Restructure tables in docs page for improved readability (#835)
  • πŸ“¦ [RUMF-905] update vulnerable dependencies (#836)
  • ⚑️ [RUMF-896] process mutations asynchronously (#832)

v2.8.1

  • πŸ› [RUMF-870] Max errors threshold should not take into account errors excluded by beforeSend (#828)
  • ✨ [RUMF-901] allow to run the 'performances' script with rum-recorder (#818)

v2.8.0

  • βš—πŸ› allow 1 ms error for matching request (#824)
  • βš—πŸ› [RUMF-889] apply correction only for positive drift (#821)
  • βš—βš‘οΈ [RUMF-902] implement a new mutation observer (#810)
  • πŸ› [RUMF-900] clear parent view context when view end (#816)
  • πŸ› [RUMF-900] prevent events to be sent from expired session (#814)
  • βš—πŸ› [RUMF-889] fix relative time rounding (#817)
  • βš— [RUMF-889] use preferred clock (#809)

v2.7.4

  • [RUMF-868] ignore paramaters stored in the hash (#792)
  • πŸ› fallback to xhr when sendBeacon throws (#796)

v2.7.3

  • πŸ› [RUMF-886] don't start recording when 'postpone_start_recording' is enabled (#790)
  • πŸ› [RUMF-882] Segments can be flushed because of the max_size limit even if the max_size isn't reached (#787)

v2.7.2

  • ✨ [RUMF-867] enable start/stop recording API (#784)
  • πŸ› fix developer extension popup (#778)

v2.7.1

  • ✨ [RUMF-863] Enable console error with stack traces (#781)
  • βš— [RUMF-869] Ensure the "Focus" records are emited in the same segment as the "FullSnapshot" (#779)

v2.7.0

  • βš— [RUMF-853] introduce a feature flag for aborted network errors (#777)
  • βš— [RUMF-853] don't emit error for requests aborted by the application (#768)
  • βš— [RUMF-867] implement stop recording (#771)
  • βš— [RUMF-857] round CLS to 4 decimals (#773)
  • πŸ› Revert negative FID monitoring and adjust to 0 (#775)
  • βš— [RUMF-866] adjust postpone start recording (#769)

v2.6.2

  • πŸ› [RUMF-862] fix export MediaInteractions enum (#761)
  • βš— [RUMF-863] rework console error calls containing error instances (#762)

v2.6.1

  • πŸ› [RUMF-855] discard negative first-input delays (#758)
  • βš— performance impact summary tool (#755)

v2.6.0

  • βš— [RUMF-858] add monotonic batch time (#748)
  • ✨ [RUM] Catch errors thrown by user callbacks (#745)
  • πŸ“ Doc: remove resourceSampleRate (#747)

v2.5.5

  • πŸ› [REPLAY-187] flush pending records before taking a fullsnapshot (#742)
  • ✨ [RUMF-854] Enable beforeSend to dismiss events (#743)
  • βœ… [RUMF-815] import RRWeb integration tests (#738)
  • ✨ [RUMF-847] Add onNewLocation to configuration (#724)

v2.5.4

  • πŸ”Š Add clock drift monitoring (#736)
  • ✨ Implement a developer extension (#686)

v2.5.3

  • βš— Remove mutation buffer global instance (#728)
  • βš— replay: set data-dd-privacy attribute on snapshot node if hidden (#726)
  • βš— replay: add dd-privacy attribute for obfuscation & ignoring input (#715)

v2.5.2

  • βš— [RUMF-843] monitor rrweb codebase (#721)
  • ⚑️ Remove unused parameters (#723)
  • βš— [RUMF-823] monitor deflate worker (#722)
  • πŸ› recorder: remove forEach polyfills (#719)

v2.5.1

  • βš— [RUMF-821] remove unused record types (#717)
  • βš—πŸ› [RUMF-834] fix loop direction (#714)
  • βš—βš‘οΈ [RUMF-841] remove session renew support in rum recorder (#713)
  • βš—βœ¨ [REPLAY-149] implement ViewEnd record (#711)

v2.5.0

  • ✨ Allow logs collection on file:// URL (#709)
  • πŸ›[RUMF-836] sanitize unsupported characters in timing name (#706)
  • rum-recorder: import rrweb-snapshot code (#700)
  • [REPLAY-164] track Focus records (#707)

v2.4.0

  • ✨[RUMF-820] expose API to add custom timings to the current view (#702)
  • πŸ‘·[RUMF-324] Replace TSLint with ESLint (#681)
  • ♻️ Remove automatic snake case (#699)

v2.3.1

  • ✨ [RUMF-826] Allow classic intake only for us and eu (#694)
  • [recorder] set 'hasReplay' to undefined by defaultb (#697)
  • [RUMF-819] postpone start recording (#688)

v2.3.0

  • ✨[RUMF-802] add support for capacitor app stack traces (#685)
  • πŸ›[RUMF-824] support Request instances in tracing (#684)
  • πŸ›[RUMF-809] URL encode tags in intake requests (#689)
  • βš—[RUMF-804] implement a minimal version of the recorder (#670)

v2.2.1

  • βš— Implement addTiming (#668)

v2.2.0

  • πŸ› [RUMF-810] force alternate intake for us3 (#677)
  • ✨ [RUMF-783] collect view.first_input_time (#676)
  • βš— Create a rum-core package (#673)
  • βš— [RUMF-803] import RRWeb (#658)
  • βš— [RUMF-801] create a new package for rum-recorder (#657)

v2.1.2

  • [RUMF-807] Broaden context types in APIs (#663)
  • [RUMF-807] Export types used in API (#662)

v2.1.1

  • πŸ› [CDN cache] remove stale-while-revalidate (#665)
  • ✨ [RUMF-794] Add isActive attribute to view events (#648)

v2.1.0

  • ✨ [RUMF-787] implement the User API (#638)
  • ✨ [RUMF-772] add beforeSend API (#644)

v2.0.3

  • πŸ› handle direct onerror calls with objects (#659)

v2.0.2

  • πŸ› sanitize error properties even when there is a valid stack (#655)

v2.0.1

  • πŸ› fix tracekit handling of exotic errors (#651)

v2.0.0

  • πŸ’₯ [RUMF-730] prefer object and type alias over enum in APIs (#630)
  • πŸ’₯ [RUMF-730] use v2 events format (#627)

v1.26.3

  • πŸ›βš‘οΈ [RUMF-793] tweak the cache-control header (#642)

v1.26.2

  • ✨ [RUMF-764] Use new intake domain for US (#616)
  • ✨ [RUMF-770] Disable tracing for cancelled requests (#635)

v1.26.1

  • πŸ› [RUMF-791] prevent IE11 performance entry error (#633)

v1.26.0

  • ✨ [RUMF-777] implement Cumulative Layout Shift (#628)
  • ✨ [RUMF-776] implement First Input Delay (#626)
  • ✨ [RUMF-775] implement Largest Contentful Paint (#624)
  • ✨ [RUMF-758] keep internal context in v1 format (#625)
  • ✨ [RUMF-780] implement track first hidden (#621)

v1.25.4

  • ✨ [RUMF-771] Add getLoggerGlobalContext and getRumGlobalContext (#614)
  • ✨ [RUMF-762] include the context when using console handler (#613)
  • Revert "βš—οΈ[RUMF-766] add match request timing debug infos (experimental) (#609)" (#612)

v1.25.3

  • βš—οΈ[RUMF-766] add match request timing debug infos (experimental) (#609)

v1.25.2

  • [RUMF-766] prevent request duration override by wrong matching timing (#604)
  • ♻️ [RUMF-748] cleanup add user add action events (#602)
  • πŸ› Fix unit test format validation (#598)
  • [RUMF-748] use RAW_RUM_EVENT_COLLECTED to compute event counts (#596)
  • [RUMF-729] validate rum events in e2e (#597)

v1.25.1

  • [RUMF-756] cyclic reference support in Context (#595)
  • ✨[RUMF-518] migrate internal context to v2 format (experimental) (#593)
  • ✨[RUMF-740] migrate error to v2 format (experimental) (#592)
  • [logs] add choose the right installation method (#594)

v1.25.0

  • ✨ [RUMF-724] implement API to capture an error (#585)
  • ✨ [RUMF-739] migrate action to v2 format (experimental) (#588)
  • ✨ [RUMF-738] migrate view to v2 format (experimental) (#586)
  • ✨ [RUMF-737] migrate resource to v2 format (experimental) (#584)
  • πŸ› [RUMF-745] fix V2 context (#579)
  • πŸ“ Added async installation method (#571)
  • πŸ“ DOCS-1257 Browser Log Collection (#575)

v1.24.1

  • πŸ› [RUMF-742] fix cookie creation domain when trackSessionAcrossSubdomains: true (#573)
  • ✨ [RUMF-727] introduce v2 format (experimental) (#570)

v1.24.0

  • πŸ› Use the same options to test and set cookies (#555)
  • ✨ [RUMF-534] implement logs.onReady and rum.onReady (#564)

v1.23.0

  • πŸ› [Core] dereference combine sources recursively (#560)
  • ✨ [RUMF-530][rum] allow using RUM API before init (#551)

v1.22.1

  • πŸ›[RUMF-716] fix invalid action name (#557)
  • πŸ› consider proxy host with custom path request as intake request (#550)

v1.22.0

  • ✨ [RUMF-530][logs] allow using logs API before init (#545)

v1.21.1

  • ✨ [RUMF-709][core] support 'null' as a context value (#546)

v1.21.0

  • πŸ› [RUMF-620]: Dual-ship "service" as tag and attribute (#543)

v1.20.1

  • πŸ› [RUMF-699] allow collecting requests with the same origin as the proxy (#537)
  • πŸ› include sources in NPM backage (#535)

v1.20.0

  • πŸ› fix issue when using proxy (#530)
  • πŸ› [RUMF-650] exclude intake request from performance/request collection (#528)
  • ✨ [RUM] add new functionality to remove global context to SDK (#527)

v1.19.0

  • πŸ› [RUMF-670] wait for the DOM to be ready before getting the trace id (#525)
  • ✨ [RUMF-648] add cookie configuration options (#523)
  • πŸ› [RUMF-684] fix error collection when Logs and RUM configuration diverge (#522)

v1.18.1

  • ✨ [RUMF-634] add resource id for traced request (#515)
  • πŸ› [RUMF-617] fix missing headers on traced requests (#517)

v1.18.0

  • ✨ [RUMF-617] integrate tracing from rum (#511)

v1.17.0

  • πŸ› [RUMF-645] do not track intake request errors (#506)
  • ✨ [RUMF-621] set view referrer to the previous view URL (#507)

v1.16.0

  • ✨ [RUMF-636] initial document trace id (#492)
  • πŸ› [RUM] do not return internal context if the session is untracked (#498)

v1.15.3

  • πŸ› [RUM] fix loading measures conversion to nanoseconds (#490)

v1.15.2

  • πŸ› [RUMF-622] attach loading measures to initial view (#479)

v1.15.1

  • πŸ› [RUMF-639] xhr proxy: do not instrument xhr already opened (#484)

v1.15.0

  • ✨ [RUMF-626] use site configuration and deprecate suffixed bundle (#476)
  • ✨ Update context api to include removeContext method (#478)

v1.14.1

  • [RUMF-617] Extract XHR and Fetch proxies (#468)

v1.14.0

  • ✨ [RUMF-592] support for hash navigation (#467)

v1.13.1

  • πŸ› [RUMF-625] make sure view url doesn't change (#469)

v1.13.0

  • ✨ [RUMF-605] enable event association to parent context by start date (#460)

v1.12.10

  • ✨ [RUMF-605] associate event to parent context by start date (behind flag) (#445)

v1.12.9

  • πŸ› fix current action context reset on custom action (#444)
  • ♻️ [RUMF-604] introduce parentContexts to return current contexts (#440)

v1.12.8

  • ✨[RUMF-603] Introduce and use new lifecycle events (#438)

v1.12.7

  • ✨[RUMF-609] export Datacenter enum from logs and rum (#436)
  • πŸ› use Datacenter enum in setup doc (#435)

v1.12.6

  • ✨[RUMF-594] specify same site attribute on cookies (#431)
  • ✨[resources] resolve .ico resources as kind:image (#428)

v1.12.5

  • πŸ›[RUMF-559] prevent event without sessionId (#425)

v1.12.4

  • ✨[RUMF-513] enable keep alive mechanism (#421)

v1.12.3

  • πŸ‘·[build] improve core tree-shaking (#417)
  • ⚑️[RUMF-510] Improve sizeInByte calculation performance (#413)
  • ✨[RUMF-513] add a session keep alive mechanism (#394)

v1.12.2

  • ✨ [RUMF-549] add an option to enable the user interaction tracking (#414)
  • ✨ [RUMF-385] implement a declarative API to set the action names (#412)
  • ✨ [RUMF-385] improve click action naming (#406)

v1.12.1

  • πŸ‘· [RUM] add application id as query parameter (#405)

v1.12.0

  • πŸ‘· Removing lodash dependencies (#396)

v1.11.6

  • ✨[RUMF-473] collect view loading time in ns and integrate the load event timing in the loading time calculation (#401)
  • ✨[RUMF-373] Add View load duration and load type (#388)

v1.11.5

  • ✨[RUMF-465] collect client service, env and version (#392)

v1.11.4

  • ♻️[RUMF-471] rename version (#382)

v1.11.3

  • [RUMF-447]: Only collect first-contentful-paint if page is visible (#361)

v1.11.2

  • πŸ›[RUMF-451] compute session type for each event (#375)
  • πŸ› [RUM] fix angular compatibility (#376)

v1.11.1

  • πŸ› [RUM] fix view update after its end (#373)

v1.11.0

  • Change view logic to emit LifeCycle events (#366)
  • [RUMF-441] Track event counts for user actions (#358)

v1.10.0

  • ✨[RUMF-430] enable new session strategy (#360)
  • πŸ›[RUMF-383] fix custom user action type case (#356)

v1.9.4

  • ✨[RUMF-43] add proxyHost init option (#354)
  • ✨ [RUMF-438] add user action reference to the internal context (#352)

v1.9.3

  • ✨[RUMF-435] add session type on all events (#347)
  • πŸ›[RUMF-431] fix CSP issue with global object strategy (#345)

v1.9.2

  • ✨[RUMF-430] new session strategy (disabled) (#343)
  • ✨[RUMF-383] automatic click user action collection (disabled) (#338)

v1.9.1

  • πŸ”₯[RUMF-430] stop maintaining old cookies (#342)

v1.9.0

  • ✨[RUMF-430] new session cookie format (#337)

v1.8.3

  • πŸ› [RUMF-430] fix rollback (#334)

v1.8.2

  • πŸ₯…[RUMF-430] handle potential session rollback (#329)

v1.8.1

  • πŸ›fix feature check (#320)

v1.8.0

  • πŸ”Š[RUMF-408] add new session check logs (#318)
  • [RUMF-407] improve resource timings collection (#315)
  • πŸ”§ improve CBT test names (#314)
  • [RUMF-382] prepare support for multiple feature flags (#312)
  • πŸ”§ update cbt chrome mobile (#313)

v1.7.5

  • ✨add an option to silent multiple Init errors (#310)

v1.7.4

  • πŸ› replace console.error by console.warn when cookies are not supported (#307)
  • πŸ”’ upgrade vulnerable packages (#306)

v1.7.3

  • πŸ›[RUMF-403] fix checkURLSupported (#302)
  • βœ… add cbt error case (#299)
  • [RUM] enable request with batch time by default (#297)

v1.7.2

  • πŸ›[RUMF-396] try to fix view date shift (#295)

v1.7.1

  • πŸ›[RUMF-320] Remove url-polyfill dependency (#294)

v1.7.0

  • ✨[RUMF-375] do not collect irrelevant timings (#292)

v1.6.3

  • πŸ›[RUMF-266] xhr tracker: add fallback on event listener (#287)

v1.6.2

  • βš—οΈ[RUMF-371] add batch time to rum intake requests (#285)
  • πŸ›[RUMF-266] fix xhr incorrect status reported on late abortion (#283)

v1.6.1

  • πŸ›[RUMF-330] fix intake requests exclusion (#281)

v1.6.0

  • ✨[RUMF-315] collect initial document timing (#276)
  • ⬆️ Bump codecov from 3.6.1 to 3.6.5 (#277)
  • ✨[RUMF-342] use startTime for events timestamp (#275)

v1.5.0

  • ✨[RUMF-264] add compatibility with server side rendering (#273)

v1.4.2

  • πŸ”§ add repository link for each package (#271)

v1.4.1

  • πŸ› [RUM] fix retrieving early timings (#268)

v1.4.0

  • πŸ”‡[RUMF-257] remove logging (#265)
  • πŸ› [RUMF-71] do not report negative performance timing duration (#264)
  • [MRO] update Node version (#263)
  • ✨ [Browser SDK][rum-291] Allow logs when cookies are disabled (#255)

v1.3.3

  • πŸ”Š[RUMF-257] rework logging (#261)
  • πŸ›[RUMF-308] do not track session without id (#260)
  • πŸ“„ add check-licenses script (#258)

v1.3.2

  • πŸ”Š [RUMF-71] add internal logs messages when an abnormal duration is spoted (#251)

v1.3.1

  • πŸ”Š[RUMF-257] report abnormal performance.now() (#254)
  • βœ…[e2e] wait for browser url loaded (#253)
  • πŸ›[RUMF-293][fetch] handle fetch response text error (#252)

v1.3.0

  • ✨[internal monitoring] add RUM/Logs context (#249)
  • πŸ”Š [RUM-257] add more abnormal info (#248)

v1.2.11

  • πŸ”Š [RUMF-257] add extra abnormal load info (#245)
  • πŸ”§ lower maxErrorsByMinute threshold (#244)

v1.2.10

  • πŸ›[jsonStringify] do not crash on serialization error (#242)

v1.2.9

  • πŸ›[init] remove deprecate prerender check (#240)

v1.2.8

  • 🏷 [TypeScript] ensure 3.0 minimal support (#237)

v1.2.7

  • βœ…[e2e] cleaner tests (#233)
  • πŸ”§[coverage] setup codecov (#232)
  • πŸ”Š[e2e] add extra logging (#231)
  • πŸ”₯[rum/logs] remove outdated attributes (#230)
  • ♻️[e2e] wait request to reach server before assertions (#229)
  • ⚑️[batch] limit view update events (#228)
  • πŸ”Š[e2e] output server response in logs (#226)
  • πŸ”§[e2e cbt] add retry case (#227)
  • πŸ”Š[e2e] output test server log (#225)
  • πŸ”§[e2e] fix local tests on chrome 79 (#224)

v1.2.6

  • [RUMF-188] add traceId to fetch calls (#221)
  • πŸ› [RUMF-201] use timing.navigationStart to compute fake timings (#217)
  • βœ… fix e2e cbt tests on Edge (#222)

v1.2.5

  • πŸ”ŠπŸ› [RUMF-201] add internal logs for abnormal timeOrigin (#219)
  • πŸ”§[e2e cbt] setup retry (#218)

v1.2.4

  • πŸ›[types] do not globally override ts types (#215)
  • [RUMF-201] add debug monitoring for navigation timing entries (#214)

v1.2.3

  • [RUMF-158] fix view id associated to different session id (#211)
  • πŸ”§[packages] add scripts to release & publish (#212)
  • πŸ“[packages] improve README.md (#209)
  • πŸ”§[packages] force exact version (#208)
  • πŸš€[ci] publish npm packages on tag (#207)
  • ✨[packages] allow to publish publicly (#206)

v1.2.2

  • πŸ”ŠπŸ› [RUMF-201] add internal logs for buggy load event measures (#204)
  • ✨[packages] use new names (#203)
  • ⬆️[security] fix alert by upgrading webpack (#202)

v1.2.1

  • [e2e cbt] add android browser (#200)
  • πŸ’š[gitlab] use new project name (#199)
  • πŸ›[request] do not consider opaque response as error (#197)
  • βœ…[e2e cbt] add edge and firefox (#196)

v1.2.0

  • βœ…[e2e cbt] make scenarios compatible with safari (#195)
  • βœ…[karma cbt] add retry for UnhandledException (#194)
  • πŸ›[request] do not monitor xhr.send monkey patch (#193)
  • πŸ”₯[RUM] remove deprecated count (#192)
  • ✨[init] add extra checks (#191)
  • πŸ›[core] ensure that document.cookie is not null (#190)
  • ✨[RUM] add view resource count (#189)
  • ✨[RUM] do not snake case user defined contexts (#188)
  • πŸ“[Readme] Remove deployment part (#187)
  • Rename repository (#186)
  • ✨[RUM] exclude trace intake requests (#185)
  • πŸ›[RUM] fix wrong url on spa last view event (#184)
  • πŸ“„[license] update third parties (#183)
  • πŸ”§[ci] fix cbt fail on release (#182)

v1.1.0

  • πŸ”₯[RUM] remove screen performance events (#180)
  • πŸ›[release] get version from lerna.json (#179)

v1.0.0