Skip to content

@nicjansma nicjansma released this May 16, 2019 · 2 commits to master since this release

This is a backport of all of Akamai's contributions to boomerang from October 2018 (mPulse's version 1.621.0) through May 2019 (mPulse's version 1.650.0).

1.650.0

New Features:

  • Issue 782: Boomerang Loader Snippet v12
  • Issue 966: History: Add config option to disable monitoring of replaceState

Bug Fixes:

  • Issue 969: AutoXHR: Make routeChangeWaitFilter wait_complete calls wait for other pending nodes
  • Issue 972: IFrameDelay: Listen for postMessage calls on the correct window

Docs:

  • Issue 968: Continuity: Document events for TTFI

Tests:

  • Issue 975: IFrameDelay: Force tests to load Boomerang in an IFRAME when using the snippet
  • Issue 974: Grunt: Allow specifying multiple webdriver-version

1.643.0

Performance Improvements:

  • Issue 933: Performance: Boomerang Performance Tests
  • Issue 936: Performance: Strips out BOOMR.debug and related messages for production builds
  • Issue 937: Performance: Grunt: Use UglifyJS-3
  • Issue 953: Performance: ResourceTiming: Allow for non-optimal Trie to improve performance

Bug Fixes:

  • Issue 941: AutoXHR: Track uninteresting timeout per event instead of per page
  • Issue 931: AutoXHR: Cleanup listeners on observed nodes
  • Issue 947: AutoXHR: Track Fetch the same way as XHR during SPA navigations
  • Issue 946: AutoXHR: Track LINK stylesheets as interesting nodes
  • Issue 943: AutoXHR: Add XHRs to pending events at send instead of load finished
  • Issue 947: AutoXHR: Include Fetch requests in SPA backend time
  • Issue 949: AutoXHR: Allow config overrides for SPA and XHR idle wait timeouts
  • Issue 952: Boomerang: Ensure only a single beacon is being sent at once
  • Issue 959: IFrameDelay: Gracefully handle different load orders

1.630.0

Bug Fixes:

  • Issue 928: SPA: Ignore route changes if a routeChangeWaitFilter has not yet completed
  • Issue 929: History: Ignore replaceState() if a SPA nav is in progress and no URL change
  • Issue 930: SPA: Only apply routeFilter and routeChangeWaitFilter on SPA Soft Navigations

1.629.0

Bug Fixes:

  • Issue 906: Cleanup leaked global vars
  • Issue 907: Added .npmignore for OS NPM package
  • Issue 908: README: Notes on download / npm / bower
  • Issue 910: TPAnalytics: Add data to spa_hard beacons
  • Issue 913: UserTiming: Update to vanilla UserTimingCompression
  • Issue 923: Boomerang: Keep track of all unload handlers to know when to send unload
  • Issue 925: AutoXHR: Don't track <SCRIPT> tags for XHR beacons
  • OS Issue 196: Optionally depend on usertiming-compression
  • OS Issue 218: Boomerang: Optionally send XHR with credentials
  • OS Issue 219: Clicks: Fix plugin config
  • OS Issue 220: SPA: Clarify route_change comment
  • OS Issue 221: Tests: Move webdriver-manager from package.json install script to tests
  • OS Issue 223: JSDoc: Clarify SPA plugin load-order requirements
  • OS Issue 224: Fix issue related to screen orientation in iPhone and iPad
  • OS Issue 231: Add missing bracket after "Observer effect" link
  • OS Issue 236: Continuity: Update documentation of beacon parameters

1.626.0

Bug Fixes:

  • Issue 905: Errors / AutoXHR: Un-register wrapped functions at unload
  • Issue 903: SPA: Make markNavigationComplete only apply to SPA events

1.624.0

Bug Fixes:

  • Issue 892: Errors: Timing issue causing page load beacon to get tagged with the error type initiator marker
  • Issue 899: AutoXHR: Try to use native MutationObserver when running on a page with Zone.js
Assets 2

@nicjansma nicjansma released this Nov 13, 2018 · 60 commits to master since this release

This is a backport of all of Akamai's contributions to boomerang from April 2018 (mPulse's version 1.568.0) through October 2018 (mPulse's version 1.621.0).

We're now providing Version History in the documentation (doc/version-history.md), included below as well:

1.621.0

New Features:

  • Session tracking via cookies
  • Issue 890: Errors: Support Reporting API warnings
  • Issue 840: Errors: Monitor Unhandled PromiseRejectionEvents

Bug Fixes:

  • Issue 886: Errors: Allow onerror to be called with an ErrorEvent object
  • Issue 893: Continuity: Disable MutationObserver usage for monitorStats for IE11
  • Issue 895: AutoXHR: Don't track pixels or IFRAMEs that change src
  • OS Issue 206: Fallback to use XHR if data store requires auth
  • OS Issue 211: Fix getBeaconURL() error using AutoXHR plugin

1.615.0

Bug Fixes:

  • Issue 879: Protect against undefined nodeName
  • Issue 877: Boomerang: Add beacon number param
  • Issue 769: NavTiming: Don't look at chrome.loadTimes() if nextHopProtocol is empty
  • Issue 883: Cookie Compression

1.612.0

Bug Fixes:

  • Issue 869: PaintTiming: Don't add FP/FCP if document is hidden or for SPA Soft/XHRs
  • Issue 873: Continuity: Don't fail if Screen Orientation API is not supported
  • Issue 876: Boomerang: Don't use polyfilled sendBeacon()

1.609.0

Bug Fixes:

  • Issue 847: Don't use the navigator.sendBeacon API when beacon_type is set to GET
  • Issue 853: Verify that the Battery value is a valid number before adding it to the beacon
  • Issue 864: SPA: Fix regression in SPA timings with disableHardNav
  • Issue 865: AutoXHR: Fix regression in XHR monitoring for non-NT browsers
  • Issue 866: AutoXHR: don't mistakenly clear monitorFetch flag
  • Issue 863: AutoXHR: alwaysSendXhr accepts a function or list of strings/regexs

1.602.0

Bug Fixes:

  • Issue 858: Fix localStorage expiry time
  • Issue 854: Run page ready only after config arrives
  • Issue 861: If the cookie is set to null, rt.si, rt.sl, rt.ss, should not be written

1.598.0

New Features

  • Issue 851: EXPERIMENTAL: AutoXHR: Delay checking RT if fetch response body is not used

Bug Fixes:

  • Issue 850: EXPERIMENTAL: AutoXHR: Do not instrument polyfilled fetch API

Tests:

  • Issue 841: Remove CT16 'slowest' from Resource Groups

Docs:

  • Issue 820: ResourceTiming: JSDoc fixes

1.593.0

New Features:

  • Issue 824: EXPERIMENTAL: AutoXHR: Add Fetch API instrumentation

Bug Fixes:

  • Issue 843: AutoXHR: Handle XHRs that are aborted after readyState 4
  • Issue 844: SPA: Fixes URL for SPA navigations after XHR beacons

1.590.0

New Features:

  • Issue 813: Add cookie length and localStorage length as beacon parameters
  • Issue 818: Trap clearResourceTimings()

Bug Fixes:

  • Issue 835: Protect access to localStorage variable
  • Issue 838: AutoXHR: Only save XHR request and response payloads if configured to
  • Issue 817: Replace undefined parameter values with empty string in beacon query
  • OS Issue 198: Fix TypeError: undefined is not an object

Tests:

  • Issue 828: Test server: Add support for customizable status codes in all cases
  • Issue 802: Test fixes for test #111096
  • Issue 839: Clean sessionStorage in e2e tests
  • Issue 842: Fix for 11-restiming/12-clearResourceTiming

Docs:

  • Issue 830: Continuity: Docs update for missing parameters
  • Issue 836: Docs for Boomerang Tests

1.579.0

New Features:

  • Issue 792: Use currentSrc for images (PICTURE support)
  • Issue 814: SVG:IMAGE and srcset support for Continuity Hero Images

Bug Fixes:

  • Issue 809: Errors: unbound removeEventListener
  • Issue 750: History: react to popstate events and allow aborted beacons

1.571.0

Bug Fixes:

  • Issue 804: OS Repo sync and fixes 2018
  • Issue 801: Add array bounds check to getQueryParamValue()
  • Issue 790: ResourceGroups: Run at same time as other handlers instead of at before_beacon
  • Issue 793: Boomerang: Ensure we don't console.log a BOOMR.debug message in production
  • Issue 805: Continuity: Fix busy calculation for late periods
  • Issue 775: Errors: Check context in wrapFn
  • Issue 777: Errors: Call removeEventListener before addEventListener
  • Issue 784: getMyURL() fix for PhantomJS 1
  • Issue 776: Correctly detect our url on IE using non-standard loader
  • Issue 799: Move alwaysSendXhr into the pluginConfig section to make it clearer that this is an AutoXHR config
Assets 2

@nicjansma nicjansma released this Apr 13, 2018 · 123 commits to master since this release

This is a backport of all of Akamai/SOASTA's contributions to boomerang from April 2017 (mPulse's version 1.452.0) through April 2018 (mPulse's version 1.568.0).

This backport also includes a large update to the JSDoc documentation of Boomerang. We will be updating the documentation site after this has been merged.

New Plugins

  • Continuity plugin [Nic Jansma] 0f1ced9
  • IFrameDelay plugin [Andreas Marschke] 3bfe3d7
  • PaintTiming plugin [Nic Jansma] 3418aea

New Features

  • Boomerang: Documentation Updates [Nic Jansma] 226062f
  • Boomerang: Add 'nocookie' flag if we couldn't set cookies [Nic Jansma] 94cfa61
  • Boomerang: Add BOOMR.utils.arrayFind function [Nigel Heron] 2a8b36d
  • Boomerang: Capture BOOMR.page_ready() time after onload; [Nic Jansma] 9ef6d13
  • Boomerang: BOOMR.addVar() for single beacons [Nic Jansma] 9ef6d13
  • Boomerang: Configuration for locking beacon_url to specific patterns [Nic Jansma] e85fdf4
  • Boomerang: LocalStorage support [Nigel Heron] 296e335
  • History: Option to disable hard navigation in favor of BOOMR.page_ready() [Andreas Marschke] cd5ab8d
  • NavigationTiming: Add a few NavigationTiming2 fields if available [Nic Jansma] b18ef55
  • ResourceTiming: Add iframe and subdocument to initiatorType [jzyang] 94b92e5
  • ResourceTiming: Add link.rel data to the ResourceTiming trie [Charles Vazac] a5f3789
  • SPA: Log aborted load beacons [Nigel Heron] 6173215
  • SPA: markNavigationComplete() support [Nic Jansma] f253d1b

Bug Fixes

  • Boomerang: Work around minification that breaks in IE8 and quirks mode [Nigel Heron] 603d5da
  • Boomerang: BOOMR.sendBeaconData refactor [Nic Jansma] 8b0ef73
  • Boomerang: Override the load end-time with BOOMR_page_ready or param to page_ready() [Nigel Heron] 2ff1e2a
  • Boomerang: sendBeacon: x-www-form-urlencoded [Nic Jansma] b5d9967
  • Boomerang: Workaround for document.write changing readyState after onload [Nigel Heron] 2822a79
  • Angular: Don't trigger Route Change on $locationChangeStart if other events fire [Nic Jansma] 1cce81c
  • Angular: Track navigations when only a $locationChangeStart fires [Nic Jansma] 031c1fb
  • AutoXHR: Disable MutationObserver in IE 11 due to browser bugs [Nigel Heron] a99f09d
  • AutoXHR: Do not extend the event timeout with each uninteresting mutation [Nigel Heron] 1fdfcda
  • AutoXHR: Don't wait for XHRs that .open() but don't .send() [Nigel Heron] 583536b
  • AutoXHR: Fixes XHR after click missing beacon [Nic Jansma] 970ad46
  • AutoXHR: If we don't instrument XHR open then don't instrument send either [Nigel Heron] 58b0879
  • AutoXHR: Wait once up to 1,000ms after an uninteresting mutation [Nic Jansma] 69840cd
  • Documentation: Misc JSDoc fixes [Nic Jansma] 9c3e863
  • Errors: Call removeEventListener before addEventListener [Charles Vazac] 2d2cfd0
  • Errors: Check context in wrapFn [Charles Vazac] 1e79cd4
  • Errors: Deduplicate calls to AddEventListener with the same arguments [Nigel Heron] 5f2a31a
  • Errors: Don’t report IE error for freed script in event and timeout handlers [Nigel Heron] cd898d2
  • Errors: Loader Snippet to capture errors before Boomerang arrives [Nic Jansma] becae71
  • Errors: Re-throw caught exceptions [Nic Jansma] c5fbfc5
  • Errors: Remove certain file names from stacks [Nic Jansma] f66eb82
  • Errors: Send during onload if autorun=false [Nic Jansma] 46c6f62
  • Errors: Wrap addEventListener at the end of the protocol chain [Nigel Heron] c443040
  • NavigationTiming: Deprecate chrome.loadTimes [Nic Jansma] 3418aea
  • NavigationTiming: Don't include timestamps for events that haven't happened [Nic Jansma] 721ceb3
  • NavigationTiming: Fix nt_nav_st [Nigel Heron] 8db2951
  • ResourceTiming: Additional checks and fixes for non-supported browsers [Nic Jansma] 4fe7ec0
  • RT: Always use loadEventEnd as the end load time [Nic Jansma] e70b3f1
  • RT: Fix t_page and t_resp missing from the beacon [Nic Jansma] 6f1acad
  • SPA: Calculate Front-End / Back-End even if ResTiming isn't enabled but the plugin is available [Nic Jansma] 45dacc6
  • SPA: Don't send beacons for SPA soft navs that don't change the URL and no resources are triggered [Nigel Heron] 0736a0d
  • SPA: Fix custom timers for SPA navigations [Nigel Heron] f35f912
  • TPAnalytics: Don’t send boomerang error on TPAnalytics third party errors [Nigel Heron] 921538f

Loader Snippet Update

  • Boomerang Loader Snippet v10 [Nic Jansma] 0264088
  • Documentation: Non-Blocking Loader Snippet and delayed snippet [Nic Jansma] 61290ed
  • Correctly detect our url on IE using non-standard loader [Philip Tellis] bda14f5
  • BOOMR.getMyURL() fix for PhantomJS 1 [Nigel Heron] a1ca875
  • Make self url detection work when loaded in primary window as well [Philip Tellis] fc44746

Test Fixes

  • Tests: Headless modern browser support (Chrome + Firefox) [Nic Jansma] 745792b
  • Tests: Edge, IE and Safari e2e support [Nigel Heron] b1dd31b
  • Test Framework: isJSONSupported() added [Nigel Heron] f9fe647
  • Prevent unload confirmation popup in tests [Nigel Heron] 791c588
  • Revive the SauceLabs code [Charles Vazac] b813ebf
  • Update to new server timing header syntax [Charles Vazac] 2c375ec
  • Upgrade "express-middleware-server-timing" [Charles Vazac] 8a4cb8d
  • Test fixes [Nigel Heron] e4dc03e
  • Modernize expressjs usage, which fixes express-middleware-server-timing [Charles Vazac] 69ae882
  • Test fixes for modern browsers [Nic Jansma] 6fd3713
  • 14-errors/23-duplicate-event-listener: Fixes inconsistent failure and older browsers [Nic Jansma] d0b5c10
  • Test framework helper function for IE [Nic Jansma] d734bcb
  • 03-load-order/02-after-page-load-tag-manager.html: Reduce code duplication [Nic Jansma] 4cd19e2
  • Fixes e2e-debug.js [Nic Jansma] 9f1f513
  • 01-beacon-type/04-send-beacon: Change how sendBeacon is detected [Nic Jansma] bc89347
  • 01-beacon-type/0123: Disable sendBeacon so we can inspect ResourceTiming for the correct type [Nic Jansma] f67eac2
  • Fixes 00-basic/09-overrides [Nic Jansma] 3201f02
  • Check that all beacons pass basic validation [Nigel Heron] eacde8c
  • Misc changes for Boomerang [Andreas Marschke] a2acc34
  • Instrument Express requests with express-middleware-server-timing [Charles Vazac] 42d6782
  • Misc test fixes [Andreas Marschke] 6e36d17
  • Misc test framework fixes [Nigel Heron] d0b7382
  • Test fixes [Nigel Heron] 9f097ee
  • Use floor instead of round to match navtiming plugin [Nigel Heron] a45b2c2

Misc

  • Updated package-lock.json [Nic Jansma] d536df4
  • Gruntfile: Allow passing in commit via commandline [Nic Jansma] 5b371df
  • Package.json: Add blueimp-md5, error-stack-parser and jsurl at versions we've embedded them in for Snyk [Nic Jansma] c91c711
  • Plugin init cleanup [Nic Jansma] 73c2513
  • BOOMR.log: Add timestamp [Nic Jansma] dda7f2b
  • Miscellaneous cleanup [Nigel Heron] e815d9c
  • Warn on window and document overrides (debug builds only) [Charles Vazac] f01f396
  • PCI compliance fixes [Nic Jansma] a98dfd3
  • Update copyrights [Nigel Heron] cc058d7
Assets 2
You can’t perform that action at this time.