All Versions
88
Latest Version
Avg Release Cycle
23 days
Latest Release
44 days ago

Changelog History
Page 3

  • v6.4.0 Changes

    September 30, 2020

    6.4.0 (2020-09-30)

    Full Changelog

    πŸš€ We expect this release to ship in the DevTools of Chrome 87, and to PageSpeed Insights within 2 weeks.

    πŸ†• New Contributors

    🍱 Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»!

    Notable Changes

    • 🚚 large-javascript-libraries: move to experimental (#11484)
    • driver: don't clear indexedb, websql, or localstorage before run (#11438)

    πŸ†• New Audits

    • unsized-images reland (#11340): This audit confirms users' images are explicitly sized; ultimately preventing layout shift and improving CLS.

    Core

    • tracehouse: add CPU trace profiler model (#11072)
    • stack-packs: add Drupal pack (#10522)
    • πŸ“¦ stack-packs: move to lighthouse-stack-packs npm package (#11370)
    • axe: use our html snippet rather than axe's (#11362)
    • β†ͺ benchmarkindex: add workaround for Intel microcode fixes (#11483)
    • config: correct typo on throttling profile name (#11355)
    • image-elements: do not set untrusted natural dimensions (#11457)
    • installable-manifest: expose app manifest url (#11330)
    • is-on-https: add missing space in description (#11466)
    • 🚚 is-on-https: remove <M84 codepaths (#11373)
    • js-usage: normalize url key (#11302)
    • password-inputs-can-be-pasted-into: add devtoolsNodePath (#11416)
    • normalize node information in gathering (#11405)
    • traverse shadow hosts in getNodePath (#10956)
    • minification-estimator: minify nested template literals in JavaScript (#11395)
    • πŸ”¦ expose service worker url on service worker audit (#11329)
    • preconnect: ignore unimportant origins (#11306)
    • ⚠ autocomplete: add chrome suggestions, invalid warning (#11342)

    Report

    • let fireworks eligibility ignore PWA category (#11200)
    • csv: add overall category scores (#11404)
    • normalize -0 to 0 (#11353)
    • set min-width on code table column (#11359)

    Deps

    • ⚑️ lighthouse-stack-packs: update (#11492)
    • ⚑️ update third-party-web (#11469)
    • chrome-launcher to v0.13.4 (#11434)
    • ⚑️ update transitive lodash (#11448)
    • ⬆️ inquirer: upgrade to 7.3.3 (#11441)
    • ⚑️ snyk: update snyk snapshot (#11347)

    Clients

    • ⚑️ devtools: update report-generator.js to match DevTools changes (#11411)
    • lr: enable uses-http2, add protocol override header (#11439)

    I18n

    • import (#11494)
    • βœ‚ remove incorrect aliases (#11487)
    • πŸ‘‰ use placeholders more for html terms (#11406)
    • πŸ‘‰ use IcuMessage objects instead of string IDs (#10630)
    • code-escape in preconnect and preload (#11401)
    • accept array of locales in lookupLocale (#11349)
    • βž• add more translator strings to font-size (#11338)

    πŸ“„ Docs

    • auth: add setCookie example (#11473)
    • variability: expand on lighthouse-ci usage (#11377)
    • βœ‚ remove PageSpeed Green from integrations (#11390)
    • βž• add microlink to integrations (#11048)
    • ⚑️ releasing: align 2 days before branch. update managers (#11333)
    • βž• add CPU throttling guide (#11325)

    βœ… Tests

    • βœ… page-functions: add test for getNodePath (#11433)
    • check for dependencies when setting up blink tools (#11437)
    • βœ… hash more files for devtools test cache (#11417)
    • smoke: fix preconnect flake w/ a non-locally installed font (#11425)
    • βž• add markdown link checker (#11358)
    • βœ… webtests: test pub ads plugin (#11364)
    • βœ… rebaseline webtests (#11351)
    • devtools: fail on unset/unbound env variable (#11331)

    Misc

    • πŸ— build: fix mangling for tap-targets gatherer (#11463)
    • script for analyzing results from gcp data collection (#11296)
    • πŸ‘‰ make FormElements not a public artifact (#11476)
    • yarn open-devtools (#11445)
    • πŸ— build: use terser on inline assets (#11461)
    • πŸ‘‰ tweak typescript jsdoc for list format (#11447)
    • πŸ— build: minify bundles with terser (#9605)
    • βž• add score shapes to legend (#11440)
    • axe: rename axe types (#11432)
    • ⚑️ update stack packs, remove duplicated stack pack files (#11396)
    • πŸ— build: fix devtools tests by making empty type files (#11418)
    • 0️⃣ hide locale files by default in PRs (#11363)
    • πŸ›  fix typos in jsdoc types (#11367)
    • πŸ— build: include publisher ads plugin in lightrider bundle (#11366)
    • πŸ‘· flatten new service-worker audit details (#11361)
    • πŸ›  fix run-web-tests.sh (#11346)
  • v6.3.0 Changes

    August 26, 2020

    6.3.0 (2020-08-26)

    Full Changelog

    πŸš€ We expect this release to ship in the DevTools of Chrome 87, and to PageSpeed Insights within 2 weeks.

    πŸ†• New Contributors

    🍱 Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»!

    Notable Changes

    • βͺ revert: move unsized-images to experimental due to perf impact (#11317)

    πŸ†• New Audits

    • βž• add preload-fonts audit (#11255)
    • βž• add large-javascript-libraries audit (#11096)
    • βž• add valid-source-maps audit (#11236)
    • βž• add autocomplete to experimental config (#11186)

    Core

    • global-listeners: dedupe duplicate events in GlobalListener gatherer (#11303)
    • module-duplication: ignore smaller modules (#11277)
    • πŸ‘ non-composited-animations: add unsupported css properties (#11246)
    • non-composited-animations: add more actionable failure reasons (#11268)
    • ⚑️ non-composited-animations: update the "learn more" link (#11258)
    • renderer: improve the unknown timezone checks in util.js (#9822)
    • response-time: add time spent to details (#11307)
    • trace-elements: do not break on unresolvable node id (#11298)
    • 🚚 font-size: remove deprecated DOM.getFlattenedDocument (#11248)

    Report

    • third-party-summary: show resources for entity (#11219)
    • πŸ– handle invalid urls for source location items (#11299)
    • πŸ‘‰ show axe version in runtime settings (#10729)
    • πŸ‘‰ use dash gauge for categories with entirely n/a audits (#11024)

    Deps

    • ⚑️ update lighthouse-plugin-publisher-ads to 1.2.0 (#11301)

    I18n

    • import (#11324)
    • translate remaining strings in font-size (#11327)
    • πŸ‘‰ make double dollar validation less strict (#10299)

    πŸ“„ Docs

    • βž• add Code of Conduct to project (#11212)
    • βž• add audit naming guide (#11308)
    • 🏁 throttling: replace comcast with throttle and add more windows options (#11143)
    • readme: add related projects: site-audit-seo (#11305, #11250)
    • readme: align headings with table of contents (#11288)

    βœ… Tests

    • βœ… run chromium webtests for devtools integration (#11176, #11328)

    Misc

    • ⚑️ benchmark: update BenchmarkIndex for m86 changes (#11304)
    • βž• add benchmark script with octane and speedometer (#11247)
    • βž• add gcp fleet creation scripts (#11257, #11233)
    • rephrase comments to be more inclusive (#11228)
    • πŸ›  fix types in duplicated-javascript (#11278)
    • πŸ›  fix typo in method name (#11239)
    • 🚚 move doc link (#11300)
  • v6.2.0 Changes

    August 06, 2020

    6.2.0 (2020-08-06)

    Full Changelog

    πŸš€ We expect this release to ship in the DevTools of Chrome 86, and to PageSpeed
    Insights within 2 weeks.

    πŸ†• New Contributors

    🍱 Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»!

    πŸ†• New Audits

    Core

    • πŸ‘‰ uses-http2: convert into opportunity (#10626)
    • lantern: fallback to FCP in 0-weight SI situations (#11174)
    • ⏱ stacks: timeout stack detection (#11172)
    • βž• add FormElements gatherer (#11062)
    • cls: add back early shift events if they were ignored (#11079)
    • πŸš‘ critical-request-chains: prune requests without an initiator (#11151)
    • πŸ‘ error if chrome version does not support lcp metric (#11016)
    • ⚠ font-display: dedupe warnings by font origin (#11068)
    • gather-runner: error on non-HTML (#11042)
    • hreflang: assert that the href is fully qualified (#11022)
    • image-elements: gather correct natural size for srcset (#11101)
    • is-on-https: add mixed-content resolution (#10975)
    • lantern: ignore circular initiators (#11148)
    • πŸ”— link-elements: add devtoolsNodePath (#11061)
    • πŸ”— link-text: removing inicio from blocklist resolves #11026 (#11073)
    • page-functions: expose simulated throttling requestIdleCallback shim (#11032)
    • redirects: surface client-side redirects (#11027)
    • tracehouse: expose navigationStart only as timeOrigin (#11034)
    • βž• add cap to amp stylesheet links for simulated throttling (#11069)
    • βœ‚ remove uses of deprecated extendedInfo field (#10779)
    • 🚚 config: remove typo in a11y tables lists group (#11099)

    CLI

    • clearTimeout for faster exit (#11170)
    • warn if Chrome died on its own instead of exit (#11139)

    Report

    • correctly display CLS in budget table (#11209)
    • βž• add full-page-screenshot to experimental config (#10716)
    • vertically center thumbnails (#11220)
    • truncate long attribute values in HTML snippets (#10984)
    • ⚑️ unused-javascript: update "learn more" link (#10985)

    Deps

    • ⚑️ snyk: update script to prune <0.0.0 and update snapshot (#11223)
    • ⚑️ snyk: update snyk snapshot (#11046)
    • ⚑️ update dot-prop secondary dependency (#11198)
    • ⚑️ update jpeg-js to 0.4.x (#11167)
    • ⚑️ update third-party-web (#11137)

    I18n

    • import strings (#11082, #11225)
    • disallow invalid text outside complex ICU arguments (#11135)
    • ⚑️ update AMP Optimizer URLs (#11088)
    • 🌲 log the percentage of translated messages (#11149)

    πŸ“„ Docs

    • ⚑️ configuration: updates and tweaks (#11141)
    • ⚑️ update architecture.md (#11040, #11089)
    • readme: add Screpy to list of integrations (#11126)
    • 🌲 readme: fix logging in programmatic use code example (#11116)
    • ⚑️ update devtools screenshot (#11092)
    • πŸ›  fix typo in viewer readme for loading json from url (#11080)
    • ⚑️ readme: update Foo integration (#11050)

    βœ… Tests

    • istanbul ignore inpage function (#11229)
    • ⚑️ update chromestatus expecatations (#11221)
    • βœ… minification-est: add testcase with pre-minified bundle (#11191)
    • ⚑️ update to typescript 3.9.7 (#11158)
    • smoke: skip expectation with _chromeMajorVersion (#10976)
    • ⏱ smoke: use caltrainschedule instead of polymer shop (#11052)
    • 😌 relax requestIdleCallback smoke expectation (#11041)
    • βœ… parallelize all the tests (#11009)
    • ⬆️ upgrade codecov to 3.7.0 (#11039)
    • ⚑️ update minor version of angular fixture redux (#11192)
    • βš™ run GitHub Actions on master and PRs (#11035)
    • βœ… run test-viewer in github actions (#11195)
    • βž• add windows to GitHub actions CI (#11087)
    • 🏁 use latest windows image on appveyor (#11083)
    • βœ‚ remove appveyor (#11171)

    Misc

    • βœ‚ remove last extendedInfo in LH.Audit.Product (#11067)
    • βž• add GCP collection scripts (#11189)
    • tighten RecursivePartial type (#11175)
    • πŸš€ release: tweaks (#11021)
    • compare-runs: fix error when no lh-flags arg passed (#11015)
    • annotate version-specific logic with COMPAT comments (#11019)
    • βž• add tools to track issue response time (#11020)
    • πŸ‘‰ tweak naming in element-screenshot renderer (#11152)
    • ignore coverage of page-functions (#11136)
  • v6.1.1 Changes

    July 07, 2020

    6.1.1 (2020-07-07)

    Full Changelog

    πŸš€ This is a patch release to fix an issue that only occurred in 6.1.0 for Node environments. It will only be released to npm.

    Core

    • fetcher: ensure fetch doesn't cause unhandled promise (#11036)
  • v6.1.0 Changes

    June 25, 2020

    6.1.0 (2020-06-25)

    Full Changelog

    πŸš€ We expect this release to ship to DevTools in Chrome 85 86, and to PageSpeed Insights within 2 weeks.

    πŸ†• New Contributors

    🍱 Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»!

    Notable Changes

    • ✨ If a page has publicly-accessible JavaScript source maps, Lighthouse will collect them to enhance the unused-javascript audit. In future versions of Lighthouse, source maps will be used for entirely new audits (#10990).
    • The report now uses KiB instead of KB. This is simply a label change; the value was and still is equal to 1024 bytes (#10870).

    Unused JavaScript with source maps

    πŸ†• New Audits

    • 🐎 long-tasks: a new performance diagnostic that shows the longest main-thread-blocking tasks during load (#10736)
    • πŸ” crawlable-anchors: a new SEO audit that checks that anchors link to resolvable URLs (#10662)

    Core

    • unused-javascript: increase threshold to 20KiB (#10906)
    • layout-shift-elements: surface CLS contribution per shifted element (#10968)
    • emulation: bump chrome versions (#10787)
    • πŸ“± image-size-responsive: quantize DPRs (#10801)
    • long-tasks: add startTime property (#10942)
    • πŸ‘Œ improve resilience of nodeId-dependent gatherers (#10877)
    • median-run: add computeMedianRun to lib (#10859)
    • preload: ignore cross-frame requests (#10847)
    • πŸ†• new inspector issues gatherer for Audit.IssueAdded events (#10664)
    • ♻️ subRow refactor, rename to subItem (#10867, #10978)

    Experimental

    πŸ”‹ Features hidden behind the --preset=experimental flag.

    • βœ… legacy-javascript: reduce polyfills, fix core-js import in test (#10937)
    • legacy-javascript: use prescriptive language in title (#10850)
    • legacy-javascript: fix core-js 3 detection (#10852)
    • 🌐 legacy-javascript: use third-party-web for scoring (#10849)
    • duplicated-javascript: display transfer size (#10701)

    Deps

    Report

    • metrics: use css grid so metrics are aligned (#10789)
    • don't dim disclaimer anchor links (#10981)
    • πŸ‘‰ use acronyms and round metrics for shorter calc url (#10954)
    • ⚑️ update link for budgets audit (#10944)
    • βž• add trailing slash to web.dev links (#10967)
    • πŸ›  fix the width of the 3-dots menu in topbar (#10855)
    • ⚑️ updated method signature typing to remove focusevent cast (#10858)
    • adjust LCP element description (#11018)
    • renderer: fix null Util.i18n in PSI renderer (#10822)
    • psi: show disclaimer and calclink (#10936)

    πŸ“„ Docs

    • βž• add note about git repo required for @lhci/cli usage (#11006)
    • contributing: add tips for audit and gatherer PRs (#10690)
    • ⚑️ readme: update programmatic usage recipe (#10878)
    • ⚑️ readme: add new and updated integrations (#10838, #10901, #10826, #10818)

    βœ… Tests

    • 🚚 move proto roundtrip json to .tmp/ (#10995)
    • βž• add heading key tests (#10746)
    • βœ… run ToT and stable Chrome for smoke tests in github workflow (#10989)
    • legacy-javascript: exit code 1 on failure (#10946)
    • smoke: use --debug in github action (#10919)
    • smokehouse: do not assert on flaky node path (#10827)

    Misc

    • πŸ“‡ rename subHeading to subItemsHeading (#10979, #10983)
    • viewer: expose LHR as __LIGHTHOUSE_JSON__ (#10879)
    • πŸ‘‰ use more inclusive and descriptive language (#10949)
    • ⚑️ update changelog for v6.0.0 (#10821, #10807)
  • v6.0.0 Changes

    May 14, 2020

    Raw commit changelog

    πŸš€ We expect this release to ship in the DevTools of Chrome 84.

    Notable changes

    So many! See the Lighthouse 6.0: What's New blog post for an in-depth look.

    🍱 πŸ†• New audits

    • 🌐 Largest Contentful Paint (LCP) is a new metric that measures the time from navigation until the largest content element in the viewport is rendered (#9905, #10213, #10452, #10529).
      • largest-contentful-paint-element is a companion audit that gives information about which element triggered the LCP (#10517, #10713).
    • 🚚 Cumulative Layout Shift (CLS) is a new metric that measures the amount of unexpected movement of content as a page loads (#9037, #10427, #10495, #10570, #10728).
      • layout-shift-elements is another companion diagnostic that gives information about the elements that shifted as the page loaded (#10702).
    • 0️⃣ unused-javascript is an audit that has been kicking around for some time but is only now turned on by default. It accounts for what JavaScript was loaded but never executed during page load and estimates the load time that could be saved via code splitting, dead code elimination, or judicious use of the delete key (#9854).
    • 🌐 A PWA maskable-icon just looks better on your homescreen, so this new audit encourages you to have at least one available in your manifest (#10370).
    • 🐎 timing-budget expands budget assertions to now be settable on all the performance metrics (#9901, #9925).
    • 🌐 The new charset audit ensures a proper character encoding for page content (#10284, #10389, #10689).
    • πŸ“± image-size-responsive checks that images have an aspect ratio and resolution that match well with how they are displayed on a page (#10460).
    • ⚑️ Updating to the latest version of axe-core has unlocked a number of new accessibility audits: aria-hidden-body, aria-hidden-focus, aria-input-field-name, aria-toggle-field-name, duplicate-id-active, duplicate-id-aria, form-field-multiple-labels, heading-order (#9798).

    🍱 βš—οΈ Experimental audits

    🐎 These audits are not yet part of the default Lighthouse experience, but they will provide performance advice based on analysis of a page's JavaScript bundles. They can be tested today on the command line with the --preset=experimental flag.

    • legacy-javascript rummages through your bundles looking for polyfills and bundler transforms that aren't necessary or are outdated (#10303, #10568, #10564).
    • duplicated-javascript also takes a dive through a page's JavaScript looking for code that has ended up duplicated within bundles or across multiple bundles (#10314).
    • unused-javascript now runs by default (as mentioned above), but when run under experimental, the audit can use source maps to show what original source code was never run and could be postponed or eliminated (#10090).

    πŸ†• New contributors!

    πŸ‘€ Thanks to @TGiles, @roelfjan, @warrengm, @alexgreencode, @mikedijkstra, @egsweeny, @johnsampson, @jazyan, @b3none, @mattjared, @Malvoz, @Beytoven, @Munter, @msomji, @piotrzarycki, @awdltd, @mathiasbynens, @Carr1005, @staabm, @SphinxKnight, @sk-, @AndreasKubasa, @jantimon, @kmanuel, @Kikobeats, @RolandBurrows, @nxqamar, @catalinred, and @baseeee for their first contributions! So many!

    🍱 πŸ’₯ Breaking changes

    • 🐎 Performance metric scores have been reweighted to better reflect a user's loading experience (#9949).
    • ⚑️ Metric score curves have been updated when running a desktop Lighthouse test to account for the faster connection and CPU (#9911, #10756).
    • frameNavigated events are now used to track redirects, which means JS redirects are now accounted for when determining the run's finalUrl (#10339).
    • 🚚 The emulated mobile device has moved from the Nexus 5x to the Moto G4 (but the existing DPR has been left unchanged) (#10191, #10749).
    • 🚚 The mixed-content preset has been removed as it was not widely used and takes too long to be added to the default Lighthouse experience (#10159, #10750).
    • 0️⃣ The full preset has been renamed experimental to signify that the code there may not be ready for running by default (#9930, #10311, #10333, #10585).
    • ⚑️ The emulated Chrome UA string has been updated to Chrome 80 (#9967).
    • 🌐 installable-manifest: icons in the Web app manifest must be fetchable to be considered installable (#10168, #10320)

    🍱 πŸ€–πŸ’₯ Breaking Changes for programmatic users

    πŸ”Œ These changes are unlikely to affect end users, but may be important if you are writing custom configs, plugins, or processing the Lighthouse JSON output.

    • ⚠ LH.Audit.Context passed into audits is now treated as immutable. If code previously pushed to context.LighthouseRunWarnings to get a top-level warning, it should now pass that back in runWarnings on the audit's product (#10555).
    • 🚚 Audit.computeLogNormalScore has been redefined to specify log-normal curves with median and p10 points (dropping the "point of diminishing returns"). Existing audits have been moved to this new definition so that no score changes should occur (#10715).
    • A loadFailureMode setting has been added to Config passes to control behavior in case of page load failure. Previously this was implicitly controlled (e.g. no offline page available did not cause an error) (#9987)
    • πŸ‘ time-to-first-byte has been renamed server-response-time to better reflect what is being measured by the audit (#10735).
    • resource-summary: details.items.size has been renamed to transferSize for clarity (#10700, #10743).

    🍱 🧱 Core

    πŸ‘Œ Improvements, bug fixes, clarifications

    ⚑️ The following changes are considered to be bug fixes or updates to better match what was intended to be audited, but the changes may cause adjustments in audit scores or behavior.

    • βž• add top-level warning if Lighthouse hit a timeout before load was complete (#10538)
    • βž• add top-level warning if tested URL was redirected (#10157)
    • βœ… FCP + 5 seconds is now included as a minimum time that must be reached before the test page is considered loaded (#10505, #10516)
    • load simulation: add edges from initiatorRequest when there are duplicate records (#10097)
    • πŸ“œ load simulation: keep first layout/paint/parse events regardless of duration (#9922)
    • load simulation: do not create self-dependencies via timers (#10280)
    • 🚚 load simulation: remove min task duration on CPU nodes (#9910)
    • πŸ›  load simulation: use fixed times for data URLs since they've already been loaded (#9932)
    • load simulation: link layout nodes to root frame request (#9727)
    • tracehouse: improved attribution for XHRs + paint/layout/HTML (#10001)
    • offscreen-images: look outside three viewports for possible images to defer (#10643)
    • πŸ“± uses-responsive-images: include offscreen images larger than viewport (#10506, #10561)
    • accessibility: include axe-core 'incomplete' results in artifact to include even partial a11y results (#10072, #10270)
    • 🚚 audio-caption: remove check that has been disabled by axe-core (#10453)
    • link-text: Add more keywords to blocklist (#9986)
    • font-size: don't allow a deleted node to fail gatherer (#9928)
    • installable-manifest: lower required icon size from 192px to 144px (#10175)
    • is-on-https: add filesystem to secure schemes (#10073)
    • offscreen-images: exclude lazy or eager loading images (#10117)
    • resource-summary: don't include favicon.ico in summary (#10190)
    • uses-rel-preconnect: warn if more than three preconnects found (#9903, #10293)
    • third-party-summary: don't include main resource if origin in third-party list (#10006)
    • js-lib-detector: handle new fast lib detection entries, version heterogeneity (#9888, #10295, #10176)
    • ⚑️ is-on-https: update description to reference mixed content (#10712)
    • definition-list: mention <div> is allowed to group content in <dl> (#10479)
    • offline-start-url: improve failure messages (#9982)
    • ⚑️ update and fix links to docs in audit and stack-pack descriptions (#9850, #9863, #10019, #10069, #10246, #10496, #10714)

    πŸ†• New things for programmatic users

    • audit results now have a numericUnit property to specify the units for their numericResult (#9979)
    • ImageElements: add usesPixelArtScaling and usesSrcSetDensityDescriptor properties (#10481)
    • MetaElements: include property attribute (#9978)
    • βž• add new base artifact HostFormFactor (#9923)
    • ♻️ refactor to share unused-javascript-summary as a computed artifact (#10387, #10634)
    • βž• add new source-map computed artifact, js-bundles (#10078)
    • ♻️ refactor to share unused-css as a computed artifact (#10160)
    • ♻️ refactor to share metric timing as a computed artifact (#9814)
    • πŸ‘ budgets: add support for CLS and LCP budgets (#10579, #10625)
    • budgets: add firstPartyHostnames to the API (#10105, #10324)
    • 🚚 budgets: remove unused tolerance property from API (#9770)

    ♻️ Internal refactors and improvements

    • ensure axe-core errors are properly serialized (#10646)
    • cleanup of audit-details type names (#10603)
    • include finished state on hidden network-requests audit (#10530)
    • βœ… fetch source maps outside of test page so not blocked by CORS (#9459)
    • driver: dead code cleanup (#10491, #10571)
    • βž• add internal-only __internalOptionalArtifacts for experimental artifacts (#10355)
    • 🐎 font-size: use DOMSnapshot.captureSnapshot for better performance (#10200)
    • βœ… use isolated evaluateAsync when fetching content from the test page (#10130)
    • budgets: centralize path-matching logic (#9895)
    • script-elements: fetch script content in parallel (#9713)
    • include GatherRunner.runPass in internal perf timing numbers (#10205)
    • πŸ“‡ rename GatherRunner.isPerfPass for clarity (#9896)
    • migrate to flattened Chrome DevTools Protocol (#9783)

    🍱 πŸ’» CLI

    • βž• add support for multiple --chrome-flags (#10607)
    • πŸ‘ allow comma-separated values for --output (#10188)
    • βž• add --chrome-ignore-default-flags (#10184)
    • πŸ‘ allow --extra-headers as object (#9962)

    πŸ“” Report

    • βž• add "Trust and Safety" group in the Best Practices category (#10623)
    • βž• add link to score calculator populated with current metric scores (#10754, #10763, #10773, #10767)
    • πŸ‘Œ improve display of top-level warnings (#10636, #10765)
    • external-anchors-use-rel-noopener: use node audit details type (#10242)
    • is-crawlable: include robots.txt line number that blocks crawling (#10154)
    • βœ… temporary test of css grid for metrics (#10695, #10778)
    • define monospace font-size relative to report-font-size (#10761)
    • πŸ”— link to updated scoring documentation (#10725)
    • βž• add non-null jsdoc type annotations for internal linter (#10454)
    • clarify "size" as either transfer or resource size (#10420)
    • ⚑️ update table and inline code formatting (#10437)
    • πŸ›  fix link contrast in dark mode (#10364)
    • βž• add channel to runtime settings (#10099)
    • ⚠ align audit warnings (#10232)
    • close drop-down menu when focus is lost (#10208)
    • πŸ–¨ hide drop-down menu when printing (#10216)
    • 🚚 move Util.UIStrings to Util.i18n (#10153)
    • βž• add initial support for subrows within a table (#10084)
    • adjust score gauge's arc length to account for rounded linecap (#9913)
    • πŸ›  fix header-shifting flicker during scrolling (#9955)
    • βž• add source-location details for linking to source code (#9354)
    • βœ… CSV report: add tested URLs to entries (#10656, #10675)
    • viewer: add option for loading JSON from any URL (#10608)
    • viewer: mention other lighthouse channels (#10384)
    • 🚦 viewer: add page and cursor styling to signal loading (#10305, #10348)
    • viewer: use new logo (#9991, #9999, #10002)

    πŸ‘₯ Clients

    • retire extension; replace with PSI launcher (#9193, #9988, #9989)
    • πŸ‘ extension: add firefox support (#10332)
    • πŸ”’ extension: remove content security policy (#10380)
    • devtools: share desktop throttling settings with lightrider (#10322)
    • πŸ‘· devtools: split up runLighthouseInWorker and expose to worker (#10005)
    • devtools: add settings.internalDisableDeviceScreenEmulation (#9377)
    • πŸ”Œ devtools: include lighthouse-plugin-publisher-ads in bundle (#9924, #10583, #10682)
    • ⚑️ devtools: update roll-to-devtools and track upstream changes (#9942, #10310, #10036, #10758, #10762)

    🍱 🌍 i18n

    • πŸ†• new strings: audits, stack packs, headings, and corrections (#9940, #10244, #10245, #10645)
    • localize runtime settings and tools in report (#9166)
    • don't give unused arguments for localized protocol errors (#9935)
    • ⚠ use log.verbose() for outdated-strings warning (#9931)
    • centralize strings for metric names (#9871)

    πŸ“„ Docs

    • πŸ”Œ plugins: update recipe and docs to use NODE_PATH (#9997, #10028)
    • πŸ”Œ plugins: update example list (#9917)
    • 🐎 scoring: update for v6, defer to web.dev for performance (#10223, #10633, #10676)
    • lantern: add deep-dive video (#10546)
    • πŸ†• new-audits: emphasize what makes a good audit (#10376)
    • hacking-tips: link to gist on using audit results directly (#10480)
    • variability: expand on hardware recommendations (#10483)
    • πŸ—„ throttling: add devtools-throttling deprecation notice (#9933)
    • auth: use --disable-storage-reset in recipe (#10189)
    • πŸ“„ tweak authenticated-pages and puppeteer docs (#10277)
    • βž• add integration-test recipe for using Lighthouse and Jest (#9722)
    • βž• add performance-budgets doc (#10542)
    • βž• add recipe for using puppeteer in a custom gatherer (#10253, #10447)
    • βž• add readme for build/ directory (#10004)
    • πŸ™‹ readme: add variability and throttling to FAQ (#10631)
    • readme: add a table of contents (#10283)
    • βœ… readme: add note about yarn test-docs (#10263)
    • ✏️ readme: fix typos (#10179, #10694)
    • readme: add protobuf install directions (#10250)
    • πŸ†“ readme: separate free and paid integrations (#10027)
    • ⚑️ readme: add new and updated integrations (#9954, #9984, #10018, #9985, #10156, #9836, #10385, #10466, #10475, #10609, #10745)

    βœ… Tests

    • βœ‚ remove protobuf roundtrip check (and local protobuf dev requirement) from yarn update:sample-json (#10557, #10661)
    • πŸ‘· run CI tests on new github action (#10418, #10551, #10620, #10622, #10627)
    • πŸ— report to buildtracker on commit via CI github action (#10550, #10718)
    • ⚑️ lantern: update golden trace collection script and recollect them (#9662, #10129, #10209, #10279, #10663)
    • ♻️ smokehouse: refactor to be able to integration test all lighthouse clients (#9843, #10158)
    • βœ… smokehouse: add bundle.js runner for driving bundled lighthouse tests (#9943)
    • βœ… bundle smokehouse + bundle.js runner + bundled lighthouse for integration testing in a browser (#9873, #10727)
    • smokehouse: use ranges for some expectations to work in varying environments (#10227, #10473)
    • smokehouse: add static-server hook to modify response body (#9872)
    • 🌲 smokehouse: adjust expectation handling and logging for compatibility (#10361)
    • βœ… smokehouse: commit copy of pwa.rocks for testing (#10648)
    • βž• add type checking to driver-test (#10135, #10123)
    • βž• add type checking to gather-runner-test (#10136, #10215, #10230)
    • πŸ›  fix i18n-test.js bugs in Node 13 (#10595)
    • i18n: add check of locale files for strings that are probably wrong (#9847)
    • πŸ‘‰ use assert in strict assertion mode (#10606, #10733)
    • 🚚 report-ui-features: add tests and remove interdependencies (#10199, #10201)
    • ⚑️ update coveragePathIgnore jest configuration (#10448)
    • 🚚 speedline: remove flaky test (#10181)
    • βœ‚ remove global.URL for jsdom tests (#10186)
    • βœ… viewer-test: don't override puppeteer's chromium (#9877)
    • πŸ›  fix appveyor cache failures (#10281)
    • βœ… use lighthouse tarball for recipe tests (#10254)
    • πŸ— stage viewer per PR with yarn now-build (#10151)

    Misc

    • ⚑️ update license headers to credit Lighthouse Authors (#10469)
    • βž• add timings-data/ to .npmignore (#10584)
    • ⚑️ update commitlint config to latest, loosen subject-case (#10371)
    • πŸ‘‰ tweak CODEOWNERS for codereview assignment (#10265, #10274, #10282)
    • πŸš€ release script push tag (#10193)
    • βž• add a bump-versions.js release script (#9998)
    • βž• add comment about minimum chrome version for LCP (#9889)
    • ⚑️ update changelog order and add chrome note placeholder (#9859)
    • βž• add .mailmap file (#10766)
    • βž• add chrome version field to bug report template (#9866)
    • ⬆️ upgrade Lighthouse CI dogfood script (#9879, #9951, #9972, #10482)
    • ⚑️ updates and new features for internal compare-runs script (#10296, #10519, #10526, #10652)
    • βž• add git3po scripts for managing Github issues and PRs (#10231, #10266, #10255, #10271, #10338, #10256, #10304, #10658, #10257)

    Deps

  • v6.0.0-beta.0 Changes

    March 11, 2020

    🐎 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 [email protected].

    πŸš€ 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)
  • v5.6.0 Changes

    October 17, 2019

    Full Changelog

    πŸš€ We expect this release to ship in the DevTools of Chrome 79.

    πŸ†• New contributors!

    Thanks to @dpacassi, @lirantal and @yeonjuan for their first contributions!

    Notable

    • gather: add new MainDocumentContent public artifact (#9781)
    • stack-packs: add angular, react, amp, and magento packs (#9797)

    Core

    • tracehouse: allow child to start <1ms before parent (#9786)
    • driver: fix error handling for Runtime.evaluate (#9831)
    • errors-in-console: add ignoredPatterns option (#9480, #9829)
    • image-elements: cache naturalSize results (#9818)
    • πŸ”— link-elements: ignore non-HTMLLinkElements (#9765)
    • ⚑️ optimized-images: log errors (#9782)
    • πŸ‘ seo: support korean in link-text audit (#9804)
    • tracehouse: allow nested trace events without an end (#9785)
    • πŸ“‡ rename Element to LHElement (#9832)

    Deps

    • ⚑️ update third-party-web to 0.11.0 (#9849)
    • ⚑️ snyk: update snyk snapshot (#9793)

    Report

    • rephrase titles for 3rdparty & crc (#9419)
    • rewrite dom-size description (#9821)
    • ⚑️ update logo in top bar (#9728)
    • βœ‚ remove some dead code (#9800)

    Clients

    • 🍱 lr: don't include html report assets in bundle (#9828)
    • viewer: minify inlined report-generator bundle (#9596)

    I18n

    • 🌐 import: web.dev links and small corrections (#9846)
    • 🌐 import translations (#9802)

    πŸ“„ Docs

    • related-projects: add lighthouse-check (#9753)
    • related-projects: add the is-website-vulnerable CLI tool (#9810)
    • πŸ”Œ related-projects: add the gradle lighthouse plugin (#9789)
    • document 'meaning' field in i18n readme (#9787)
    • ⚑️ update stale references to audits (#9760)

    βœ… Tests

    • βœ… use firehouse smoke test runner to test bundle (#9791)
    • πŸ‘· attempt bundle test three times in CI (#9830)
    • smokehouse: fix tmp directory creation (#9855)
    • βœ… smokehouse: use static requires for test definitions (#9501)

    Misc

    • πŸ— build: minify report javascript for lightrider report generator (#9823)
    • more releasing tweaks (#9772)
    • βž• add compare-timings script (#9723, #9776)
  • v5.5.0 Changes

    October 02, 2019

    5.5.0 (2019-10-02)

    Notable changes

    • 🌐 Preliminary implementation of the Largest Contentful Paint metric has landed (devtools and provided throttling only) and can be found in the hidden metrics audit in the raw LHR JSON (#9706)
    • The creation of main-thread tasks from a trace is now more robust. This should significantly reduce the occurrence of Issue #7764, "Fatal trace logic error - expected start event, got X" (#9491)
    • <script> element id has been added to the ScriptElements artifact (#9718)

    πŸ†• New contributors!

    Thanks to @LarsKumbier, @TimvdLippe, and @uchoudh for their first contributions!

    Core

    • 🚚 network-recorder: remove quic-request-finished workaround (#9744)
    • ⚑️ network-recorder: optimize network idle detection (#9712)
    • unused-css-rules: no more infinity savings (#9731)

    Clients

    • πŸ‘· devtools: expose registerLocaleData to worker (#9645)
    • ⚑️ devtools: update references to Runtime.cachedResources (#9758)

    πŸ“„ Docs

    • πŸ†• new documentation for running Lighthouse on authenticated pages (#9628, #9705)
    • 🌐 point more docs links to web.dev (#9540, #9711, #9761)
    • readme: add more related projects (#9716, #9743)
    • ⏱ releasing: add schedule, more integration testing (#9695)
    • βž• add links to more info about throttling and variability (#9734)
    • ⚑️ update scoring calculator link to v5 (#9729)

    βœ… Tests

    • βž• add Lighthouse CI dogfood script to travis (#9677, #9745)
    • ⚑️ report: update utm_medium check for web.dev links (#9737)
    • ⚠ smokehouse: add check for any runWarnings (#9732)
    • βœ… attempt to download lantern test trace set a few times (#9766)

    Misc

    • 🚚 devtools: remove version replacement for expectations (#9702)
    • βœ‚ remove unnecessary return in Promise (#9703)
    • ⚑️ assets: update logo (#9694)

    Full Changelog

  • v5.4.0 Changes

    September 18, 2019

    5.4.0 (2019-09-18)

    πŸš€ Expected DevTools release in Chrome 79 (December 2019)

    Core

    • iframe-elements: Include new IFrameElements gatherer (#8979)

    Report

    • ⚑️ update favicon (#9688)

    πŸ“„ Docs

    • πŸ”Œ plugins: update recipe's lighthouse peerDependency version (#9653)

    I18n

    • treat Infinity and NaN as numeric values (#9687)

    βœ… Tests

    • smokehouse: fix unintentional 404, relax max-len (#9665)