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
requiredArtifacts
will 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
: addPageLoadError
base 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_HUNG
to 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
processForProto
method signature,string
->LH.Result
(#9016) - lightrider: serialize errors in artifacts (#9410)
Deps
- update
axe-core
to 3.3.0 (#9343) - update
typescript
to 3.5.3 (#9357) - update
chrome-launcher
to 0.11.1 (#9339) intl
: move from devDep to dep (#9309)- update
debug
to 2.6.9 (#9398) - update to
open
fromopn
(#9267) - update outdated transitive deps (#9347)
- update
brfs
to 2.0.2 (#9312) - remove
commitizen
as local dep (#9246) - update
extend
to 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
Exthouse
to related projects (#9243) - readme: add
lighthouse-jest-example
to related projects (#9172) - readme: add
lighthouse-persist
to related projects(#9161) - readme: add
gimbal
integration to related projects (#9083) - readme: update
lighthouse-mocha-example
related 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-library
ranges 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-runner
tests (#9227)
Misc
- fix
yarn.lock
and 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
GatherRunner
error (#9291) - remove duplicate colon from regex (#9295)
- runner: add assertion for
devtoolsLog
asrequiredArtifact
(#9290) - add
yarn static-server
script (#9293) - fix typo in
performance-budget
smoke test (#9244) - add
.idea
to.gitignore
for WebStorm developers (#9275) - build: generate report variants in deployment (#9280)
- suggest uploading issue repro (#9217)
- use
CHROME_PATH
variable 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)