1.568.0
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