Repository: GoogleChrome/lighthouse
Pull request #10452 (2020-03-11 20:37:45)

core(lcp): remove todo, mark score curve points as official
We copied the FCP 4000ms/2000ms median/podr numbers over to LCP as placeholders until we had HTTP Archive numbers to derive an official curve...but it turns out they're pretty much exactly right (for February 2020, they are 3980ms/1912ms).

This PR just updates the comment on the numbers to make it clear they're for real now.


Patch:
diff --git a/changelog.md b/changelog.md
index 2bc92c19c..600f6f307 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,252 @@
+
+ <a name="6.0.0-beta.0"></a>
+# 6.0.0-beta.0 (2020-03-11)
+[Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v5.6.0...v6.0.0-beta.0)
+
+(A proper thanks for our new contributors will be in the final 6.0 release notes.)
+
+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..
+
+An unedited changelog follows…
+
+
+## New Audits
+
+* pwa: maskable icon audit ([#10370](https://github.com/GoogleChrome/lighthouse/pull/10370))
+* add cumulative layout shift metric ([a8a0f8f](https://github.com/GoogleChrome/lighthouse/commit/a8a0f8f))
+* add charset declaration audit ([#10284](https://github.com/GoogleChrome/lighthouse/pull/10284))
+* add new accessibility audits ([#9798](https://github.com/GoogleChrome/lighthouse/pull/9798))
+
+## Core
+
+* artifacts: add property attribute to MetaElements ([#9978](https://github.com/GoogleChrome/lighthouse/pull/9978))
+* audits: add handling of 'incomplete' results from axe-core ([#10072](https://github.com/GoogleChrome/lighthouse/pull/10072))
+* audits: Add more keywords to blocklist ([#9986](https://github.com/GoogleChrome/lighthouse/pull/9986))
+* config: add loadFailureMode warn ([#9987](https://github.com/GoogleChrome/lighthouse/pull/9987))
+* config: enable unused-javascript by default ([#9854](https://github.com/GoogleChrome/lighthouse/pull/9854))
+* duplicated-javascript: new audit ([ea9d226](https://github.com/GoogleChrome/lighthouse/commit/ea9d226))
+* emulation: bump emulated chrome UA to m80 ([#9967](https://github.com/GoogleChrome/lighthouse/pull/9967))
+* emulation: use Moto G4 for mobile emulation ([#10191](https://github.com/GoogleChrome/lighthouse/pull/10191))
+* font-size: don't allow a deleted node to fail gatherer ([#9928](https://github.com/GoogleChrome/lighthouse/pull/9928))
+* font-size: speed up gatherer ([#10200](https://github.com/GoogleChrome/lighthouse/pull/10200))
+* gather: new computed artifact, js-bundles ([74f13c9](https://github.com/GoogleChrome/lighthouse/commit/74f13c9))
+* installable-manifest: check for fetchable icon ([1b52a82](https://github.com/GoogleChrome/lighthouse/commit/1b52a82))
+* installable-manifest: icon requirement 192px -> 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))
+* js-libraries: hide fast path items from table, put all in debugData ([#10176](https://github.com/GoogleChrome/lighthouse/pull/10176))
+* lantern: link layout nodes to root frame request ([#9727](https://github.com/GoogleChrome/lighthouse/pull/9727))
+* lantern: do not create self-dependencies via timers ([#10280](https://github.com/GoogleChrome/lighthouse/pull/10280))
+* lantern: remove min task duration on CPU nodes ([#9910](https://github.com/GoogleChrome/lighthouse/pull/9910))
+* lantern: use fixed times for data URLs ([#9932](https://github.com/GoogleChrome/lighthouse/pull/9932))
+* largest-contentful-paint: update docs link ([#10213](https://github.com/GoogleChrome/lighthouse/pull/10213))
+* legacy-javascript: new audit ([#10303](https://github.com/GoogleChrome/lighthouse/pull/10303))
+* lhr: add numericUnit to audit result ([#9979](https://github.com/GoogleChrome/lighthouse/pull/9979))
+* lightwallet: add firstPartyHostnames to budget.json ([#10324](https://github.com/GoogleChrome/lighthouse/pull/10324))
+* lightwallet: add timing-budget audit ([#9901](https://github.com/GoogleChrome/lighthouse/pull/9901))
+* lightwallet: render timing-budget audit ([#9925](https://github.com/GoogleChrome/lighthouse/pull/9925))
+* lightwallet: compute resource metrics by origin ([#10105](https://github.com/GoogleChrome/lighthouse/pull/10105))
+* lightwallet: centralize budget-path-matching logic ([#9895](https://github.com/GoogleChrome/lighthouse/pull/9895))
+* lightwallet: remove tolerance from timing budgets API ([#9770](https://github.com/GoogleChrome/lighthouse/pull/9770))
+* lightwallet: adds computed/timing-summary.js (refactor) ([#9814](https://github.com/GoogleChrome/lighthouse/pull/9814))
+* noopener: use node detail type ([#10242](https://github.com/GoogleChrome/lighthouse/pull/10242))
+* offline-start-url: better failure messages ([#9982](https://github.com/GoogleChrome/lighthouse/pull/9982))
+* offscreen-images: pass images with 'loading' attribute ([#10117](https://github.com/GoogleChrome/lighthouse/pull/10117))
+* preconnect: pass without warning at 2 links ([#10293](https://github.com/GoogleChrome/lighthouse/pull/10293))
+* resource-summary: ignore /favicon.ico ([#10190](https://github.com/GoogleChrome/lighthouse/pull/10190))
+* scoring: apply v6 score weightings ([#9949](https://github.com/GoogleChrome/lighthouse/pull/9949))
+* script-elements: parallelize getting request contents ([#9713](https://github.com/GoogleChrome/lighthouse/pull/9713))
+* fix icu error thrown while throwing protocol error ([#9935](https://github.com/GoogleChrome/lighthouse/pull/9935))
+* stackpacks: update various Wordpress docs links ([#10069](https://github.com/GoogleChrome/lighthouse/pull/10069))
+* stacks: match against js-lib-detector with id property ([#9888](https://github.com/GoogleChrome/lighthouse/pull/9888))
+* stacks: handle numeric version from library detector ([48b5135](https://github.com/GoogleChrome/lighthouse/commit/48b5135))
+* third-party-summary: don't consider main resource entity to be third party ([#10006](https://github.com/GoogleChrome/lighthouse/pull/10006))
+* tracehouse: improved attribution for XHRs + paint/layout… ([#10001](https://github.com/GoogleChrome/lighthouse/pull/10001))
+* unused-javascript: augment with source maps ([672bb60](https://github.com/GoogleChrome/lighthouse/commit/672bb60))
+* uses-rel-preconnect: warn on 3+ preconnects ([#9903](https://github.com/GoogleChrome/lighthouse/pull/9903))
+* add temporary config for source map features ([#10311](https://github.com/GoogleChrome/lighthouse/pull/10311))
+* warn if document was redirected ([#10157](https://github.com/GoogleChrome/lighthouse/pull/10157))
+* add new base artifact, HostFormFactor ([#9923](https://github.com/GoogleChrome/lighthouse/pull/9923))
+* add settings.internalDisableDeviceScreenEmulation ([#9377](https://github.com/GoogleChrome/lighthouse/pull/9377))
+* use the same scoring curve for desktop in all channels ([#9911](https://github.com/GoogleChrome/lighthouse/pull/9911))
+* use flatten protocol ([#9783](https://github.com/GoogleChrome/lighthouse/pull/9783))
+* refactor check for clearing cache ([#9896](https://github.com/GoogleChrome/lighthouse/pull/9896))
+* delete full config ([#9930](https://github.com/GoogleChrome/lighthouse/pull/9930))
+* add largest contentful paint to lantern and default config ([#9905](https://github.com/GoogleChrome/lighthouse/pull/9905))
+* support old version of Page.getInstallabilityErrors ([51df179](https://github.com/GoogleChrome/lighthouse/commit/51df179))
+* experimental config ([#10333](https://github.com/GoogleChrome/lighthouse/pull/10333))
+* audit.meta.__internalOptionalArtifacts ([d9d2999](https://github.com/GoogleChrome/lighthouse/commit/d9d2999))
+* move unused-css to computed artifact ([#10160](https://github.com/GoogleChrome/lighthouse/pull/10160))
+* measure time for GatherRunner.runPass ([#10205](https://github.com/GoogleChrome/lighthouse/pull/10205))
+
+## CLI
+
+* fix csv for --output ([#10188](https://github.com/GoogleChrome/lighthouse/pull/10188))
+* --chrome-ignore-default-flags ([#10184](https://github.com/GoogleChrome/lighthouse/pull/10184))
+* allow extraHeaders as object ([#9962](https://github.com/GoogleChrome/lighthouse/pull/9962))
+
+## Deps
+
+* snyk: update snyk snapshot ([#10163](https://github.com/GoogleChrome/lighthouse/pull/10163))
+* update axe-core to 3.5.1 ([#10344](https://github.com/GoogleChrome/lighthouse/pull/10344))
+* pptr to 1.20.0 ([#10275](https://github.com/GoogleChrome/lighthouse/pull/10275))
+* update axe-core to 3.4.1 ([88905c1](https://github.com/GoogleChrome/lighthouse/commit/88905c1))
+* bundlesize to 0.18.0 ([#10272](https://github.com/GoogleChrome/lighthouse/pull/10272))
+* bump chrome-launcher to 0.12.0 ([#9904](https://github.com/GoogleChrome/lighthouse/pull/9904))
+* remove mkdirp and make-dir for fs.mkdir ([#9858](https://github.com/GoogleChrome/lighthouse/pull/9858))
+* angular: update patch version of angular fixture ([#10086](https://github.com/GoogleChrome/lighthouse/pull/10086))
+* devtools-protocol: upgrade to 0.0.729809 ([#10207](https://github.com/GoogleChrome/lighthouse/pull/10207))
+* snyk: update snyk snapshot ([#10423](https://github.com/GoogleChrome/lighthouse/pull/10423), [#10066](https://github.com/GoogleChrome/lighthouse/pull/10066), [#9965](https://github.com/GoogleChrome/lighthouse/pull/9965), [#9929](https://github.com/GoogleChrome/lighthouse/pull/9929))
+
+## Report
+
+* details-renderer: support sub-rows within a table ([#10084](https://github.com/GoogleChrome/lighthouse/pull/10084))
+* fix link contrast issue in dark mode ([#10364](https://github.com/GoogleChrome/lighthouse/pull/10364))
+* add channel to runtime settings ([de149bc](https://github.com/GoogleChrome/lighthouse/commit/de149bc))
+* 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))
+* fix ghost menu in print ([#10216](https://github.com/GoogleChrome/lighthouse/pull/10216))
+* remove Util.UIStrings mutation, add I18n renderer class ([#10153](https://github.com/GoogleChrome/lighthouse/pull/10153))
+* adjust score's arc length accounting for rounded linecap ([#9913](https://github.com/GoogleChrome/lighthouse/pull/9913))
+* fix flicker in normal case report ([#9955](https://github.com/GoogleChrome/lighthouse/pull/9955))
+* source-location for linkifying ([#9354](https://github.com/GoogleChrome/lighthouse/pull/9354))
+
+## Clients
+
+* retire extension; replace with PSI launcher ([#9193](https://github.com/GoogleChrome/lighthouse/pull/9193))
+* devtools: roll to front_end/third_party ([2d287eb](https://github.com/GoogleChrome/lighthouse/commit/2d287eb))
+* devtools: use the same desktop throttling as lightrider ([1621bc7](https://github.com/GoogleChrome/lighthouse/commit/1621bc7))
+* devtools: split up runLighthouseInWorker and expose t… ([#10005](https://github.com/GoogleChrome/lighthouse/pull/10005))
+* extension: remove content security policy ([#10380](https://github.com/GoogleChrome/lighthouse/pull/10380))
+* extension: firefox ([#10332](https://github.com/GoogleChrome/lighthouse/pull/10332))
+* extension: use new settings when form updates ([#9988](https://github.com/GoogleChrome/lighthouse/pull/9988))
+* viewer: update manifest icons ([#10002](https://github.com/GoogleChrome/lighthouse/pull/10002))
+* viewer: tweak line height ([#9999](https://github.com/GoogleChrome/lighthouse/pull/9999))
+
+## I18n
+
+* 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))
+* import: new audit strings and small edits ([#10244](https://github.com/GoogleChrome/lighthouse/pull/10244))
+* import: stack packs and small corrections ([#9940](https://github.com/GoogleChrome/lighthouse/pull/9940))
+* report: runtime settings and tools ([#9166](https://github.com/GoogleChrome/lighthouse/pull/9166))
+
+## Docs
+
+* readme: separate free and paid integrations ([#10027](https://github.com/GoogleChrome/lighthouse/pull/10027))
+* devtools throttling deprecation notice ([#9933](https://github.com/GoogleChrome/lighthouse/pull/9933))
+* tweaks to auth + pptr docs ([#10277](https://github.com/GoogleChrome/lighthouse/pull/10277))
+* Fix broken link to aria-toggle-field-name ([8d8a052](https://github.com/GoogleChrome/lighthouse/commit/8d8a052))
+* add auto-lighthouse entry to 'related projects' ([#9954](https://github.com/GoogleChrome/lighthouse/pull/9954))
+* add protobuf install directions ([58de8f2](https://github.com/GoogleChrome/lighthouse/commit/58de8f2))
+* update plugin list to include all examples ([#9917](https://github.com/GoogleChrome/lighthouse/pull/9917))
+* recipe for using puppeteer in a gatherer ([#10253](https://github.com/GoogleChrome/lighthouse/pull/10253))
+* update scoring.md to v5 ([#10223](https://github.com/GoogleChrome/lighthouse/pull/10223))
+* add readme for build/ ([#10004](https://github.com/GoogleChrome/lighthouse/pull/10004))
+* auth: use --disable-storage-reset for chrome-debug ([#10189](https://github.com/GoogleChrome/lighthouse/pull/10189))
+* integration-tests: using Lighthouse with Jest; verify in our CI ([#9722](https://github.com/GoogleChrome/lighthouse/pull/9722))
+* plugins: update plugin developer docs wrt NODE_PATH ([#10028](https://github.com/GoogleChrome/lighthouse/pull/10028))
+* plugins: update recipe, suggest NODE_ENV=.. hack ([#9997](https://github.com/GoogleChrome/lighthouse/pull/9997))
+* readme: add PageSpeed Green to related projects ([#10018](https://github.com/GoogleChrome/lighthouse/pull/10018))
+* readme: Updated Calibre description ([#9985](https://github.com/GoogleChrome/lighthouse/pull/9985))
+* readme: add a table of contents ([#10283](https://github.com/GoogleChrome/lighthouse/pull/10283))
+* readme: add automated-lighthouse-check.com paid integration ([#10156](https://github.com/GoogleChrome/lighthouse/pull/10156))
+* readme: yarn test-docs, jq ([#10263](https://github.com/GoogleChrome/lighthouse/pull/10263))
+* readme: Add siteimprove to integrations section ([#9836](https://github.com/GoogleChrome/lighthouse/pull/9836))
+* readme: add link to official lighthoues ci ([#9984](https://github.com/GoogleChrome/lighthouse/pull/9984))
+* readme: add lighthouse-batch-parallel to related projects ([#10385](https://github.com/GoogleChrome/lighthouse/pull/10385))
+* releasing: update procedure for extension ([#9989](https://github.com/GoogleChrome/lighthouse/pull/9989))
+
+## Tests
+
+* audits: Return type correction (LH.Audit.Result -> LH.Audit.Product) ([#10270](https://github.com/GoogleChrome/lighthouse/pull/10270))
+* driver: fix sendCommand timeout tests ([#10135](https://github.com/GoogleChrome/lighthouse/pull/10135))
+* driver: type check ([#10123](https://github.com/GoogleChrome/lighthouse/pull/10123))
+* gather-runner: type check ([#10215](https://github.com/GoogleChrome/lighthouse/pull/10215))
+* gather-runner: replace getMockedEmulationDriver w/ mock… ([#10136](https://github.com/GoogleChrome/lighthouse/pull/10136))
+* i18n: add locale-file rough-correctness check ([#9847](https://github.com/GoogleChrome/lighthouse/pull/9847))
+* lantern: rebase ([#10129](https://github.com/GoogleChrome/lighthouse/pull/10129))
+* report-ui-features: add empty list and single item test cases ([#10201](https://github.com/GoogleChrome/lighthouse/pull/10201))
+* report-ui-features: fix tools button suite to pass isolated run ([#10199](https://github.com/GoogleChrome/lighthouse/pull/10199))
+* smokehouse: mixed-content ([#10159](https://github.com/GoogleChrome/lighthouse/pull/10159))
+* avoid redirect in failureMode warn test ([#10230](https://github.com/GoogleChrome/lighthouse/pull/10230))
+* add github action w/ basic CI tasks ([c93e80b](https://github.com/GoogleChrome/lighthouse/commit/c93e80b))
+* remove global.URL ([#10186](https://github.com/GoogleChrome/lighthouse/pull/10186))
+* refactor smokehouse for extensibility ([#9843](https://github.com/GoogleChrome/lighthouse/pull/9843))
+* use smokehouse runner for test-bundle ([#9943](https://github.com/GoogleChrome/lighthouse/pull/9943))
+* update coveragePathIgnore jest configuration ([40a187f](https://github.com/GoogleChrome/lighthouse/commit/40a187f))
+* smoke: deep clone expectations. do not use p.stdout ([#10361](https://github.com/GoogleChrome/lighthouse/pull/10361))
+* smokehouse: make bytes gzip size checks less restrictive ([#10227](https://github.com/GoogleChrome/lighthouse/pull/10227))
+* smokehouse: type all the expectation modules ([#10158](https://github.com/GoogleChrome/lighthouse/pull/10158))
+* speedline: remove flaky test ([#10181](https://github.com/GoogleChrome/lighthouse/pull/10181))
+* static-server: allow hook to modify response body ([252274c](https://github.com/GoogleChrome/lighthouse/commit/252274c))
+* viewer: don't override puppeteer's chromium ([#9877](https://github.com/GoogleChrome/lighthouse/pull/9877))
+
+## Misc
+
+* git3po: land-when-green ([#10256](https://github.com/GoogleChrome/lighthouse/pull/10256))
+* resolve jest-haste-map naming collision warning ([#10447](https://github.com/GoogleChrome/lighthouse/pull/10447))
+* upgrade lhci dogfood script ([#9879](https://github.com/GoogleChrome/lighthouse/pull/9879))
+* update commitlint config to latest, loosen subject-case ([661fd62](https://github.com/GoogleChrome/lighthouse/commit/661fd62))
+* add git3po script for PR assignees ([#10338](https://github.com/GoogleChrome/lighthouse/pull/10338))
+* order changelog categories. add stable chrome note placeholder ([#9859](https://github.com/GoogleChrome/lighthouse/pull/9859))
+* add note about LCP required chrome version ([#9889](https://github.com/GoogleChrome/lighthouse/pull/9889))
+* write lantern accuracy to file on update ([582751a](https://github.com/GoogleChrome/lighthouse/commit/582751a))
+* tweak CODEOWNERS to finish codereview assignment setup ([#10282](https://github.com/GoogleChrome/lighthouse/pull/10282))
+* add CODEOWNERS to finish codereview assignment setup ([#10274](https://github.com/GoogleChrome/lighthouse/pull/10274))
+* update location for devtools roll script ([#9942](https://github.com/GoogleChrome/lighthouse/pull/9942))
+* fix lhci to 0.3.x ([#9972](https://github.com/GoogleChrome/lighthouse/pull/9972))
+* bump-versions.js release script ([#9998](https://github.com/GoogleChrome/lighthouse/pull/9998))
+* lantern trace collection script ([#9662](https://github.com/GoogleChrome/lighthouse/pull/9662))
+* delete CODEOWNERS now that we have a review rotation ([6454620](https://github.com/GoogleChrome/lighthouse/commit/6454620))
+* Fixed typo in docs/readme.md ([#10179](https://github.com/GoogleChrome/lighthouse/pull/10179))
+* add git3po scripts ([#10231](https://github.com/GoogleChrome/lighthouse/pull/10231))
+* bump bundlesize threshold for LR ([#10245](https://github.com/GoogleChrome/lighthouse/pull/10245))
+* add predictive perf to lantern test set ([#10209](https://github.com/GoogleChrome/lighthouse/pull/10209))
+* release script push tag ([#10193](https://github.com/GoogleChrome/lighthouse/pull/10193))
+* add chrome version field to bug report template ([#9866](https://github.com/GoogleChrome/lighthouse/pull/9866))
+* build: bundle pub ads plugin for devtools ([03fd8e6](https://github.com/GoogleChrome/lighthouse/commit/03fd8e6))
+* compare-runs: report metrics, add gather/audit modes, etc ([c59c0bb](https://github.com/GoogleChrome/lighthouse/commit/c59c0bb))
+* git3po: use --start-at ([#10266](https://github.com/GoogleChrome/lighthouse/pull/10266))
+* git3po: lock-resolved ([bd9dc67](https://github.com/GoogleChrome/lighthouse/commit/bd9dc67))
+* git3po: need milliseconds epoch, not seconds ([#10271](https://github.com/GoogleChrome/lighthouse/pull/10271))
+* git3po: add-needs-priority, remove-needs-priority ([#10257](https://github.com/GoogleChrome/lighthouse/pull/10257))
+* git3po: filter out pull requests for need-priority scripts ([39badfd](https://github.com/GoogleChrome/lighthouse/commit/39badfd))
+* lhci: build-dir => staticDistDir ([#9951](https://github.com/GoogleChrome/lighthouse/pull/9951))
+* viewer: mention other lighthouse channels ([#10384](https://github.com/GoogleChrome/lighthouse/pull/10384))
+
+## Audits
+
+* is-crawlable: line number for blocking directive in robots.txt ([#10154](https://github.com/GoogleChrome/lighthouse/pull/10154))
+
+## Build
+
+* smokehouse: bundle smoke test runner ([d15b81c](https://github.com/GoogleChrome/lighthouse/commit/d15b81c))
+* fix appveyor cache failures ([#10281](https://github.com/GoogleChrome/lighthouse/pull/10281))
+* use npm pack'd lighthouse in doc integrations ([#10254](https://github.com/GoogleChrome/lighthouse/pull/10254))
+* stage viewer with now-build ([#10151](https://github.com/GoogleChrome/lighthouse/pull/10151))
+
+## Devtools
+
+* update roll script to print correct command for tests ([#10310](https://github.com/GoogleChrome/lighthouse/pull/10310))
+
+## Gatherers
+
+* use isolation for fetch ([#10130](https://github.com/GoogleChrome/lighthouse/pull/10130))
+
+## Lantern
+
+* keep first layout/paint/parse events regardless of duration ([#9922](https://github.com/GoogleChrome/lighthouse/pull/9922))
+
+## Viewer
+
+* use new logo ([#9991](https://github.com/GoogleChrome/lighthouse/pull/9991))
+* css: cursor:wait indicator no longer blocked by pointer-events: none ([53a8619](https://github.com/GoogleChrome/lighthouse/commit/53a8619))
+* css: adding grayscale & wait cursor while loading ([#10305](https://github.com/GoogleChrome/lighthouse/pull/10305))
+
 <a name="5.6.0"></a>
 # 5.6.0 (2019-10-17)
 [Full Changelog](https://github.com/googlechrome/lighthouse/compare/v5.5.0...v5.6.0)
@@ -145,7 +394,7 @@ Expected DevTools release in Chrome 79 ([December 2019](https://chromestatus.com
 Expected DevTools release in Chrome 79 ([December 2019](https://chromestatus.com/features/schedule))
 
 ## New contributors!
-Thanks to our new contributors @alabiaga, @olore, @letanure, and @mfriesenhahn! 
+Thanks to our new contributors @alabiaga, @olore, @letanure, and @mfriesenhahn!
 
 ## Core
 * point audit descriptions to new web.dev Lighthouse docs ([#9538](https://github.com/googlechrome/lighthouse/pull/9538), [#9539](https://github.com/googlechrome/lighthouse/pull/9539), [#9084](https://github.com/googlechrome/lighthouse/pull/9084), [#9537](https://github.com/googlechrome/lighthouse/pull/9537))
@@ -385,7 +634,7 @@ Thanks to @AngeloGulina, @jamesgeorge007, @johnemau, @kaushikchaubal, @mitchells
 
 ## New contributors!
 
-Thanks to our new contributors 👽🐷🐰🐯🐻! 
+Thanks to our new contributors 👽🐷🐰🐯🐻!
 @thebengeu
 @boyney123
 
diff --git a/lighthouse-core/audits/metrics/largest-contentful-paint.js b/lighthouse-core/audits/metrics/largest-contentful-paint.js
index 99cadb7ec..3e600f65c 100644
--- a/lighthouse-core/audits/metrics/largest-contentful-paint.js
+++ b/lighthouse-core/audits/metrics/largest-contentful-paint.js
@@ -38,7 +38,10 @@ class LargestContentfulPaint extends Audit {
    */
   static get defaultOptions() {
     return {
-      // TODO: Reusing FCP's scoring curve. Set correctly once distribution of results is available.
+      // 75th and 95th percentiles HTTPArchive -> median and PODR.
+      // https://bigquery.cloud.google.com/table/httparchive:lighthouse.2020_02_01_mobile?pli=1
+      // Gives 2.5s roughly a score of 0.9. https://web.dev/lcp/#what-is-a-good-lcp-score
+      // see https://www.desmos.com/calculator/brcfwyox6x
       scorePODR: 2000,
       scoreMedian: 4000,
     };
diff --git a/lighthouse-core/report/html/renderer/category-renderer.js b/lighthouse-core/report/html/renderer/category-renderer.js
index a2f95eeea..ea11048fe 100644
--- a/lighthouse-core/report/html/renderer/category-renderer.js
+++ b/lighthouse-core/report/html/renderer/category-renderer.js
@@ -65,7 +65,7 @@ class CategoryRenderer {
    * Populate an DOM tree with audit details. Used by renderAudit and renderOpportunity
    * @param {LH.ReportResult.AuditRef} audit
    * @param {DocumentFragment} tmpl
-   * @return {Element}
+   * @return {!Element}
    */
   populateAuditValues(audit, tmpl) {
     const strings = Util.i18n.strings;
@@ -156,7 +156,7 @@ class CategoryRenderer {
    * @param {Element} element DOM node to populate with values.
    * @param {number|null} score
    * @param {string} scoreDisplayMode
-   * @return {Element}
+   * @return {!Element}
    */
   _setRatingClass(element, score, scoreDisplayMode) {
     const rating = Util.calculateRating(score, scoreDisplayMode);
@@ -277,7 +277,7 @@ class CategoryRenderer {
    * in a collapsed state.
    * @param {Exclude<TopLevelClumpId, 'failed'>} clumpId
    * @param {{auditRefs: Array<LH.ReportResult.AuditRef>, description?: string}} clumpOpts
-   * @return {Element}
+   * @return {!Element}
    */
   renderClump(clumpId, {auditRefs, description}) {
     const clumpTmpl = this.dom.cloneTemplate('#tmpl-lh-clump', this.templateContext);
diff --git a/lighthouse-core/report/html/renderer/dom.js b/lighthouse-core/report/html/renderer/dom.js
index 4f7b0a94d..c10577613 100644
--- a/lighthouse-core/report/html/renderer/dom.js
+++ b/lighthouse-core/report/html/renderer/dom.js
@@ -55,7 +55,7 @@ class DOM {
   }
 
   /**
-   * @return {DocumentFragment}
+   * @return {!DocumentFragment}
    */
   createFragment() {
     return this._document.createDocumentFragment();
@@ -80,7 +80,7 @@ class DOM {
   /**
    * @param {string} selector
    * @param {ParentNode} context
-   * @return {DocumentFragment} A clone of the template content.
+   * @return {!DocumentFragment} A clone of the template content.
    * @throws {Error}
    */
   cloneTemplate(selector, context) {
@@ -192,7 +192,7 @@ class DOM {
    * nothing matches query.
    * @param {string} query
    * @param {ParentNode} context
-   * @return {HTMLElement}
+   * @return {!HTMLElement}
    */
   find(query, context) {
     /** @type {?HTMLElement} */
@@ -207,7 +207,7 @@ class DOM {
    * Helper for context.querySelectorAll. Returns an Array instead of a NodeList.
    * @param {string} query
    * @param {ParentNode} context
-   * @return {Array<HTMLElement>}
+   * @return {!Array<HTMLElement>}
    */
   findAll(query, context) {
     return Array.from(context.querySelectorAll(query));
diff --git a/lighthouse-core/report/html/renderer/performance-category-renderer.js b/lighthouse-core/report/html/renderer/performance-category-renderer.js
index e05fc8cde..f2838deae 100644
--- a/lighthouse-core/report/html/renderer/performance-category-renderer.js
+++ b/lighthouse-core/report/html/renderer/performance-category-renderer.js
@@ -23,7 +23,7 @@
 class PerformanceCategoryRenderer extends CategoryRenderer {
   /**
    * @param {LH.ReportResult.AuditRef} audit
-   * @return {Element}
+   * @return {!Element}
    */
   _renderMetric(audit) {
     const tmpl = this.dom.cloneTemplate('#tmpl-lh-metric', this.templateContext);
@@ -54,7 +54,7 @@ class PerformanceCategoryRenderer extends CategoryRenderer {
   /**
    * @param {LH.ReportResult.AuditRef} audit
    * @param {number} scale
-   * @return {Element}
+   * @return {!Element}
    */
   _renderOpportunity(audit, scale) {
     const oppTmpl = this.dom.cloneTemplate('#tmpl-lh-opportunity', this.templateContext);
diff --git a/lighthouse-core/report/html/renderer/pwa-category-renderer.js b/lighthouse-core/report/html/renderer/pwa-category-renderer.js
index 1b49cff5c..258678cc0 100644
--- a/lighthouse-core/report/html/renderer/pwa-category-renderer.js
+++ b/lighthouse-core/report/html/renderer/pwa-category-renderer.js
@@ -96,7 +96,7 @@ class PwaCategoryRenderer extends CategoryRenderer {
   /**
    * Returns the group IDs found in auditRefs.
    * @param {Array<LH.ReportResult.AuditRef>} auditRefs
-   * @return {Set<string>}
+   * @return {!Set<string>}
    */
   _getGroupIds(auditRefs) {
     const groupIds = auditRefs.map(ref => ref.group).filter(/** @return {g is string} */ g => !!g);
diff --git a/lighthouse-core/report/html/renderer/report-renderer.js b/lighthouse-core/report/html/renderer/report-renderer.js
index 205110bf1..bfcfa293c 100644
--- a/lighthouse-core/report/html/renderer/report-renderer.js
+++ b/lighthouse-core/report/html/renderer/report-renderer.js
@@ -41,7 +41,7 @@ class ReportRenderer {
   /**
    * @param {LH.Result} result
    * @param {Element} container Parent element to render the report into.
-   * @return {Element}
+   * @return {!Element}
    */
   renderReport(result, container) {
     this._dom.setLighthouseChannel(result.configSettings.channel || 'unknown');
@@ -150,7 +150,7 @@ class ReportRenderer {
    * @param {LH.ReportResult} report
    * @param {CategoryRenderer} categoryRenderer
    * @param {Record<string, CategoryRenderer>} specificCategoryRenderers
-   * @return {DocumentFragment[]}
+   * @return {!DocumentFragment[]}
    */
   _renderScoreGauges(report, categoryRenderer, specificCategoryRenderers) {
     // Group gauges in this order: default, pwa, plugins.
@@ -181,7 +181,7 @@ class ReportRenderer {
 
   /**
    * @param {LH.ReportResult} report
-   * @return {DocumentFragment}
+   * @return {!DocumentFragment}
    */
   _renderReport(report) {
     const i18n = new I18n(report.configSettings.locale, {
diff --git a/lighthouse-core/report/html/renderer/snippet-renderer.js b/lighthouse-core/report/html/renderer/snippet-renderer.js
index 1ce0ad19c..fe63b0299 100644
--- a/lighthouse-core/report/html/renderer/snippet-renderer.js
+++ b/lighthouse-core/report/html/renderer/snippet-renderer.js
@@ -336,7 +336,7 @@ class SnippetRenderer {
    * @param {ParentNode} templateContext
    * @param {LH.Audit.Details.SnippetValue} details
    * @param {DetailsRenderer} detailsRenderer
-   * @return {Element}
+   * @return {!Element}
    */
   static render(dom, templateContext, details, detailsRenderer) {
     const tmpl = dom.cloneTemplate('#tmpl-lh-snippet', templateContext);
diff --git a/lighthouse-core/report/html/renderer/util.js b/lighthouse-core/report/html/renderer/util.js
index d9ab26950..6838445d8 100644
--- a/lighthouse-core/report/html/renderer/util.js
+++ b/lighthouse-core/report/html/renderer/util.js
@@ -320,7 +320,7 @@ class Util {
 
   /**
    * @param {string|URL} value
-   * @return {URL}
+   * @return {!URL}
    */
   static createOrReturnURL(value) {
     if (value instanceof URL) {
@@ -365,7 +365,7 @@ class Util {
 
   /**
    * @param {LH.Config.Settings} settings
-   * @return {Array<{name: string, description: string}>}
+   * @return {!Array<{name: string, description: string}>}
    */
   static getEnvironmentDisplayValues(settings) {
     const emulationDesc = Util.getEmulationDescriptions(settings);
diff --git a/package.json b/package.json
index 421bbe857..f05bea6b0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "lighthouse",
-  "version": "5.6.0",
+  "version": "6.0.0-beta.0",
   "description": "Lighthouse",
   "main": "./lighthouse-core/index.js",
   "bin": {
diff --git a/proto/sample_v2_round_trip.json b/proto/sample_v2_round_trip.json
index 0ca76463e..a63929fdf 100644
--- a/proto/sample_v2_round_trip.json
+++ b/proto/sample_v2_round_trip.json
@@ -4313,7 +4313,7 @@
             "warningHeader": "Warnings: "
         }
     },
-    "lighthouseVersion": "5.6.0",
+    "lighthouseVersion": "6.0.0-beta.0",
     "requestedUrl": "http://localhost:10200/dobetterweb/dbw_tester.html",
     "runWarnings": [],
     "stackPacks": [


Test patch:
diff --git a/lighthouse-core/test/results/sample_v2.json b/lighthouse-core/test/results/sample_v2.json
index 2d6027310..e2646f087 100644
--- a/lighthouse-core/test/results/sample_v2.json
+++ b/lighthouse-core/test/results/sample_v2.json
@@ -5,7 +5,7 @@
     "hostUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3358.0 Safari/537.36",
     "benchmarkIndex": 1000
   },
-  "lighthouseVersion": "5.6.0",
+  "lighthouseVersion": "6.0.0-beta.0",
   "fetchTime": "2018-03-13T00:55:45.840Z",
   "requestedUrl": "http://localhost:10200/dobetterweb/dbw_tester.html",
   "finalUrl": "http://localhost:10200/dobetterweb/dbw_tester.html",