Added
- Updated to Firefox 69 and Chrome 77 in the Docker container.
- Collext Axe violations for summary and detailed summary #2622. Read more in the documentation.
- Added new metrics for slacking errors/warnings: firstPaint, visualComplete85, lastVisualChange, fullyLoaded (and fixed broken fullyLoaded) #2611.
- Show the top 20 largest assets on the PageXray tab #2583
- Show the transfer size of assets (not only content size) in the toplists in the HTML #2560
- You can now test your pages using Axe:
--axe.enable
- The test will run after all other metrics are collected and will add some extra time to your total run test time #2571. You can see all axe information in the new tab. - Limited support for using Safari. You need Catalina + iOS 13 to run Safari on your phone/tablet. Read more in the documentation.
- Send FirstMeaningfulPaint by default to Graphite/InfluxDb #2559
- Updated dashboards with a new annotation (for sitespeed.io changes) and fixed WebPageTest dashboards to work with annotations.
- Upgraded to Browsertime 6.0.0.
- Upgraded to Ubuntu Disco in the Docker container #908.
- Use TSProxy to throttle the connection. You should use TSProxy when you run on Kubernetes. Use it by
--connectivity.engine tsproxy
. We used to have support years ago but it never worked good on Mac/Linux so we dropped it. But it works now so we added it back #891. - You can now add your own metrics directly from your script (or post script) using context.result.extras. More info coming #917
And some new things coming in Chrome: - Using Chrome 77 (or later) you will now get a layout shift score (in percentage), see https://web.dev/layout-instability-api. #905.
- Get LargestContentfulPaint in Chrome 77 (or later) #906.
- Get ElementTimings in Chrome 77 (or later) #921. All elements needs to have a unique identifier for this to work correctly.
- There's an alternative to collect Visual Metrics using the Chrome trace log, using SpeedLine implemented in #876. Using video give more accurate metrics (at least in our testing) but maybe it could help running on Chrome on Android and add less overhead than recording a video. You can enable it with:
--cpu --chrome.visualMetricsUsingTrace --chrome.enableTraceScreenshots
Fixed
- Guard against broken WPT multi-step runs #2621.
- Multiple bug fixes for the Slack plugin: Show the correct connectivity, always have a red color when we have an error and fixed bug when comparing metrics (we compare with median) #2610.
- Only using number as an alias for connectivity should be ok #2612.
- Unified how to log the options object, so that Browsertime and sitespeed.io follow the same standard. You can now log your options/configuration with
--verbose
that is super helpful when you need to debug configuration issues #2588. - Sending metrics to InfluxDB was broken because of a bug in how we get the connectivity name. Fixed in #2587.
- HTML fix for showing the script in the result HTML #2597.
- Running a script, testing multiple different domains, having aliases made data in Graphite sent under the wrong group/domain. Fixed in #25###92
- Fixed annotations tag when using WebPageTest. Before the correct values was not sent. With the fix you can use the annotations on you WebPageTest dashboard 2602.
- Add WebPageTest screenshot in annotation if you use WebPageTest without Browsertime #2603 and #2605
- Link to WebPageTest HAR in the annotation if you run WebPageTest standalone #2609.
Changed
- Upgraded to yargs 14.1.0 that deep merge configuration files when you extend another configuration #2626
- To store the log to file you need to now add
--logToFile
to your run. This makes sense that you need to make an active choice to store the log file#2606. - Using
--debug
now set the log level to verbose instead of just logging the message queue. To log the message queue use--debugMessages
#2607.
Tech
- Updated dev dependencies and yargs, @google-cloud/storage, aws-sdk, dayjs, findup, fs-extra, influx, juni-report-builder, p-limit, pug, simplecrawler and tape.