lighthouse v6.0.0-beta.0 Release Notes

Release Date: 2020-03-11 // about 4 years ago
  • 🐎 TL;DR: We're happy for you to try out a beta of Lighthouse 6.0. Many things have changed, including a big difference in the performance metrics and calculation of the performance score. Install the beta with npm install -g lighthouse@next.

    πŸš€ This beta release will not ship in Chrome DevTools or PageSpeed Insights, but once 6.0 final is released, those channels will be updated.

    πŸš€ (A proper thanks for our new contributors will be in the final 6.0 release notes.)

    Notable Changes

    • 🐎 Brand new metrics and performance score calculation (seeking feedback)
    • πŸš€ Lots more, complete release notes brewing..

    🌲 An unedited changelog follows… or browse the full commit log

    πŸ†• New Audits

    • pwa: maskable icon audit (#10370)
    • βž• add cumulative layout shift metric (a8a0f8f)
    • βž• add charset declaration audit (#10284)
    • βž• add new accessibility audits (#9798)

    Core

    • artifacts: add property attribute to MetaElements (#9978)
    • audits: add handling of 'incomplete' results from axe-core (#10072)
    • audits: Add more keywords to blocklist (#9986)
    • config: add loadFailureMode warn (#9987)
    • 0️⃣ config: enable unused-javascript by default (#9854)
    • duplicated-javascript: new audit (ea9d226)
    • emulation: bump emulated chrome UA to m80 (#9967)
    • emulation: use Moto G4 for mobile emulation (#10191)
    • font-size: don't allow a deleted node to fail gatherer (#9928)
    • font-size: speed up gatherer (#10200)
    • gather: new computed artifact, js-bundles (74f13c9)
    • installable-manifest: check for fetchable icon (1b52a82)
    • installable-manifest: icon requirement 192px -> 144px (#10175)
    • is-on-https: add filesystem to secure schemes (#10073)
    • js-libraries: hide fast path items from table, put all in debugData (#10176)
    • lantern: link layout nodes to root frame request (#9727)
    • lantern: do not create self-dependencies via timers (#10280)
    • 🚚 lantern: remove min task duration on CPU nodes (#9910)
    • πŸ›  lantern: use fixed times for data URLs (#9932)
    • ⚑️ largest-contentful-paint: update docs link (#10213)
    • legacy-javascript: new audit (#10303)
    • lhr: add numericUnit to audit result (#9979)
    • lightwallet: add firstPartyHostnames to budget.json (#10324)
    • lightwallet: add timing-budget audit (#9901)
    • lightwallet: render timing-budget audit (#9925)
    • lightwallet: compute resource metrics by origin (#10105)
    • lightwallet: centralize budget-path-matching logic (#9895)
    • 🚚 lightwallet: remove tolerance from timing budgets API (#9770)
    • πŸ”¨ lightwallet: adds computed/timing-summary.js (refactor) (#9814)
    • noopener: use node detail type (#10242)
    • πŸ‘ offline-start-url: better failure messages (#9982)
    • offscreen-images: pass images with 'loading' attribute (#10117)
    • ⚠ preconnect: pass without warning at 2 links (#10293)
    • resource-summary: ignore /favicon.ico (#10190)
    • scoring: apply v6 score weightings (#9949)
    • script-elements: parallelize getting request contents (#9713)
    • πŸ›  fix icu error thrown while throwing protocol error (#9935)
    • ⚑️ stackpacks: update various Wordpress docs links (#10069)
    • stacks: match against js-lib-detector with id property (#9888)
    • stacks: handle numeric version from library detector (48b5135)
    • third-party-summary: don't consider main resource entity to be third party (#10006)
    • tracehouse: improved attribution for XHRs + paint/layout… (#10001)
    • unused-javascript: augment with source maps (672bb60)
    • πŸ‘‰ uses-rel-preconnect: warn on 3+ preconnects (#9903)
    • βž• add temporary config for source map features (#10311)
    • warn if document was redirected (#10157)
    • βž• add new base artifact, HostFormFactor (#9923)
    • βž• add settings.internalDisableDeviceScreenEmulation (#9377)
    • πŸ‘‰ use the same scoring curve for desktop in all channels (#9911)
    • πŸ‘‰ use flatten protocol (#9783)
    • πŸ”¨ refactor check for clearing cache (#9896)
    • βœ‚ delete full config (#9930)
    • βž• add largest contentful paint to lantern and default config (#9905)
    • πŸ‘Œ support old version of Page.getInstallabilityErrors (51df179)
    • experimental config (#10333)
    • audit.meta.__internalOptionalArtifacts (d9d2999)
    • 🚚 move unused-css to computed artifact (#10160)
    • measure time for GatherRunner.runPass (#10205)

    CLI

    • πŸ›  fix csv for --output (#10188)
    • 0️⃣ --chrome-ignore-default-flags (#10184)
    • πŸ‘ allow extraHeaders as object (#9962)

    Deps

    • ⚑️ snyk: update snyk snapshot (#10163)
    • ⚑️ update axe-core to 3.5.1 (#10344)
    • pptr to 1.20.0 (#10275)
    • ⚑️ update axe-core to 3.4.1 (88905c1)
    • bundlesize to 0.18.0 (#10272)
    • ⬆️ bump chrome-launcher to 0.12.0 (#9904)
    • βœ‚ remove mkdirp and make-dir for fs.mkdir (#9858)
    • ⚑️ angular: update patch version of angular fixture (#10086)
    • ⬆️ devtools-protocol: upgrade to 0.0.729809 (#10207)
    • ⚑️ snyk: update snyk snapshot (#10423, #10066, #9965, #9929)

    Report

    • πŸ‘ details-renderer: support sub-rows within a table (#10084)
    • πŸ›  fix link contrast issue in dark mode (#10364)
    • βž• add channel to runtime settings (de149bc)
    • ⚠ align audit warnings (#10232)
    • close drop down menu when focus is lost (#10208)
    • πŸ›  fix ghost menu in print (#10216)
    • βœ‚ remove Util.UIStrings mutation, add I18n renderer class (#10153)
    • adjust score's arc length accounting for rounded linecap (#9913)
    • πŸ›  fix flicker in normal case report (#9955)
    • source-location for linkifying (#9354)

    Clients

    • retire extension; replace with PSI launcher (#9193)
    • devtools: roll to front_end/third_party (2d287eb)
    • devtools: use the same desktop throttling as lightrider (1621bc7)
    • πŸ‘· devtools: split up runLighthouseInWorker and expose t… (#10005)
    • πŸ”’ extension: remove content security policy (#10380)
    • extension: firefox (#10332)
    • ⚑️ extension: use new settings when form updates (#9988)
    • ⚑️ viewer: update manifest icons (#10002)
    • viewer: tweak line height (#9999)

    I18n

    • ⚠ Use log.verbose for outdated strings warning (#9931)
    • centralize strings for metric names (#9871)
    • import: new audit strings and small edits (#10244)
    • import: stack packs and small corrections (#9940)
    • report: runtime settings and tools (#9166)

    πŸ“„ Docs

    • πŸ†“ readme: separate free and paid integrations (#10027)
    • πŸ—„ devtools throttling deprecation notice (#9933)
    • πŸ“„ tweaks to auth + pptr docs (#10277)
    • πŸ›  Fix broken link to aria-toggle-field-name (8d8a052)
    • βž• add auto-lighthouse entry to 'related projects' (#9954)
    • βž• add protobuf install directions (58de8f2)
    • ⚑️ update plugin list to include all examples (#9917)
    • recipe for using puppeteer in a gatherer (#10253)
    • ⚑️ update scoring.md to v5 (#10223)
    • βž• add readme for build/ (#10004)
    • auth: use --disable-storage-reset for chrome-debug (#10189)
    • πŸ‘· integration-tests: using Lighthouse with Jest; verify in our CI (#9722)
    • πŸ”Œ plugins: update plugin developer docs wrt NODE_PATH (#10028)
    • πŸ”Œ plugins: update recipe, suggest NODE_ENV=.. hack (#9997)
    • readme: add PageSpeed Green to related projects (#10018)
    • ⚑️ readme: Updated Calibre description (#9985)
    • readme: add a table of contents (#10283)
    • readme: add automated-lighthouse-check.com paid integration (#10156)
    • βœ… readme: yarn test-docs, jq (#10263)
    • readme: Add siteimprove to integrations section (#9836)
    • readme: add link to official lighthoues ci (#9984)
    • readme: add lighthouse-batch-parallel to related projects (#10385)
    • ⚑️ releasing: update procedure for extension (#9989)

    βœ… Tests

    • audits: Return type correction (LH.Audit.Result -> LH.Audit.Product) (#10270)
    • βœ… driver: fix sendCommand timeout tests (#10135)
    • driver: type check (#10123)
    • gather-runner: type check (#10215)
    • 🀑 gather-runner: replace getMockedEmulationDriver w/ mock… (#10136)
    • i18n: add locale-file rough-correctness check (#9847)
    • lantern: rebase (#10129)
    • βœ… report-ui-features: add empty list and single item test cases (#10201)
    • πŸ’» report-ui-features: fix tools button suite to pass isolated run (#10199)
    • smokehouse: mixed-content (#10159)
    • βœ… avoid redirect in failureMode warn test (#10230)
    • βž• add github action w/ basic CI tasks (c93e80b)
    • βœ‚ remove global.URL (#10186)
    • πŸ”¨ refactor smokehouse for extensibility (#9843)
    • βœ… use smokehouse runner for test-bundle (#9943)
    • ⚑️ update coveragePathIgnore jest configuration (40a187f)
    • πŸ‘― smoke: deep clone expectations. do not use p.stdout (#10361)
    • smokehouse: make bytes gzip size checks less restrictive (#10227)
    • smokehouse: type all the expectation modules (#10158)
    • 🚚 speedline: remove flaky test (#10181)
    • static-server: allow hook to modify response body (252274c)
    • viewer: don't override puppeteer's chromium (#9877)

    Misc

    • git3po: land-when-green (#10256)
    • ⚠ resolve jest-haste-map naming collision warning (#10447)
    • ⬆️ upgrade lhci dogfood script (#9879)
    • ⚑️ update commitlint config to latest, loosen subject-case (661fd62)
    • βž• add git3po script for PR assignees (#10338)
    • order changelog categories. add stable chrome note placeholder (#9859)
    • βž• add note about LCP required chrome version (#9889)
    • ⚑️ write lantern accuracy to file on update (582751a)
    • πŸ‘‰ tweak CODEOWNERS to finish codereview assignment setup (#10282)
    • βž• add CODEOWNERS to finish codereview assignment setup (#10274)
    • ⚑️ update location for devtools roll script (#9942)
    • πŸ›  fix lhci to 0.3.x (#9972)
    • πŸš€ bump-versions.js release script (#9998)
    • lantern trace collection script (#9662)
    • βœ‚ delete CODEOWNERS now that we have a review rotation (6454620)
    • πŸ›  Fixed typo in docs/readme.md (#10179)
    • βž• add git3po scripts (#10231)
    • ⬆️ bump bundlesize threshold for LR (#10245)
    • βž• add predictive perf to lantern test set (#10209)
    • πŸš€ release script push tag (#10193)
    • βž• add chrome version field to bug report template (#9866)
    • πŸ— build: bundle pub ads plugin for devtools (03fd8e6)
    • compare-runs: report metrics, add gather/audit modes, etc (c59c0bb)
    • git3po: use --start-at (#10266)
    • πŸ”’ git3po: lock-resolved (bd9dc67)
    • git3po: need milliseconds epoch, not seconds (#10271)
    • 🚚 git3po: add-needs-priority, remove-needs-priority (#10257)
    • git3po: filter out pull requests for need-priority scripts (39badfd)
    • πŸ— lhci: build-dir => staticDistDir (#9951)
    • viewer: mention other lighthouse channels (#10384)

    Audits

    • is-crawlable: line number for blocking directive in robots.txt (#10154)

    πŸ— Build

    • βœ… smokehouse: bundle smoke test runner (d15b81c)
    • πŸ›  fix appveyor cache failures (#10281)
    • πŸ‘‰ use npm pack'd lighthouse in doc integrations (#10254)
    • πŸ— stage viewer with now-build (#10151)

    Devtools

    • ⚑️ update roll script to print correct command for tests (#10310)

    Gatherers

    • πŸ‘‰ use isolation for fetch (#10130)

    Lantern

    • πŸ“œ keep first layout/paint/parse events regardless of duration (#9922)

    Viewer

    • πŸ‘‰ use new logo (#9991)
    • css: cursor:wait indicator no longer blocked by pointer-events: none (53a8619)
    • css: adding grayscale & wait cursor while loading (#10305)