# Pre-10.0 Changelog See the [newer changelog](changelog.md) for newer revisions. # 9.6.8 (2022-10-31) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.7...v9.6.8) We expect this release to ship in the DevTools of [Chrome 109](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Core * deprecations: use translated strings from devtools repo ([#13961](https://github.com/GoogleChrome/lighthouse/pull/13961)) * network-request: backport rendererStartTime ([#14481](https://github.com/GoogleChrome/lighthouse/pull/14481)) # 9.6.7 (2022-09-01) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.6...v9.6.7) This is an npm-only release. We have no plans to release this specific version to DevTools or PSI, but the changes will be rolled up into the next release in those clients. ## Core * core(trace-elements): include LCP type in artifact ([#14344](https://github.com/GoogleChrome/lighthouse/pull/14344)) * core: add priority to network-requests debug audit ([#14340](https://github.com/GoogleChrome/lighthouse/pull/14340)) # 9.6.6 (2022-08-16) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.5...v9.6.6) We expect this release to ship in the DevTools of [Chrome 106](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Steven @styfle ## Core * unsized-images: ignore non-network SVGs ([#13737](https://github.com/GoogleChrome/lighthouse/pull/13737)) ## Deps * upgrade csp-evaluator ([#14281](https://github.com/GoogleChrome/lighthouse/pull/14281)) # 9.6.5 (2022-08-01) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.4...v9.6.5) This is an npm-only release and affects only the raw JSON report. We have no plans to release this specific version to DevTools or PSI, but the changes will be rolled up into the next release in those clients. ## Core * core(network-requests): include starting timestamp as debug data ([#14253](https://github.com/GoogleChrome/lighthouse/pull/14253)) * core: use trace time origin for main-thread-task time origin ([#14252](https://github.com/GoogleChrome/lighthouse/pull/14252)) # 9.6.4 (2022-07-26) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.3...v9.6.4) We expect this release to ship in the DevTools of [Chrome 106](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Deps * lighthouse-stack-packs: upgrade to 1.8.2 ([#14218](https://github.com/GoogleChrome/lighthouse/pull/14218)) ## Clients * lr: expose listenForStatus ([#14024](https://github.com/GoogleChrome/lighthouse/pull/14024)) ## Misc * misc: keep scripts package.json in npm ([#14239](https://github.com/GoogleChrome/lighthouse/pull/14239)) # 9.6.3 (2022-06-28) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.2...v9.6.3) This is an npm-only release and affects only the raw JSON report. We have no plans to release this specific version to DevTools or PSI, but the changes will be rolled up into the next release in those clients. ## Core * network-requests: add frame and preload debug data ([#14161](https://github.com/GoogleChrome/lighthouse/pull/14161)) * preload-lcp-image: enrich debugData ([#14155](https://github.com/GoogleChrome/lighthouse/pull/14155)) # 9.6.2 (2022-06-01) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.1...v9.6.2) We expect this release to ship in the DevTools of [Chrome 104](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Core * driver: fix legacy runner hanging oopifs in some cases ([#14074](https://github.com/GoogleChrome/lighthouse/pull/14074)) ## Report * avoid really slow regexes for data urls ([#13791](https://github.com/GoogleChrome/lighthouse/pull/13791)) ## Clients * psi: expose the swapLocale types ([#14062](https://github.com/GoogleChrome/lighthouse/pull/14062)) ## Tests * smoke: fix ToT node id failures ([#14077](https://github.com/GoogleChrome/lighthouse/pull/14077)) * devtools: sync web tests ([#14061](https://github.com/GoogleChrome/lighthouse/pull/14061)) ## Misc * build: fix lightrider report generator bundle ([#14031](https://github.com/GoogleChrome/lighthouse/pull/14031)) # 9.6.1 (2022-05-11) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.6.0...v9.6.1) We expect this release to ship in the DevTools of [Chrome 103](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Core * fps: run at the end of timespan/snapshot ([#13989](https://github.com/GoogleChrome/lighthouse/pull/13989)) * responsiveness: add element screenshot to INP diagnostic ([#13984](https://github.com/GoogleChrome/lighthouse/pull/13984)) * responsiveness: add better INP fallback for old Chrome versions ([#13985](https://github.com/GoogleChrome/lighthouse/pull/13985)) ## Report * devtools: use absolute positioning for overlay ([#13988](https://github.com/GoogleChrome/lighthouse/pull/13988)) ## Tests * use origin-agent-cluster to actually test oopifs ([#13777](https://github.com/GoogleChrome/lighthouse/pull/13777)) # 9.6.0 (2022-05-09) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.5.0...v9.6.0) We expect this release to ship in the DevTools of [Chrome 103](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Audits * The new performance metric [Interaction to Next Paint (INP)](https://web.dev/inp/) assesses responsiveness by measuring the latency of interactions throughout the page lifecycle. INP can be measured using Lighthouse timespan mode accessible through [user flows](https://github.com/GoogleChrome/lighthouse/blob/master/docs/user-flows.md) or the [new DevTools panel](https://developer.chrome.com/blog/new-in-devtools-101/#lighthouse). ([#13917](https://github.com/GoogleChrome/lighthouse/pull/13917), [#13917](https://github.com/GoogleChrome/lighthouse/pull/13982) ## Core * extract BootupTime task summary methods ([#13971](https://github.com/GoogleChrome/lighthouse/pull/13971)) * css-usage: fetch stylesheet contents immediately after discovery ([#13887](https://github.com/GoogleChrome/lighthouse/pull/13887)) * installability-errors: add url scheme error ([#13846](https://github.com/GoogleChrome/lighthouse/pull/13846)) * installable-manifest: always run `InstallabilityErrors` in legacy mode ([#13622](https://github.com/GoogleChrome/lighthouse/pull/13622)) * responsiveness: use new EventTiming trace event format ([#13979](https://github.com/GoogleChrome/lighthouse/pull/13979)) * responsiveness: use raw trace event ([#13970](https://github.com/GoogleChrome/lighthouse/pull/13970)) * trace: use tracing-started event for frame tree info ([#13913](https://github.com/GoogleChrome/lighthouse/pull/13913)) * trace: add PrePaint event, renamed from UpdateLayerTree ([#13950](https://github.com/GoogleChrome/lighthouse/pull/13950)) * trace-processor: ignore `navigationStart` with falsy document url ([#13848](https://github.com/GoogleChrome/lighthouse/pull/13848)) * resolve redirected script records ([#13751](https://github.com/GoogleChrome/lighthouse/pull/13751)) * deprecations: drop compat for ConsoleMessages ([#13893](https://github.com/GoogleChrome/lighthouse/pull/13893)) * deprecations: hard-code english strings ([1883f7](https://github.com/GoogleChrome/lighthouse/commit/1883f7)) ## Report * hide disclaimer text in timespan ([#13931](https://github.com/GoogleChrome/lighthouse/pull/13931)) * psi: stub out locale swapping ([#13885](https://github.com/GoogleChrome/lighthouse/pull/13885)) * report: render notApplicable metrics with double dash ([#13981](https://github.com/GoogleChrome/lighthouse/pull/13981)) ## Deps * upgrade third-party-web ([#13873](https://github.com/GoogleChrome/lighthouse/pull/13873)) * update to third-party-web 0.15.0 ([#13804](https://github.com/GoogleChrome/lighthouse/pull/13804)) * axe-core: upgrade to 4.4.1 ([#13814](https://github.com/GoogleChrome/lighthouse/pull/13814)) * js-library-detector: upgrade to 6.5.0 ([#13969](https://github.com/GoogleChrome/lighthouse/pull/13969)) * lighthouse-stack-packs: upgrade to 1.8.1 ([#13862](https://github.com/GoogleChrome/lighthouse/pull/13862)) * snyk: update snyk snapshot ([#13823](https://github.com/GoogleChrome/lighthouse/pull/13823), [#13880](https://github.com/GoogleChrome/lighthouse/pull/13880)) * lodash: use individual lodash modules to reduce bundle size ([#13914](https://github.com/GoogleChrome/lighthouse/pull/13914)) * puppeteer: upgrade to 13.7.0 ([#13657](https://github.com/GoogleChrome/lighthouse/pull/13657)) ## Tests * upgrade devtools web tests deps, use python3 ([#13782](https://github.com/GoogleChrome/lighthouse/pull/13782)) * update create-test-trace utility ([#13942](https://github.com/GoogleChrome/lighthouse/pull/13942)) * rebaseline webtests ([#13963](https://github.com/GoogleChrome/lighthouse/pull/13963)) * smoke: remove old chrome version checks ([#13903](https://github.com/GoogleChrome/lighthouse/pull/13903)) * smoke: support full chrome version for pruning ([#13896](https://github.com/GoogleChrome/lighthouse/pull/13896)) # 9.5.0 (2022-03-09) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.4.0...v9.5.0) We expect this release to ship in the DevTools of [Chrome 101](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Marc Hassan @mhassan1 ## Core * full-page-screenshot: leave emulated width unchanged ([#13643](https://github.com/GoogleChrome/lighthouse/pull/13643)) * inspector-issues: update sameSiteCookie to cookie ([#13708](https://github.com/GoogleChrome/lighthouse/pull/13708)) * script-treemap-data: correct value for size ([#13716](https://github.com/GoogleChrome/lighthouse/pull/13716)) * lighthouse-logger: convert to ES modules ([#13720](https://github.com/GoogleChrome/lighthouse/pull/13720)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * separate audit phase for flows ([#13623](https://github.com/GoogleChrome/lighthouse/pull/13623)) * use frame url in gather context ([#13699](https://github.com/GoogleChrome/lighthouse/pull/13699)) * add `logLevel` to config context ([#13681](https://github.com/GoogleChrome/lighthouse/pull/13681)) * user-flow: audit flow from artifacts json ([#13715](https://github.com/GoogleChrome/lighthouse/pull/13715)) ## Report * fix timespan/snapshot sticky header ([#13732](https://github.com/GoogleChrome/lighthouse/pull/13732)) ## Deps * lodash: replace `lodash` per-method packages with full `lodash` ([#13695](https://github.com/GoogleChrome/lighthouse/pull/13695)) * snyk: update snyk snapshot ([#13731](https://github.com/GoogleChrome/lighthouse/pull/13731) [#13712](https://github.com/GoogleChrome/lighthouse/pull/13712)) ## Clients * convert devtools and lightrider entries to ES modules ([#13722](https://github.com/GoogleChrome/lighthouse/pull/13722)) ## Tests * add more cases for oopif smoke test ([#13705](https://github.com/GoogleChrome/lighthouse/pull/13705)) * devtools: add yarn install timeout ([#13717](https://github.com/GoogleChrome/lighthouse/pull/13717)) * devtools: update Lighthouse sniffer for smokes ([#13693](https://github.com/GoogleChrome/lighthouse/pull/13693)) * devtools: navigation web test ([#13673](https://github.com/GoogleChrome/lighthouse/pull/13673)) * smoke: enable more devtools smoke tests ([#13624](https://github.com/GoogleChrome/lighthouse/pull/13624)) * smoke: add _excludes and _runner ([#13707](https://github.com/GoogleChrome/lighthouse/pull/13707)) ## Misc * support --chrome-flags in run devtools script ([#13625](https://github.com/GoogleChrome/lighthouse/pull/13625)) # 9.4.0 (2022-02-16) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.3.1...v9.4.0) We expect this release to ship in the DevTools of [Chrome 100](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Notable Changes * Allow auditing of navigations triggered by user interactions in user flows. See our [user flow docs](https://github.com/GoogleChrome/lighthouse/blob/main/docs/user-flows.md) for more info. ([#13496](https://github.com/GoogleChrome/lighthouse/pull/13496)) ## Core * a11y: change link in category description to web.dev ([#13638](https://github.com/GoogleChrome/lighthouse/pull/13638)) * full-page-screenshot: wait for doubleraf, network quiet ([#13663](https://github.com/GoogleChrome/lighthouse/pull/13663)) * hreflang: remove eval, import axe valid-langs.js directly ([#13385](https://github.com/GoogleChrome/lighthouse/pull/13385)) * inputs: refactor form-elements gatherer ([#13662](https://github.com/GoogleChrome/lighthouse/pull/13662), [#13671](https://github.com/GoogleChrome/lighthouse/pull/13671)) * page-functions: set style in getOuterHTMLSnippet without violating CSP ([#13636](https://github.com/GoogleChrome/lighthouse/pull/13636)) * runner: independent gather and audit functions ([#13569](https://github.com/GoogleChrome/lighthouse/pull/13569)) * uses-long-cache-ttl: ignore `stale-while-revalidate` ([#13612](https://github.com/GoogleChrome/lighthouse/pull/13612)) ## Report * add options onPrintOverride and onSaveFileOverride ([#13529](https://github.com/GoogleChrome/lighthouse/pull/13529)) * add options disableFireworks and disableDarkMode ([#13649](https://github.com/GoogleChrome/lighthouse/pull/13649)) * add onViewTrace to renderer options ([#13528](https://github.com/GoogleChrome/lighthouse/pull/13528)) * remove pausing fireworks on click ([#13650](https://github.com/GoogleChrome/lighthouse/pull/13650)) * fix fireworks ([#13635](https://github.com/GoogleChrome/lighthouse/pull/13635)) ## Deps * sentry: move from raven to @sentry/node ([#9325](https://github.com/GoogleChrome/lighthouse/pull/9325)) * snyk: update snyk snapshot ([#13669](https://github.com/GoogleChrome/lighthouse/pull/13669), [#13644](https://github.com/GoogleChrome/lighthouse/pull/13644), [#13616](https://github.com/GoogleChrome/lighthouse/pull/13616)) ## Tests * use simpler assertion in report-renderer-axe-test.js ([#13658](https://github.com/GoogleChrome/lighthouse/pull/13658)) * fix single node a11y tests ([#13626](https://github.com/GoogleChrome/lighthouse/pull/13626)) * devtools: sync ([#13656](https://github.com/GoogleChrome/lighthouse/pull/13656)) * devtools: update report resource names ([#13615](https://github.com/GoogleChrome/lighthouse/pull/13615)) * smoke: test array `_includes` and `lhr.timing` ([#13619](https://github.com/GoogleChrome/lighthouse/pull/13619)) ## Misc * temporarily remove brendan from triage rotation ([#13618](https://github.com/GoogleChrome/lighthouse/pull/13618)) # 9.3.1 (2022-01-31) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.3.0...v9.3.1) ## Report * disable fireworks with flag ([#13610](https://github.com/GoogleChrome/lighthouse/pull/13610)) # 9.3.0 (2022-01-31) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.2.0...v9.3.0) We expect this release to ship in the DevTools of [Chrome 100](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Core * preload-lcp-image: enable audit ([#13599](https://github.com/GoogleChrome/lighthouse/pull/13599)) * ensure good and average scores start exactly at control points ([#13559](https://github.com/GoogleChrome/lighthouse/pull/13559)) * fr: don't throw on unknown --only-categories value ([#13499](https://github.com/GoogleChrome/lighthouse/pull/13499)) * inspector-issues: collect all issue types ([#13462](https://github.com/GoogleChrome/lighthouse/pull/13462), [#13603](https://github.com/GoogleChrome/lighthouse/pull/13603), [#13595](https://github.com/GoogleChrome/lighthouse/pull/13595)) * object-alt: remove md syntax around "alt" ([#13517](https://github.com/GoogleChrome/lighthouse/pull/13517)) * runner: asset manager helper ([#13519](https://github.com/GoogleChrome/lighthouse/pull/13519)) ## CLI * remove update-notifier ([#13588](https://github.com/GoogleChrome/lighthouse/pull/13588)) * asset-saver: end devtoolsLog with a newline ([#13566](https://github.com/GoogleChrome/lighthouse/pull/13566)) ## Report * allow client to configure how save-html is implemented ([#13518](https://github.com/GoogleChrome/lighthouse/pull/13518)) ## Deps * update various runtime deps ([#13483](https://github.com/GoogleChrome/lighthouse/pull/13483)) * update various devDeps ([#13485](https://github.com/GoogleChrome/lighthouse/pull/13485)) * update robots-parser to latest ([#13554](https://github.com/GoogleChrome/lighthouse/pull/13554)) * update transitive deps to quiet vulnerability alerts ([#13538](https://github.com/GoogleChrome/lighthouse/pull/13538)) * lighthouse-stack-packs: upgrade to 1.7.0 ([#13604](https://github.com/GoogleChrome/lighthouse/pull/13604)) * snyk: update snyk snapshot ([#13498](https://github.com/GoogleChrome/lighthouse/pull/13498), [#13598](https://github.com/GoogleChrome/lighthouse/pull/13598)) * yargs: upgrade to 17.3.1 ([#13590](https://github.com/GoogleChrome/lighthouse/pull/13590)) * yargs-parser: upgrade to 21.0.0 ([#13597](https://github.com/GoogleChrome/lighthouse/pull/13597)) ## Clients * use minimal 'url' polyfil instead of url-shim ([#13545](https://github.com/GoogleChrome/lighthouse/pull/13545)) * devtools: add FR runners to DevTools entry ([#13593](https://github.com/GoogleChrome/lighthouse/pull/13593)) ## I18n * import ([#13602](https://github.com/GoogleChrome/lighthouse/pull/13602)) ## Docs * update devtools panel throttling details ([#13504](https://github.com/GoogleChrome/lighthouse/pull/13504)) ## Tests * add snapshot tests for cli-flags.js ([#13596](https://github.com/GoogleChrome/lighthouse/pull/13596)) * tweak some CI job names for clarity ([#13549](https://github.com/GoogleChrome/lighthouse/pull/13549)) * split devtools ci into build, web-tests and smoke jobs ([#13546](https://github.com/GoogleChrome/lighthouse/pull/13546)) * more targeted caching for devtools build ([#13540](https://github.com/GoogleChrome/lighthouse/pull/13540)) * run most smoke tests on devtools ([#13456](https://github.com/GoogleChrome/lighthouse/pull/13456)) * clean up and add comments to cdt layout test scripts ([#13471](https://github.com/GoogleChrome/lighthouse/pull/13471)) * devtools: ensure WebSQL table is populated ([#13579](https://github.com/GoogleChrome/lighthouse/pull/13579)) ## Misc * add web.dev and other option to bug template ([#13537](https://github.com/GoogleChrome/lighthouse/pull/13537)) * use codemod for optional chaining ([#13503](https://github.com/GoogleChrome/lighthouse/pull/13503)) * build: fix build-smokehouse-bundle build ([#13500](https://github.com/GoogleChrome/lighthouse/pull/13500)) * build: remove empty devtools report resources ([#13601](https://github.com/GoogleChrome/lighthouse/pull/13601)) * build: set correct exit code when build scripts fail ([#13459](https://github.com/GoogleChrome/lighthouse/pull/13459)) * git3po: only install latest git3po if out of date ([#13515](https://github.com/GoogleChrome/lighthouse/pull/13515)) # 9.2.0 (2021-12-15) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.1.0...v9.2.0) We expect this release to ship in the DevTools of [Chrome 99](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Notable Changes * move no-unload-listeners to perf category ([#13497](https://github.com/GoogleChrome/lighthouse/pull/13497)) ## Core * font-size: fix CSS selector regex ([#13455](https://github.com/GoogleChrome/lighthouse/pull/13455)) * fcp: handle negative request `endTime` ([#13452](https://github.com/GoogleChrome/lighthouse/pull/13452)) * legacy-javascript: update polyfilling, drop some signals ([#13482](https://github.com/GoogleChrome/lighthouse/pull/13482), [#13442](https://github.com/GoogleChrome/lighthouse/pull/13442)) * cache fetch to avoid bad polyfills ([#13476](https://github.com/GoogleChrome/lighthouse/pull/13476)) * check equality of computed artifacts using dependency keys ([#13430](https://github.com/GoogleChrome/lighthouse/pull/13430)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * compute timespan saving with observed throughput ([#13478](https://github.com/GoogleChrome/lighthouse/pull/13478)) * option to skip about:blank jumps ([#13375](https://github.com/GoogleChrome/lighthouse/pull/13375)) ## Report * psi: update styles for tighter fit in narrow viewports ([#13355](https://github.com/GoogleChrome/lighthouse/pull/13355)) ## Deps * bump eslint and related items ([#13484](https://github.com/GoogleChrome/lighthouse/pull/13484)) * axe-core: upgrade to 4.3.5 ([#13441](https://github.com/GoogleChrome/lighthouse/pull/13441)) ## Tests * smoke: fix chromestatus url ([#13475](https://github.com/GoogleChrome/lighthouse/pull/13475)) * split smoke tests into one test per file ([#13461](https://github.com/GoogleChrome/lighthouse/pull/13461)) * fix devtools build command ([#13457](https://github.com/GoogleChrome/lighthouse/pull/13457)) * move sharding higher so smokehouse-bundle can also shard ([#13387](https://github.com/GoogleChrome/lighthouse/pull/13387)) * port axe test to pptr ([#13450](https://github.com/GoogleChrome/lighthouse/pull/13450)) ## Misc * build: build test flow report to same path as sample-reports ([#13324](https://github.com/GoogleChrome/lighthouse/pull/13324)) * treemap: add `lang` to html tag ([#13454](https://github.com/GoogleChrome/lighthouse/pull/13454)) # 9.1.0 (2021-11-24) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v9.0.0...v9.1.0) We expect this release to ship in the DevTools of [Chrome 98](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - @whitep4nth3r - Adam Read @adamread ## Notable Changes * If using Next.js, you will now see advice specific to it in some audits ([#13424](https://github.com/GoogleChrome/lighthouse/pull/13424)) ## Core * canonical: remove cross-origin check ([#13412](https://github.com/GoogleChrome/lighthouse/pull/13412)) * add original location to most usages of source-location ([#13393](https://github.com/GoogleChrome/lighthouse/pull/13393)) * mindfully order properties in the lhr ([#13418](https://github.com/GoogleChrome/lighthouse/pull/13418)) * ensure log-normal score is always in correct range ([#13392](https://github.com/GoogleChrome/lighthouse/pull/13392)) * installable-manifest: pipeline-restarted check ([#13365](https://github.com/GoogleChrome/lighthouse/pull/13365)) ## Report * remove margin when saving html in standalone report ([#13409](https://github.com/GoogleChrome/lighthouse/pull/13409)) * consistent red display text ([#13391](https://github.com/GoogleChrome/lighthouse/pull/13391)) * treemap: correct percentages when 0 bytes JS ([#13382](https://github.com/GoogleChrome/lighthouse/pull/13382)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * rebaseline sample ([#13358](https://github.com/GoogleChrome/lighthouse/pull/13358)) * report api ([#13374](https://github.com/GoogleChrome/lighthouse/pull/13374)) ## Deps * remove browserify ([#13417](https://github.com/GoogleChrome/lighthouse/pull/13417)) * update to typescript 4.5 ([#13399](https://github.com/GoogleChrome/lighthouse/pull/13399)) * snyk: update snyk snapshot ([#13388](https://github.com/GoogleChrome/lighthouse/pull/13388)) ## Clients * devtools: remove report.css ([#13377](https://github.com/GoogleChrome/lighthouse/pull/13377)) * viewer: add support for flow reports ([#13260](https://github.com/GoogleChrome/lighthouse/pull/13260)) ## I18n * import ([#13427](https://github.com/GoogleChrome/lighthouse/pull/13427)) ## Docs * example to save flow as json ([#13415](https://github.com/GoogleChrome/lighthouse/pull/13415)) * throttling: clarify throttle npm name ([#13371](https://github.com/GoogleChrome/lighthouse/pull/13371)) ## Tests * fix undefined HTMLInputElement in bundle-test ([#13421](https://github.com/GoogleChrome/lighthouse/pull/13421)) * make inline-fs-test not reliant on cwd ([#13420](https://github.com/GoogleChrome/lighthouse/pull/13420)) * increase timeout for axe test ([#13386](https://github.com/GoogleChrome/lighthouse/pull/13386)) ## Misc * build: replace browserify with rollup ([#13416](https://github.com/GoogleChrome/lighthouse/pull/13416), [#13406](https://github.com/GoogleChrome/lighthouse/pull/13406), [#13407](https://github.com/GoogleChrome/lighthouse/pull/13407), [#13408](https://github.com/GoogleChrome/lighthouse/pull/13408)) * build: prevent over optimization of computeBenchmarkIndex ([#13366](https://github.com/GoogleChrome/lighthouse/pull/13366)) * treemap: remove postMessage. refactor options input ([#13356](https://github.com/GoogleChrome/lighthouse/pull/13356)) # 9.0.0 (2021-11-15) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.6.0...v9.0.0) We expect this release to ship in the DevTools of [Chrome 98](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. See the [What's new in Lighthouse 9.0 blog post](https://developer.chrome.com/blog/lighthouse-9-0/). Continue for the changelog. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Sergii Bondarenko @BR0kEN- - Prerana Nawar @prerana1821 ## Notable Changes * [BREAKING] move to minimum Node 14 ([#13243](https://github.com/GoogleChrome/lighthouse/pull/13243)) * a11y: add relatedNodes to accessibility audits ([#13193](https://github.com/GoogleChrome/lighthouse/pull/13193)) ### Removed Audits * [BREAKING] appcache-manifest: remove audit ([#13287](https://github.com/GoogleChrome/lighthouse/pull/13287)) * [BREAKING] external-anchors-use-rel-noopener: remove audit ([#13298](https://github.com/GoogleChrome/lighthouse/pull/13298)) * [BREAKING] remove the redirect pass and redirects-http audit ([#12643](https://github.com/GoogleChrome/lighthouse/pull/12643)) ### Preview: Audit User Flows Report of a Lighthouse User Flow. Shows the overivew page, with summaries of 4 subreports. Lighthouse now offers auditing user flows, scripted with Puppeteer, via the Node CLI. This means you can now audit a page beyond its initial load. See [the Lighthouse user flows blog post](https://web.dev/lighthouse-user-flows/) for more. ## Core * fix launching chrome in node 17 ([#13301](https://github.com/GoogleChrome/lighthouse/pull/13301)) * reduce image hotlinking in the report ([#13185](https://github.com/GoogleChrome/lighthouse/pull/13185)) * emulation: set client-hints metadata when spoofing the UA ([#13341](https://github.com/GoogleChrome/lighthouse/pull/13341)) * emulation: bump chrome version to m98 ([#13340](https://github.com/GoogleChrome/lighthouse/pull/13340)) * config: use abbreviation for pwa category title ([#13270](https://github.com/GoogleChrome/lighthouse/pull/13270)) * deprecations: use inspector issues ([#13342](https://github.com/GoogleChrome/lighthouse/pull/13342)) * avoid fatal errors when collecting base artifacts ([#13312](https://github.com/GoogleChrome/lighthouse/pull/13312)) * [BREAKING] errors-in-console: remove url property from items ([#13286](https://github.com/GoogleChrome/lighthouse/pull/13286)) * [BREAKING] image-size-responsive: remove elidedUrl, elide url property instead ([#13226](https://github.com/GoogleChrome/lighthouse/pull/13226)) * [BREAKING] image-elements: remove mimeType from artifact ([#13265](https://github.com/GoogleChrome/lighthouse/pull/13265)) ## Report * introduce the new report api, add dom.rootEl ([#13277](https://github.com/GoogleChrome/lighthouse/pull/13277), [#13279](https://github.com/GoogleChrome/lighthouse/pull/13279), [#13361](https://github.com/GoogleChrome/lighthouse/pull/13361)) * make denser. changes to typography, group descriptions, more ([#13249](https://github.com/GoogleChrome/lighthouse/pull/13249)) * display final screenshot prominently ([#13123](https://github.com/GoogleChrome/lighthouse/pull/13123)) * redesign runtime settings ([#13125](https://github.com/GoogleChrome/lighthouse/pull/13125), [#13350](https://github.com/GoogleChrome/lighthouse/pull/13350)) * help-dialog: remove timespan SEO ([#13354](https://github.com/GoogleChrome/lighthouse/pull/13354)) * order metrics by row ([#13328](https://github.com/GoogleChrome/lighthouse/pull/13328)) * sort audits by weight ([#13053](https://github.com/GoogleChrome/lighthouse/pull/13053)) * translate newly added report strings ([#13308](https://github.com/GoogleChrome/lighthouse/pull/13308)) * [BREAKING] group perf audits by details type. change the meaning of an audit whose group is not defined–before no group implied an audit would not be renderered, but now an explicit `hidden` group is used ([#13241](https://github.com/GoogleChrome/lighthouse/pull/13241), [#13310](https://github.com/GoogleChrome/lighthouse/pull/13310)) * [BREAKING] pwa: remove `renderScoreGauge`, replaced with `renderCategoryScore` ([#13269](https://github.com/GoogleChrome/lighthouse/pull/13269)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * handle 0 throughput in timespan ([#13323](https://github.com/GoogleChrome/lighthouse/pull/13323)) * clone default categories to avoid modification ([#13337](https://github.com/GoogleChrome/lighthouse/pull/13337)) * add timespan support to h2 ([#12814](https://github.com/GoogleChrome/lighthouse/pull/12814)) * report: remove smooth scrolling ([#13317](https://github.com/GoogleChrome/lighthouse/pull/13317)) * report: network throttling settings ([#13305](https://github.com/GoogleChrome/lighthouse/pull/13305)) * report: use filmstrip thumbnail in navigation ([#13283](https://github.com/GoogleChrome/lighthouse/pull/13283)) * report: fix report anchors ([#13233](https://github.com/GoogleChrome/lighthouse/pull/13233)) * report: full page screenshot renderer ([#13276](https://github.com/GoogleChrome/lighthouse/pull/13276)) * report: category tooltip highest impact ([#13230](https://github.com/GoogleChrome/lighthouse/pull/13230)) * report: import lhr strings ([#13215](https://github.com/GoogleChrome/lighthouse/pull/13215)) * report: i18n formatter ([#13190](https://github.com/GoogleChrome/lighthouse/pull/13190)) * report: mock styles ([#13220](https://github.com/GoogleChrome/lighthouse/pull/13220)) ## Deps * bump lighthouse-plugin-publisher-ads ([#13339](https://github.com/GoogleChrome/lighthouse/pull/13339)) * deps: update chrome-launcher to 0.15.0 ([#13353](https://github.com/GoogleChrome/lighthouse/pull/13353)) ## Clients * devtools: only use locales that have locale files to download ([#13214](https://github.com/GoogleChrome/lighthouse/pull/13214)) * psi: retire prepareLabData, reuse standard report rendering ([#13229](https://github.com/GoogleChrome/lighthouse/pull/13229)) ## I18n * import ([#13360](https://github.com/GoogleChrome/lighthouse/pull/13360)) * add better support for the default locale in bundles ([#13211](https://github.com/GoogleChrome/lighthouse/pull/13211)) ## Tests * eslint: add export rule ([#13282](https://github.com/GoogleChrome/lighthouse/pull/13282)) * longer timeout for installability errors check ([#13297](https://github.com/GoogleChrome/lighthouse/pull/13297)) * ignore .tmp directory in jest modules ([#13285](https://github.com/GoogleChrome/lighthouse/pull/13285)) * add cdt folders to devtools test cache buster ([#13268](https://github.com/GoogleChrome/lighthouse/pull/13268)) * update devtools default branch to 'main' ([#13266](https://github.com/GoogleChrome/lighthouse/pull/13266)) * ci tests should include all files ([#13235](https://github.com/GoogleChrome/lighthouse/pull/13235)) * report: throw on axe error ([#13234](https://github.com/GoogleChrome/lighthouse/pull/13234)) * flow: puppeteer test ([#13281](https://github.com/GoogleChrome/lighthouse/pull/13281)) ## Misc * publish: include the report bundle in npm package ([#13349](https://github.com/GoogleChrome/lighthouse/pull/13349)) * build: create inline-fs rollup plugin to replace brfs ([#13232](https://github.com/GoogleChrome/lighthouse/pull/13232), [#13240](https://github.com/GoogleChrome/lighthouse/pull/13240), [#13248](https://github.com/GoogleChrome/lighthouse/pull/13248), [#13272](https://github.com/GoogleChrome/lighthouse/pull/13272), [#13275](https://github.com/GoogleChrome/lighthouse/pull/13275), [#13278](https://github.com/GoogleChrome/lighthouse/pull/13278), [#13280](https://github.com/GoogleChrome/lighthouse/pull/13280)) * build: use rollup to build lighthouse-core bundles ([#12771](https://github.com/GoogleChrome/lighthouse/pull/12771)) * build: call close method on rollup builds ([#13307](https://github.com/GoogleChrome/lighthouse/pull/13307)) * build: use prepack script to build report ([#13261](https://github.com/GoogleChrome/lighthouse/pull/13261)) * build: do not assign runBundledLighthouse in devtools bundle ([#13311](https://github.com/GoogleChrome/lighthouse/pull/13311)) * build: use cross platform sed for devtools script ([#13242](https://github.com/GoogleChrome/lighthouse/pull/13242)) * preserve error stack when using promise timeout ([#13333](https://github.com/GoogleChrome/lighthouse/pull/13333)) * support old devtools in yarn run-devtools ([#13284](https://github.com/GoogleChrome/lighthouse/pull/13284)) * add report bundles to nightly build ([#13222](https://github.com/GoogleChrome/lighthouse/pull/13222)) * rename lighthouse-treemap to treemap ([#13246](https://github.com/GoogleChrome/lighthouse/pull/13246)) * rename lighthouse-viewer to viewer ([#13247](https://github.com/GoogleChrome/lighthouse/pull/13247)) * simplify release process, run package-test in CI ([#13212](https://github.com/GoogleChrome/lighthouse/pull/13212)) * add os to bug report template ([#13245](https://github.com/GoogleChrome/lighthouse/pull/13245)) * proto: add throttling and throttling_method ([#13309](https://github.com/GoogleChrome/lighthouse/pull/13309)) * revert missing bundle tests ([#13289](https://github.com/GoogleChrome/lighthouse/pull/13289)) * fix typo ([#13224](https://github.com/GoogleChrome/lighthouse/pull/13224)) # 8.6.0 (2021-10-13) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.5.1...v8.6.0) We expect this release to ship in the DevTools of [Chrome 97](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - meehawk @meehawk - Edwin Gustafson @edwingustafson - Yorkie Liu @yorkie ## Core * crawlable-anchors: ignore event listeners, validate url ([#13105](https://github.com/GoogleChrome/lighthouse/pull/13105)) * full-page-screenshot: fix emulation reset ([#13175](https://github.com/GoogleChrome/lighthouse/pull/13175)) * response-compression: add x-content-encoding-over-network ([#13176](https://github.com/GoogleChrome/lighthouse/pull/13176)) * share localization between core and report ([#13146](https://github.com/GoogleChrome/lighthouse/pull/13146)) * update cdt SourceMap to latest devtools frontend ([#13095](https://github.com/GoogleChrome/lighthouse/pull/13095)) * stack-packs: simplify i18n filename lookup ([#13133](https://github.com/GoogleChrome/lighthouse/pull/13133)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * add UserFlow usability improvements ([#13139](https://github.com/GoogleChrome/lighthouse/pull/13139)) * add `supportedModes` filter to categories ([#13161](https://github.com/GoogleChrome/lighthouse/pull/13161)) * handle cached timespan records ([#13181](https://github.com/GoogleChrome/lighthouse/pull/13181)) * add parity logging ([#13114](https://github.com/GoogleChrome/lighthouse/pull/13114)) * animate timespan thumbnail ([#13178](https://github.com/GoogleChrome/lighthouse/pull/13178)) * refine snapshot and timespan performance ([#13184](https://github.com/GoogleChrome/lighthouse/pull/13184)) * topbar save button ([#13109](https://github.com/GoogleChrome/lighthouse/pull/13109)) * elide step name ([#13171](https://github.com/GoogleChrome/lighthouse/pull/13171)) * localized sample ([#13143](https://github.com/GoogleChrome/lighthouse/pull/13143)) * timeline header ([#13128](https://github.com/GoogleChrome/lighthouse/pull/13128)) * add help dialog to explain flows ([#13159](https://github.com/GoogleChrome/lighthouse/pull/13159)) * collect i18n strings ([#13152](https://github.com/GoogleChrome/lighthouse/pull/13152)) ## CLI * add list-locales flag ([#12983](https://github.com/GoogleChrome/lighthouse/pull/12983)) * always return correct version ([#13130](https://github.com/GoogleChrome/lighthouse/pull/13130)) ## Report * move logger styles into js ([#13204](https://github.com/GoogleChrome/lighthouse/pull/13204)) * remove href from category score gauge ([#13180](https://github.com/GoogleChrome/lighthouse/pull/13180)) * inject report/assets/styles.css via components.js ([#13057](https://github.com/GoogleChrome/lighthouse/pull/13057)) * remove smooth scrolling css ([#13102](https://github.com/GoogleChrome/lighthouse/pull/13102)) * add lh- prefix to remaining show class ([#13203](https://github.com/GoogleChrome/lighthouse/pull/13203)) * handle gauge fragment links in script ([#13186](https://github.com/GoogleChrome/lighthouse/pull/13186)) ## Clients * psi: include global reports styles in legacy psi rendering ([#13151](https://github.com/GoogleChrome/lighthouse/pull/13151)) * viewer: swap locale ([#10148](https://github.com/GoogleChrome/lighthouse/pull/10148), [#13192](https://github.com/GoogleChrome/lighthouse/pull/13192)) * viewer: remove devtools disclaimer ([#13145](https://github.com/GoogleChrome/lighthouse/pull/13145)) * viewer: add body styles ([#13144](https://github.com/GoogleChrome/lighthouse/pull/13144)) * viewer: upgrade to firebase 9 ([#13115](https://github.com/GoogleChrome/lighthouse/pull/13115)) * viewer: use access token regardless of firebase auth ([#13116](https://github.com/GoogleChrome/lighthouse/pull/13116)) * viewer: use new firebase credentials ([#13110](https://github.com/GoogleChrome/lighthouse/pull/13110)) ## I18n * import ([#13206](https://github.com/GoogleChrome/lighthouse/pull/13206)) ## Docs * correct the Node.js version base ([#13099](https://github.com/GoogleChrome/lighthouse/pull/13099)) * add user flow docs ([#13134](https://github.com/GoogleChrome/lighthouse/pull/13134)) ## Tests * smoke: make specific assertions about deprecations ([#13191](https://github.com/GoogleChrome/lighthouse/pull/13191)) * update deprecations smoke for M96 ([#13179](https://github.com/GoogleChrome/lighthouse/pull/13179)) * make yarn unit run all available unit tests ([#13148](https://github.com/GoogleChrome/lighthouse/pull/13148)) * centralize running of docs tests ([#13150](https://github.com/GoogleChrome/lighthouse/pull/13150)) * split out axe test ([#13142](https://github.com/GoogleChrome/lighthouse/pull/13142)) ## Misc * convert lighthouse-core/scripts to ES modules ([#13121](https://github.com/GoogleChrome/lighthouse/pull/13121)) * remove patrick from issue assigner ([#13194](https://github.com/GoogleChrome/lighthouse/pull/13194)) * set predictable order for sample json timing entries ([#13162](https://github.com/GoogleChrome/lighthouse/pull/13162)) * scripts: fix run-devtools sniffing, add error checking ([#13163](https://github.com/GoogleChrome/lighthouse/pull/13163)) * ensure psi.espanol sample-report es en espanol ([#13160](https://github.com/GoogleChrome/lighthouse/pull/13160)) * add notes about software versions in issue template ([#13089](https://github.com/GoogleChrome/lighthouse/pull/13089)) * build: fix smokehouse bundle ([#13135](https://github.com/GoogleChrome/lighthouse/pull/13135)) * build: fix vercel deployment by adopting stricter `engines` grammar ([#13183](https://github.com/GoogleChrome/lighthouse/pull/13183)) * build: create rollup-plugins.js helper module ([#13122](https://github.com/GoogleChrome/lighthouse/pull/13122)) * build: don't build flow if only --standalone is requested ([#13124](https://github.com/GoogleChrome/lighthouse/pull/13124)) # 8.5.1 (2021-09-22) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.5.0...v8.5.1) This is a patch release to fix an issue in the CLI when [error reporting](./docs/error-reporting.md) has been enabled. ## New Contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Yorkie Liu @yorkie ## CLI * fix crash with Sentry init ([#13104](https://github.com/GoogleChrome/lighthouse/pull/13104)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * add API for constructing flow result ([#13034](https://github.com/GoogleChrome/lighthouse/pull/13034)) * add category tooltips to flow report ([#13043](https://github.com/GoogleChrome/lighthouse/pull/13043)) # 8.5.0 (2021-09-21) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.4.0...v8.5.0) We expect this release to ship in the DevTools of [Chrome 96](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Konstantin Popov @KonstHardy - Can Umay @canumay ## Core * lazy-lcp: fix failureTitle in lcp-lazy-loaded ([#13049](https://github.com/GoogleChrome/lighthouse/pull/13049)) * tracing: remove cpu_profiler.hires ([#13056](https://github.com/GoogleChrome/lighthouse/pull/13056)) * tsc: add base tsconfig for config inheritance ([#13072](https://github.com/GoogleChrome/lighthouse/pull/13072)) * make main tsc compile cacheable ([#13069](https://github.com/GoogleChrome/lighthouse/pull/13069)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * cleanup driver on run completion ([#13062](https://github.com/GoogleChrome/lighthouse/pull/13062)) * setup emulation and throttling for timespans ([#13058](https://github.com/GoogleChrome/lighthouse/pull/13058)) * support additionalTraceCategories ([#13030](https://github.com/GoogleChrome/lighthouse/pull/13030)) * add support for plugins ([#13028](https://github.com/GoogleChrome/lighthouse/pull/13028)) * move GatherContext to baseArtifacts ([#13033](https://github.com/GoogleChrome/lighthouse/pull/13033)) * preserve traces on failed page load ([#13027](https://github.com/GoogleChrome/lighthouse/pull/13027)) * move HostUserAgent/FormFactor back to base artifacts ([#12969](https://github.com/GoogleChrome/lighthouse/pull/12969)) * use devtools throttling by default in timespan mode ([#13013](https://github.com/GoogleChrome/lighthouse/pull/13013)) * collect OOPIF network data ([#12992](https://github.com/GoogleChrome/lighthouse/pull/12992)) * flow: summary sections ([#13086](https://github.com/GoogleChrome/lighthouse/pull/13086)) * flow: topbar ([#13065](https://github.com/GoogleChrome/lighthouse/pull/13065)) ## CLI * convert to ES modules ([#13045](https://github.com/GoogleChrome/lighthouse/pull/13045)) ## Report * make metric value more prominent in table ([#13036](https://github.com/GoogleChrome/lighthouse/pull/13036)) * 3p-filter: drop for/id as elements are already nested ([#13067](https://github.com/GoogleChrome/lighthouse/pull/13067)) * add gatherMode option to category score ([#13029](https://github.com/GoogleChrome/lighthouse/pull/13029)) * add fractional category scores ([#13009](https://github.com/GoogleChrome/lighthouse/pull/13009)) ## Deps * update to latest @rollup/plugin-typescript ([#13075](https://github.com/GoogleChrome/lighthouse/pull/13075)) * snyk: update snyk snapshot ([#13019](https://github.com/GoogleChrome/lighthouse/pull/13019)) ## Clients * lr: bundle smokehouse as commonjs ([#13074](https://github.com/GoogleChrome/lighthouse/pull/13074)) * add canonical link to viewer and treemap ([#13032](https://github.com/GoogleChrome/lighthouse/pull/13032)) ## Docs * readme: add Peyk to the list of integrations ([#13055](https://github.com/GoogleChrome/lighthouse/pull/13055)) ## Tests * add FR integration scenarios ([#13092](https://github.com/GoogleChrome/lighthouse/pull/13092)) * update SVGOMG expectations ([#13088](https://github.com/GoogleChrome/lighthouse/pull/13088)) * restore use of latest node 16 in CI ([#13079](https://github.com/GoogleChrome/lighthouse/pull/13079)) * eslint: trailing commas for import/export ([#13059](https://github.com/GoogleChrome/lighthouse/pull/13059)) * smokehouse: add flag for test sharding ([#13047](https://github.com/GoogleChrome/lighthouse/pull/13047)) * smokehouse: convert to ES modules ([#13046](https://github.com/GoogleChrome/lighthouse/pull/13046)) * fix flaky robots smoke failure ([#13031](https://github.com/GoogleChrome/lighthouse/pull/13031)) * smoke: upload smokehouse artifacts on failure ([#13010](https://github.com/GoogleChrome/lighthouse/pull/13010)) ## Misc * build: fix minifyFileTransform stream bug in Node 16 ([#13073](https://github.com/GoogleChrome/lighthouse/pull/13073)) * fix typo in lighthouse-treemap/app/src/main.js ([#13076](https://github.com/GoogleChrome/lighthouse/pull/13076)) * proto: add i18n.icuMessagePaths ([#13068](https://github.com/GoogleChrome/lighthouse/pull/13068)) * remove all FR-COMPAT todos ([#13023](https://github.com/GoogleChrome/lighthouse/pull/13023)) # 8.4.0 (2021-09-08) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.3.0...v8.4.0) We expect this release to ship in the DevTools of [Chrome 95](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Emmanouil Zoumpoulakis @emzoumpo - Milutin Kristofic @milutin - BjΓΈrn Erik Pedersen @bep - Jerome Cukier @jckr - Saurav Kumar @svkrclg ## New Audits * Detect when the LCP element is lazy-loaded. Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. [Learn more](https://web.dev/lcp-lazy-loading/) ([#12838](https://github.com/GoogleChrome/lighthouse/pull/12838)) ## Core * network-request: identify filesystem resources as non-network ([#12970](https://github.com/GoogleChrome/lighthouse/pull/12970)) * viewport: add viewport audit as perf diagnostic ([#12972](https://github.com/GoogleChrome/lighthouse/pull/12972)) * csp-evaluator: bump package version ([#12990](https://github.com/GoogleChrome/lighthouse/pull/12990)) * config: keep full-page-screenshot in skipAudits case ([#12645](https://github.com/GoogleChrome/lighthouse/pull/12645)) * large-javascript-libraries: delete ([#12941](https://github.com/GoogleChrome/lighthouse/pull/12941)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * collect devtoolsLogs on pageLoadError ([#12980](https://github.com/GoogleChrome/lighthouse/pull/12980)) * add config validation ([#12945](https://github.com/GoogleChrome/lighthouse/pull/12945)) * align navigation failure behavior ([#12862](https://github.com/GoogleChrome/lighthouse/pull/12862)) * add protocol timeout to session ([#12913](https://github.com/GoogleChrome/lighthouse/pull/12913)) * parity on Stacks and FullPageSnapshot gatherers ([#12907](https://github.com/GoogleChrome/lighthouse/pull/12907)) * http-status-code: navigation only ([#13005](https://github.com/GoogleChrome/lighthouse/pull/13005)) * add --debugNavigation setting ([#12902](https://github.com/GoogleChrome/lighthouse/pull/12902)) * flow: sidebar mocks ([#13002](https://github.com/GoogleChrome/lighthouse/pull/13002)) * flow: embedded lighthouse report ([#12989](https://github.com/GoogleChrome/lighthouse/pull/12989)) * flow: summary page ([#12973](https://github.com/GoogleChrome/lighthouse/pull/12973)) * flow: navigation sidebar ([#12929](https://github.com/GoogleChrome/lighthouse/pull/12929)) * flow: standalone shell report with preact ([#12850](https://github.com/GoogleChrome/lighthouse/pull/12850)) ## Report * accessible n/a icon ([#12984](https://github.com/GoogleChrome/lighthouse/pull/12984)) * split topbar features ([#12926](https://github.com/GoogleChrome/lighthouse/pull/12926)) * prefix all classnames with lh- ([#12985](https://github.com/GoogleChrome/lighthouse/pull/12985)) * isolate type checking ([#12953](https://github.com/GoogleChrome/lighthouse/pull/12953), [#12952](https://github.com/GoogleChrome/lighthouse/pull/12952), [#12951](https://github.com/GoogleChrome/lighthouse/pull/12951)) * use postMessage to open viewer outside devtools ([#12927](https://github.com/GoogleChrome/lighthouse/pull/12927)) * better deduping of warnings ([#12355](https://github.com/GoogleChrome/lighthouse/pull/12355)) ## Deps * snyk: update snyk snapshot ([#13001](https://github.com/GoogleChrome/lighthouse/pull/13001), [#12982](https://github.com/GoogleChrome/lighthouse/pull/12982)) * update to typescript 4.4.2 ([#12909](https://github.com/GoogleChrome/lighthouse/pull/12909), [#12999](https://github.com/GoogleChrome/lighthouse/pull/12999)) ## Clients * lightrider: use iframe fetcher ([#13006](https://github.com/GoogleChrome/lighthouse/pull/13006)) * treemap: convert to ES modules ([#12892](https://github.com/GoogleChrome/lighthouse/pull/12892)) * viewer: make entire directory use modules ([#12975](https://github.com/GoogleChrome/lighthouse/pull/12975)) ## Docs * auth: add missing build step in README ([#12911](https://github.com/GoogleChrome/lighthouse/pull/12911)) * changelog: fix typo in changelog.md ([#12997](https://github.com/GoogleChrome/lighthouse/pull/12997)) * hacking: add links to buildtracker/pr-tracking ([#12922](https://github.com/GoogleChrome/lighthouse/pull/12922)) ## Tests * avoid node 16.9.0 ([#13012](https://github.com/GoogleChrome/lighthouse/pull/13012)) * ci: restore ToT Chromium download ([#12943](https://github.com/GoogleChrome/lighthouse/pull/12943), [#12950](https://github.com/GoogleChrome/lighthouse/pull/12950)) * dom: fix node 16 createObjectURL bug ([#12935](https://github.com/GoogleChrome/lighthouse/pull/12935)) * eslint: add import/order rule ([#12998](https://github.com/GoogleChrome/lighthouse/pull/12998)) * fr: convert screenshot expectations ([#12912](https://github.com/GoogleChrome/lighthouse/pull/12912)) * smoke: check for passing robots-txt ([#13007](https://github.com/GoogleChrome/lighthouse/pull/13007)) * smoke: fix dbw console error expectation ([#13011](https://github.com/GoogleChrome/lighthouse/pull/13011)) * smoke: print command to rerun failures ([#12924](https://github.com/GoogleChrome/lighthouse/pull/12924)) * devtools: sync ([#12899](https://github.com/GoogleChrome/lighthouse/pull/12899)) * devtools: tsc type override bug workaround ([#12933](https://github.com/GoogleChrome/lighthouse/pull/12933)) * create faux psi report ([#12815](https://github.com/GoogleChrome/lighthouse/pull/12815)) ## Misc * the great sample rebaseline ([#12932](https://github.com/GoogleChrome/lighthouse/pull/12932)) * restructure types to use project references ([#12914](https://github.com/GoogleChrome/lighthouse/pull/12914), [#12946](https://github.com/GoogleChrome/lighthouse/pull/12946), [#12940](https://github.com/GoogleChrome/lighthouse/pull/12940)) * build: sample flow report ([#12930](https://github.com/GoogleChrome/lighthouse/pull/12930)) * build: do not include locales in devtools bundle ([#12921](https://github.com/GoogleChrome/lighthouse/pull/12921)) * build: remove template.html from devtools report resources ([#12891](https://github.com/GoogleChrome/lighthouse/pull/12891)) * build: create UMD bundle build ([#12898](https://github.com/GoogleChrome/lighthouse/pull/12898)) * build: normalize sample-report build naming ([#12901](https://github.com/GoogleChrome/lighthouse/pull/12901)) * build: prefer paths when using gh-pages-app ([#12905](https://github.com/GoogleChrome/lighthouse/pull/12905)) * build: refactor devtools bundle tweaking ([#12974](https://github.com/GoogleChrome/lighthouse/pull/12974)) * tweak folder used for vercel deployment ([#12879](https://github.com/GoogleChrome/lighthouse/pull/12879)) * cli: improve error if invalid value for `--output` argument is passed ([#12836](https://github.com/GoogleChrome/lighthouse/pull/12836)) * exit collect-strings script with error code on failure ([#12971](https://github.com/GoogleChrome/lighthouse/pull/12971)) # 8.3.0 (2021-08-10) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.2.0...v8.3.0) We expect this release to ship in the DevTools of [Chrome 94](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Haruaki OTAKE @aaharu - Georgi Yonchev @g-yonchev - Kartike Bansal @kraten ## Core * fix resource size calculation of cached images ([#12612](https://github.com/GoogleChrome/lighthouse/pull/12612)) * convert core `.d.ts` files to modules ([#12870](https://github.com/GoogleChrome/lighthouse/pull/12870), [#12880](https://github.com/GoogleChrome/lighthouse/pull/12880), [#12888](https://github.com/GoogleChrome/lighthouse/pull/12888)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * override quiet windows for observed performance ([#12873](https://github.com/GoogleChrome/lighthouse/pull/12873)) ## Report * autogenerate components.js from templates.html ([#12803](https://github.com/GoogleChrome/lighthouse/pull/12803)) * reword SEO category description ([#12877](https://github.com/GoogleChrome/lighthouse/pull/12877)) * dom: handle undefined link url from proto roundtrip ([#12872](https://github.com/GoogleChrome/lighthouse/pull/12872)) ## Deps * csp-evaluator: upgrade to exactly 1.0.4 ([#12858](https://github.com/GoogleChrome/lighthouse/pull/12858)) ## Clients * viewer: convert to ES modules ([#12878](https://github.com/GoogleChrome/lighthouse/pull/12878)) ## I18n * import ([#12893](https://github.com/GoogleChrome/lighthouse/pull/12893)) ## Docs * readme: add SpeedVitals to the list of integrations ([#12866](https://github.com/GoogleChrome/lighthouse/pull/12866)) ## Misc * remove nyc config ([#12876](https://github.com/GoogleChrome/lighthouse/pull/12876)) * npmignore all of dist/ except standalone report ([#12855](https://github.com/GoogleChrome/lighthouse/pull/12855)) # 8.2.0 (2021-08-03) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.1.0...v8.2.0) We expect this release to ship in the DevTools of [Chrome 94](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Krzysztof Szarlej @kszarlej ## Core * csp-xss: make n/a with empty results ([#12801](https://github.com/GoogleChrome/lighthouse/pull/12801)) * css-usage: ignore removed stylesheets ([#12827](https://github.com/GoogleChrome/lighthouse/pull/12827)) * emulation: bump chrome versions ([#12849](https://github.com/GoogleChrome/lighthouse/pull/12849)) * traces: disable cpu-profiler trace category ([#12843](https://github.com/GoogleChrome/lighthouse/pull/12843)) * byte-efficiency: mark n/a if no network records in timespan ([#12839](https://github.com/GoogleChrome/lighthouse/pull/12839)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * add --fraggle-rock flag ([#12805](https://github.com/GoogleChrome/lighthouse/pull/12805)) * add config extension support ([#12832](https://github.com/GoogleChrome/lighthouse/pull/12832)) * add snapshot and timespan support to no-unload-listeners audit ([#12830](https://github.com/GoogleChrome/lighthouse/pull/12830)) * support config filtering via only/skip settings ([#12808](https://github.com/GoogleChrome/lighthouse/pull/12808)) * add timespan support to css-usage ([#12728](https://github.com/GoogleChrome/lighthouse/pull/12728)) ## Report * convert to ES modules ([#12702](https://github.com/GoogleChrome/lighthouse/pull/12702)) * metric-filter: handle multiple reports in the same DOM ([#12817](https://github.com/GoogleChrome/lighthouse/pull/12817)) * dom: introduce safelySetHref ([#12796](https://github.com/GoogleChrome/lighthouse/pull/12796)) ## Deps * update third-party-web to 0.12.4 ([#12753](https://github.com/GoogleChrome/lighthouse/pull/12753)) * update lighthouse-logger to 1.3.0 ([#12812](https://github.com/GoogleChrome/lighthouse/pull/12812)) ## Clients * viewer: add disclaimer regarding devtools bug ([#12846](https://github.com/GoogleChrome/lighthouse/pull/12846)) * viewer: accept lhr from fragment ([#12557](https://github.com/GoogleChrome/lighthouse/pull/12557)) ## Docs * readme: list dtekt.io in web perf services ([#12831](https://github.com/GoogleChrome/lighthouse/pull/12831)) ## Tests * add fraggle rock smoke tests ([#12834](https://github.com/GoogleChrome/lighthouse/pull/12834)) * add report/ to tsconfig ([#12822](https://github.com/GoogleChrome/lighthouse/pull/12822)) * devtools: sync tests, fix cache action ([#12807](https://github.com/GoogleChrome/lighthouse/pull/12807)) * page-functions: remove segfault workaround ([#12847](https://github.com/GoogleChrome/lighthouse/pull/12847)) * smoke: convert to single LH run per test ([#12818](https://github.com/GoogleChrome/lighthouse/pull/12818)) * smoke: convert core tests to single-expectations format ([#12819](https://github.com/GoogleChrome/lighthouse/pull/12819)) ## Misc * build: ensure distDir is present before emptying it ([#12829](https://github.com/GoogleChrome/lighthouse/pull/12829)) * types: fix null return on querySelector ([#12848](https://github.com/GoogleChrome/lighthouse/pull/12848)) * read locale files without using `require` ([#12721](https://github.com/GoogleChrome/lighthouse/pull/12721)) * add prefix to lighthouse-logger debug scope ([#12806](https://github.com/GoogleChrome/lighthouse/pull/12806)) # 8.1.0 (2021-07-13) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v8.0.0...v8.1.0) We expect this release to ship in the DevTools of [Chrome 93](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Todor Totev @todortotev - Tanner Dolby @tannerdolby - Victor Porof @victorporof - Gareth Jones @G-Rath ## Core * modern-images: update to include AVIF estimates ([#12682](https://github.com/GoogleChrome/lighthouse/pull/12682)) * preload: temporarily disable all preload advice ([#12661](https://github.com/GoogleChrome/lighthouse/pull/12661)) * network-request: consider HSTS redirects secure ([#12681](https://github.com/GoogleChrome/lighthouse/pull/12681)) * total-byte-weight: count partially finished requests ([#12665](https://github.com/GoogleChrome/lighthouse/pull/12665)) * canonical: proper explanation for url misuse ([#12676](https://github.com/GoogleChrome/lighthouse/pull/12676)) * fallback to selector, not tagName for nodeLabel ([#12727](https://github.com/GoogleChrome/lighthouse/pull/12727)) * csp-xss: update learn more link ([#12672](https://github.com/GoogleChrome/lighthouse/pull/12672)) * installable-manifest: align descriptions with applicatons panel ([#12678](https://github.com/GoogleChrome/lighthouse/pull/12678)) * trace: include additional perf categories ([#12692](https://github.com/GoogleChrome/lighthouse/pull/12692)) * tap-targets: add stylesheet over protocol ([#12634](https://github.com/GoogleChrome/lighthouse/pull/12634)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * fr: uses-responsive-images-snapshot ([#12714](https://github.com/GoogleChrome/lighthouse/pull/12714)) * fr: limit scope of audits to applicable modes ([#12764](https://github.com/GoogleChrome/lighthouse/pull/12764)) * fr: split timespan support for server-response-time ([#12758](https://github.com/GoogleChrome/lighthouse/pull/12758)) * fr: enable traces artifact in timespan mode ([#12695](https://github.com/GoogleChrome/lighthouse/pull/12695)) * fr: add lighthouseMarker timeOrigin support ([#12688](https://github.com/GoogleChrome/lighthouse/pull/12688)) * fr: add timespan support to viewport-dimensions ([#12680](https://github.com/GoogleChrome/lighthouse/pull/12680)) * fr: add snapshot support to ImageElements gatherer ([#12663](https://github.com/GoogleChrome/lighthouse/pull/12663)) * fr: convert service-worker gatherer ([#12662](https://github.com/GoogleChrome/lighthouse/pull/12662)) * fr: add audit mode filter ([#12649](https://github.com/GoogleChrome/lighthouse/pull/12649)) * fr: split traceOfTab into timespan/navigation types ([#12633](https://github.com/GoogleChrome/lighthouse/pull/12633)) * fr: fix main-document-content ([#12632](https://github.com/GoogleChrome/lighthouse/pull/12632)) * fr: more precise AnyFRInterface types ([#12622](https://github.com/GoogleChrome/lighthouse/pull/12622)) * fr: convert script-elements gatherer ([#12621](https://github.com/GoogleChrome/lighthouse/pull/12621)) * fr: convert additional base artifacts ([#12594](https://github.com/GoogleChrome/lighthouse/pull/12594)) * fr: align base artifacts with legacy gather-runner ([#12510](https://github.com/GoogleChrome/lighthouse/pull/12510)) ## Report * move renderer code to report/ ([#12690](https://github.com/GoogleChrome/lighthouse/pull/12690)) ## Deps * bump axe-core to 4.2.3 ([#12706](https://github.com/GoogleChrome/lighthouse/pull/12706)) * update `ws` to latest ([#12638](https://github.com/GoogleChrome/lighthouse/pull/12638)) * jest: upgrade to 27.0.3 ([#12454](https://github.com/GoogleChrome/lighthouse/pull/12454)) * snyk: update snyk snapshot ([#12599](https://github.com/GoogleChrome/lighthouse/pull/12599)) * webtreemap: bump to fix focus traversal bug ([#12625](https://github.com/GoogleChrome/lighthouse/pull/12625)) ## I18n * import ([#12783](https://github.com/GoogleChrome/lighthouse/pull/12783)) * allow strings with duplicate message and descriptions ([#12723](https://github.com/GoogleChrome/lighthouse/pull/12723)) ## Tests * devtools: fix after renaming standalone-template.html ([#12765](https://github.com/GoogleChrome/lighthouse/pull/12765)) * don't double count server network requests on retry ([#12779](https://github.com/GoogleChrome/lighthouse/pull/12779)) * add explicit small-icu detection for i18n ([#12696](https://github.com/GoogleChrome/lighthouse/pull/12696)) * tweak variability assertion for load-things transferSize ([#12701](https://github.com/GoogleChrome/lighthouse/pull/12701)) * renderer: reduce console output about unknown types ([#12644](https://github.com/GoogleChrome/lighthouse/pull/12644)) * report: increase timeout for running axe on report renderer ([#12610](https://github.com/GoogleChrome/lighthouse/pull/12610)) * smoke: relative source map hash ([#12607](https://github.com/GoogleChrome/lighthouse/pull/12607)) * treemap: add test for node coverage shading ([#12609](https://github.com/GoogleChrome/lighthouse/pull/12609)) * fix flaky cache test ([#12606](https://github.com/GoogleChrome/lighthouse/pull/12606)) ## Misc * treemap: elide origin from url if same as requestedUrl ([#12598](https://github.com/GoogleChrome/lighthouse/pull/12598)) * treemap: fix node coverage shading ([#12603](https://github.com/GoogleChrome/lighthouse/pull/12603)) * build: add build step for report ([#12707](https://github.com/GoogleChrome/lighthouse/pull/12707)) * npmignore larger unnecessary files ([#12627](https://github.com/GoogleChrome/lighthouse/pull/12627)) * run build-report for vercel deployment and lhci ([#12782](https://github.com/GoogleChrome/lighthouse/pull/12782)) * fix common "typos" ([#12742](https://github.com/GoogleChrome/lighthouse/pull/12742)) * get LH_ROOT via new file root.js ([#12724](https://github.com/GoogleChrome/lighthouse/pull/12724)) * scripts: improve collision check in collect-strings ([#12697](https://github.com/GoogleChrome/lighthouse/pull/12697)) * add GitHub bug report form ([#12694](https://github.com/GoogleChrome/lighthouse/pull/12694)) * scripts: error handling for pptr-run-devtools.js ([#12679](https://github.com/GoogleChrome/lighthouse/pull/12679)) * fix typos and update faq answer ([#12605](https://github.com/GoogleChrome/lighthouse/pull/12605)) * reference chromium main instead of master ([#12757](https://github.com/GoogleChrome/lighthouse/pull/12757)) ## Scripts * i18n: support es modules in collect-strings ([#12741](https://github.com/GoogleChrome/lighthouse/pull/12741)) # 8.0.0 (2021-06-02) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.5.0...v8.0.0) We expect this release to ship in the DevTools of [Chrome 93](https://chromiumdash.appspot.com/schedule), and is already in PageSpeed Insights! ## Notable changes * The **Performance Category** had a number of scoring changes to align with other performance tools and to better reflect the state of the web. - The Performance Score has been reweighted ([#12577](https://github.com/GoogleChrome/lighthouse/pull/12577)) - The TBT and FCP score curves have been updated ([#12576](https://github.com/GoogleChrome/lighthouse/pull/12576), [#12556](https://github.com/GoogleChrome/lighthouse/pull/12556)) - CLS has been updated to its new, windowed definition ([#12554](https://github.com/GoogleChrome/lighthouse/pull/12554)) See the [v8.0 Performance FAQ](https://github.com/GoogleChrome/lighthouse/blob/main/docs/v8-perf-faq.md) for more detail. the new metric weightings in the Lighthouse score calculator * The report includes a new metric filter. Pick a metric to focus on the opportunities and diagnostics most relevant to improving just that metric: the new metric filter in the lighthouse report * The [Lighthouse Treemap](#treemap-release) is now available across all the major Lighthouse clients. If your site exposes source maps to Lighthouse, look for the "View Treemap" button to see a breakdown of your shipped JavaScript, filterable by size and coverage on load. ## πŸ†• New audits * The new audit `csp-xss` has been added to Best Practices to evaluate Content Security Policies and suggest ways of making them more secure. This can be a challenging audit to pass depending on hosting environment and page content, so for now it is unscored ([#12514](https://github.com/GoogleChrome/lighthouse/pull/12514), [#12551](https://github.com/GoogleChrome/lighthouse/pull/12551)) ## πŸ€–πŸ’₯ Breaking changes for programmatic users * Legacy metrics `estimated-input-latency` and `first-cpu-idle` have been deprecated, unweighted, and hidden since Lighthouse 6. They have now been removed ([#12553](https://github.com/GoogleChrome/lighthouse/pull/12553)) * Starting with Node 13, Node is built with `full-icu` by default, so the very large `intl` polyfill has been removed from Lighthouse's dependencies. See the [readme FAQ](https://github.com/GoogleChrome/lighthouse#how-do-i-get-localized-lighthouse-results-via-the-cli) if you're stuck with `small-icu` but need localization support ([#12426](https://github.com/GoogleChrome/lighthouse/pull/12426)) * Long-time audit `uses-webp-images` has a new ID, `modern-image-formats`. WebP is now rather mainstream, and this frees the audit to start including details on other cutting-edge image formats in the future ([#12535](https://github.com/GoogleChrome/lighthouse/pull/12535)) * The `image-elements` artifact has been restructured for clarity ([#12568](https://github.com/GoogleChrome/lighthouse/pull/12568)) ## 🧱 Core * navigate: only observe longtasks in PerfObserver ([#12545](https://github.com/GoogleChrome/lighthouse/pull/12545)) * script-treemap-data: do not create nodes with blank names ([#12569](https://github.com/GoogleChrome/lighthouse/pull/12569)) ## β›οΈπŸ‘· Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * add `settings` to gather context ([#12574](https://github.com/GoogleChrome/lighthouse/pull/12574)) * fix usage of distributed conditional type ([#12565](https://github.com/GoogleChrome/lighthouse/pull/12565)) * support `inspector-issues` gatherer ([#12530](https://github.com/GoogleChrome/lighthouse/pull/12530)) * support `tags-blocking-first-paint` gatherer ([#12527](https://github.com/GoogleChrome/lighthouse/pull/12527)) * support `response-compression` gatherer ([#12508](https://github.com/GoogleChrome/lighthouse/pull/12508)) * align `navigation-runner` with legacy `gather-runner` ([#12478](https://github.com/GoogleChrome/lighthouse/pull/12478)) ## πŸ“” Report * improve accessibility of metric filter ([#12552](https://github.com/GoogleChrome/lighthouse/pull/12552)) * treemap: add placeholder, gist, and file upload features ([#12511](https://github.com/GoogleChrome/lighthouse/pull/12511)) * treemap: support passing gzipped data in url ([#12509](https://github.com/GoogleChrome/lighthouse/pull/12509), [#12519](https://github.com/GoogleChrome/lighthouse/pull/12519)) * viewer: fix gist icon ([#12505](https://github.com/GoogleChrome/lighthouse/pull/12505)) ## πŸ‘₯ Clients * fix main session OOPIF checks for devtools ([#12533](https://github.com/GoogleChrome/lighthouse/pull/12533)) * render treemap button in all clients ([#12516](https://github.com/GoogleChrome/lighthouse/pull/12516), [#12570](https://github.com/GoogleChrome/lighthouse/pull/12570), [#12590](https://github.com/GoogleChrome/lighthouse/pull/12590)) * backport proto formatting fixes ([#12566](https://github.com/GoogleChrome/lighthouse/pull/12566)) ## 🌍 i18n * import new strings ([#12515](https://github.com/GoogleChrome/lighthouse/pull/12515), [#12591](https://github.com/GoogleChrome/lighthouse/pull/12591)) ## πŸ“‹ Tests * run unit tests on all active node versions in CI ([#12513](https://github.com/GoogleChrome/lighthouse/pull/12513)) * sync devtools webtests ([#12578](https://github.com/GoogleChrome/lighthouse/pull/12578)) * treemap: reduce `debug.json` ([#12555](https://github.com/GoogleChrome/lighthouse/pull/12555)) ## πŸ•ΈοΈ Deps * update `lighthouse-plugin-publisher-ads` to 1.4.1 ([#12592](https://github.com/GoogleChrome/lighthouse/pull/12592)) * update `axe-core` to 4.2.1 ([#12575](https://github.com/GoogleChrome/lighthouse/pull/12575)) * update `puppeteer` to 9.1.1 ([#12284](https://github.com/GoogleChrome/lighthouse/pull/12284)) * update `chrome-launcher` to 0.14.0 ([#12507](https://github.com/GoogleChrome/lighthouse/pull/12507)) # 7.5.0 (2021-05-18) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.4.0...v7.5.0) We expect this release to ship in the DevTools of [Chrome 92](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Johannes Weber @johannes-weber ## Notable Changes We are releasing the Lighthouse Treemap! You may already be familiar with treemaps thanks to [webtreemap](https://github.com/evmar/webtreemap) (which we use!) or [source-map-explorer](https://github.com/danvk/source-map-explorer). With Lighthouse Treemap, you'll be able to view all the JavaScript bundles on your page easily from a Lighthouse report, in addition to some insights that may help reduce the amount of JavaScript on a page. The only requirement is that source maps are accessible (either publicly, or securely from the same computer that is running the Lighthouse audit). We even collect **code coverage** data from Chrome, and extrapolate the coverage of individual modules in a bundle. Note: this only takes into account a cold-load: code only used after user interaction will be marked as unused. Stay tuned for a future release, which will enable you to configure user flows and capture even more accurate performance insights. If we detect a large module included by multiple bundles, we'll alert you of that too. You can access Lighthouse Treemap from the report: Currently, only reports generated with the Lighthouse Node CLI will connect to the Lighthouse Treemap App. This functionality will be in DevTools and PageSpeed Insights as of Lighthouse v8.0. [Demo](https://googlechrome.github.io/lighthouse/treemap/?gist=30a18304de56e7be08f10976a1b11702) ## Core * add new CLS (all frames) to hidden metrics audit ([#12476](https://github.com/GoogleChrome/lighthouse/pull/12476)) * script-treemap-data: default config ([#12494](https://github.com/GoogleChrome/lighthouse/pull/12494)) * script-treemap-data: include unmapped bytes ([#12452](https://github.com/GoogleChrome/lighthouse/pull/12452)) * driver: extract gotoURL to navigation module ([#12421](https://github.com/GoogleChrome/lighthouse/pull/12421)) * responsive-images: ignore images larger than viewport ([#12414](https://github.com/GoogleChrome/lighthouse/pull/12414)) * robots: use new fetcher to get robots.txt ([#12423](https://github.com/GoogleChrome/lighthouse/pull/12423)) ## Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * computed-artifact: remove settings and options from context ([#12435](https://github.com/GoogleChrome/lighthouse/pull/12435)) * convert optimized-images gatherer ([#12491](https://github.com/GoogleChrome/lighthouse/pull/12491)) * convert image-elements gatherer ([#12474](https://github.com/GoogleChrome/lighthouse/pull/12474)) * convert source-maps gatherer ([#12467](https://github.com/GoogleChrome/lighthouse/pull/12467)) * convert js-usage gatherer ([#12450](https://github.com/GoogleChrome/lighthouse/pull/12450)) * convert main-document-content gatherer ([#12470](https://github.com/GoogleChrome/lighthouse/pull/12470)) * convert css-usage gatherer ([#12460](https://github.com/GoogleChrome/lighthouse/pull/12460)) * convert trace-elements gatherer ([#12442](https://github.com/GoogleChrome/lighthouse/pull/12442)) * extract warnings from gather-runner ([#12469](https://github.com/GoogleChrome/lighthouse/pull/12469)) * extract driver preparation methods ([#12445](https://github.com/GoogleChrome/lighthouse/pull/12445)) * extract navigation errors from gather-runner ([#12461](https://github.com/GoogleChrome/lighthouse/pull/12461)) * split out DOM utilities from legacy driver ([#12431](https://github.com/GoogleChrome/lighthouse/pull/12431)) * separate phase from gatherMode ([#12370](https://github.com/GoogleChrome/lighthouse/pull/12370)) * add fetcher to transitional driver ([#12419](https://github.com/GoogleChrome/lighthouse/pull/12419)) * add computed cache to pass context ([#12427](https://github.com/GoogleChrome/lighthouse/pull/12427)) ## Report * map metrics to audits, add metric filter ([#11732](https://github.com/GoogleChrome/lighthouse/pull/11732), [#12477](https://github.com/GoogleChrome/lighthouse/pull/12477)) * add treemap button, refactor icon styles ([#12392](https://github.com/GoogleChrome/lighthouse/pull/12392)) ## Deps * snyk: update snyk snapshot ([#12443](https://github.com/GoogleChrome/lighthouse/pull/12443), [#12468](https://github.com/GoogleChrome/lighthouse/pull/12468)) * update transitive dependencies ([#12466](https://github.com/GoogleChrome/lighthouse/pull/12466)) * update marky to latest ([#12440](https://github.com/GoogleChrome/lighthouse/pull/12440)) ## I18n * import new strings ([#12492](https://github.com/GoogleChrome/lighthouse/pull/12492)) ## Docs * remove AMP Plugin example ([#12390](https://github.com/GoogleChrome/lighthouse/pull/12390)) * add python requests install to webtests ([#12436](https://github.com/GoogleChrome/lighthouse/pull/12436)) ## Tests * update chromium installable source path ([#12364](https://github.com/GoogleChrome/lighthouse/pull/12364)) * i18n: only accept IcuMessages in toBeDisplayString ([#12487](https://github.com/GoogleChrome/lighthouse/pull/12487)) * add smokehouse to bin for downstream use ([#12446](https://github.com/GoogleChrome/lighthouse/pull/12446)) * split CI into unit and smoke workflows ([#12422](https://github.com/GoogleChrome/lighthouse/pull/12422)) * smoke: verify CSP violations caused by lighthouse ([#12391](https://github.com/GoogleChrome/lighthouse/pull/12391)) * add organic TTI savings case to byte efficieny audit ([#12418](https://github.com/GoogleChrome/lighthouse/pull/12418)) ## Misc * treemap: esc to zoom out ([#12498](https://github.com/GoogleChrome/lighthouse/pull/12498)) * treemap: remove too similar color hues ([#12497](https://github.com/GoogleChrome/lighthouse/pull/12497)) * treemap: shade background for unused bytes ([#12486](https://github.com/GoogleChrome/lighthouse/pull/12486)) * treemap: update colors on enter keypress ([#12496](https://github.com/GoogleChrome/lighthouse/pull/12496)) * treemap: set focus-visible styles for view mode buttons ([#12495](https://github.com/GoogleChrome/lighthouse/pull/12495)) * treemap: tweak styles for mobile ([#12493](https://github.com/GoogleChrome/lighthouse/pull/12493)) * treemap: highlight treemap node on mouse hover table row ([#12483](https://github.com/GoogleChrome/lighthouse/pull/12483)) * treemap: upgrade to 3.2.0 for keyboard navigation ([#12488](https://github.com/GoogleChrome/lighthouse/pull/12488)) * treemap: use 0.1 for default granularity ([#12485](https://github.com/GoogleChrome/lighthouse/pull/12485)) * treemap: remove byte size from title ([#12484](https://github.com/GoogleChrome/lighthouse/pull/12484)) * treemap: add GA snippet for new property ([#12481](https://github.com/GoogleChrome/lighthouse/pull/12481)) * treemap: i18n ([#12441](https://github.com/GoogleChrome/lighthouse/pull/12441)) * treemap: fix colors ([#12462](https://github.com/GoogleChrome/lighthouse/pull/12462)) * treemap: duplicate-modules view mode ([#12424](https://github.com/GoogleChrome/lighthouse/pull/12424)) * treemap: add data table ([#12363](https://github.com/GoogleChrome/lighthouse/pull/12363)) * cli: destructure args in import ([#12398](https://github.com/GoogleChrome/lighthouse/pull/12398)) * move predictive-perf off renderer i18n ([#12482](https://github.com/GoogleChrome/lighthouse/pull/12482)) * do not publish lighthouse-cli/test except smokehouse ([#12415](https://github.com/GoogleChrome/lighthouse/pull/12415)) # 7.4.0 (2021-04-27) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.3.0...v7.4.0) We expect this release to ship in the DevTools of [Chrome 92](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - kasperadk @kasperadk - Milutin Kristofic @milutin - Takeshi Kurosawa @takenspc ## Notable Changes * Add element screenshots to PSI ([#12288](https://github.com/GoogleChrome/lighthouse/pull/12288)) ## Core * csp-xss: hidden severity ([#12240](https://github.com/GoogleChrome/lighthouse/pull/12240)) * deprecations: ignore warning for ::-webkit-details-marker ([#12341](https://github.com/GoogleChrome/lighthouse/pull/12341)) * driver: move evaluateOnNewDocument to executionContext ([#12381](https://github.com/GoogleChrome/lighthouse/pull/12381)) * fetcher: fetch over protocol ([#12199](https://github.com/GoogleChrome/lighthouse/pull/12199)) * fetcher: disable auto-attaching for injected iframe ([#12347](https://github.com/GoogleChrome/lighthouse/pull/12347)) * hreflang: use Audit.makeNodeItem ([#12273](https://github.com/GoogleChrome/lighthouse/pull/12273)) * meta-elements: add NodeDetails ([#12274](https://github.com/GoogleChrome/lighthouse/pull/12274)) * unsized-images: pass with explicit aspect-ratio ([#12377](https://github.com/GoogleChrome/lighthouse/pull/12377)) ## Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * extract storage and service worker driver methods ([#12400](https://github.com/GoogleChrome/lighthouse/pull/12400)) * prepare emulation utilities for shared use ([#12375](https://github.com/GoogleChrome/lighthouse/pull/12375)) * filter out manual-only categories ([#12367](https://github.com/GoogleChrome/lighthouse/pull/12367)) * colocate PerformanceObserver installation with wait logic ([#12365](https://github.com/GoogleChrome/lighthouse/pull/12365)) ## CLI * asset-saver: print one devtoolsLog event per line ([#12348](https://github.com/GoogleChrome/lighthouse/pull/12348)) ## Report * tweak summary marker styles ([#12267](https://github.com/GoogleChrome/lighthouse/pull/12267)) * move budgets after diagnostics ([#12334](https://github.com/GoogleChrome/lighthouse/pull/12334)) ## Deps * remove details-element-polyfill and rimraf ([#12369](https://github.com/GoogleChrome/lighthouse/pull/12369)) * snyk: update snyk snapshot ([#12385](https://github.com/GoogleChrome/lighthouse/pull/12385), [#12361](https://github.com/GoogleChrome/lighthouse/pull/12361), [#12336](https://github.com/GoogleChrome/lighthouse/pull/12336), [#12315](https://github.com/GoogleChrome/lighthouse/pull/12315), [#12289](https://github.com/GoogleChrome/lighthouse/pull/12289)) * update jsonld to latest ([#12338](https://github.com/GoogleChrome/lighthouse/pull/12338)) * replace inquirer with enquirer ([#12317](https://github.com/GoogleChrome/lighthouse/pull/12317)) * update eslint to latest ([#12333](https://github.com/GoogleChrome/lighthouse/pull/12333)) ## I18n * import new strings ([#12411](https://github.com/GoogleChrome/lighthouse/pull/12411)) ## Docs * architecture: augment gathering & artifacts descriptions ([#12368](https://github.com/GoogleChrome/lighthouse/pull/12368)) * readme: add Alertdesk to the list of integrations ([#12356](https://github.com/GoogleChrome/lighthouse/pull/12356)) ## Tests * smoke request count assertion ([#12325](https://github.com/GoogleChrome/lighthouse/pull/12325)) * remove flaky Chrome launch from unit-cli ([#12359](https://github.com/GoogleChrome/lighthouse/pull/12359)) * retry some jest tests on failure ([#12298](https://github.com/GoogleChrome/lighthouse/pull/12298)) * cron to check for relevant chromium changes ([#11763](https://github.com/GoogleChrome/lighthouse/pull/11763)) * devtools: sync webtests ([#12310](https://github.com/GoogleChrome/lighthouse/pull/12310)) * smoke: remove html imports from dbw_tester ([#12354](https://github.com/GoogleChrome/lighthouse/pull/12354)) * smoke: update CLS-AF expectation ([#12353](https://github.com/GoogleChrome/lighthouse/pull/12353)) * fix split of smoke tests across jobs ([#12323](https://github.com/GoogleChrome/lighthouse/pull/12323)) * smoke: temporarily disable offline-warning check ([#12312](https://github.com/GoogleChrome/lighthouse/pull/12312)) * smoke: remove max chrome for lantern script attribution ([#12270](https://github.com/GoogleChrome/lighthouse/pull/12270)) ## Misc * ci: increase yarn network timeout ([#12376](https://github.com/GoogleChrome/lighthouse/pull/12376)) * treemap: root node selector ([#12360](https://github.com/GoogleChrome/lighthouse/pull/12360)) * tweak unused-audits strings (remove -> reduce) ([#12281](https://github.com/GoogleChrome/lighthouse/pull/12281)) * puppeteer script to test a page from devtools ([#12145](https://github.com/GoogleChrome/lighthouse/pull/12145)) * treemap: tweak styles for logo spacing and text colors ([#12342](https://github.com/GoogleChrome/lighthouse/pull/12342)) * fix path check for roll-devtools script ([#12358](https://github.com/GoogleChrome/lighthouse/pull/12358)) * add patrickhulce back to issue assignment ([#12357](https://github.com/GoogleChrome/lighthouse/pull/12357)) * fix open-devtools script ([#12313](https://github.com/GoogleChrome/lighthouse/pull/12313)) * include SVG elements by default in typed querySelector ([#12307](https://github.com/GoogleChrome/lighthouse/pull/12307)) * fix PhaseArtifact type to include Stacks ([#12280](https://github.com/GoogleChrome/lighthouse/pull/12280)) * sentry: tag protocol method ([#12268](https://github.com/GoogleChrome/lighthouse/pull/12268)) # 7.3.0 (2021-03-18) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.2.0...v7.3.0) We expect this release to ship in the DevTools of [Chrome 91](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Ryuichi Watanabe @ryuichi1208 ## New Audits * new_audit: csp-xss (experimental config) ([#12044](https://github.com/GoogleChrome/lighthouse/pull/12044)) ## Core * csp-xss: csp evaluator npm module ([#12221](https://github.com/GoogleChrome/lighthouse/pull/12221)) * driver: remove unused goOffline/goOnline methods ([#12135](https://github.com/GoogleChrome/lighthouse/pull/12135)) * errors-in-console: properly define default options ([#12200](https://github.com/GoogleChrome/lighthouse/pull/12200)) * fr: convert base artifacts to gatherer artifacts ([#12129](https://github.com/GoogleChrome/lighthouse/pull/12129)) ## CLI * correctly parse screenEmulation boolean flags ([#12250](https://github.com/GoogleChrome/lighthouse/pull/12250)) * only launch Chrome when running against localhost ([#12140](https://github.com/GoogleChrome/lighthouse/pull/12140)) ## Report * use css var for element screenshots, move overlay to container ([#12201](https://github.com/GoogleChrome/lighthouse/pull/12201)) ## Deps * update jsonld to latest ([#12257](https://github.com/GoogleChrome/lighthouse/pull/12257)) * update typescript and axe-core to latest ([#12207](https://github.com/GoogleChrome/lighthouse/pull/12207)) ## I18n * import ([#12255](https://github.com/GoogleChrome/lighthouse/pull/12255)) ## Docs * fixed typo in documentation throttling.md ([#12154](https://github.com/GoogleChrome/lighthouse/pull/12154)) ## Tests * devtools: dynamically fetch chromium version ([#12232](https://github.com/GoogleChrome/lighthouse/pull/12232)) * devtools: fix webserver ([#12236](https://github.com/GoogleChrome/lighthouse/pull/12236)) * devtools: update chromium dependencies ([#12130](https://github.com/GoogleChrome/lighthouse/pull/12130)) * fr: update test artifact ([#12202](https://github.com/GoogleChrome/lighthouse/pull/12202)) * legacy-javascript: pin to specific versions of core-js ([#12265](https://github.com/GoogleChrome/lighthouse/pull/12265)) * smoke: ignore lantern script attribution in ToT ([#12256](https://github.com/GoogleChrome/lighthouse/pull/12256)) ## Misc * treemap: unused-bytes view mode ([#12142](https://github.com/GoogleChrome/lighthouse/pull/12142)) * remove patrickhulce from issue assigner ([#12220](https://github.com/GoogleChrome/lighthouse/pull/12220)) * reorganize accessibility gatherer ([#12076](https://github.com/GoogleChrome/lighthouse/pull/12076)) # 7.2.0 (2021-02-24) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.1.0...v7.2.0) We expect this release to ship in the DevTools of [Chrome 90](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - @1d0n7kn0w - Benajmin Franz @BennyAlex ## Core * emulation: bump chrome versions ([#12104](https://github.com/GoogleChrome/lighthouse/pull/12104)) * unsized-images: ignore non-network SVGs ([#12120](https://github.com/GoogleChrome/lighthouse/pull/12120)) * preload: do not warn for cache loads ([#12122](https://github.com/GoogleChrome/lighthouse/pull/12122)) * be more lenient for some audits on localhost ([#11766](https://github.com/GoogleChrome/lighthouse/pull/11766)) ## Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * fr: add navigation phase + trace gatherer ([#12098](https://github.com/GoogleChrome/lighthouse/pull/12098)) * fr: add DevtoolsLog artifact ([#12074](https://github.com/GoogleChrome/lighthouse/pull/12074)) ## Deps * update snyk snapshot ([#12132](https://github.com/GoogleChrome/lighthouse/pull/12132)) ## Clients * lr: skip uses-http2 audit for mobile ([#12115](https://github.com/GoogleChrome/lighthouse/pull/12115)) ## Docs * auth: correct path in readme ([#12112](https://github.com/GoogleChrome/lighthouse/pull/12112)) * throttling: retitle devtools panel h2 ([#12126](https://github.com/GoogleChrome/lighthouse/pull/12126)) ## Tests * sync devtools tests ([#12127](https://github.com/GoogleChrome/lighthouse/pull/12127)) ## Misc * treemap: first pass ([#11832](https://github.com/GoogleChrome/lighthouse/pull/11832)) * add LIGHTHOUSE_FLAGS to gcp script. tweak extract script ([#12100](https://github.com/GoogleChrome/lighthouse/pull/12100)) * rename lantern baseline values ([#10950](https://github.com/GoogleChrome/lighthouse/pull/10950)) * fixed typos More => more ([#12092](https://github.com/GoogleChrome/lighthouse/pull/12092)) * ci: update GH actions commit SHAs ([#12099](https://github.com/GoogleChrome/lighthouse/pull/12099)) # 7.1.0 (2021-02-11) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.0.1...v7.1.0) We expect this release to ship in the DevTools of [Chrome 90](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - EEEEEEYHN @EYHN ## Core * add hidden layout-shift variant metrics ([#12046](https://github.com/GoogleChrome/lighthouse/pull/12046)) * cls: refactor CLS and CLS-AF ([#12069](https://github.com/GoogleChrome/lighthouse/pull/12069), [#12034](https://github.com/GoogleChrome/lighthouse/pull/12034)) * image-elements: set 5s time budget, add _privateCssSizing ([#12065](https://github.com/GoogleChrome/lighthouse/pull/12065)) * unsized-images: skip images that are zero-sized ([#12054](https://github.com/GoogleChrome/lighthouse/pull/12054)) * tap-targets: drop custom node rect creation ([#12005](https://github.com/GoogleChrome/lighthouse/pull/12005)) * alias element.currentSrc to element.src in node snippet ([#12007](https://github.com/GoogleChrome/lighthouse/pull/12007)) * fix js edge case in minification estimator ([#12067](https://github.com/GoogleChrome/lighthouse/pull/12067)) ## Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * fr: eliminate driver delegate from internal invocations ([#12015](https://github.com/GoogleChrome/lighthouse/pull/12015)) * fr: add more gatherers to config ([#12016](https://github.com/GoogleChrome/lighthouse/pull/12016)) * fr: add artifact dependency support ([#12045](https://github.com/GoogleChrome/lighthouse/pull/12045)) * fr: extract network monitor class ([#12006](https://github.com/GoogleChrome/lighthouse/pull/12006)) * fr: initial gatherer migration for snapshot, navigation ([#11993](https://github.com/GoogleChrome/lighthouse/pull/11993)) * fr: add session.onAnyProtocolMessage listener ([#11995](https://github.com/GoogleChrome/lighthouse/pull/11995)) ## CLI * do not set AutofillShowTypePredictions ([#12038](https://github.com/GoogleChrome/lighthouse/pull/12038)) ## Deps * axe-core: upgrade to 4.1.2 ([#12075](https://github.com/GoogleChrome/lighthouse/pull/12075)) * snyk: update snyk snapshot ([#12071](https://github.com/GoogleChrome/lighthouse/pull/12071)) ## Tests * smoke: tweak expectations based on feedback from LR ([#11962](https://github.com/GoogleChrome/lighthouse/pull/11962)) * trace-elements: test node eviction with unit rather than smoke ([#12056](https://github.com/GoogleChrome/lighthouse/pull/12056)) ## Misc * ci: increase fetch-depth for codecov SHA ([#12079](https://github.com/GoogleChrome/lighthouse/pull/12079)) * git3po: merge when green for unstable state too ([#12078](https://github.com/GoogleChrome/lighthouse/pull/12078)) * add issue assigner bot ([#12052](https://github.com/GoogleChrome/lighthouse/pull/12052)) * tighten querySelector types ([#12013](https://github.com/GoogleChrome/lighthouse/pull/12013)) # 7.0.1 (2021-01-26) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v7.0.0...v7.0.1) We expect this release to ship in the DevTools of [Chrome 90](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Tyler Kindy @tkindy ## Core * handle timer throttling in DevTools to avoid timeouts ([#11987](https://github.com/GoogleChrome/lighthouse/pull/11987)) * console-messages: use source-location ([#11899](https://github.com/GoogleChrome/lighthouse/pull/11899)) * errors-in-console: ignore BLOCKED_BY_CLIENT.Inspector errors ([#11901](https://github.com/GoogleChrome/lighthouse/pull/11901)) * font-size: handle valueless attributes for inline styles ([#11934](https://github.com/GoogleChrome/lighthouse/pull/11934)) * full-page-screenshot: get the MAX_TEXTURE_SIZE from the browser ([#11847](https://github.com/GoogleChrome/lighthouse/pull/11847)) * metrics: support FCP for all frames with devtools throttling ([#11874](https://github.com/GoogleChrome/lighthouse/pull/11874)) * normalize creation of NodeValue ([#11877](https://github.com/GoogleChrome/lighthouse/pull/11877)) * full-page-screenshot: do not render zero size rects ([#11853](https://github.com/GoogleChrome/lighthouse/pull/11853)) * replace most usages of evaluateAsync with structured evaluate ([#11754](https://github.com/GoogleChrome/lighthouse/pull/11754)) * trace: compute trace for main frame and any child frames ([#11760](https://github.com/GoogleChrome/lighthouse/pull/11760)) ## Fraggle Rock Support for auditing user flows ([#11313](https://github.com/GoogleChrome/lighthouse/issues/11313)) * add navigation runner ([#11975](https://github.com/GoogleChrome/lighthouse/pull/11975)) * config: refactor config cloning for fraggle rock ([#11759](https://github.com/GoogleChrome/lighthouse/pull/11759)) * add navigations to config ([#11957](https://github.com/GoogleChrome/lighthouse/pull/11957)) * add timespan runner ([#11944](https://github.com/GoogleChrome/lighthouse/pull/11944)) * filter configs by gather mode ([#11941](https://github.com/GoogleChrome/lighthouse/pull/11941)) * add base config ([#11915](https://github.com/GoogleChrome/lighthouse/pull/11915)) * add base gatherer class ([#11917](https://github.com/GoogleChrome/lighthouse/pull/11917)) ## Report * remove title from audit clump expand ([#11989](https://github.com/GoogleChrome/lighthouse/pull/11989)) * use source maps to show original file name ([#10930](https://github.com/GoogleChrome/lighthouse/pull/10930)) * convert v6 emulatedFormFactor to v7 formFactor ([#11876](https://github.com/GoogleChrome/lighthouse/pull/11876)) ## Deps * snyk: update snyk snapshot ([#11979](https://github.com/GoogleChrome/lighthouse/pull/11979), [#11952](https://github.com/GoogleChrome/lighthouse/pull/11952)) ## I18n * prevent strings with identical message and description ([#11976](https://github.com/GoogleChrome/lighthouse/pull/11976)) * import ([#11947](https://github.com/GoogleChrome/lighthouse/pull/11947)) ## Docs * chromium-web-tests: add debugging tips ([#11684](https://github.com/GoogleChrome/lighthouse/pull/11684)) * readme: add plugin: lighthouse-plugin-crux ([#11868](https://github.com/GoogleChrome/lighthouse/pull/11868)) ## Tests * legacy-javascript: sync results ([#11980](https://github.com/GoogleChrome/lighthouse/pull/11980)) * smoke: add category to run some perf tests in parallel ([#11932](https://github.com/GoogleChrome/lighthouse/pull/11932)) * revert mistaken change to yarn unit-core ([#11955](https://github.com/GoogleChrome/lighthouse/pull/11955)) * run code coverage in github actions ([#11770](https://github.com/GoogleChrome/lighthouse/pull/11770)) * remove travis ([#11902](https://github.com/GoogleChrome/lighthouse/pull/11902)) * increase treemap pptr timeouts ([#11916](https://github.com/GoogleChrome/lighthouse/pull/11916)) * add missing arrays to InspectorIssues sample artifact ([#11871](https://github.com/GoogleChrome/lighthouse/pull/11871)) * add more files in lighthouse-core/tests to tsconfig ([#11728](https://github.com/GoogleChrome/lighthouse/pull/11728)) * add warn-not-offline-capable smoketest ([#11842](https://github.com/GoogleChrome/lighthouse/pull/11842)) ## Misc * add type checking to page functions ([#11958](https://github.com/GoogleChrome/lighthouse/pull/11958)) * proto: clarify deprecated state of EmulatedFormFactor enum ([#11946](https://github.com/GoogleChrome/lighthouse/pull/11946)) * fix "fast" npm script ([#11997](https://github.com/GoogleChrome/lighthouse/pull/11997)) * use typed-query-selector for native querySelector ([#11990](https://github.com/GoogleChrome/lighthouse/pull/11990)) * return specific html element type for dom.find ([#11526](https://github.com/GoogleChrome/lighthouse/pull/11526)) * build: extract 'yarn link…' rigamarole to own npm script ([#11977](https://github.com/GoogleChrome/lighthouse/pull/11977)) * proto: backport proto formatting fixes ([#11978](https://github.com/GoogleChrome/lighthouse/pull/11978)) * scripts: fix unbound variable in open-devtools ([#11845](https://github.com/GoogleChrome/lighthouse/pull/11845)) * update-report-fixtures: use a consistent server port ([#11848](https://github.com/GoogleChrome/lighthouse/pull/11848)) * add type checking to TagsBlockingFirstPaint ([#11841](https://github.com/GoogleChrome/lighthouse/pull/11841)) # 7.0.0 (2020-12-16) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.5.0...v7.0.0) Lighthouse 7.0 includes a number of programmatic breaking changes and new audits in the **Accessibility** and **PWA** categories. There were some improvements in the accuracy of metric calculations, but it is not expected that **Performance** scores will change significantly for almost all sites. There may be larger changes in **Accessibility** and **PWA** scores due to the new audits. This release is expected to ship in the DevTools of [Chrome 89](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## Notable changes * A **full-page screenshot** is taken and used to improve the experience of viewing DOM element details. Now a thumbnail will be shown and clicking reveals a lightbox showing where in the page the DOM node lived. This screenshot increases the size of the Lighthouse JSON by ~33%. ([#11769](https://github.com/GoogleChrome/lighthouse/pull/11769), [#11768](https://github.com/GoogleChrome/lighthouse/pull/11768), [#11829](https://github.com/GoogleChrome/lighthouse/pull/11829), [#11846](https://github.com/GoogleChrome/lighthouse/pull/11846), [#11852](https://github.com/GoogleChrome/lighthouse/pull/11852)) * The **PWA Category** changed fairly significantly. - The _Installable_ group is powered entirely by the capability checks that enable Chrome's installable criteria. These are the same signals seen in the _Manifest_ pane in Chrome DevTools. As such, the "Registers a service worker…" audit moves to the _PWA Optimized_ group, and the "Uses HTTPS" audit is now included as part of the key "installability requirements" audit. - The _Fast and reliable_ group has evaporated into thin air. 🌬 Now that revamped "installability requirements" audit includes offline-capability checking, we've removed the dedicated audits for checking if the current page and `start_url` respond with 200 when offline. Separately, the "Page load is fast enough on mobile network" audit was removedβ€”while it's no longer part of the PWA section, we encourage folks building a PWA to consult the Performance category to ensure their web app is speedy and delightful. * A **nightly Lighthouse build** is now available as [`lighthouse@next`](https://www.npmjs.com/package/lighthouse?activeTab=versions) on npm. Note that while automated tests pass before publishing, it's expected that this version will be more unstable than the regular releases ([#11792](https://github.com/GoogleChrome/lighthouse/pull/11792), [#11805](https://github.com/GoogleChrome/lighthouse/pull/11805), [#11810](https://github.com/GoogleChrome/lighthouse/pull/11810)) * The accessibility-testing library **`axe-core`** has been updated to the latest 4.1.1 release. The accessibility audits are now faster, more robust, and include multiple new checks ([#11661](https://github.com/GoogleChrome/lighthouse/pull/11661)) * Lighthouse runs a small benchmark at startup, and will now include a warning if the [test machine appears underpowered](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling) and may be affecting the accuracy of the Lighthouse metrics ([#11350](https://github.com/GoogleChrome/lighthouse/pull/11350)) * Joomla and October CMS detection has been added, so pages on those platforms will now get customized advice on some Lighthouse audits ([#11788](https://github.com/GoogleChrome/lighthouse/pull/11788)) ## New contributors Thanks to Kohta Ito (@koh110) and Sam Stoelinga (@samos123) for their first contributions! ## πŸ†• New audits * The new `installable-manifest` PWA audit, mentioned above, uses Chrome's own installability criteria so it will always stay in sync with installability requirements ([#11745](https://github.com/GoogleChrome/lighthouse/pull/11745)) * `third-party-facades` looks for third-party embeds in the test page that can be lazy loaded with a static "facade". If the embed isn't necessary for immediate interaction by a user, consider using one of the facades to speed up page load ([#11290](https://github.com/GoogleChrome/lighthouse/pull/11290)) * With the axe version upgrade comes new audits ensuring accessible naming: `aria-treeitem-name`, `aria-command-name`, `aria-tooltip-name`, `aria-meter-name`, and `aria-progressbar-name` ([#11661](https://github.com/GoogleChrome/lighthouse/pull/11661)) ## ♻️ Removed audits * The update to latest `axe-core` also removes two audits that weren't checking much: [`layout-table`](https://github.com/dequelabs/axe-core/pull/1885) and [`video-description`](https://github.com/dequelabs/axe-core/pull/1737) ([#11661](https://github.com/GoogleChrome/lighthouse/pull/11661)) * `works-offline` and `offline-start-url` audits were removed as their checks are now covered by the new `installable-manifest` implementation ([#11806](https://github.com/GoogleChrome/lighthouse/pull/11806)) * The `load-fast-enough-for-pwa` audit has also been removed since Lighthouse's existing performance metrics more than cover the needs there ([#11764](https://github.com/GoogleChrome/lighthouse/pull/11764)) * `without-javascript` has been removed ([#11711](https://github.com/GoogleChrome/lighthouse/pull/11711)) ## πŸ’₯ Breaking changes * Device-emulation config settings and CLI flags have changed to be clearer and have less overlap. If you've used `--emulated-form-factor` or other emulation-related configuration, you'll need to make changes. The new settings should be considerably simpler to use with custom Lighthouse runners using real devices, Puppeteer, or system-level throttling. See the [emulation docs](https://github.com/GoogleChrome/lighthouse/blob/9dbb0a57ff523325bb04437c4202780756afda90/docs/emulation.md#changes-made-in-v7) for migration guidance. ([#11779](https://github.com/GoogleChrome/lighthouse/pull/11779)) * When waiting for the page to be fully loaded, Lighthouse will now wait if there are active high-priority network requests. In rare cases, like where the app initialization is dependent on a single, slow-returning XHR, some performance metrics may worsen; however, the new measurements are now accurate. ([#11738](https://github.com/GoogleChrome/lighthouse/pull/11738), [#11851](https://github.com/GoogleChrome/lighthouse/pull/11851)) * Support for Node 10 has been dropped. The minimum required Node version is now 12 ([#11656](https://github.com/GoogleChrome/lighthouse/pull/11656)) ## πŸ€–πŸ’₯ Breaking changes for programmatic users These changes are unlikely to affect end users, but may be important if you are writing custom configs, plugins, or processing the Lighthouse JSON output. * `ConsoleMessages` is a [new artifact](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L753-L802) that is a combination of the old `ConsoleMessages` and `RuntimeExceptions` artifacts, with some expanded data on items logged to the console. `RuntimeExceptions` has been removed ([#11663](https://github.com/GoogleChrome/lighthouse/pull/11663)) * DOM "node details" data formerly spread throughout existing artifacts are now gathered in a [`NodeDetails`](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L150-L157) property on each element ([#11474](https://github.com/GoogleChrome/lighthouse/pull/11474), [#11695](https://github.com/GoogleChrome/lighthouse/pull/11695), [#11752](https://github.com/GoogleChrome/lighthouse/pull/11752)) * The [`ImageElements` artifact](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L395-L440) has been [streamlined](https://github.com/GoogleChrome/lighthouse/issues/11642) to better represent the data collected and how it's used ([#11703](https://github.com/GoogleChrome/lighthouse/pull/11703), [#11707](https://github.com/GoogleChrome/lighthouse/pull/11707), [#11733](https://github.com/GoogleChrome/lighthouse/pull/11733)) * Previously, `extends: true` was allowed as an alias for `extends: 'lighthouse:default'` to [extend a config](https://github.com/GoogleChrome/lighthouse/blob/main/docs/configuration.md#config-extension) from the default Lighthouse config file. The boolean option has been removed to prepare the way for extending from any valid config file ([#11835](https://github.com/GoogleChrome/lighthouse/pull/11835)) * A never-used feature to pass options from the config to gatherers has been removed to be compatible with future changes ([#11743](https://github.com/GoogleChrome/lighthouse/pull/11743)) ## 🧱 Core ### Improvements, bug fixes, clarifications * lantern: allow non-XHRs to depend on CPU Nodes ([#11767](https://github.com/GoogleChrome/lighthouse/pull/11767)) * lantern: maximize throughput under HTTP/2 ([#11666](https://github.com/GoogleChrome/lighthouse/pull/11666)) * properly split node labels in the report around unicode surrogate pairs ([#11698](https://github.com/GoogleChrome/lighthouse/pull/11698)) * move the `service-worker` audit to the pwa-optimized group; its path in the JSON and metadata on scope URLs are unchanged ([#11798](https://github.com/GoogleChrome/lighthouse/pull/11798)) * support local plugins from a globally-installed Lighthouse ([#11696](https://github.com/GoogleChrome/lighthouse/pull/11696)) ### Internal refactors and improvements * driver: create typed `Runtime.evaluate` from function code ([#10816](https://github.com/GoogleChrome/lighthouse/pull/10816)) * gather-runner: remove <M82 compat for `InstallabilityErrors` ([#11782](https://github.com/GoogleChrome/lighthouse/pull/11782)) * simulator: clearer intermediate timing types ([#11744](https://github.com/GoogleChrome/lighthouse/pull/11744)) * types: remove unneeded casts ([#11753](https://github.com/GoogleChrome/lighthouse/pull/11753)) * lightrider: skip `uses-http2` audit (again) ([#11777](https://github.com/GoogleChrome/lighthouse/pull/11777)) * `script-treemap-data`: fix sourceRoot and missing coverage bugs ([#11825](https://github.com/GoogleChrome/lighthouse/pull/11825)) * fraggle-rock: add base snapshot runner ([#11748](https://github.com/GoogleChrome/lighthouse/pull/11748)) * fraggle-rock: add driver ([#11742](https://github.com/GoogleChrome/lighthouse/pull/11742)) ## Tests * re-enable change-related tests in github actions ([#11801](https://github.com/GoogleChrome/lighthouse/pull/11801)) * smoke: use font-size for a non-composited animation in tests ([#11808](https://github.com/GoogleChrome/lighthouse/pull/11808), [#11836](https://github.com/GoogleChrome/lighthouse/pull/11836)) * smoke: handle `warn-not-offline-capable` in test ([#11799](https://github.com/GoogleChrome/lighthouse/pull/11799)) * smoke: fix failureReasonsMask flake ([#11791](https://github.com/GoogleChrome/lighthouse/pull/11791)) * smoke: update flaky `third-party-facades` test ([#11786](https://github.com/GoogleChrome/lighthouse/pull/11786)) * make devtools webtests stable and reliable ([#11717](https://github.com/GoogleChrome/lighthouse/pull/11717), [#11731](https://github.com/GoogleChrome/lighthouse/pull/11731), [#11751](https://github.com/GoogleChrome/lighthouse/pull/11751), [#11789](https://github.com/GoogleChrome/lighthouse/pull/11789), [#11790](https://github.com/GoogleChrome/lighthouse/pull/11790), [#11804](https://github.com/GoogleChrome/lighthouse/pull/11804), [#11809](https://github.com/GoogleChrome/lighthouse/pull/11809), [6ad47fa](https://github.com/GoogleChrome/lighthouse/commit/6ad47fa)) ## Misc * `uses-http2`: remove mention of h2 push in docs ([#11834](https://github.com/GoogleChrome/lighthouse/pull/11834)) * readme: add integration ([#11775](https://github.com/GoogleChrome/lighthouse/pull/11775)) * add log files to GCP run results ([#11833](https://github.com/GoogleChrome/lighthouse/pull/11833)) * temporarily allow css in `redirectPass` to work around crbug ([#11813](https://github.com/GoogleChrome/lighthouse/pull/11813)) * eslintignore `*.d.ts` files ([#11793](https://github.com/GoogleChrome/lighthouse/pull/11793)) * buildtracker: skip `git --deepen` if no token ([#11785](https://github.com/GoogleChrome/lighthouse/pull/11785)) * build: quiet the `npm pack` command ([#11783](https://github.com/GoogleChrome/lighthouse/pull/11783)) * build: fix bundling `lighthouse-plugin-publisher-ads` in Lightrider ([#11648](https://github.com/GoogleChrome/lighthouse/pull/11648)) * release: add `print-contributors.js` script ([#11736](https://github.com/GoogleChrome/lighthouse/pull/11736)) ## Deps * update yargs to latest ([#11794](https://github.com/GoogleChrome/lighthouse/pull/11794)) * update old transitive deps ([#11811](https://github.com/GoogleChrome/lighthouse/pull/11811)) # 6.5.0 (2020-11-30) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.4.1...v6.5.0) We expect this release to ship in the DevTools of [Chrome 89](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Ashley Claymore @acutmore - Brad Frost @bradfrosty - Daniel Arthur Gallagher @DanArthurGallagher - Stephen @stephenyu - Vladimir Makhaev @vmakhaev ## New Audits * preload an image if it is the LCP element ([#11486](https://github.com/GoogleChrome/lighthouse/pull/11486)) * issues logged in the Devtools Issues panel ([#11409](https://github.com/GoogleChrome/lighthouse/pull/11409), [#11710](https://github.com/GoogleChrome/lighthouse/pull/11710)) ## Core * metrics: support CLS for all frames ([#11713](https://github.com/GoogleChrome/lighthouse/pull/11713)) * metrics: support LCP in all frames for devtools throttling ([#11701](https://github.com/GoogleChrome/lighthouse/pull/11701)) * stacks: update to support october cms and joomla ([#11729](https://github.com/GoogleChrome/lighthouse/pull/11729)) * artifacts: encapsulate node details in an object ([#11474](https://github.com/GoogleChrome/lighthouse/pull/11474)) * critical-requests: refactor to use lantern graph ([#11533](https://github.com/GoogleChrome/lighthouse/pull/11533)) * hidpr-images: never recommend more than 2x ([#11518](https://github.com/GoogleChrome/lighthouse/pull/11518)) * driver: resume on debugger statements ([#11727](https://github.com/GoogleChrome/lighthouse/pull/11727)) * is-crawlable: always ignore mailto anchors ([#11554](https://github.com/GoogleChrome/lighthouse/pull/11554)) * error: add dedicated error string for NO_FCP ([#11579](https://github.com/GoogleChrome/lighthouse/pull/11579)) * dom-size: remove formatNumber ([#11563](https://github.com/GoogleChrome/lighthouse/pull/11563)) * gather-runner: use final document when reporting non-HTML error ([#11620](https://github.com/GoogleChrome/lighthouse/pull/11620)) * preload-lcp-image: properly calculate the potential savings ([#11612](https://github.com/GoogleChrome/lighthouse/pull/11612)) * tracehouse: improve CPU profiler timing refinement ([#11608](https://github.com/GoogleChrome/lighthouse/pull/11608)) * add devtools path to DOMStats ([#11578](https://github.com/GoogleChrome/lighthouse/pull/11578)) * tracehouse: split timeOrigin determination out of computeTraceOfTab ([#11253](https://github.com/GoogleChrome/lighthouse/pull/11253)) * tracehouse: use tasks to improve profiler timing data ([#11446](https://github.com/GoogleChrome/lighthouse/pull/11446)) * unsized-images: respect CSS rules from stylesheets ([#11590](https://github.com/GoogleChrome/lighthouse/pull/11590)) * runner: abstract gather phase out of runner ([#11623](https://github.com/GoogleChrome/lighthouse/pull/11623)) * driver: extract waitFor methods ([#11685](https://github.com/GoogleChrome/lighthouse/pull/11685)) * driver: extract evaluateAsync logic for FR driver ([#11633](https://github.com/GoogleChrome/lighthouse/pull/11633)) * lantern: traverse generator method ([#11636](https://github.com/GoogleChrome/lighthouse/pull/11636)) * js-bundles: return error object when sizes cannot be determined ([#10449](https://github.com/GoogleChrome/lighthouse/pull/10449)) * add timing instrumentation for base artifacts ([#11672](https://github.com/GoogleChrome/lighthouse/pull/11672)) ## Experimental * full-page-screenshot: resolve node rects during emulation ([#11536](https://github.com/GoogleChrome/lighthouse/pull/11536)) * full-page-screenshot: drop max datauri size constraints ([#11689](https://github.com/GoogleChrome/lighthouse/pull/11689)) * full-page-screenshot: use dpr 1 ([#11688](https://github.com/GoogleChrome/lighthouse/pull/11688)) * full-page-screenshot: use layoutViewport width ([#11402](https://github.com/GoogleChrome/lighthouse/pull/11402)) * do not show element screenshot if out of bounds ([#11538](https://github.com/GoogleChrome/lighthouse/pull/11538)) * add script-treemap-data to experimental ([#11271](https://github.com/GoogleChrome/lighthouse/pull/11271)) * treemap: initialize app structure ([#11635](https://github.com/GoogleChrome/lighthouse/pull/11635)) * treemap opener, ?dev for localhost viewer and treemap ([#11667](https://github.com/GoogleChrome/lighthouse/pull/11667)) ## Deps * remove cz-customizable as local dep ([#11719](https://github.com/GoogleChrome/lighthouse/pull/11719)) * update to typescript 4.1.2 ([#11690](https://github.com/GoogleChrome/lighthouse/pull/11690)) * bump various dependencies to quiet security alerts ([#11693](https://github.com/GoogleChrome/lighthouse/pull/11693)) * update brfs to fix build in node 15 ([#11676](https://github.com/GoogleChrome/lighthouse/pull/11676)) * upgrade lighthouse-plugin-publisher-ads to 1.3.0 ([#11660](https://github.com/GoogleChrome/lighthouse/pull/11660)) * add @types/yargs-parser ([#11517](https://github.com/GoogleChrome/lighthouse/pull/11517)) ## Clients * viewer: extract the LHR from PSI json ([#11650](https://github.com/GoogleChrome/lighthouse/pull/11650)) ## I18n * format bytes with consistent fractional width ([#11489](https://github.com/GoogleChrome/lighthouse/pull/11489)) * import ([#11715](https://github.com/GoogleChrome/lighthouse/pull/11715)) ## Docs * readme: add Apdex to integrations ([#11655](https://github.com/GoogleChrome/lighthouse/pull/11655)) * update throttling reference ([#11645](https://github.com/GoogleChrome/lighthouse/pull/11645)) * configuration: update description of `extends` property ([#11488](https://github.com/GoogleChrome/lighthouse/pull/11488)) * releasing: update release process ([#11502](https://github.com/GoogleChrome/lighthouse/pull/11502)) ## Tests * rebaseline devtools test, print each .lh-audit id ([#11702](https://github.com/GoogleChrome/lighthouse/pull/11702)) * smoke: attempt to fix cls-elements flake ([#11426](https://github.com/GoogleChrome/lighthouse/pull/11426)) * update github actions to use env files ([#11674](https://github.com/GoogleChrome/lighthouse/pull/11674)) * remove unnecessary jest babel transform ([#11664](https://github.com/GoogleChrome/lighthouse/pull/11664)) * use setup-protoc bugfix branch ([#11665](https://github.com/GoogleChrome/lighthouse/pull/11665)) * update static content shell version ([#11634](https://github.com/GoogleChrome/lighthouse/pull/11634)) * limit LCP element audit to m87 and earlier ([#11625](https://github.com/GoogleChrome/lighthouse/pull/11625)) * update MixedContent test to match ToT ([#11584](https://github.com/GoogleChrome/lighthouse/pull/11584)) * add devtools test for important data warning ([#11544](https://github.com/GoogleChrome/lighthouse/pull/11544)) * reset smoke transferSize expectations to reality ([#11534](https://github.com/GoogleChrome/lighthouse/pull/11534)) * add tests for networkRecordsToDevtoolsLog ([#11523](https://github.com/GoogleChrome/lighthouse/pull/11523)) * mock saveLhr and assert no unit test source changes ([#11519](https://github.com/GoogleChrome/lighthouse/pull/11519)) ## Misc * build: give build-tracker a shared git history on PRs ([#11449](https://github.com/GoogleChrome/lighthouse/pull/11449)) * build: refactor viewer bundler into reusable GhPagesApp ([#11564](https://github.com/GoogleChrome/lighthouse/pull/11564)) * add script to automatically test lighthouse on a page from devtools ([#11539](https://github.com/GoogleChrome/lighthouse/pull/11539)) * add save latest run script ([#11516](https://github.com/GoogleChrome/lighthouse/pull/11516)) * remove compile-against-devtools.sh ([#11520](https://github.com/GoogleChrome/lighthouse/pull/11520)) # 6.4.1 (2020-10-02) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.4.0...v6.4.1) This is a minor release to fix an issue in the npm package where v6.4.0 was published with a lot of unncessary files. ## New Contributors Thanks to our new contributor πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Csaba Palfi @csabapalfi ## Core * prevent attribute truncation side-effects ([#11503](https://github.com/GoogleChrome/lighthouse/pull/11503)) * save lhr on -A ([#11509](https://github.com/GoogleChrome/lighthouse/pull/11509)) ## Tests * run every smoke test (except forms) for bundle ([#11493](https://github.com/GoogleChrome/lighthouse/pull/11493)) ## Misc * add chromium webtests to npmignore ([#11512](https://github.com/GoogleChrome/lighthouse/pull/11512)) # 6.4.0 (2020-09-30) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.3.0...v6.4.0) We expect this release to ship in the DevTools of [Chrome 88](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! - Denis Seleznev @hcodes - Irfan Maulana @mazipan - James Garbutt @43081j - Matt Hobbs @Nooshu - Mohammed J. Razem @moerazem - Pujitha.E @pujitha7 - Quentin @qwright10 - andreizet @andreizet ## Notable Changes * large-javascript-libraries: move to experimental ([#11484](https://github.com/GoogleChrome/lighthouse/pull/11484)) * driver: don't clear indexedb, websql, or localstorage before run ([#11438](https://github.com/GoogleChrome/lighthouse/pull/11438)) ## New Audits * unsized-images reland ([#11340](https://github.com/GoogleChrome/lighthouse/pull/11340)): This audit confirms users' images are explicitly sized; ultimately preventing layout shift and improving CLS. ## Core * tracehouse: add CPU trace profiler model ([#11072](https://github.com/GoogleChrome/lighthouse/pull/11072)) * stack-packs: add Drupal pack ([#10522](https://github.com/GoogleChrome/lighthouse/pull/10522)) * stack-packs: move to lighthouse-stack-packs npm package ([#11370](https://github.com/GoogleChrome/lighthouse/pull/11370)) * axe: use our html snippet rather than axe's ([#11362](https://github.com/GoogleChrome/lighthouse/pull/11362)) * benchmarkindex: add workaround for Intel microcode fixes ([#11483](https://github.com/GoogleChrome/lighthouse/pull/11483)) * config: correct typo on throttling profile name ([#11355](https://github.com/GoogleChrome/lighthouse/pull/11355)) * image-elements: do not set untrusted natural dimensions ([#11457](https://github.com/GoogleChrome/lighthouse/pull/11457)) * installable-manifest: expose app manifest url ([#11330](https://github.com/GoogleChrome/lighthouse/pull/11330)) * is-on-https: add missing space in description ([#11466](https://github.com/GoogleChrome/lighthouse/pull/11466)) * is-on-https: remove in preconnect and preload ([#11401](https://github.com/GoogleChrome/lighthouse/pull/11401)) * accept array of locales in lookupLocale ([#11349](https://github.com/GoogleChrome/lighthouse/pull/11349)) * add more translator strings to font-size ([#11338](https://github.com/GoogleChrome/lighthouse/pull/11338)) ## Docs * auth: add setCookie example ([#11473](https://github.com/GoogleChrome/lighthouse/pull/11473)) * variability: expand on lighthouse-ci usage ([#11377](https://github.com/GoogleChrome/lighthouse/pull/11377)) * remove PageSpeed Green from integrations ([#11390](https://github.com/GoogleChrome/lighthouse/pull/11390)) * add microlink to integrations ([#11048](https://github.com/GoogleChrome/lighthouse/pull/11048)) * releasing: align 2 days before branch. update managers ([#11333](https://github.com/GoogleChrome/lighthouse/pull/11333)) * add CPU throttling guide ([#11325](https://github.com/GoogleChrome/lighthouse/pull/11325)) ## Tests * page-functions: add test for getNodePath ([#11433](https://github.com/GoogleChrome/lighthouse/pull/11433)) * check for dependencies when setting up blink tools ([#11437](https://github.com/GoogleChrome/lighthouse/pull/11437)) * hash more files for devtools test cache ([#11417](https://github.com/GoogleChrome/lighthouse/pull/11417)) * smoke: fix preconnect flake w/ a non-locally installed font ([#11425](https://github.com/GoogleChrome/lighthouse/pull/11425)) * add markdown link checker ([#11358](https://github.com/GoogleChrome/lighthouse/pull/11358)) * webtests: test pub ads plugin ([#11364](https://github.com/GoogleChrome/lighthouse/pull/11364)) * rebaseline webtests ([#11351](https://github.com/GoogleChrome/lighthouse/pull/11351)) * devtools: fail on unset/unbound env variable ([#11331](https://github.com/GoogleChrome/lighthouse/pull/11331)) ## Misc * build: fix mangling for tap-targets gatherer ([#11463](https://github.com/GoogleChrome/lighthouse/pull/11463)) * script for analyzing results from gcp data collection ([#11296](https://github.com/GoogleChrome/lighthouse/pull/11296)) * make FormElements not a public artifact ([#11476](https://github.com/GoogleChrome/lighthouse/pull/11476)) * yarn open-devtools ([#11445](https://github.com/GoogleChrome/lighthouse/pull/11445)) * build: use terser on inline assets ([#11461](https://github.com/GoogleChrome/lighthouse/pull/11461)) * tweak typescript jsdoc for list format ([#11447](https://github.com/GoogleChrome/lighthouse/pull/11447)) * build: minify bundles with terser ([#9605](https://github.com/GoogleChrome/lighthouse/pull/9605)) * add score shapes to legend ([#11440](https://github.com/GoogleChrome/lighthouse/pull/11440)) * axe: rename axe types ([#11432](https://github.com/GoogleChrome/lighthouse/pull/11432)) * update stack packs, remove duplicated stack pack files ([#11396](https://github.com/GoogleChrome/lighthouse/pull/11396)) * build: fix devtools tests by making empty type files ([#11418](https://github.com/GoogleChrome/lighthouse/pull/11418)) * hide locale files by default in PRs ([#11363](https://github.com/GoogleChrome/lighthouse/pull/11363)) * fix typos in jsdoc types ([#11367](https://github.com/GoogleChrome/lighthouse/pull/11367)) * build: include publisher ads plugin in lightrider bundle ([#11366](https://github.com/GoogleChrome/lighthouse/pull/11366)) * flatten new service-worker audit details ([#11361](https://github.com/GoogleChrome/lighthouse/pull/11361)) * fix run-web-tests.sh ([#11346](https://github.com/GoogleChrome/lighthouse/pull/11346)) # 6.3.0 (2020-08-26) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.2.0...v6.3.0) We expect this release to ship in the DevTools of [Chrome 87](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! * Adriana Ixba @adrianaixba * Daniel Hollas @danielhollas * Danilo Velasquez Urrutia @dvelasquez * Jivthesh M R @jivthesh * Pete NykΓ€nen @petetnt * Radu Micu @radum * ryo @ryoAccount * Saavan Nanavati @saavannanavati * Stanislav Popov @popstas * Wicked @Wicked7000 ## Notable Changes * revert: move unsized-images to experimental due to perf impact ([#11317](https://github.com/GoogleChrome/lighthouse/pull/11317)) ## New Audits * add preload-fonts audit ([#11255](https://github.com/GoogleChrome/lighthouse/pull/11255)) * add large-javascript-libraries audit ([#11096](https://github.com/GoogleChrome/lighthouse/pull/11096)) * add valid-source-maps audit ([#11236](https://github.com/GoogleChrome/lighthouse/pull/11236)) * add autocomplete to experimental config ([#11186](https://github.com/GoogleChrome/lighthouse/pull/11186)) ## Core * global-listeners: dedupe duplicate events in GlobalListener gatherer ([#11303](https://github.com/GoogleChrome/lighthouse/pull/11303)) * module-duplication: ignore smaller modules ([#11277](https://github.com/GoogleChrome/lighthouse/pull/11277)) * non-composited-animations: add unsupported css properties ([#11246](https://github.com/GoogleChrome/lighthouse/pull/11246)) * non-composited-animations: add more actionable failure reasons ([#11268](https://github.com/GoogleChrome/lighthouse/pull/11268)) * non-composited-animations: update the "learn more" link ([#11258](https://github.com/GoogleChrome/lighthouse/pull/11258)) * renderer: improve the unknown timezone checks in util.js ([#9822](https://github.com/GoogleChrome/lighthouse/pull/9822)) * response-time: add time spent to details ([#11307](https://github.com/GoogleChrome/lighthouse/pull/11307)) * trace-elements: do not break on unresolvable node id ([#11298](https://github.com/GoogleChrome/lighthouse/pull/11298)) * font-size: remove deprecated DOM.getFlattenedDocument ([#11248](https://github.com/GoogleChrome/lighthouse/pull/11248)) ## Report * third-party-summary: show resources for entity ([#11219](https://github.com/GoogleChrome/lighthouse/pull/11219)) * handle invalid urls for source location items ([#11299](https://github.com/GoogleChrome/lighthouse/pull/11299)) * show axe version in runtime settings ([#10729](https://github.com/GoogleChrome/lighthouse/pull/10729)) * use dash gauge for categories with entirely n/a audits ([#11024](https://github.com/GoogleChrome/lighthouse/pull/11024)) ## Deps * update lighthouse-plugin-publisher-ads to 1.2.0 ([#11301](https://github.com/GoogleChrome/lighthouse/pull/11301)) ## I18n * import ([#11324](https://github.com/GoogleChrome/lighthouse/pull/11324)) * translate remaining strings in font-size ([#11327](https://github.com/GoogleChrome/lighthouse/pull/11327)) * make double dollar validation less strict ([#10299](https://github.com/GoogleChrome/lighthouse/pull/10299)) ## Docs * add Code of Conduct to project ([#11212](https://github.com/GoogleChrome/lighthouse/pull/11212)) * add audit naming guide ([#11308](https://github.com/GoogleChrome/lighthouse/pull/11308)) * throttling: replace comcast with throttle and add more windows options ([#11143](https://github.com/GoogleChrome/lighthouse/pull/11143)) * readme: add related projects: site-audit-seo ([#11305](https://github.com/GoogleChrome/lighthouse/pull/11305), [#11250](https://github.com/GoogleChrome/lighthouse/pull/11250)) * readme: align headings with table of contents ([#11288](https://github.com/GoogleChrome/lighthouse/pull/11288)) ## Tests * run chromium webtests for devtools integration ([#11176](https://github.com/GoogleChrome/lighthouse/pull/11176), [#11328](https://github.com/GoogleChrome/lighthouse/pull/11328)) ## Misc * benchmark: update BenchmarkIndex for m86 changes ([#11304](https://github.com/GoogleChrome/lighthouse/pull/11304)) * add benchmark script with octane and speedometer ([#11247](https://github.com/GoogleChrome/lighthouse/pull/11247)) * add gcp fleet creation scripts ([#11257](https://github.com/GoogleChrome/lighthouse/pull/11257), [#11233](https://github.com/GoogleChrome/lighthouse/pull/11233)) * rephrase comments to be more inclusive ([#11228](https://github.com/GoogleChrome/lighthouse/pull/11228)) * fix types in duplicated-javascript ([#11278](https://github.com/GoogleChrome/lighthouse/pull/11278)) * fix typo in method name ([#11239](https://github.com/GoogleChrome/lighthouse/pull/11239)) * move doc link ([#11300](https://github.com/GoogleChrome/lighthouse/pull/11300)) # 6.2.0 (2020-08-06) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.1.1...v6.2.0) We expect this release to ship in the DevTools of [Chrome 86](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! * Adam Raine @adamraine * Saavan Nanavati @saavannanavati * lemcardenas @lemcardenas * George Makunde Martin @gMakunde * David Gilman @dgilman * Emilio Garza @emiliogarza * LukasAuerMstage @LukasAuerMstage * Mustafa Aydemir @mstfydmr * Pramod Mali @malipramod * Robin Tom @robintom * Stacey Tay @staceytay * Wojciech Maj @wojtekmaj * moli @phpmoli * ΠœΡƒΡ€Π°Π²ΡŒΡ‘Π² Π‘Π΅ΠΌΡ‘Π½ @Zulcom ## New Audits * move duplicated-javascript and legacy-javascript audits to default config ([#10881](https://github.com/GoogleChrome/lighthouse/pull/10881), [#11103](https://github.com/GoogleChrome/lighthouse/pull/11103)) * report animations not run on compositor ([#11138](https://github.com/GoogleChrome/lighthouse/pull/11138), [#11168](https://github.com/GoogleChrome/lighthouse/pull/11168), [#11105](https://github.com/GoogleChrome/lighthouse/pull/11105)) * add unsized-images audit ([#11188](https://github.com/GoogleChrome/lighthouse/pull/11188), [#11115](https://github.com/GoogleChrome/lighthouse/pull/11115), [#11217](https://github.com/GoogleChrome/lighthouse/pull/11217)) * add no-unload-listeners audit ([#11085](https://github.com/GoogleChrome/lighthouse/pull/11085)) ## Core * uses-http2: convert into opportunity ([#10626](https://github.com/GoogleChrome/lighthouse/pull/10626)) * lantern: fallback to FCP in 0-weight SI situations ([#11174](https://github.com/GoogleChrome/lighthouse/pull/11174)) * stacks: timeout stack detection ([#11172](https://github.com/GoogleChrome/lighthouse/pull/11172)) * add FormElements gatherer ([#11062](https://github.com/GoogleChrome/lighthouse/pull/11062)) * cls: add back early shift events if they were ignored ([#11079](https://github.com/GoogleChrome/lighthouse/pull/11079)) * critical-request-chains: prune requests without an initiator ([#11151](https://github.com/GoogleChrome/lighthouse/pull/11151)) * error if chrome version does not support lcp metric ([#11016](https://github.com/GoogleChrome/lighthouse/pull/11016)) * font-display: dedupe warnings by font origin ([#11068](https://github.com/GoogleChrome/lighthouse/pull/11068)) * gather-runner: error on non-HTML ([#11042](https://github.com/GoogleChrome/lighthouse/pull/11042)) * hreflang: assert that the href is fully qualified ([#11022](https://github.com/GoogleChrome/lighthouse/pull/11022)) * image-elements: gather correct natural size for srcset ([#11101](https://github.com/GoogleChrome/lighthouse/pull/11101)) * is-on-https: add mixed-content resolution ([#10975](https://github.com/GoogleChrome/lighthouse/pull/10975)) * lantern: ignore circular initiators ([#11148](https://github.com/GoogleChrome/lighthouse/pull/11148)) * link-elements: add devtoolsNodePath ([#11061](https://github.com/GoogleChrome/lighthouse/pull/11061)) * link-text: removing inicio from blocklist resolves #11026 ([#11073](https://github.com/GoogleChrome/lighthouse/pull/11073)) * page-functions: expose simulated throttling requestIdleCallback shim ([#11032](https://github.com/GoogleChrome/lighthouse/pull/11032)) * redirects: surface client-side redirects ([#11027](https://github.com/GoogleChrome/lighthouse/pull/11027)) * tracehouse: expose navigationStart only as timeOrigin ([#11034](https://github.com/GoogleChrome/lighthouse/pull/11034)) * add cap to amp stylesheet links for simulated throttling ([#11069](https://github.com/GoogleChrome/lighthouse/pull/11069)) * remove uses of deprecated extendedInfo field ([#10779](https://github.com/GoogleChrome/lighthouse/pull/10779)) * config: remove typo in a11y tables lists group ([#11099](https://github.com/GoogleChrome/lighthouse/pull/11099)) ## CLI * clearTimeout for faster exit ([#11170](https://github.com/GoogleChrome/lighthouse/pull/11170)) * warn if Chrome died on its own instead of exit ([#11139](https://github.com/GoogleChrome/lighthouse/pull/11139)) ## Report * correctly display CLS in budget table ([#11209](https://github.com/GoogleChrome/lighthouse/pull/11209)) * add full-page-screenshot to experimental config ([#10716](https://github.com/GoogleChrome/lighthouse/pull/10716)) * vertically center thumbnails ([#11220](https://github.com/GoogleChrome/lighthouse/pull/11220)) * truncate long attribute values in HTML snippets ([#10984](https://github.com/GoogleChrome/lighthouse/pull/10984)) * unused-javascript: update "learn more" link ([#10985](https://github.com/GoogleChrome/lighthouse/pull/10985)) ## Deps * snyk: update script to prune <0.0.0 and update snapshot ([#11223](https://github.com/GoogleChrome/lighthouse/pull/11223)) * snyk: update snyk snapshot ([#11046](https://github.com/GoogleChrome/lighthouse/pull/11046)) * update dot-prop secondary dependency ([#11198](https://github.com/GoogleChrome/lighthouse/pull/11198)) * update jpeg-js to 0.4.x ([#11167](https://github.com/GoogleChrome/lighthouse/pull/11167)) * update third-party-web ([#11137](https://github.com/GoogleChrome/lighthouse/pull/11137)) ## I18n * import strings ([#11082](https://github.com/GoogleChrome/lighthouse/pull/11082), [#11225](https://github.com/GoogleChrome/lighthouse/pull/11225)) * disallow invalid text outside complex ICU arguments ([#11135](https://github.com/GoogleChrome/lighthouse/pull/11135)) * update AMP Optimizer URLs ([#11088](https://github.com/GoogleChrome/lighthouse/pull/11088)) * log the percentage of translated messages ([#11149](https://github.com/GoogleChrome/lighthouse/pull/11149)) ## Docs * configuration: updates and tweaks ([#11141](https://github.com/GoogleChrome/lighthouse/pull/11141)) * update architecture.md ([#11040](https://github.com/GoogleChrome/lighthouse/pull/11040), [#11089](https://github.com/GoogleChrome/lighthouse/pull/11089)) * readme: add Screpy to list of integrations ([#11126](https://github.com/GoogleChrome/lighthouse/pull/11126)) * readme: fix logging in programmatic use code example ([#11116](https://github.com/GoogleChrome/lighthouse/pull/11116)) * update devtools screenshot ([#11092](https://github.com/GoogleChrome/lighthouse/pull/11092)) * fix typo in viewer readme for loading json from url ([#11080](https://github.com/GoogleChrome/lighthouse/pull/11080)) * readme: update Foo integration ([#11050](https://github.com/GoogleChrome/lighthouse/pull/11050)) ## Tests * istanbul ignore inpage function ([#11229](https://github.com/GoogleChrome/lighthouse/pull/11229)) * update chromestatus expecatations ([#11221](https://github.com/GoogleChrome/lighthouse/pull/11221)) * minification-est: add testcase with pre-minified bundle ([#11191](https://github.com/GoogleChrome/lighthouse/pull/11191)) * update to typescript 3.9.7 ([#11158](https://github.com/GoogleChrome/lighthouse/pull/11158)) * smoke: skip expectation with _chromeMajorVersion ([#10976](https://github.com/GoogleChrome/lighthouse/pull/10976)) * smoke: use caltrainschedule instead of polymer shop ([#11052](https://github.com/GoogleChrome/lighthouse/pull/11052)) * relax requestIdleCallback smoke expectation ([#11041](https://github.com/GoogleChrome/lighthouse/pull/11041)) * parallelize all the tests ([#11009](https://github.com/GoogleChrome/lighthouse/pull/11009)) * upgrade codecov to 3.7.0 ([#11039](https://github.com/GoogleChrome/lighthouse/pull/11039)) * update minor version of angular fixture redux ([#11192](https://github.com/GoogleChrome/lighthouse/pull/11192)) * run GitHub Actions on master and PRs ([#11035](https://github.com/GoogleChrome/lighthouse/pull/11035)) * run test-viewer in github actions ([#11195](https://github.com/GoogleChrome/lighthouse/pull/11195)) * add windows to GitHub actions CI ([#11087](https://github.com/GoogleChrome/lighthouse/pull/11087)) * use latest windows image on appveyor ([#11083](https://github.com/GoogleChrome/lighthouse/pull/11083)) * remove appveyor ([#11171](https://github.com/GoogleChrome/lighthouse/pull/11171)) ## Misc * remove last extendedInfo in LH.Audit.Product ([#11067](https://github.com/GoogleChrome/lighthouse/pull/11067)) * add GCP collection scripts ([#11189](https://github.com/GoogleChrome/lighthouse/pull/11189)) * tighten RecursivePartial type ([#11175](https://github.com/GoogleChrome/lighthouse/pull/11175)) * release: tweaks ([#11021](https://github.com/GoogleChrome/lighthouse/pull/11021)) * compare-runs: fix error when no lh-flags arg passed ([#11015](https://github.com/GoogleChrome/lighthouse/pull/11015)) * annotate version-specific logic with COMPAT comments ([#11019](https://github.com/GoogleChrome/lighthouse/pull/11019)) * add tools to track issue response time ([#11020](https://github.com/GoogleChrome/lighthouse/pull/11020)) * tweak naming in element-screenshot renderer ([#11152](https://github.com/GoogleChrome/lighthouse/pull/11152)) * ignore coverage of page-functions ([#11136](https://github.com/GoogleChrome/lighthouse/pull/11136)) # 6.1.1 (2020-07-07) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.1.0...v6.1.1) This is a patch release to fix an issue that only occurred in 6.1.0 for Node environments. It will only be released to npm. ## Core * fetcher: ensure fetch doesn't cause unhandled promise ([#11036](https://github.com/GoogleChrome/lighthouse/pull/11036)) # 6.1.0 (2020-06-25) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.0.0...v6.1.0) We expect this release to ship to DevTools in [Chrome 85](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. ## New Contributors Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! * Loftie Ellis @lpellis * Marvin Frachet @mfrachet * Matt Hobbs @Nooshu * Peter Marshall @psmarshall ## Notable Changes * If a page has publicly-accessible JavaScript source maps, Lighthouse will collect them to enhance the `unused-javascript` audit. In future versions of Lighthouse, source maps will be used for entirely new audits ([#10990](https://github.com/GoogleChrome/lighthouse/pull/10990)). * The report now uses `KiB` instead of `KB`. This is simply a label change; the value was and still is equal to `1024 bytes` ([#10870](https://github.com/GoogleChrome/lighthouse/pull/10870)). Unused JavaScript with source maps ## New Audits * long-tasks: a new performance diagnostic that shows the longest main-thread-blocking tasks during load ([#10736](https://github.com/GoogleChrome/lighthouse/pull/10736)) * crawlable-anchors: a new SEO audit that checks that anchors link to resolvable URLs ([#10662](https://github.com/GoogleChrome/lighthouse/pull/10662)) ## Core * unused-javascript: increase threshold to 20KiB ([#10906](https://github.com/GoogleChrome/lighthouse/pull/10906)) * layout-shift-elements: surface CLS contribution per shifted element ([#10968](https://github.com/GoogleChrome/lighthouse/pull/10968)) * emulation: bump chrome versions ([#10787](https://github.com/GoogleChrome/lighthouse/pull/10787)) * image-size-responsive: quantize DPRs ([#10801](https://github.com/GoogleChrome/lighthouse/pull/10801)) * long-tasks: add startTime property ([#10942](https://github.com/GoogleChrome/lighthouse/pull/10942)) * improve resilience of nodeId-dependent gatherers ([#10877](https://github.com/GoogleChrome/lighthouse/pull/10877)) * median-run: add computeMedianRun to lib ([#10859](https://github.com/GoogleChrome/lighthouse/pull/10859)) * preload: ignore cross-frame requests ([#10847](https://github.com/GoogleChrome/lighthouse/pull/10847)) * new inspector issues gatherer for Audit.IssueAdded events ([#10664](https://github.com/GoogleChrome/lighthouse/pull/10664)) * subRow refactor, rename to subItem ([#10867](https://github.com/GoogleChrome/lighthouse/pull/10867), [#10978](https://github.com/GoogleChrome/lighthouse/pull/10978)) ## Experimental Features hidden behind the `--preset=experimental` flag. * legacy-javascript: reduce polyfills, fix core-js import in test ([#10937](https://github.com/GoogleChrome/lighthouse/pull/10937)) * legacy-javascript: use prescriptive language in title ([#10850](https://github.com/GoogleChrome/lighthouse/pull/10850)) * legacy-javascript: fix core-js 3 detection ([#10852](https://github.com/GoogleChrome/lighthouse/pull/10852)) * legacy-javascript: use third-party-web for scoring ([#10849](https://github.com/GoogleChrome/lighthouse/pull/10849)) * duplicated-javascript: display transfer size ([#10701](https://github.com/GoogleChrome/lighthouse/pull/10701)) ## Deps * axe-core: upgrade to 3.5.5 ([#10986](https://github.com/GoogleChrome/lighthouse/pull/10986)) * upgrade chrome-launcher@0.13.3 ([#10911](https://github.com/GoogleChrome/lighthouse/pull/10911)) * snyk: update snyk snapshot ([#10840](https://github.com/GoogleChrome/lighthouse/pull/10840), [#10940](https://github.com/GoogleChrome/lighthouse/pull/10940), [#10980](https://github.com/GoogleChrome/lighthouse/pull/10980), [#11010](https://github.com/GoogleChrome/lighthouse/pull/11010)) * remove bundlesize ([#10999](https://github.com/GoogleChrome/lighthouse/pull/10999)) * update to lhci 0.4.0 ([#10828](https://github.com/GoogleChrome/lighthouse/pull/10828)) ## Report * metrics: use css grid so metrics are aligned ([#10789](https://github.com/GoogleChrome/lighthouse/pull/10789)) * don't dim disclaimer anchor links ([#10981](https://github.com/GoogleChrome/lighthouse/pull/10981)) * use acronyms and round metrics for shorter calc url ([#10954](https://github.com/GoogleChrome/lighthouse/pull/10954)) * update link for budgets audit ([#10944](https://github.com/GoogleChrome/lighthouse/pull/10944)) * add trailing slash to web.dev links ([#10967](https://github.com/GoogleChrome/lighthouse/pull/10967)) * fix the width of the 3-dots menu in topbar ([#10855](https://github.com/GoogleChrome/lighthouse/pull/10855)) * updated method signature typing to remove focusevent cast ([#10858](https://github.com/GoogleChrome/lighthouse/pull/10858)) * adjust LCP element description ([#11018](https://github.com/GoogleChrome/lighthouse/pull/11018)) * renderer: fix null Util.i18n in PSI renderer ([#10822](https://github.com/GoogleChrome/lighthouse/pull/10822)) * psi: show disclaimer and calclink ([#10936](https://github.com/GoogleChrome/lighthouse/pull/10936)) ## Docs * add note about git repo required for @lhci/cli usage ([#11006](https://github.com/GoogleChrome/lighthouse/pull/11006)) * contributing: add tips for audit and gatherer PRs ([#10690](https://github.com/GoogleChrome/lighthouse/pull/10690)) * readme: update programmatic usage recipe ([#10878](https://github.com/GoogleChrome/lighthouse/pull/10878)) * readme: add new and updated integrations ([#10838](https://github.com/GoogleChrome/lighthouse/pull/10838), [#10901](https://github.com/GoogleChrome/lighthouse/pull/10901), [#10826](https://github.com/GoogleChrome/lighthouse/pull/10826), [#10818](https://github.com/GoogleChrome/lighthouse/pull/10818)) ## Tests * move proto roundtrip json to .tmp/ ([#10995](https://github.com/GoogleChrome/lighthouse/pull/10995)) * add heading key tests ([#10746](https://github.com/GoogleChrome/lighthouse/pull/10746)) * run ToT and stable Chrome for smoke tests in github workflow ([#10989](https://github.com/GoogleChrome/lighthouse/pull/10989)) * legacy-javascript: exit code 1 on failure ([#10946](https://github.com/GoogleChrome/lighthouse/pull/10946)) * smoke: use --debug in github action ([#10919](https://github.com/GoogleChrome/lighthouse/pull/10919)) * smokehouse: do not assert on flaky node path ([#10827](https://github.com/GoogleChrome/lighthouse/pull/10827)) ## Misc * rename subHeading to subItemsHeading ([#10979](https://github.com/GoogleChrome/lighthouse/pull/10979), [#10983](https://github.com/GoogleChrome/lighthouse/pull/10983)) * viewer: expose LHR as `__LIGHTHOUSE_JSON__` ([#10879](https://github.com/GoogleChrome/lighthouse/pull/10879)) * use more inclusive and descriptive language ([#10949](https://github.com/GoogleChrome/lighthouse/pull/10949)) * update changelog for v6.0.0 ([#10821](https://github.com/GoogleChrome/lighthouse/pull/10821), [#10807](https://github.com/GoogleChrome/lighthouse/pull/10807)) # 6.0.0 (2020-05-19) [Raw commit changelog](https://github.com/GoogleChrome/lighthouse/compare/v5.6.0...v6.0.0) We expect this release to ship in the DevTools of Chrome 84. ## Notable changes So many! See the [**Lighthouse 6.0: What's New** blog post](https://web.dev/lighthouse-whats-new-6.0/) for an in-depth look. ## πŸ†• New audits * [Largest Contentful Paint](https://web.dev/lighthouse-largest-contentful-paint/) (LCP) is a new metric that measures the time from navigation until the largest content element in the viewport is rendered ([#9905](https://github.com/GoogleChrome/lighthouse/pull/9905), [#10213](https://github.com/GoogleChrome/lighthouse/pull/10213), [#10452](https://github.com/GoogleChrome/lighthouse/pull/10452), [#10529](https://github.com/GoogleChrome/lighthouse/pull/10529)). - `largest-contentful-paint-element` is a companion audit that gives information about which element triggered the LCP ([#10517](https://github.com/GoogleChrome/lighthouse/pull/10517), [#10713](https://github.com/GoogleChrome/lighthouse/pull/10713)). * [Cumulative Layout Shift](https://web.dev/cls/) (CLS) is a new metric that measures the amount of unexpected movement of content as a page loads ([#9037](https://github.com/GoogleChrome/lighthouse/pull/9037), [#10427](https://github.com/GoogleChrome/lighthouse/pull/10427), [#10495](https://github.com/GoogleChrome/lighthouse/pull/10495), [#10570](https://github.com/GoogleChrome/lighthouse/pull/10570), [#10728](https://github.com/GoogleChrome/lighthouse/pull/10728)). - `layout-shift-elements` is another companion diagnostic that gives information about the elements that shifted as the page loaded ([#10702](https://github.com/GoogleChrome/lighthouse/pull/10702)). * `unused-javascript` is an audit that has been kicking around for some time but is only now turned on by default. It accounts for what JavaScript was loaded but never executed during page load and estimates the load time that could be saved via code splitting, dead code elimination, or judicious use of the delete key ([#9854](https://github.com/GoogleChrome/lighthouse/pull/9854)). * A PWA [`maskable-icon`](https://web.dev/maskable-icon-audit/) just looks better on your homescreen, so this new audit encourages you to have at least one available in your manifest ([#10370](https://github.com/GoogleChrome/lighthouse/pull/10370)). * `timing-budget` expands [budget assertions](https://github.com/GoogleChrome/lighthouse/blob/7e4fa55/docs/performance-budgets.md) to now be settable on all the performance metrics ([#9901](https://github.com/GoogleChrome/lighthouse/pull/9901), [#9925](https://github.com/GoogleChrome/lighthouse/pull/9925)). * The new [`charset`](https://web.dev/charset) audit ensures a proper character encoding for page content ([#10284](https://github.com/GoogleChrome/lighthouse/pull/10284), [#10389](https://github.com/GoogleChrome/lighthouse/pull/10389), [#10689](https://github.com/GoogleChrome/lighthouse/pull/10689)). * `image-size-responsive` checks that images have an aspect ratio and resolution that match well with how they are displayed on a page ([#10460](https://github.com/GoogleChrome/lighthouse/pull/10460)). * Updating to the latest version of `axe-core` has unlocked a number of new accessibility audits: [`aria-hidden-body`](https://web.dev/aria-hidden-body/), [`aria-hidden-focus`](https://web.dev/aria-hidden-focus/), [`aria-input-field-name`](https://web.dev/aria-input-field-name/), [`aria-toggle-field-name`](https://web.dev/aria-toggle-field-name/), [`duplicate-id-active`](https://web.dev/duplicate-id-active/), [`duplicate-id-aria`](https://web.dev/duplicate-id-aria/), [`form-field-multiple-labels`](https://web.dev/form-field-multiple-labels/), [`heading-order`](https://web.dev/heading-order/) ([#9798](https://github.com/GoogleChrome/lighthouse/pull/9798)). ## βš—οΈ Experimental audits These audits are not yet part of the default Lighthouse experience, but they will provide performance advice based on analysis of a page's JavaScript bundles. They can be tested today on the command line with the `--preset=experimental` flag. * `legacy-javascript` rummages through your bundles looking for polyfills and bundler transforms that aren't necessary or are outdated ([#10303](https://github.com/GoogleChrome/lighthouse/pull/10303), [#10568](https://github.com/GoogleChrome/lighthouse/pull/10568), [#10564](https://github.com/GoogleChrome/lighthouse/pull/10564)). * `duplicated-javascript` also takes a dive through a page's JavaScript looking for code that has ended up duplicated within bundles or across multiple bundles ([#10314](https://github.com/GoogleChrome/lighthouse/pull/10314)). * `unused-javascript` now runs by default (as mentioned above), but when run under `experimental`, the audit can use source maps to show what _original_ source code was never run and could be postponed or eliminated ([#10090](https://github.com/GoogleChrome/lighthouse/pull/10090)). ## New contributors! Thanks to @TGiles, @roelfjan, @chruxin, @warrengm, @alexgreencode, @mikedijkstra, @egsweeny, @johnsampson, @jazyan, @b3none, @mattjared, @Malvoz, @Beytoven, @Munter, @jayaddison, @msomji, @piotrzarycki, @awdltd, @mathiasbynens, @Carr1005, @staabm, @SphinxKnight, @sk-, @AndreasKubasa, @jantimon, @kmanuel, @Kikobeats, @RolandBurrows, @nxqamar, @catalinred, and @baseeee for their first contributions! So many! ## πŸ’₯ Breaking changes * Performance metric scores [have been reweighted](https://web.dev/performance-scoring/) to better reflect a user's loading experience ([#9949](https://github.com/GoogleChrome/lighthouse/pull/9949)). * Metric score curves have been updated when running a desktop Lighthouse test to account for the faster connection and CPU ([#9911](https://github.com/GoogleChrome/lighthouse/pull/9911), [#10756](https://github.com/GoogleChrome/lighthouse/pull/10756)). * `frameNavigated` events are now used to track redirects, which means JS redirects are now accounted for when determining the run's `finalUrl` ([#10339](https://github.com/GoogleChrome/lighthouse/pull/10339)). * The emulated mobile device has moved from the Nexus 5x to the Moto G4 (but the existing DPR has been left unchanged) ([#10191](https://github.com/GoogleChrome/lighthouse/pull/10191), [#10749](https://github.com/GoogleChrome/lighthouse/pull/10749)). * The `mixed-content` preset has been removed as it was not widely used and takes too long to be added to the default Lighthouse experience ([#10159](https://github.com/GoogleChrome/lighthouse/pull/10159), [#10750](https://github.com/GoogleChrome/lighthouse/pull/10750)). * The `full` preset has been renamed `experimental` to signify that the code there may not be ready for running by default ([#9930](https://github.com/GoogleChrome/lighthouse/pull/9930), [#10311](https://github.com/GoogleChrome/lighthouse/pull/10311), [#10333](https://github.com/GoogleChrome/lighthouse/pull/10333), [#10585](https://github.com/GoogleChrome/lighthouse/pull/10585)). * The emulated Chrome UA string has been updated to Chrome 80 ([#9967](https://github.com/GoogleChrome/lighthouse/pull/9967)). * `installable-manifest`: icons in the Web app manifest must be fetchable to be considered installable ([#10168](https://github.com/GoogleChrome/lighthouse/pull/10168), [#10320](https://github.com/GoogleChrome/lighthouse/pull/10320)) ## πŸ€–πŸ’₯ Breaking Changes for programmatic users These changes are unlikely to affect end users, but may be important if you are writing custom configs, plugins, or processing the Lighthouse JSON output. * `LH.Audit.Context` passed into audits is now treated as immutable. If code previously pushed to `context.LighthouseRunWarnings` to get a top-level warning, it should now pass that back in `runWarnings` on the audit's product ([#10555](https://github.com/GoogleChrome/lighthouse/pull/10555)). * `Audit.computeLogNormalScore` has been redefined to specify log-normal curves with median and p10 points (dropping the "point of diminishing returns"). Existing audits have been moved to this new definition so that no score changes should occur ([#10715](https://github.com/GoogleChrome/lighthouse/pull/10715)). * A `loadFailureMode` setting has been added to `Config` passes to control behavior in case of page load failure. Previously this was implicitly controlled (e.g. no offline page available did not cause an error) ([#9987](https://github.com/GoogleChrome/lighthouse/pull/9987)) * `time-to-first-byte` has been renamed `server-response-time` to better reflect what is being measured by the audit ([#10735](https://github.com/GoogleChrome/lighthouse/pull/10735)). * `resource-summary`: `details.items.size` has been renamed to `transferSize` for clarity ([#10700](https://github.com/GoogleChrome/lighthouse/pull/10700), [#10743](https://github.com/GoogleChrome/lighthouse/pull/10743)). ## 🧱 Core ### Improvements, bug fixes, clarifications The following changes are considered to be bug fixes or updates to better match what was intended to be audited, but the changes may cause adjustments in audit scores or behavior. * add top-level warning if Lighthouse hit a timeout before load was complete ([#10538](https://github.com/GoogleChrome/lighthouse/pull/10538)) * add top-level warning if tested URL was redirected ([#10157](https://github.com/GoogleChrome/lighthouse/pull/10157)) * FCP + 5 seconds is now included as a minimum time that must be reached before the test page is considered loaded ([#10505](https://github.com/GoogleChrome/lighthouse/pull/10505), [#10516](https://github.com/GoogleChrome/lighthouse/pull/10516)) * load simulation: add edges from `initiatorRequest` when there are duplicate records ([#10097](https://github.com/GoogleChrome/lighthouse/pull/10097)) * load simulation: keep first layout/paint/parse events regardless of duration ([#9922](https://github.com/GoogleChrome/lighthouse/pull/9922)) * load simulation: do not create self-dependencies via timers ([#10280](https://github.com/GoogleChrome/lighthouse/pull/10280)) * load simulation: remove min task duration on CPU nodes ([#9910](https://github.com/GoogleChrome/lighthouse/pull/9910)) * load simulation: use fixed times for data URLs since they've already been loaded ([#9932](https://github.com/GoogleChrome/lighthouse/pull/9932)) * load simulation: link layout nodes to root frame request ([#9727](https://github.com/GoogleChrome/lighthouse/pull/9727)) * tracehouse: improved attribution for XHRs + paint/layout/HTML ([#10001](https://github.com/GoogleChrome/lighthouse/pull/10001)) * `offscreen-images`: look outside three viewports for possible images to defer ([#10643](https://github.com/GoogleChrome/lighthouse/pull/10643)) * `uses-responsive-images`: include offscreen images larger than viewport ([#10506](https://github.com/GoogleChrome/lighthouse/pull/10506), [#10561](https://github.com/GoogleChrome/lighthouse/pull/10561)) * `accessibility`: include `axe-core` ['incomplete'](https://github.com/dequelabs/axe-core/blob/ffa666972d2c82fe198c76a3491988def64769ee/doc/rule-development.md#check-properties) results in artifact to include even partial a11y results ([#10072](https://github.com/GoogleChrome/lighthouse/pull/10072), [#10270](https://github.com/GoogleChrome/lighthouse/pull/10270)) * `audio-caption`: remove check that has been disabled by `axe-core` ([#10453](https://github.com/GoogleChrome/lighthouse/pull/10453)) * `link-text`: Add more keywords to blocklist ([#9986](https://github.com/GoogleChrome/lighthouse/pull/9986)) * `font-size`: don't allow a deleted node to fail gatherer ([#9928](https://github.com/GoogleChrome/lighthouse/pull/9928)) * `installable-manifest`: lower required icon size from 192px to 144px ([#10175](https://github.com/GoogleChrome/lighthouse/pull/10175)) * `is-on-https`: add `filesystem` to secure schemes ([#10073](https://github.com/GoogleChrome/lighthouse/pull/10073)) * `offscreen-images`: exclude `lazy` or `eager` `loading` images ([#10117](https://github.com/GoogleChrome/lighthouse/pull/10117)) * `resource-summary`: don't include favicon.ico in summary ([#10190](https://github.com/GoogleChrome/lighthouse/pull/10190)) * `uses-rel-preconnect`: warn if more than three preconnects found ([#9903](https://github.com/GoogleChrome/lighthouse/pull/9903), [#10293](https://github.com/GoogleChrome/lighthouse/pull/10293)) * `third-party-summary`: don't include main resource if origin in third-party list ([#10006](https://github.com/GoogleChrome/lighthouse/pull/10006)) * `js-lib-detector`: handle new fast lib detection entries, version heterogeneity ([#9888](https://github.com/GoogleChrome/lighthouse/pull/9888), [#10295](https://github.com/GoogleChrome/lighthouse/pull/10295), [#10176](https://github.com/GoogleChrome/lighthouse/pull/10176)) * `is-on-https`: update description to reference mixed content ([#10712](https://github.com/GoogleChrome/lighthouse/pull/10712)) * `definition-list`: mention `
` is allowed to group content in `
` ([#10479](https://github.com/GoogleChrome/lighthouse/pull/10479)) * `offline-start-url`: improve failure messages ([#9982](https://github.com/GoogleChrome/lighthouse/pull/9982)) * update and fix links to docs in audit and stack-pack descriptions ([#9850](https://github.com/GoogleChrome/lighthouse/pull/9850), [#9863](https://github.com/GoogleChrome/lighthouse/pull/9863), [#10019](https://github.com/GoogleChrome/lighthouse/pull/10019), [#10069](https://github.com/GoogleChrome/lighthouse/pull/10069), [#10246](https://github.com/GoogleChrome/lighthouse/pull/10246), [#10496](https://github.com/GoogleChrome/lighthouse/pull/10496), [#10714](https://github.com/GoogleChrome/lighthouse/pull/10714)) ### New things for programmatic users * audit results now have a `numericUnit` property to specify the units for their `numericResult` ([#9979](https://github.com/GoogleChrome/lighthouse/pull/9979)) * `ImageElements`: add `usesPixelArtScaling` and `usesSrcSetDensityDescriptor` properties ([#10481](https://github.com/GoogleChrome/lighthouse/pull/10481)) * `MetaElements`: include `property` attribute ([#9978](https://github.com/GoogleChrome/lighthouse/pull/9978)) * add new base artifact `HostFormFactor` ([#9923](https://github.com/GoogleChrome/lighthouse/pull/9923)) * refactor to share `unused-javascript-summary` as a computed artifact ([#10387](https://github.com/GoogleChrome/lighthouse/pull/10387), [#10634](https://github.com/GoogleChrome/lighthouse/pull/10634)) * add new source-map computed artifact, `js-bundles` ([#10078](https://github.com/GoogleChrome/lighthouse/pull/10078)) * refactor to share `unused-css` as a computed artifact ([#10160](https://github.com/GoogleChrome/lighthouse/pull/10160)) * refactor to share metric timing as a computed artifact ([#9814](https://github.com/GoogleChrome/lighthouse/pull/9814)) * budgets: add support for CLS and LCP budgets ([#10579](https://github.com/GoogleChrome/lighthouse/pull/10579), [#10625](https://github.com/GoogleChrome/lighthouse/pull/10625)) * budgets: add `firstPartyHostnames` to the API ([#10105](https://github.com/GoogleChrome/lighthouse/pull/10105), [#10324](https://github.com/GoogleChrome/lighthouse/pull/10324)) * budgets: remove unused `tolerance` property from API ([#9770](https://github.com/GoogleChrome/lighthouse/pull/9770)) ### Internal refactors and improvements * ensure `axe-core` errors are properly serialized ([#10646](https://github.com/GoogleChrome/lighthouse/pull/10646)) * cleanup of `audit-details` type names ([#10603](https://github.com/GoogleChrome/lighthouse/pull/10603)) * include `finished` state on hidden `network-requests` audit ([#10530](https://github.com/GoogleChrome/lighthouse/pull/10530)) * fetch source maps outside of test page so not blocked by CORS ([#9459](https://github.com/GoogleChrome/lighthouse/pull/9459)) * `driver`: dead code cleanup ([#10491](https://github.com/GoogleChrome/lighthouse/pull/10491), [#10571](https://github.com/GoogleChrome/lighthouse/pull/10571)) * add internal-only `__internalOptionalArtifacts` for experimental artifacts ([#10355](https://github.com/GoogleChrome/lighthouse/pull/10355)) * `font-size`: use `DOMSnapshot.captureSnapshot` for better performance ([#10200](https://github.com/GoogleChrome/lighthouse/pull/10200)) * use isolated `evaluateAsync` when fetching content from the test page ([#10130](https://github.com/GoogleChrome/lighthouse/pull/10130)) * budgets: centralize path-matching logic ([#9895](https://github.com/GoogleChrome/lighthouse/pull/9895)) * `script-elements`: fetch script content in parallel ([#9713](https://github.com/GoogleChrome/lighthouse/pull/9713)) * include `GatherRunner.runPass` in internal perf timing numbers ([#10205](https://github.com/GoogleChrome/lighthouse/pull/10205)) * rename `GatherRunner.isPerfPass` for clarity ([#9896](https://github.com/GoogleChrome/lighthouse/pull/9896)) * migrate to flattened Chrome DevTools Protocol ([#9783](https://github.com/GoogleChrome/lighthouse/pull/9783)) ## πŸ’» CLI * add support for multiple `--chrome-flags` ([#10607](https://github.com/GoogleChrome/lighthouse/pull/10607)) * allow comma-separated values for `--output` ([#10188](https://github.com/GoogleChrome/lighthouse/pull/10188)) * add `--chrome-ignore-default-flags` ([#10184](https://github.com/GoogleChrome/lighthouse/pull/10184)) * allow `--extra-headers` as object ([#9962](https://github.com/GoogleChrome/lighthouse/pull/9962)) ## πŸ“” Report * add "Trust and Safety" group in the Best Practices category ([#10623](https://github.com/GoogleChrome/lighthouse/pull/10623)) * add link to score calculator populated with current metric scores ([#10754](https://github.com/GoogleChrome/lighthouse/pull/10754), [#10763](https://github.com/GoogleChrome/lighthouse/pull/10763), [#10773](https://github.com/GoogleChrome/lighthouse/pull/10773), [#10767](https://github.com/GoogleChrome/lighthouse/pull/10767)) * improve display of top-level warnings ([#10636](https://github.com/GoogleChrome/lighthouse/pull/10636), [#10765](https://github.com/GoogleChrome/lighthouse/pull/10765)) * `external-anchors-use-rel-noopener`: use `node` audit details type ([#10242](https://github.com/GoogleChrome/lighthouse/pull/10242)) * `is-crawlable`: include `robots.txt` line number that blocks crawling ([#10154](https://github.com/GoogleChrome/lighthouse/pull/10154)) * temporary test of css grid for metrics ([#10695](https://github.com/GoogleChrome/lighthouse/pull/10695), [#10778](https://github.com/GoogleChrome/lighthouse/pull/10778)) * define monospace `font-size` relative to `report-font-size` ([#10761](https://github.com/GoogleChrome/lighthouse/pull/10761)) * link to updated scoring documentation ([#10725](https://github.com/GoogleChrome/lighthouse/pull/10725)) * add non-`null` jsdoc type annotations for internal linter ([#10454](https://github.com/GoogleChrome/lighthouse/pull/10454)) * clarify "size" as either transfer or resource size ([#10420](https://github.com/GoogleChrome/lighthouse/pull/10420)) * update table and inline code formatting ([#10437](https://github.com/GoogleChrome/lighthouse/pull/10437)) * fix link contrast in dark mode ([#10364](https://github.com/GoogleChrome/lighthouse/pull/10364)) * add `channel` to runtime settings ([#10099](https://github.com/GoogleChrome/lighthouse/pull/10099)) * align audit warnings ([#10232](https://github.com/GoogleChrome/lighthouse/pull/10232)) * close drop-down menu when focus is lost ([#10208](https://github.com/GoogleChrome/lighthouse/pull/10208)) * hide drop-down menu when printing ([#10216](https://github.com/GoogleChrome/lighthouse/pull/10216)) * move `Util.UIStrings` to `Util.i18n` ([#10153](https://github.com/GoogleChrome/lighthouse/pull/10153)) * add initial support for subrows within a table ([#10084](https://github.com/GoogleChrome/lighthouse/pull/10084)) * adjust score gauge's arc length to account for rounded linecap ([#9913](https://github.com/GoogleChrome/lighthouse/pull/9913)) * fix header-shifting flicker during scrolling ([#9955](https://github.com/GoogleChrome/lighthouse/pull/9955)) * add `source-location` details for linking to source code ([#9354](https://github.com/GoogleChrome/lighthouse/pull/9354)) * CSV report: add tested URLs to entries ([#10656](https://github.com/GoogleChrome/lighthouse/pull/10656), [#10675](https://github.com/GoogleChrome/lighthouse/pull/10675)) * viewer: add option for loading JSON from any URL ([#10608](https://github.com/GoogleChrome/lighthouse/pull/10608)) * viewer: mention other lighthouse channels ([#10384](https://github.com/GoogleChrome/lighthouse/pull/10384)) * viewer: add page and cursor styling to signal loading ([#10305](https://github.com/GoogleChrome/lighthouse/pull/10305), [#10348](https://github.com/GoogleChrome/lighthouse/pull/10348)) * viewer: use new logo ([#9991](https://github.com/GoogleChrome/lighthouse/pull/9991), [#9999](https://github.com/GoogleChrome/lighthouse/pull/9999), [#10002](https://github.com/GoogleChrome/lighthouse/pull/10002)) ## πŸ‘₯ Clients * retire extension; replace with PSI launcher ([#9193](https://github.com/GoogleChrome/lighthouse/pull/9193), [#9988](https://github.com/GoogleChrome/lighthouse/pull/9988), [#9989](https://github.com/GoogleChrome/lighthouse/pull/9989)) * extension: add firefox support ([#10332](https://github.com/GoogleChrome/lighthouse/pull/10332)) * extension: remove content security policy ([#10380](https://github.com/GoogleChrome/lighthouse/pull/10380)) * devtools: share desktop throttling settings with lightrider ([#10322](https://github.com/GoogleChrome/lighthouse/pull/10322)) * devtools: split up `runLighthouseInWorker` and expose to worker ([#10005](https://github.com/GoogleChrome/lighthouse/pull/10005)) * devtools: add `settings.internalDisableDeviceScreenEmulation` ([#9377](https://github.com/GoogleChrome/lighthouse/pull/9377)) * devtools: include `lighthouse-plugin-publisher-ads` in bundle ([#9924](https://github.com/GoogleChrome/lighthouse/pull/9924), [#10583](https://github.com/GoogleChrome/lighthouse/pull/10583), [#10682](https://github.com/GoogleChrome/lighthouse/pull/10682)) * devtools: update `roll-to-devtools` and track upstream changes ([#9942](https://github.com/GoogleChrome/lighthouse/pull/9942), [#10310](https://github.com/GoogleChrome/lighthouse/pull/10310), [#10036](https://github.com/GoogleChrome/lighthouse/pull/10036), [#10758](https://github.com/GoogleChrome/lighthouse/pull/10758), [#10762](https://github.com/GoogleChrome/lighthouse/pull/10762)) ## 🌍 i18n * new strings: audits, stack packs, headings, and corrections ([#9940](https://github.com/GoogleChrome/lighthouse/pull/9940), [#10244](https://github.com/GoogleChrome/lighthouse/pull/10244), [#10245](https://github.com/GoogleChrome/lighthouse/pull/10245), [#10645](https://github.com/GoogleChrome/lighthouse/pull/10645)) * localize runtime settings and tools in report ([#9166](https://github.com/GoogleChrome/lighthouse/pull/9166)) * don't give unused arguments for localized protocol errors ([#9935](https://github.com/GoogleChrome/lighthouse/pull/9935)) * use `log.verbose()` for outdated-strings warning ([#9931](https://github.com/GoogleChrome/lighthouse/pull/9931)) * centralize strings for metric names ([#9871](https://github.com/GoogleChrome/lighthouse/pull/9871)) ## Docs * plugins: update recipe and docs to use `NODE_PATH` ([#9997](https://github.com/GoogleChrome/lighthouse/pull/9997), [#10028](https://github.com/GoogleChrome/lighthouse/pull/10028)) * plugins: update example list ([#9917](https://github.com/GoogleChrome/lighthouse/pull/9917)) * scoring: update for v6, defer to web.dev for performance ([#10223](https://github.com/GoogleChrome/lighthouse/pull/10223), [#10633](https://github.com/GoogleChrome/lighthouse/pull/10633), [#10676](https://github.com/GoogleChrome/lighthouse/pull/10676)) * lantern: add deep-dive video ([#10546](https://github.com/GoogleChrome/lighthouse/pull/10546)) * new-audits: emphasize what makes a good audit ([#10376](https://github.com/GoogleChrome/lighthouse/pull/10376)) * hacking-tips: link to gist on using audit results directly ([#10480](https://github.com/GoogleChrome/lighthouse/pull/10480)) * variability: expand on hardware recommendations ([#10483](https://github.com/GoogleChrome/lighthouse/pull/10483)) * throttling: add devtools-throttling deprecation notice ([#9933](https://github.com/GoogleChrome/lighthouse/pull/9933)) * auth: use `--disable-storage-reset` in recipe ([#10189](https://github.com/GoogleChrome/lighthouse/pull/10189)) * tweak authenticated-pages and puppeteer docs ([#10277](https://github.com/GoogleChrome/lighthouse/pull/10277)) * add integration-test recipe for using Lighthouse and Jest ([#9722](https://github.com/GoogleChrome/lighthouse/pull/9722)) * add performance-budgets doc ([#10542](https://github.com/GoogleChrome/lighthouse/pull/10542)) * add recipe for using puppeteer in a custom gatherer ([#10253](https://github.com/GoogleChrome/lighthouse/pull/10253), [#10447](https://github.com/GoogleChrome/lighthouse/pull/10447)) * add readme for `build/` directory ([#10004](https://github.com/GoogleChrome/lighthouse/pull/10004)) * readme: add variability and throttling to FAQ ([#10631](https://github.com/GoogleChrome/lighthouse/pull/10631)) * readme: add a table of contents ([#10283](https://github.com/GoogleChrome/lighthouse/pull/10283)) * readme: add note about `yarn test-docs` ([#10263](https://github.com/GoogleChrome/lighthouse/pull/10263)) * readme: fix typos ([#10179](https://github.com/GoogleChrome/lighthouse/pull/10179), [#10694](https://github.com/GoogleChrome/lighthouse/pull/10694)) * readme: add protobuf install directions ([#10250](https://github.com/GoogleChrome/lighthouse/pull/10250)) * readme: separate free and paid integrations ([#10027](https://github.com/GoogleChrome/lighthouse/pull/10027)) * readme: add new and updated integrations ([#9954](https://github.com/GoogleChrome/lighthouse/pull/9954), [#9984](https://github.com/GoogleChrome/lighthouse/pull/9984), [#10018](https://github.com/GoogleChrome/lighthouse/pull/10018), [#9985](https://github.com/GoogleChrome/lighthouse/pull/9985), [#10156](https://github.com/GoogleChrome/lighthouse/pull/10156), [#9836](https://github.com/GoogleChrome/lighthouse/pull/9836), [#10385](https://github.com/GoogleChrome/lighthouse/pull/10385), [#10466](https://github.com/GoogleChrome/lighthouse/pull/10466), [#10475](https://github.com/GoogleChrome/lighthouse/pull/10475), [#10609](https://github.com/GoogleChrome/lighthouse/pull/10609), [#10745](https://github.com/GoogleChrome/lighthouse/pull/10745)) ## Tests * remove protobuf roundtrip check (and local protobuf dev requirement) from `yarn update:sample-json` ([#10557](https://github.com/GoogleChrome/lighthouse/pull/10557), [#10661](https://github.com/GoogleChrome/lighthouse/pull/10661)) * run CI tests on new github action ([#10418](https://github.com/GoogleChrome/lighthouse/pull/10418), [#10551](https://github.com/GoogleChrome/lighthouse/pull/10551), [#10620](https://github.com/GoogleChrome/lighthouse/pull/10620), [#10622](https://github.com/GoogleChrome/lighthouse/pull/10622), [#10627](https://github.com/GoogleChrome/lighthouse/pull/10627)) * report to buildtracker on commit via CI github action ([#10550](https://github.com/GoogleChrome/lighthouse/pull/10550), [#10718](https://github.com/GoogleChrome/lighthouse/pull/10718)) * lantern: update golden trace collection script and recollect them ([#9662](https://github.com/GoogleChrome/lighthouse/pull/9662), [#10129](https://github.com/GoogleChrome/lighthouse/pull/10129), [#10209](https://github.com/GoogleChrome/lighthouse/pull/10209), [#10279](https://github.com/GoogleChrome/lighthouse/pull/10279), [#10663](https://github.com/GoogleChrome/lighthouse/pull/10663)) * smokehouse: refactor to be able to integration test all lighthouse clients ([#9843](https://github.com/GoogleChrome/lighthouse/pull/9843), [#10158](https://github.com/GoogleChrome/lighthouse/pull/10158)) * smokehouse: add `bundle.js` runner for driving bundled lighthouse tests ([#9943](https://github.com/GoogleChrome/lighthouse/pull/9943)) * bundle smokehouse + `bundle.js` runner + bundled lighthouse for integration testing in a browser ([#9873](https://github.com/GoogleChrome/lighthouse/pull/9873), [#10727](https://github.com/GoogleChrome/lighthouse/pull/10727)) * smokehouse: use ranges for some expectations to work in varying environments ([#10227](https://github.com/GoogleChrome/lighthouse/pull/10227), [#10473](https://github.com/GoogleChrome/lighthouse/pull/10473)) * smokehouse: add `static-server` hook to modify response body ([#9872](https://github.com/GoogleChrome/lighthouse/pull/9872)) * smokehouse: adjust expectation handling and logging for compatibility ([#10361](https://github.com/GoogleChrome/lighthouse/pull/10361)) * smokehouse: commit copy of `pwa.rocks` for testing ([#10648](https://github.com/GoogleChrome/lighthouse/pull/10648)) * add type checking to `driver-test` ([#10135](https://github.com/GoogleChrome/lighthouse/pull/10135), [#10123](https://github.com/GoogleChrome/lighthouse/pull/10123)) * add type checking to `gather-runner-test` ([#10136](https://github.com/GoogleChrome/lighthouse/pull/10136), [#10215](https://github.com/GoogleChrome/lighthouse/pull/10215), [#10230](https://github.com/GoogleChrome/lighthouse/pull/10230)) * fix `i18n-test.js` bugs in Node 13 ([#10595](https://github.com/GoogleChrome/lighthouse/pull/10595)) * i18n: add check of locale files for strings that are probably wrong ([#9847](https://github.com/GoogleChrome/lighthouse/pull/9847)) * use `assert` in strict assertion mode ([#10606](https://github.com/GoogleChrome/lighthouse/pull/10606), [#10733](https://github.com/GoogleChrome/lighthouse/pull/10733)) * `report-ui-features`: add tests and remove interdependencies ([#10199](https://github.com/GoogleChrome/lighthouse/pull/10199), [#10201](https://github.com/GoogleChrome/lighthouse/pull/10201)) * update `coveragePathIgnore` jest configuration ([#10448](https://github.com/GoogleChrome/lighthouse/pull/10448)) * `speedline`: remove flaky test ([#10181](https://github.com/GoogleChrome/lighthouse/pull/10181)) * remove `global.URL` for jsdom tests ([#10186](https://github.com/GoogleChrome/lighthouse/pull/10186)) * viewer-test: don't override `puppeteer`'s chromium ([#9877](https://github.com/GoogleChrome/lighthouse/pull/9877)) * fix appveyor cache failures ([#10281](https://github.com/GoogleChrome/lighthouse/pull/10281)) * use lighthouse tarball for recipe tests ([#10254](https://github.com/GoogleChrome/lighthouse/pull/10254)) * stage viewer per PR with `yarn now-build` ([#10151](https://github.com/GoogleChrome/lighthouse/pull/10151)) ## Misc * update license headers to credit `Lighthouse Authors` ([#10469](https://github.com/GoogleChrome/lighthouse/pull/10469)) * add `timings-data/` to `.npmignore` ([#10584](https://github.com/GoogleChrome/lighthouse/pull/10584)) * update commitlint config to latest, loosen subject-case ([#10371](https://github.com/GoogleChrome/lighthouse/pull/10371)) * tweak `CODEOWNERS` for codereview assignment ([#10265](https://github.com/GoogleChrome/lighthouse/pull/10265), [#10274](https://github.com/GoogleChrome/lighthouse/pull/10274), [#10282](https://github.com/GoogleChrome/lighthouse/pull/10282)) * release script push tag ([#10193](https://github.com/GoogleChrome/lighthouse/pull/10193)) * add a `bump-versions.js` release script ([#9998](https://github.com/GoogleChrome/lighthouse/pull/9998)) * add comment about minimum chrome version for LCP ([#9889](https://github.com/GoogleChrome/lighthouse/pull/9889)) * update changelog order and add chrome note placeholder ([#9859](https://github.com/GoogleChrome/lighthouse/pull/9859)) * add `.mailmap` file ([#10766](https://github.com/GoogleChrome/lighthouse/pull/10766)) * add chrome version field to bug report template ([#9866](https://github.com/GoogleChrome/lighthouse/pull/9866)) * upgrade Lighthouse CI dogfood script ([#9879](https://github.com/GoogleChrome/lighthouse/pull/9879), [#9951](https://github.com/GoogleChrome/lighthouse/pull/9951), [#9972](https://github.com/GoogleChrome/lighthouse/pull/9972), [#10482](https://github.com/GoogleChrome/lighthouse/pull/10482)) * updates and new features for internal `compare-runs` script ([#10296](https://github.com/GoogleChrome/lighthouse/pull/10296), [#10519](https://github.com/GoogleChrome/lighthouse/pull/10519), [#10526](https://github.com/GoogleChrome/lighthouse/pull/10526), [#10652](https://github.com/GoogleChrome/lighthouse/pull/10652)) * add `git3po` scripts for managing Github issues and PRs ([#10231](https://github.com/GoogleChrome/lighthouse/pull/10231), [#10266](https://github.com/GoogleChrome/lighthouse/pull/10266), [#10255](https://github.com/GoogleChrome/lighthouse/pull/10255), [#10271](https://github.com/GoogleChrome/lighthouse/pull/10271), [#10338](https://github.com/GoogleChrome/lighthouse/pull/10338), [#10256](https://github.com/GoogleChrome/lighthouse/pull/10256), [#10304](https://github.com/GoogleChrome/lighthouse/pull/10304), [#10658](https://github.com/GoogleChrome/lighthouse/pull/10658), [#10257](https://github.com/GoogleChrome/lighthouse/pull/10257)) ## Deps * `lighthouse-plugin-publisher-ads`: upgrade to 1.1.0-beta.0 ([#10544](https://github.com/GoogleChrome/lighthouse/pull/10544), [#10776](https://github.com/GoogleChrome/lighthouse/pull/10776)) * `chrome-launcher`: upgrade to 0.13.2 ([#9904](https://github.com/GoogleChrome/lighthouse/pull/9904), [#10535](https://github.com/GoogleChrome/lighthouse/pull/10535), [#10724](https://github.com/GoogleChrome/lighthouse/pull/10724)) * `yargs-parser`: upgrade to 18.1.3 ([#10723](https://github.com/GoogleChrome/lighthouse/pull/10723)) * `third-party-web`: upgrade to 0.11.1 ([#10711](https://github.com/GoogleChrome/lighthouse/pull/10711)) * `axe-core`: upgrade to 3.5.3 ([#10056](https://github.com/GoogleChrome/lighthouse/pull/10056), [#10344](https://github.com/GoogleChrome/lighthouse/pull/10344), [#10637](https://github.com/GoogleChrome/lighthouse/pull/10637)) * `typescript`: upgrade to 3.8.3 ([#10461](https://github.com/GoogleChrome/lighthouse/pull/10461)) * `puppeteer`: upgrade to 1.20.0 ([#10275](https://github.com/GoogleChrome/lighthouse/pull/10275)) * `bundlesize`: upgrade to to 0.18.0 ([#10272](https://github.com/GoogleChrome/lighthouse/pull/10272)) * `devtools-protocol`: upgrade to 0.0.729809 ([#10207](https://github.com/GoogleChrome/lighthouse/pull/10207)) * check `angular` test fixture into repo ([#10086](https://github.com/GoogleChrome/lighthouse/pull/10086)) * remove `mkdirp` and `make-dir` for `fs.mkdir` ([#9858](https://github.com/GoogleChrome/lighthouse/pull/9858)) * update snyk snapshot ([#10771](https://github.com/GoogleChrome/lighthouse/pull/10771), [#10670](https://github.com/GoogleChrome/lighthouse/pull/10670), [#10621](https://github.com/GoogleChrome/lighthouse/pull/10621), [#10559](https://github.com/GoogleChrome/lighthouse/pull/10559), [#10066](https://github.com/GoogleChrome/lighthouse/pull/10066), [#9929](https://github.com/GoogleChrome/lighthouse/pull/9929), [#10531](https://github.com/GoogleChrome/lighthouse/pull/10531), [#10478](https://github.com/GoogleChrome/lighthouse/pull/10478), [#10423](https://github.com/GoogleChrome/lighthouse/pull/10423), [#10163](https://github.com/GoogleChrome/lighthouse/pull/10163), [#9965](https://github.com/GoogleChrome/lighthouse/pull/9965)) # 6.0.0-beta.0 (2020-03-11) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v5.6.0...v6.0.0-beta.0) This beta release will not ship in Chrome DevTools, but we'll ship the final 6.0 release. ## Notable Changes * Brand new metrics and performance score calculation (seeking feedback) * Lots more, complete release notes brewing.. See the [6.0.0 release notes](https://github.com/GoogleChrome/lighthouse/releases/tag/v6.0.0) for full changelog. # 5.6.0 (2019-10-17) [Full Changelog](https://github.com/googlechrome/lighthouse/compare/v5.5.0...v5.6.0) We expect this release to ship in the DevTools of Chrome 79. ## New contributors! Thanks to @dpacassi, @lirantal and @yeonjuan for their first contributions! ## Notable * gather: add new MainDocumentContent public artifact ([#9781](https://github.com/googlechrome/lighthouse/pull/9781)) * stack-packs: add angular, react, amp, and magento packs ([#9797](https://github.com/googlechrome/lighthouse/pull/9797)) ## Core * tracehouse: allow child to start <1ms before parent ([#9786](https://github.com/googlechrome/lighthouse/pull/9786)) * driver: fix error handling for Runtime.evaluate ([#9831](https://github.com/googlechrome/lighthouse/pull/9831)) * errors-in-console: add ignoredPatterns option ([#9480](https://github.com/googlechrome/lighthouse/pull/9480), [#9829](https://github.com/googlechrome/lighthouse/pull/9829)) * image-elements: cache naturalSize results ([#9818](https://github.com/googlechrome/lighthouse/pull/9818)) * link-elements: ignore non-HTMLLinkElements ([#9765](https://github.com/googlechrome/lighthouse/pull/9765)) * optimized-images: log errors ([#9782](https://github.com/googlechrome/lighthouse/pull/9782)) * seo: support korean in link-text audit ([#9804](https://github.com/googlechrome/lighthouse/pull/9804)) * tracehouse: allow nested trace events without an end ([#9785](https://github.com/googlechrome/lighthouse/pull/9785)) * rename Element to LHElement ([#9832](https://github.com/googlechrome/lighthouse/pull/9832)) ## Deps * update third-party-web to 0.11.0 ([#9849](https://github.com/googlechrome/lighthouse/pull/9849)) * snyk: update snyk snapshot ([#9793](https://github.com/googlechrome/lighthouse/pull/9793)) ## Report * rephrase titles for 3rdparty & crc ([#9419](https://github.com/googlechrome/lighthouse/pull/9419)) * rewrite dom-size description ([#9821](https://github.com/googlechrome/lighthouse/pull/9821)) * update logo in top bar ([#9728](https://github.com/googlechrome/lighthouse/pull/9728)) * remove some dead code ([#9800](https://github.com/googlechrome/lighthouse/pull/9800)) ## Clients * lr: don't include html report assets in bundle ([#9828](https://github.com/googlechrome/lighthouse/pull/9828)) * viewer: minify inlined report-generator bundle ([#9596](https://github.com/googlechrome/lighthouse/pull/9596)) ## I18n * import: web.dev links and small corrections ([#9846](https://github.com/googlechrome/lighthouse/pull/9846)) * import translations ([#9802](https://github.com/googlechrome/lighthouse/pull/9802)) ## Docs * related-projects: add lighthouse-check ([#9753](https://github.com/googlechrome/lighthouse/pull/9753)) * related-projects: add the is-website-vulnerable CLI tool ([#9810](https://github.com/googlechrome/lighthouse/pull/9810)) * related-projects: add the gradle lighthouse plugin ([#9789](https://github.com/googlechrome/lighthouse/pull/9789)) * document 'meaning' field in i18n readme ([#9787](https://github.com/googlechrome/lighthouse/pull/9787)) * update stale references to audits ([#9760](https://github.com/googlechrome/lighthouse/pull/9760)) ## Tests * use firehouse smoke test runner to test bundle ([#9791](https://github.com/googlechrome/lighthouse/pull/9791)) * attempt bundle test three times in CI ([#9830](https://github.com/googlechrome/lighthouse/pull/9830)) * smokehouse: fix tmp directory creation ([#9855](https://github.com/googlechrome/lighthouse/pull/9855)) * smokehouse: use static requires for test definitions ([#9501](https://github.com/googlechrome/lighthouse/pull/9501)) ## Misc * build: minify report javascript for lightrider report generator ([#9823](https://github.com/googlechrome/lighthouse/pull/9823)) * more releasing tweaks ([#9772](https://github.com/googlechrome/lighthouse/pull/9772)) * add compare-timings script ([#9723](https://github.com/googlechrome/lighthouse/pull/9723), [#9776](https://github.com/googlechrome/lighthouse/pull/9776)) # 5.5.0 (2019-10-02) ## Notable changes * Preliminary implementation of the [Largest Contentful Paint](https://web.dev/largest-contentful-paint) metric has landed (`devtools` and `provided` throttling only) and can be found in the hidden `metrics` audit in the raw LHR JSON ([#9706](https://github.com/googlechrome/lighthouse/pull/9706)) * The creation of main-thread tasks from a trace is now more robust. This should significantly reduce the occurrence of Issue [#7764](https://github.com/GoogleChrome/lighthouse/issues/7764), `"Fatal trace logic error - expected start event, got X"` ([#9491](https://github.com/googlechrome/lighthouse/pull/9491)) * ` tags when embedding raw results in the html page - #1003 ### Testing - Force `npm install` (for now) on Travis after [their change](https://github.com/travis-ci/travis-build/pull/895) to prefer yarn - #994 ### Docs - **readme:** new report screenshot - cb2ebfd ### Refactor - Unify CLI and extension implementations of debugger protocol error handling - #977 # 1.2.0 (2016-11-17) [full changelog](https://github.com/GoogleChrome/lighthouse/compare/1.1.7...1.2.0) ### New Contributors! @Bassoon08, @karanjthakkar, @chowse, @hsingh23, @olingern, and @patrickhulce ### Major Changes - Launch [DoBetterWeb](https://github.com/GoogleChrome/lighthouse#do-better-web) (DBW) audits and gatherers as part of default Lighthouse run - #917 - **Report:** Lighthouse report refactor and refresh - #926, #935 ### Improvements - Log errors in red, warnings in yellow - #860, #915 - **Audit:** Add DBW audit for Mutation Events - #786 - **Audit:** Add DBW audit for `` elements in head that block first paint - #892 - **Audit:** Add DBW audit for `rel=noopener` on external links - #912 - **Audit:** Make geolocation audit return error if permission already granted - #925 - **CLI:** Handle `--quiet` logging as silent - #881 - **Extension:** Add integrated 'Report Error' button with pre-populated data - #944 - **Gatherer:** Add support for collecting event listeners across all DOM nodes - #930 - **Report:** Remove excessive EIL percentiles from report - #851 - **Report:** Update TTI scoring label to 5000ms to match guidance - #947 - **Report:** Cleanup of event listener extended info display - #952 - **Report:** Group event listener extended info by call site location - #960 ### Bug Fixes - Restore log's status event payload - #883 - Ignore protocol error from defensive `DOM.disable` call - #895, #907 - Remove cache-contents gatherer from default config since currently no audit requires it - #900 - Enforce audit naming consistency in the config file and filenames - #914 - **Audit:** Handle error case from htmlwithoutjs gatherer and audit - #891 - **Audit:** Prevent attempts to parse script URLs when no URL was found - #893 - **Audit:** Don't include disabled ``s in link-blocking-first-paint audit - #911 - **Audit:** Handle undefined Accessibility violations array - #942 - **Audit:** Only create a manifest display debugString when there is an error - #954 - **Audit:** Look for non-async ``s and fix unit of time in link-blocking-first-paint audit - #963 - **CLI:** Add `main` field to CLI's package.json - #875 - **CLI:** Disable Chrome's Google Translate service during Lighthouse run - #897 - **CLI:** Disable Chrome's default Apps during Lighthouse run - #918 - **Driver:** Dedupe function call site entries on location, not stack trace - #958 - **Extension:** Properly filter the audits to run - #946 - **Gatherer:** Handle CSS parse errors in stylesheet gatherer - #906 - **Report:** Move `gt` handlebars helper to accessibility formatter - #929 - **Report:** Fix handlebars `and` helper to show `displayValue` in reports - #938 ### Testing - Add DBW to smokehouse tests - #843, #901 - Add script for bumping Travis to restart timing-out test runs - #913 - Fix Travis timeouts by rerunning with random Chrome debug ports - #922 ### Docs - **Audit:** Update EQT/EIL design doc links to latest docs - #923 - **Audit:** Fix no-datenow `helpText` typo - #955 - **Audit:** Update uses-passive-event-listeners `description` text - #956 - **readme:** Add DBW to readme - #863 - **readme:** Update development section with TypeScript info - #859 - **readme:** Document yarn install command - #939 ### Refactor - **Audit:** Rewrite geolocation-on-start audit to use DBW tooling and testing - #903 - **CLI:** Migrate `chrome-debug` binary to use internal Chrome launcher - #898 - **Report:** Refactor report generation to be blob based and simpler - #908 ### Dependencies - Yarn lock file cleanup - 3e9e88c ## 1.1.7 (2016-10-31) [full changelog](https://github.com/GoogleChrome/lighthouse/compare/1.1.6...1.1.7) ### Features - Add cpu throttling option (initially disabled by default) - #747 - Stop Lighthouse run if tabs with a shared Service Worker are found - #639 - Add Web Worker entry point to `lighthouse-background.js` - #803 - **Audit:** add DBW stylesheet gatherer and old flexbox audit - #767 - **Audit:** adopt [Perceptual Speed Index](http://www.parvez-ahammad.org/blog/perceptual-speed-index-psi-for-measuring-above-fold-visual-performance-of-webpages) - #785 - **Audit:** add DBW audit for passive event listeners - #830 - **CLI:** add support for using stable Google Chrome on MacOS - #782 ### Bug Fixes - Fix function call location from `driver.captureJSCallUsage` - #779 - Update `driver.captureFunctionCallSites` to use updated `driver.evaluateAsync` - #809 - Stop interpreting manifest parse errors as failure to fetch manifest - #823 - Update `npm run dbw` to use new emulation flags - #834 - Make network emulation numbers always integers - #839 - Trim `extendedInfo` returned from DBW http2 audit to prevent circular references - #842 - Navigate to about:blank before driver setup - #850 - Fix handling of errors from the debugging protocol - #853 - Stop spreading strings in `log` - #835 - Allow debugger protocol's `DOM` domain to be redundantly disabled - #861 - Remove tab `targetId` requirement for checking if other tabs will share a service worker - #852 - Consistently reject Promises with an `Error` - #862 - Don't throw an error in stylesheet gatherer if no stylesheets are found - #864 - **CLI:** Disable extension system in launched Chrome instance - #771 - **CLI:** make Chrome Launcher respect `--quiet` flag - #774 - **CLI:** use about:blank as initial URL - #776 - **CLI:** make HTML report have gitignorable filename - #790 - **CLI:** fix `outputMode` conditional - #846 - **CLI:** add warning if `tsc` has not been run before use - #857 - **Report:** fix pluralization of "resources" - #773 ### Testing - Add smokehouse, an end-to-end test runner, and use for smoke tests - #781, #788 - Run default smoke tests with full config - #801 - Add `prefer-const` eslint rule - #804 - Run well-known-PWA smokehouse tests in CI - #824 - Fix several eslint warnings - #831 - Test node v6 and v7 explicitly in CI - #832 - Add tests for `getLogNormalDistribution` and `getRiskToResponsiveness` on `TracingProcessor` - #806 ### Docs - **CLI:** clarify description of `--select-chrome` flag - #829 - **readme:** add basic instructions for custom audits/gatherers - 8d696af - **readme:** update module diagram - ee1dc0d - **readme:** add node debugging getting started tip - #807 - **readme:** add CLI TS development notes - #818 - **readme:** matching parentheses - #855 ### Refactor - Make [`web-inspector.js`](https://github.com/GoogleChrome/lighthouse/blob/694baf61d587eda360e89fde4bb17e6cd46fcbf0/lighthouse-core/lib/web-inspector.js) worker friendly - #795 - Migrate `driver.evaluateAsync` to `Runtime.evaluate(awaitPromise)` - #793 - Extract a `Connection` abstraction from driver - #800 - Create `connections/` directory for debugger protocol connection classes - #822 - **CLI:** convert CLI to typescript - #702 - **CLI:** split mobile emulation and network emulation into separate `--disable-device-emulation` and `--disable-network-throttling` flags - #747 - **CLI:** add more explicit TS typing - #825 - **Extension:** simplify reloading clean state at end of run - #813, #816 ### Dependencies - Bump speedline to 1.0.3 - #785 - Added [typescript](https://www.npmjs.com/package/typescript) - #702 - Removed [chrome-remote-interface](https://www.npmjs.com/package/chrome-remote-interface); added [ws](https://www.npmjs.com/package/ws) - #800 ## 1.1.6 (2016-10-12) * 1.1.6 ([f80e121](https://github.com/GoogleChrome/lighthouse/commit/f80e121)) * Add yarn.lock (#765) ([b44e69d](https://github.com/GoogleChrome/lighthouse/commit/b44e69d)) * Fix NaN% in CLI report (#763) ([a21ec65](https://github.com/GoogleChrome/lighthouse/commit/a21ec65)), closes [#763](https://github.com/GoogleChrome/lighthouse/issues/763) * Replace instances of 'not unfunctioning' with 'still functional' (#764) ([5476243](https://github.com/GoogleChrome/lighthouse/commit/5476243)) * Temporarily disable cache contains start_url audit in config (#766) ([f444703](https://github.com/GoogleChrome/lighthouse/commit/f444703)) * docs: favor installing stable package from npm instead of Github master ([4b8ef79](https://github.com/GoogleChrome/lighthouse/commit/4b8ef79)) * chore: tweak eslintignore. ([fde5452](https://github.com/GoogleChrome/lighthouse/commit/fde5452)) ## 1.1.5 (2016-10-10) [full changelog](https://github.com/GoogleChrome/lighthouse/compare/1.1.4...1.1.5) ### Features - Enable passing in a custom `pauseAfterLoad` option #697 - Wait until network has settled before considering page as loaded #714 - Support dynamic plugins in lighthouse config #730 - **Audit:** add DBW AppCache audit #681, #687 - **Audit:** add DBW WebSQL audit #691 - **Audit:** add DBW requests-should-be-over-h2 audit #700 - **Audit:** add DBW `Date.now()` -> `performance.now()` audit #707 - **Audit:** add DBW `console.time()` -> `performance.mark()` audit #712 - **Audit:** add DBW `document.write()` audit #716 - **CLI:** add `chrome-debug` binary to launch the debuggable standalone chrome #678 - **CLI:** reporter pretty formatting #682 - **CLI:** add `npm run dbw` to run DoBetterWeb audits #696 - **Extension:** print errors thrown from handlebars #731 - **Report:** add version number #673 - **Report:** add `helpText` associated with audit results #695 - **Report:** add version number on all report formats #749 - **Report:** tighter vertical whitespace in HTML report #754 - **Report:** add `generatedTime` property in json output #752 - **Report:** add toggle to display `helpText` #751 ### Bug Fixes - Remove old `auditWhitelist` argument #676 - Stop clearing cookies when run #717 - Allow updated speedline to display results for traces with fewer than three frames #745 - Sort trace events by timestamp before calculating FMP #756 - **CLI:** add support for Windows 10 without Chrome Canary #690 - **CLI:** fix screenshot save via `--save-assets` #711 - **CLI:** fix `--mobile` flag #721 - **Extension:** fixes for updated dependencies #734 - **Report:** add fallback font for url heading #674 - **Testing:** loosen path requirement for closure formatter replacement #701 - **Testing:** handle http-redirect gatherer promise rejections #729 - **Testing:** handle https gatherer promise rejections #738 - **Testing:** handle promise rejections in runner testing #739 ### Refactor - Automatically cache computed artifacts #675 - Streamline extensible gather and audit loading #679, #692 - Add `'use strict';` to files where it was missing #694 - Handle `sendCommand` promise rejections #703 - Rename of some `config.json` properties #727 - **Extension:** improve `queryCurrentTab` impl #680 - **Testing:** stronger `user-timing` test assertions #732 - **Testing:** run coveralls only after build success #733 - **Testing:** fix tests which were unconditionally passing failed assertions #737 ### Dependencies - Bump [catapult/traceviewer](https://github.com/catapult-project/catapult/) to latest #723 - Bump [chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend) to 1.0.401423 #724 - Bump speedline to 1.0.0 #726 - Bump speedline to 1.0.1 (now handles traces with one, two, or three screenshots) #728 ## 1.1.3 (2016-09-06) * 1.1.3 ([a5bbe23](https://github.com/GoogleChrome/lighthouse/commit/a5bbe23)) * about:blank navigation moved to before gatherer.beforeClass() ([8cf3841](https://github.com/GoogleChrome/lighthouse/commit/8cf3841)) * add comment on npm explore ([5b36ebb](https://github.com/GoogleChrome/lighthouse/commit/5b36ebb)) * add context to aggregator error strings ([ab96e71](https://github.com/GoogleChrome/lighthouse/commit/ab96e71)) * Add custom config example. Just the perf stuff. (#603) ([ef4044a](https://github.com/GoogleChrome/lighthouse/commit/ef4044a)) * Add empty API-and-internals.md doc ([fb690be](https://github.com/GoogleChrome/lighthouse/commit/fb690be)) * add goOffline/goOnline methods to driver ([ceb5f36](https://github.com/GoogleChrome/lighthouse/commit/ceb5f36)) * added some docs about running LH headless. ([8a176e1](https://github.com/GoogleChrome/lighthouse/commit/8a176e1)) * Added test suffix to all tests ([e9110bf](https://github.com/GoogleChrome/lighthouse/commit/e9110bf)) * Addresses comments ([8c0c05c](https://github.com/GoogleChrome/lighthouse/commit/8c0c05c)) * Adds support for custom audits and gatherers ([bab838b](https://github.com/GoogleChrome/lighthouse/commit/bab838b)) * Asset saver test fixup. ([d24c91e](https://github.com/GoogleChrome/lighthouse/commit/d24c91e)) * assetsaver. write real traces to disk. ([034e9a6](https://github.com/GoogleChrome/lighthouse/commit/034e9a6)) * Attempt to fix the tests ([34509b1](https://github.com/GoogleChrome/lighthouse/commit/34509b1)) * cache start url audit is Alpha ([65778d1](https://github.com/GoogleChrome/lighthouse/commit/65778d1)) * Changed config/index.js to config/config.js ([2e717fe](https://github.com/GoogleChrome/lighthouse/commit/2e717fe)) * config/config. ([5572aab](https://github.com/GoogleChrome/lighthouse/commit/5572aab)) * correctly fall back on erroneous manifest display modes ([fc10f5b](https://github.com/GoogleChrome/lighthouse/commit/fc10f5b)) * delete page reload/navigate logic since we always navigate ([1810c61](https://github.com/GoogleChrome/lighthouse/commit/1810c61)) * eliminate non-functional loadPage cli flag ([990a3c7](https://github.com/GoogleChrome/lighthouse/commit/990a3c7)) * filterPasses -> validatePasses (#608) ([1fb77ae](https://github.com/GoogleChrome/lighthouse/commit/1fb77ae)) * fix audit, gatherer, artifact browserify import ([1ddb8b1](https://github.com/GoogleChrome/lighthouse/commit/1ddb8b1)) * Fix eslint issues in extension ([6be4acf](https://github.com/GoogleChrome/lighthouse/commit/6be4acf)) * fix jsconfig for vscode. ([02dfba2](https://github.com/GoogleChrome/lighthouse/commit/02dfba2)) * Fixed headless documentation ([58e5be5](https://github.com/GoogleChrome/lighthouse/commit/58e5be5)) * Fixes TTI not being counted in overall score ([82c5051](https://github.com/GoogleChrome/lighthouse/commit/82c5051)) * headless docs: adjustments to pr #623 ([364ba40](https://github.com/GoogleChrome/lighthouse/commit/364ba40)) * Introduce computedArtifacts (#583) ([c8662e3](https://github.com/GoogleChrome/lighthouse/commit/c8662e3)) * Keep track of the document URL post-redirects (#582) ([ac70731](https://github.com/GoogleChrome/lighthouse/commit/ac70731)) * launch-chrome: inform user about Chrome launch. refactor & cleanup. ([fdff2ae](https://github.com/GoogleChrome/lighthouse/commit/fdff2ae)) * merge latest manifest/display tests. ([af716df](https://github.com/GoogleChrome/lighthouse/commit/af716df)) * mocha tests unfortch can't rely on globbing ([35e649a](https://github.com/GoogleChrome/lighthouse/commit/35e649a)) * move manifest parser test to correct directory ([35eb5a1](https://github.com/GoogleChrome/lighthouse/commit/35eb5a1)) * move SW version test to audit to use possibly redirected URL ([46e1458](https://github.com/GoogleChrome/lighthouse/commit/46e1458)) * Moves from XHR to DevTools Protocol for manifest retrieval (#600) ([74690f1](https://github.com/GoogleChrome/lighthouse/commit/74690f1)) * overwrite loadData only when configured to ([b798f89](https://github.com/GoogleChrome/lighthouse/commit/b798f89)) * parse URLs in Web App Manifest relative to manifest itself ([f45ae69](https://github.com/GoogleChrome/lighthouse/commit/f45ae69)) * properly throw debug error when page does not include manifest ([6d2ae74](https://github.com/GoogleChrome/lighthouse/commit/6d2ae74)) * Readded $DISPLAY ([1b14da8](https://github.com/GoogleChrome/lighthouse/commit/1b14da8)) * refactor of gather-runner to clarify lifecycle ([8c5e7d1](https://github.com/GoogleChrome/lighthouse/commit/8c5e7d1)) * Refactor the JSON output. (#567) ([703ded6](https://github.com/GoogleChrome/lighthouse/commit/703ded6)) * Remove find command in runmocha ([81653a4](https://github.com/GoogleChrome/lighthouse/commit/81653a4)) * remove redundant gatherer lifecycle methods ([ac2f62d](https://github.com/GoogleChrome/lighthouse/commit/ac2f62d)) * rename computed artifact tests. ([5d20fa8](https://github.com/GoogleChrome/lighthouse/commit/5d20fa8)) * Rename lighthouse-cli tests as well ([9ee4c57](https://github.com/GoogleChrome/lighthouse/commit/9ee4c57)) * Revamp of the offline.js gatherer ([2b39d27](https://github.com/GoogleChrome/lighthouse/commit/2b39d27)) * Revamp smoketest, include offline & SW test ([543b422](https://github.com/GoogleChrome/lighthouse/commit/543b422)) * review feedback ([6add53a](https://github.com/GoogleChrome/lighthouse/commit/6add53a)) * Run audits sequentially. ([8fe81d8](https://github.com/GoogleChrome/lighthouse/commit/8fe81d8)) * s/traceName/passName ([f300f67](https://github.com/GoogleChrome/lighthouse/commit/f300f67)) * Save audit list into storage so it's kept for the next run (#595) ([5c72d72](https://github.com/GoogleChrome/lighthouse/commit/5c72d72)) * smoke test: clean up backgrounded processes. ([74c5f9c](https://github.com/GoogleChrome/lighthouse/commit/74c5f9c)) * squish saveArtifacts and saveAssets together. ([ea23dbd](https://github.com/GoogleChrome/lighthouse/commit/ea23dbd)) * support collecting network records per pass ([4ef3c98](https://github.com/GoogleChrome/lighthouse/commit/4ef3c98)) * terminology fixes and docs added to extension ([8dbd6fa](https://github.com/GoogleChrome/lighthouse/commit/8dbd6fa)) * Update first-meaningful-paint.js ([add0f03](https://github.com/GoogleChrome/lighthouse/commit/add0f03)) * update offline gatherer to use network recording changes ([db69edd](https://github.com/GoogleChrome/lighthouse/commit/db69edd)) * Update tracing-processor.js ([b526eb3](https://github.com/GoogleChrome/lighthouse/commit/b526eb3)) * readme: updates about m52, etc. ([54b93b9](https://github.com/GoogleChrome/lighthouse/commit/54b93b9)) * eslint: no longer ignore all of lighthouse-extension (#613) ([5e42394](https://github.com/GoogleChrome/lighthouse/commit/5e42394)) * docs: headless setup. ([9cb1536](https://github.com/GoogleChrome/lighthouse/commit/9cb1536)) * README: add link to debugging protocol and viewer ([7ba8830](https://github.com/GoogleChrome/lighthouse/commit/7ba8830)) * README: remove outdated install instructions ([5996db7](https://github.com/GoogleChrome/lighthouse/commit/5996db7)) ## 1.1.2 (2016-08-06) * 1.1.2 ([0269917](https://github.com/GoogleChrome/lighthouse/commit/0269917)) * addressing brendan's review for ALL the brownie points. ([685bda0](https://github.com/GoogleChrome/lighthouse/commit/685bda0)) * bump extension to 1.1.2 ([1d745c3](https://github.com/GoogleChrome/lighthouse/commit/1d745c3)) * Fixed links to small buttons ([f9de055](https://github.com/GoogleChrome/lighthouse/commit/f9de055)) * Generate audit list from configJson ([1b1cbdf](https://github.com/GoogleChrome/lighthouse/commit/1b1cbdf)) * Generate audit options in extension from configJSON ([a4bfc04](https://github.com/GoogleChrome/lighthouse/commit/a4bfc04)) * Update manifest-background-color.js ([38ba8a2](https://github.com/GoogleChrome/lighthouse/commit/38ba8a2)) ## 1.1.1 (2016-08-05) * 1.1.1 ([ed8e056](https://github.com/GoogleChrome/lighthouse/commit/ed8e056)) * Add and adjust cache-start-url test coverage ([81e98d0](https://github.com/GoogleChrome/lighthouse/commit/81e98d0)) * Add extra assertions on the state of debugString ([c7884d7](https://github.com/GoogleChrome/lighthouse/commit/c7884d7)) * Added audit configurations to extension ([561efc2](https://github.com/GoogleChrome/lighthouse/commit/561efc2)) * bump extension to 1.1.0 (now matches npm module) ([699eafd](https://github.com/GoogleChrome/lighthouse/commit/699eafd)) * bump extension to 1.1.1 ([ac4785e](https://github.com/GoogleChrome/lighthouse/commit/ac4785e)) * Clean up CLI logging, moving protocol work to --verbose. (#556) ([6663f6b](https://github.com/GoogleChrome/lighthouse/commit/6663f6b)) * cleanTrace acts on the whole trace ([fa837c3](https://github.com/GoogleChrome/lighthouse/commit/fa837c3)) * Delete launch-chrome.sh ([e90b128](https://github.com/GoogleChrome/lighthouse/commit/e90b128)) * Fix exception on missing manifest start_url ([269b5a8](https://github.com/GoogleChrome/lighthouse/commit/269b5a8)) * handle old and new trace object format ([7c9c44f](https://github.com/GoogleChrome/lighthouse/commit/7c9c44f)) * Manifest tests: Always use the manifest parser ([12bfb3a](https://github.com/GoogleChrome/lighthouse/commit/12bfb3a)) * sourcemaps for the extension off, to avoid the 4MB of tax. ([bfd3b02](https://github.com/GoogleChrome/lighthouse/commit/bfd3b02)) * Tweak to status messages. ([b914ea1](https://github.com/GoogleChrome/lighthouse/commit/b914ea1)) # 1.1.0 (2016-08-02) * 1.1.0 ([d9a7f84](https://github.com/GoogleChrome/lighthouse/commit/d9a7f84)) * add test for traceviewer's require not throwing. ([7293f6e](https://github.com/GoogleChrome/lighthouse/commit/7293f6e)) * bump traceviewer to master. ([a628f62](https://github.com/GoogleChrome/lighthouse/commit/a628f62)) * clarify chrome remote interface var in CLI driver ([b6592d4](https://github.com/GoogleChrome/lighthouse/commit/b6592d4)) * cleanup of extension driver attachment and event registration ([69622b8](https://github.com/GoogleChrome/lighthouse/commit/69622b8)) * fix off-by-one error causing Infinity in 100% EIL ([2737165](https://github.com/GoogleChrome/lighthouse/commit/2737165)) * Fix traceviewer update instructions in README ([2f29085](https://github.com/GoogleChrome/lighthouse/commit/2f29085)) * Fixed version argument in yargs to display current cli version ([504ea95](https://github.com/GoogleChrome/lighthouse/commit/504ea95)) * handle new require for Mann-Whitney U statistics test. ([e0e1052](https://github.com/GoogleChrome/lighthouse/commit/e0e1052)) * Improve check for used JS features (#544) ([4f43470](https://github.com/GoogleChrome/lighthouse/commit/4f43470)) * move driver event handling to base class ([07b3ccb](https://github.com/GoogleChrome/lighthouse/commit/07b3ccb)) * Refactor npm scripts for mocha ([59fdea9](https://github.com/GoogleChrome/lighthouse/commit/59fdea9)) * switch to trace viewer's lean_config, instead of including ALL importers. ([7202494](https://github.com/GoogleChrome/lighthouse/commit/7202494)) * trace reading: only bind to the first tracingComplete event. ([fe634e7](https://github.com/GoogleChrome/lighthouse/commit/fe634e7)) * Update readme.md with trace changes. ([ab76af1](https://github.com/GoogleChrome/lighthouse/commit/ab76af1)) * extension: Don't lint in the watch loop. ([999d3bf](https://github.com/GoogleChrome/lighthouse/commit/999d3bf)) * extension: exclude source-map module from browserified bundles. ([61b8de3](https://github.com/GoogleChrome/lighthouse/commit/61b8de3)) * extension: log exceptions to bg page console. ([9d9642c](https://github.com/GoogleChrome/lighthouse/commit/9d9642c)) ## 1.0.6 (2016-07-28) * 1.0.6 ([e8bb926](https://github.com/GoogleChrome/lighthouse/commit/e8bb926)) * Adds auto-requested geolocation audit (#510) ([60a06c5](https://github.com/GoogleChrome/lighthouse/commit/60a06c5)) * Adds content width audit (#493) ([f9bdc7f](https://github.com/GoogleChrome/lighthouse/commit/f9bdc7f)) * Checks cache for start URL (#507) ([4a66309](https://github.com/GoogleChrome/lighthouse/commit/4a66309)) * Cleanup harmony scripts #513 (#516) ([da09ffb](https://github.com/GoogleChrome/lighthouse/commit/da09ffb)) * compat note about firstContentfulPaint trace event. ([3e81a6d](https://github.com/GoogleChrome/lighthouse/commit/3e81a6d)) * config requires absolute paths ([9560a42](https://github.com/GoogleChrome/lighthouse/commit/9560a42)) * delete lighthouse-core/package.json ([d07719e](https://github.com/GoogleChrome/lighthouse/commit/d07719e)) * Do the last (clean-state) reload in parallel with finishing the report (#522) ([c14e7a3](https://github.com/GoogleChrome/lighthouse/commit/c14e7a3)) * Extension popup: styling ([50c3ced](https://github.com/GoogleChrome/lighthouse/commit/50c3ced)) * Faster smoketest. Fix Flaky works-offline gather (#506) ([2fdde48](https://github.com/GoogleChrome/lighthouse/commit/2fdde48)), closes [#506](https://github.com/GoogleChrome/lighthouse/issues/506) * Fix (and speed up) extension browserify post-config refactor. (#499) ([563ae0c](https://github.com/GoogleChrome/lighthouse/commit/563ae0c)), closes [#499](https://github.com/GoogleChrome/lighthouse/issues/499) * Fix cachecontents test on HTTP pages ([e6fa594](https://github.com/GoogleChrome/lighthouse/commit/e6fa594)) * Fix scoring exception in handlebars (#509) ([bcff128](https://github.com/GoogleChrome/lighthouse/commit/bcff128)), closes [#509](https://github.com/GoogleChrome/lighthouse/issues/509) * Fixes lint errors ([bd5f8e1](https://github.com/GoogleChrome/lighthouse/commit/bd5f8e1)) * Handles ports for SW. (#535) ([8c39f91](https://github.com/GoogleChrome/lighthouse/commit/8c39f91)), closes [#532](https://github.com/GoogleChrome/lighthouse/issues/532) * incl critical-request-chains in traceprocessor example ([4636ffe](https://github.com/GoogleChrome/lighthouse/commit/4636ffe)) * manifest display must be one of the 3 allowed values. ([98c4980](https://github.com/GoogleChrome/lighthouse/commit/98c4980)) * move driver/ to gather/ ([35d0360](https://github.com/GoogleChrome/lighthouse/commit/35d0360)) * Moved everything from lighthouse-core to ligthouse ([1b998a3](https://github.com/GoogleChrome/lighthouse/commit/1b998a3)) * note about excluded cpu profile trace category. ([4f66e0d](https://github.com/GoogleChrome/lighthouse/commit/4f66e0d)) * Removes the 'module' folder from main. ([07e4958](https://github.com/GoogleChrome/lighthouse/commit/07e4958)) * Removes unused test ([3585eef](https://github.com/GoogleChrome/lighthouse/commit/3585eef)) * rename gatherer base class to gatherer ([0c7bef7](https://github.com/GoogleChrome/lighthouse/commit/0c7bef7)) * Reuse existing tab fallback (for Chrome headless) ([27d3ed8](https://github.com/GoogleChrome/lighthouse/commit/27d3ed8)) * Show the test progress (#517) ([ffde8e7](https://github.com/GoogleChrome/lighthouse/commit/ffde8e7)) * Skip offline-ready smoketest (#520) ([5d97d38](https://github.com/GoogleChrome/lighthouse/commit/5d97d38)) * smoke test: simplify --harmony branching. check for viewport ([d45883a](https://github.com/GoogleChrome/lighthouse/commit/d45883a)) * This is a 0.1 definition of Time to Interactive (TTI) which considers ([d0d3829](https://github.com/GoogleChrome/lighthouse/commit/d0d3829)) * Trace buckets (#531) ([1275762](https://github.com/GoogleChrome/lighthouse/commit/1275762)) * Traces that are passed in through the config file are cleaned ([1c62db3](https://github.com/GoogleChrome/lighthouse/commit/1c62db3)) * update error message on failed connection to use the npm explore npm run chrome cmd ([466beff](https://github.com/GoogleChrome/lighthouse/commit/466beff)) * Update manifest-display.js ([3b3e3de](https://github.com/GoogleChrome/lighthouse/commit/3b3e3de)) * Wait for trace data to arrive before continuing (#541) ([df6e013](https://github.com/GoogleChrome/lighthouse/commit/df6e013)) * tti: simplify logic grabbing 85% vis complete ([3906dee](https://github.com/GoogleChrome/lighthouse/commit/3906dee)) * smoketest: do full default run against our basic html page. (#534) ([3e632f9](https://github.com/GoogleChrome/lighthouse/commit/3e632f9)) * cli: use logger to print status messages (#530) ([cc3cca4](https://github.com/GoogleChrome/lighthouse/commit/cc3cca4)) * travis: force install extension deps. ([b17f026](https://github.com/GoogleChrome/lighthouse/commit/b17f026)) * readme: include CLI flags ([d34e5bb](https://github.com/GoogleChrome/lighthouse/commit/d34e5bb)) * readme: notes for config & trace-processor usage ([eb81929](https://github.com/GoogleChrome/lighthouse/commit/eb81929)) * readme: notes on node/chrome version compat ([d960c79](https://github.com/GoogleChrome/lighthouse/commit/d960c79)) * readme: update dep graph visualization ([0435803](https://github.com/GoogleChrome/lighthouse/commit/0435803)) * Travis: enable testing of node v4 + --harmony (#501) ([fe5f57d](https://github.com/GoogleChrome/lighthouse/commit/fe5f57d)) ## 1.0.5 (2016-07-08) * 1.0.5 ([90ffa1a](https://github.com/GoogleChrome/lighthouse/commit/90ffa1a)) * CLI shouldn't necc exit on semver check ([dec44de](https://github.com/GoogleChrome/lighthouse/commit/dec44de)) * Install child folder deps through helper script (#500) ([e28ee77](https://github.com/GoogleChrome/lighthouse/commit/e28ee77)) ## 1.0.4 (2016-07-08)