v5.2.0
5.2.0 (2019-07-24)
Expected DevTools release in Chrome 77 (September 2019)
New Audits
- Third-Party Usage, a new performance diagnostic that shows a breakdown of third-party resources in the page and the time/bytes needed to load them (#9067)
- Total Blocking Time, an experimental new metric that serves as a companion to TTI to help prioritize unblocking the main thread. Since it is currently experimental, the audit is unscored and appears only in the raw LHR JSON, not in the HTML report. (#8975, #9409)
Notable changes
- tracehouse: performance trace processing has been moved to its own directory in
lib/tracehouse/to serve as a more standalone library (9f80524, 1af2edd, 7ba6776, ddff3d6) - certificate security errors are no longer a fatal Lighthouse error, though the Chrome error page will still return few results in the report by default. See the docs for testing a page in this situation. (#8865)
New contributors!
Thanks to @angelogulina, @jamesgeorge007, @johnemau, @kaushikchaubal, @mitchellsimoens, @NickolasBenakis, @noelyoo, @PatOnTheBack, @rishichawda, and @Remexllee for their first contributions!
Core
- support saving and loading errors in artifacts (#9397)
- config: assert all audit
requiredArtifactswill be gathered (#9284) domstats: support an empty html body (#9340)font-display: limit false positives (#9148)font-size: calculate accurate line/column for styles (#9356)font-size: comment why source 'Other' occurs (#9363)- localize invalid-URL error message (#9334)
gather-runner: addPageLoadErrorbase artifact (#9236)gather-runner: don't save trace on pass withpageLoadError(#9198)gather-runner: treat Chrome interstitials aspageLoadErrors(#9176)gather-runner: always reset scroll position (#9060)gather-runner: convertPAGE_HUNGto non-fatalruntimeError(#9121)manifest-parser: handle blob manifests (#9088)page-functions: don't try to clone a ShadowRoot (#9079)- perf: speed up
tap-target'sisVisible()(#9056) - tracehouse: allow missing FCP (#9174)
CLI
- accept flags from a file (#9109)
Clients
- devtools: audits2->audits and defer reading resources (#8985, #9344)
- devtools: unset overflow in print (#9274)
- lightrider: update
processForProtomethod signature,string->LH.Result(#9016) - lightrider: serialize errors in artifacts (#9410)
Deps
- update
axe-coreto 3.3.0 (#9343) - update
typescriptto 3.5.3 (#9357) - update
chrome-launcherto 0.11.1 (#9339) intl: move from devDep to dep (#9309)- update
debugto 2.6.9 (#9398) - update to
openfromopn(#9267) - update outdated transitive deps (#9347)
- update
brfsto 2.0.2 (#9312) - remove
commitizenas local dep (#9246) - update
extendto 3.0.2 (#9184) - bump transitive dep
js-yaml(#9131) - update
bundlesize, add more budgets (#9089)
Docs
- add i18n overview and authoring documentation (#9361)
- link to good first issues (#9440)
- add instructions for testing with self-signed certificate (#9112)
- update
understanding-results.md(#9226) - change score type from 'string' to 'number' (#9225)
- readme: add
Exthouseto related projects (#9243) - readme: add
lighthouse-jest-exampleto related projects (#9172) - readme: add
lighthouse-persistto related projects(#9161) - readme: add
gimbalintegration to related projects (#9083) - readme: update
lighthouse-mocha-examplerelated project (#9158) - readme: alphabetize related projects (#9110)
- fix various typos (#9411)
I18n
- introduce script to swap in new locale to LHR (#8755)
- enable local debug locale,
en-XL(#9192) - begin localization of audits in
best-practices(#9092) - add
es-419(#9171) - localize column headers of budget audits (#9127)
Report
- fix audit explanation rendering (#9439)
- accessibility: add heading role to report category gauge (#9422)
- add link to docs on performance scoring (#9355)
- use full-bleed image thumbnails (#9238)
- show disabled checkbox when all/no urls are third party (#9299)
- remove unnecessary attribute in svg (#9301)
- make urls clickable (#9224)
- use css grid for metrics (#9273)
- center and style top-level runtimeError (#9271)
- create naming convention for css variables (#9149, 37f7261, ece89ec)
- add aria-labels to tools button and metric toggle (#9201)
- update permalink calculations for correct hash nav scroll position (#9188)
- devtools: enable report UI features (#9157)
- position sticky-header highlighter with css grid (#9186)
- ensure SVG elements in
<defs>have unique ids (#9151) - only print light theme (#9173)
- make 'tools' menu focus-able (#9169)
- rename 'exports' to 'tools' (#9135)
- remove unused css vars (#9144)
Tests
- relax contrast font size expectation (#9441)
font-size: assert on source (#9400, #9413)- assert
vulnerable-libraryranges have upper bounds (#9308) - i18n: update canonical locale test for node 12.6 (#9396)
- i18n: throw when no ICU replacement value is given (#9384)
- run CI with a frozen
yarn.lock(#9362) - smokehouse: assert on expected array length (#9292)
- smokehouse: always assert
lhr.runtimeError(#9130) tags-blocking-first-paint: make alternate stylesheets not blocking (#9248)- improve drag-and-drop test coverage (#9314)
- clean up crufty
gather-runnertests (#9227)
Misc
- fix
yarn.lockand translations master drift (#9404) - build: adjust deployment filenames (#9338, #9434)
- build: create error-y LHR for the deploy (#9283)
network-server-latency: fix serverResponseTime typo (#9388)- localize logged
GatherRunnererror (#9291) - remove duplicate colon from regex (#9295)
- runner: add assertion for
devtoolsLogasrequiredArtifact(#9290) - add
yarn static-serverscript (#9293) - fix typo in
performance-budgetsmoke test (#9244) - add
.ideato.gitignorefor WebStorm developers (#9275) - build: generate report variants in deployment (#9280)
- suggest uploading issue repro (#9217)
- use
CHROME_PATHvariable in CI and scripts (#9202) - update broken tracing-processor require (#9123)
- address release script feedback (#9111)
- release script should commit with format vX.Y.Z (#9090)