4.0.0 (2019-01-16)
New contributors!
@mattzeunert, @dima74, @jeffbcross, @knoxmic, and @shogunsea. Thanks!
Major changes
-
A bevy of bug fixes and performance improvements.
-
A special reward for getting a perfect score.
-
A new layout for the PWA category, emphasizing speed, installability, and polish.
Breaking changes
- New PWA category, organization, and scoring (#6395)
- audits'
scoreDisplayMode
'not-applicable'
is now'notApplicable'
(#6783) no-websql
audit removed due to performance cost (#6293)speed-index
scoring now scales based on throttling (#7007)- empty children arrays are now removed from
critical-request-chain
audit result (#6211) - the correct Nexus 5X screen height of 660 now used instead of 732 (#6932)
- throttling constants under
mobile3G
renamed to the more accuratemobileSlow4G
with no change in values (#6163) - typescript definition files are now located under
types/
(#6617) - computed artifact files are now located under
lighthouse-core/computed/
(#6618)
Full Changelog (in addition to the changes in 4.0.0-beta, 4.0.0-alpha.1, and 4.0.0-alpha.0)
Core
- config: reorder categories to match new score gauge order (#6848)
- driver: handle navigation rejections within
Driver.gotoURL
(#6739) - driver: exit early when testing page with insecure certificate (#6608)
- driver:
waitForFCP
when tracing (#6944) - handle invalid network timing data (#6780)
- fix
usesObjectFit
property for ImageElement (#6761) - fonts: resolve URLs relative to stylesheet (#6782)
- lantern: remove unnecessary sort calls (#6900)
- lantern: drop node id from error message (#6774)
- minification: properly handle regex character classes (#6745)
- preconnect: add warning if preconnect link is not used (#6694)
- preload: warn when duplicate requests issued (#6849)
- scoreDisplayMode: change
'not-applicable'
to'notApplicable'
(#6783) - service-worker: check that
start_url
is within SW's scope (#6678) - speedindex: scale scoring coefficients based on throttling (#7007)
- tap-targets: helper functions for working with
ClientRects
(#6703) - url: add intent protocol to
NON_NETWORK_PROTOCOLS
(#6711) - user-timings: move into computed artifact (#6719)
- change
displayValue
to be string only (#6767) - add type checking to
pwmetrics-events
(#6980) - stricter LR-desktop metric scoring (#6969)
- in-page functions refactor (#6702)
Deps
- update axe-core to latest (#7020)
- update details-element-polyfill to 2.2.0 (#6928)
- update tsc to 3.2.2 (#6684)
- snyk: update snyk snapshot (#6888, #6842)
Docs
- readme: add speedrank to integrations list (#6987)
- readme: added simple guidance on install options (#6810)
- configuration.md: update link to pwmetrics (#6816)
- scoring: update TTI references (#6865)
--help
: use HTTPS link to bit.ly/chrome-flags (#6692)- ask people to test a11y issues upstream first (#6764)
Extension
- return
runnerResult
fromrunLighthouseInExtension()
(#6839)
I18n
Report
- pwa: add tooltip to badge gauge (#6689)
- add top-level section for passed audits that had warnings (#6989)
- celebrate all 100s (#5455)
- expand groups within "Passed Audits" by default (#6930)
- fix margin on score gauge wrappers (#6948, #6972)
- support narrow screens (#6857)
- larger margins for audit group summaries (#6688)
- clean up more clump/group/expandable cruft (#6982)
Tests
- smokehouse: assert
errorCode
in expectations (#6851) - smokehouse: use node's native
URLSearchParams
(#6929) - add type checking to
cli/tests/
(#6874) - report: restore old, disabled failed grouping test (#7006)