Skip to content

Releases: GoogleChrome/lighthouse

v12.2.2

19 Nov 04:27
b64b353
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 133, and to PageSpeed Insights within 2 weeks.

New contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Core

  • network-monitor: treat EventSource as non-critical (#16225)
  • target-manager: ignore target if type is unknown (#16221)

CLI

  • create writeFile destination if necessary (#15990)

Deps

  • upgrade puppeteer to 23.8.0 (#16248)
  • upgrade third-party-web to 0.26.1 (#16219)
  • upgrade puppeteer to 23.5.2 (#16220)
  • lighthouse-stack-packs: upgrade to 1.12.2 (#16242)
  • lodash: migrate lodash to lodash-es (#16211)
  • sentry: upgrade to v7 (#16215)

Clients

  • lr: set CPU throttling based on benchmark (#16226)
  • lr: fix wrong render-blocking-resources transfer size (#16190)

I18n

Docs

  • readme: add lighthouse-matchers to related projects (#16239)
  • readme: add Guardius to services list (#16235)

Tests

  • smoke: fix devtools test runner & a11y errors (#16236)

Misc

  • ci: upgrade old actions (#16191)

v12.2.1

06 Sep 18:24
31bdd8a
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 130, and to PageSpeed Insights within 2 weeks.

Core

  • third-party-cookies: update description for 3PCD updates (#16177, #16158)
  • uses-text-compression: ignore percent threshold for large savings (#16165)

Deps

Clients

  • devtools: require third-party-web to be provided (#16166)

I18n

  • support reusing the same placeholder for ICU (#16159)

Tests

  • pass logger to smokehouse runners to get log even on timeout (#16175)
  • update BUILD.gn due to upstream CDT change (#16171)
  • devtools: sync e2e (#16174)
  • devtools: sync e2e (#16160)

Misc

  • format lighthouse-result.proto (#16170)

v12.2.0

07 Aug 22:03
c79628a
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 129, and to PageSpeed Insights within 2 weeks.

Core

  • import lantern from trace engine (#16092)
  • long-tasks: link to latest guidance (#16138)
  • stylesheets: disable transient stylesheet detection (#16121)
  • third-party-summary: correct blocking time calculation (#16117)
  • trace-engine-result: disable invalidations handler (#16142)

Deps

  • upgrade trace_engine to 0.0.32 (#16143)
  • upgrade puppeteer to 22.15.0 (#16139)
  • upgrade third-party-web to 0.24.5 (#16140)
  • upgrade puppeteer to 22.13.1 (#16123)
  • upgrade typescript to 5.5.3 (#16091)

Tests

  • devtools: sync e2e (#16120)
  • treemap: ignore cookie deprecation error (#16141)

Misc

  • remove alertdesk from README (#16133)
  • build: update README.chromium when rolling devtools (#16144)

v12.1.0

18 Jun 17:05
4d8a2f0
Compare
Choose a tag to compare

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • remove first-meaningful-paint metric (#16047)

Core

  • move simulator creation and network analysis to lib/lantern (#16003)
  • handle target crash at any point (#15985)
  • aria-allowed-role: fix title and description (#16042)
  • inspector-issues: add shared dictionary issue (#15993)
  • lantern: refactor to DevTools modules convention (#16071)
  • lantern: rename files to PascalCase (#16068)
  • lantern: remove last usages of Lighthouse NetworkRequest (#16067)
  • lantern: remove usage of Lighthouse constants module (#16062)
  • lantern: remove all LH types (#16061)
  • lantern: move tbt-util.js to lib/lantern (#16058)
  • lantern: separate TraceEngine specific code (#16051)
  • lantern: extract main thread events w/o TraceProcessor (#16049)
  • lantern: remove usage of Lighthouse's ProcessedNavigation (#16048)
  • lantern: use LCP instead of FMP for TTI simulation bounds (#16046)
  • lantern: use computed artifact to create graph using trace (#16040)
  • lantern: rename NetworkRequest record to rawRequest (#16037)
  • lantern: resolve some differences when using trace (#16033)
  • lantern: create network graph from trace (experimental) (#16026)
  • network: align headers end time with send when no data received (#16044)
  • network: fix time units in network quiet calc (#16013)
  • test: add generatable squoosh trace (#15997)
  • test: add generatable trace for paint metrics (#15994)
  • test: add generatable iframe trace (#15995)
  • types: add missing fields to Result.Category and NodeDetails (#16006)

CLI

  • stop treating chrome launcher kill() as async (#15998)

Deps

  • upgrade puppeteer to 22.11.1 (#16070)
  • upgrade chrome-launcher to 1.1.2 (#16069)
  • upgrade puppeteer to 22.10.0 (#16054)
  • upgrade third-party-web to 0.24.3 (#16055)
  • upgrade axe-core to 4.9.1 (#16056)

I18n

Docs

  • remove await from chrome.kill() (#15982)

Tests

  • use newer traces in network-analyzer-test.js (#16043)
  • default to 0 for network trace data length (#16041)
  • update remaining old traces for Lantern (#16039)
  • use new trace in metrics-test for pwa (#16025)
  • update many test traces, support .json.gz (#16007)
  • add timeout to runSmokeTest (#16017)
  • fix devtools e2e test runner (#16018)
  • reduce expected value of render-blocking-requests smoke (#16011)
  • update interactive test trace (#16001)
  • use new button class name for devtools run script (#15999)
  • ci: remove reference to deleted smoke test (#16010)
  • lantern: fix some tests not running (#16073)
  • lantern: refactor to DevTools test convention (#16072)
  • lantern: remove usage of devtoolsLog in simulator tests (#16065)
  • lantern: remove usage of computed SpeedIndex (#16064)
  • lantern: remove usage of computed PageDependencyGraph (#16063)
  • lantern: use TraceEngine directly in test fixtures (#16057)
  • lantern: remove Speedline from Lantern unit test for now (#16060)
  • lantern: remove devtools log from tests (#16050)

Misc

  • change connectionId from string to number (#15983)
  • ci: fix deprecated node usage in checkout@v3 (#16022)
  • strings: fix WebAuthetication typo (#16028)

v12.0.0

22 Apr 22:19
a511e58
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 126, and to PageSpeed Insights within 2 weeks.

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

PWA Category Removal

As per Chrome’s updated Installability Criteria, Lighthouse has removed the PWA category. For future PWA testing, users will be directed to use the updated PWA documentation.

SEO Category Reorganization

The SEO category has been updated to reflect the priorities of Google search in 2024. As such, several audits have been removed or moved to other categories:

  • The is-crawlable audit is now weighted high enough to fail the SEO category on its own. (#15933)
  • The viewport and font-size audits are no longer priorities for SEO, but are still important for UX in general so they have been moved to the best practices category. (#15930)
  • The plugins audit is no longer a priority for SEO and has been removed. (#15928)
  • The tap-targets audit is no longer a priority for SEO and has been replaced with the target-size audit in accessibility. (#15906)

Overall Savings Deprecation

The overallSavingsMs value on performance diagnostic audits has been deprecated (#15902). We recommend using metricSavings.LCP or metricSavings.FCP to understand the estimated metric savings of performance diagnostics.

🆕 New Audits

Other Audit Changes

  • The layout-shifts-elements audit is removed. Improved layout shift information can be found in the layout-shifts audit. (#15931)
  • The no-unload-listeners audit is removed. Unload listeners are deprecated and are still flagged in the deprecations and bf-cache audits. (#15874)
  • The duplicate-id-active audit is removed because it's corresponding Axe check is deprecated. (#15900)
  • The uses-rel-preload and preload-fonts audits have been moved to the experimental config. Preload advice is still on hold and these audits were already in a disabled state. (#15876)

💥 Breaking Changes

  • split up CSSUsage artifact (#15952)
  • remove budgets (#15950)
  • remove relevant audits lists from config (#15878)
  • remove ScriptElements artifact (#15879)
  • config: use explicit diagnostic group (#15901)
  • service-worker: remove service-worker gatherer (#15942)

Core

  • remove pre-v10 compat for page graph construction (#15948)
  • a11y: re-enable target-size hidden audit (#15888)
  • driver: add sendCommandAndIgnore (#15913)
  • gather: handle crash if CDP target crashes (#11840)
  • lantern: always use flexible network ordering (#14612)
  • lantern: remove LR statistics (#15946)
  • lantern: inline rtt constant (#15944)
  • lantern: add LanternError and adapter to LH error (#15937)
  • lantern: correct overlapping tasks in CPU nodes (#15938)
  • lantern: duplicate isNonNetworkProtocol in lib/lantern (#15936)
  • lantern: replace usage of LH.Artifacts.ProcessedTrace (#15905)
  • lantern: move lantern metrics to lib/lantern (#15875)
  • metric: remove gatherContext mode check (#15899)
  • render-blocking: use trace engine as the source of truth (#15839)
  • runner: use early return for readability (#15914)
  • seo: support Persian in link-text audit (#15949)
  • target-size: use binary display mode (#15910)

Report

  • fix hidden audit handling for non-perf categories (#15968)

Deps

  • upgrade tldts-icann to 6.1.16 (#15967)
  • upgrade third-party-web to 0.24.2 (#15966)
  • upgrade puppeteer to 22.6.5 (#15951)

Clients

  • viewer: stop using legacy DOM api (#15964)

I18n

Docs

  • bug-report: require users to read FAQs (#14383)
  • readme: add DeploymentHawk to the list of integrations (#15847)

Tests

  • refresh sample artifacts (#15962)
  • invalidate devtools build cache (#15947)
  • update network target type expectations (#15916)

Misc

  • deduplicate all the dom helpers (#15960)
  • merge changelog from branch-11 (#15957)
  • remove BenchmarkIndexes base artifact (#15941)
  • update public gatherer list (#15940)
  • remove residual lighthouse-cli file (#15935)
  • use "processing duration" instead of "processing time" for INP (#15893)
  • treemap: fix column sorting when some values are blank (#15959)

v11.7.1

09 Apr 00:58
c317670
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 125, and to PageSpeed Insights within 2 weeks.

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Core

  • network-request: recognize zstd compression algorithm (#15883)
  • trace-elements: add sentry debugging for impactedNodes (#15915)
  • trace-processor: correct overlapping tasks (#15921)

Report

  • remove use of innerHTML to empty elements (#15911)

Deps

  • upgrade trace_engine to 0.0.19 (#15926)
  • upgrade axe-core to 4.9.0 (#15887)

Tests

  • remove Access-Control-Allow-Origin for robots.txt (#15895)
  • devtools: sync e2e (#15917)

Misc

  • correct .npmignore for node >=18.20 (#15924)
  • proto: ensure all strings are well-formed (#15909)

v11.7.0

20 Mar 22:32
c4e0d66
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 125, and to PageSpeed Insights within 2 weeks.

Notable Changes

  • The publisher ads plugin is out of date and will not be supported in Chrome DevTools M125 (#15843)

Core

  • fix regression in internal chrome error messages (#15853)
  • a11y: disable target-size hidden audit (#15854)
  • css-usage: prevent late stylesheet additions (#15865)
  • driver: don't await cleanup in PAGE_HUNG case (#15833)
  • driver: fix protocol timeout being ignored for isolated eval (#15826)
  • emulation: remove Lighthouse from client hint brand (#15856)
  • full-page-screenshot: emit screenshot commands in parallel (#15862)
  • full-page-screenshot: revise logic for determining dimensions (#14920)
  • gather: gatherFn refactor (#15830)
  • installable-manifest: add manifest-parsing-or-network-error (#15849)
  • lantern: move types to lib/lantern (#15859)
  • lantern: move LanternMetric in lib/lantern (#15857)
  • lantern: refactor LH.Gatherer.Simulation (#15852)
  • lantern: move PageDependencyGraph to lib/lantern (#15851)
  • lantern: put types in namespace (#15850)
  • lantern: rename lib/dependency-graph to lib/lantern (#15844)
  • lantern: add interface for network request (#15845)
  • lantern: use rendererStartTime instead of networkRequestTime (#15834)
  • navigation-runner: only run getArtifact phase once (#15827)
  • network-request: use rendererStartTime for initiator candidates (#15832)
  • responsiveness: remove fallback trace event pre m103 (#15866)

Deps

  • upgrade chrome-launcher to 1.1.1 (#15871)
  • upgrade puppeteer to 22.5.0 (#15867)
  • bump ip from 1.1.8 to 1.1.9 (#15863)

I18n

Tests

  • devtools: use is_debug = true for local builds (#15860)
  • devtools: skip type checking in local builds (#15858)
  • devtools: sync e2e (#15837)
  • full-page-screenshot: add node verification and debug tool (#15324)

v11.6.0

21 Feb 22:19
d251755
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 124, and to PageSpeed Insights within 2 weeks.

Notable Changes

  • trace: disable JS samples (#15819)

Core

  • driver: add verbose logs for wait-for page load components (#15818)

Deps

  • upgrade puppeteer to 22.1.0 (#15822)
  • upgrade trace_engine and drop manually written types (#15810)
  • upgrade axe-core to 4.8.4 (#15805)
  • upgrade puppeteer to 22.0.0 (#15803)

I18n

Tests

  • dbw: revert expectations for unload handler removal (#15802)

Misc

  • reword pwa banner (#15800)
  • do not double report artifact dep error to sentry (#15777)

v11.5.0

24 Jan 19:32
b4573d0
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 123, and to PageSpeed Insights within 2 weeks.

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • New layout-shifts audit shows estimated root causes for layout shifts. This replaces the layout-shift-elements audit which only shows elements impacted by layout shifts. (#15703, #15730)
  • Informative audits now have a score of 1 instead of null (#15689)
  • Added a warning for PWA deprecation (#15741)

Core

  • bump guidance level of top CWV recommendations (#15695)
  • lower guidance level of unused- audits (#15718)
  • create separate product savings type (#15726)
  • round metric savings to remove false precision (#15721)
  • fix mistake preventing gather/audit phases from sharing cache (#15710)
  • cumulative-layout-shift: experiment with new shared trace engine (#15702)
  • legacy-javascript: detect es-shims polyfills (#15738)
  • network-request: consider secondary headers for content encoded check (#15708)
  • render-blocking-resources: reduce metric savings if LCP is an image (#15694)
  • target-manager: warn on errors while attaching to workers (#15740)
  • trace: enable JS samples for advanced workflows (#15542)
  • unused-css: exclude header size for estimating wasted bytes (#15671)
  • viewport: include meta viewport string in debugDetails (#15727)

Report

  • small renderAudit simplification (#15725)
  • fix filmstrip wrap (#15693)
  • performance: use metric savings for metric filter (#15540)

Deps

  • upgrade puppeteer to 21.7.0 (#15724)
  • upgrade esbuild to 0.19.11 (#15731)

Clients

  • lr: include flag for ignoring bad page status code (#15764)

Docs

  • update deprecated link to shared flags (#15722)
  • user-flows: update complete flow example (#15690)

Tests

  • check for console errors and warnings in pptr tests (#15516)
  • fix ToT chrome install path (#15753)
  • ci: stop using xvfb (#15707)
  • dbw: update expectations for unload handler removal (#15765)
  • dbw: fix server latency flake (#15729)
  • mocha: fix snapshot expectations in retries (#15735)

Misc

  • build: set line limit to 1000 (#15733)
  • lighthouse-logger: add repo to package.json (#15768)

v11.4.0

12 Dec 00:39
680ec8c
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 122, and to PageSpeed Insights within 2 weeks.

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

New Audits

Chrome plans to remove support for third-party cookies which can be detected using a new Lighthouse audit. Learn more about phasing out third-party cookies. (#15632)

Core

  • reintroduce resource-summary as a hidden audit (#15597)
  • move transfer ratio estimate to script-helpers.js (#15665)
  • set network responseHeadersText from extra info event (#15639)
  • fix check for presence of all URL artifact fields (#15648)
  • fix worker request expectations for M121 (#15601)
  • aria-allowed-role: fix typo in learn more link (#15633)
  • bf-cache: add warning and hide when using old headless (#15577)
  • bf-cache: change to use binary scoring mode (#15581)
  • bootup-time: exclude _lighthouse-eval.js (#15678)
  • byte-efficiency: replace pessimistic graph with optimistic (#15651)
  • css-usage: exclude empty stylesheets (#15679)
  • duplicated-javascript: exclude header size for estimating wasted bytes (#15667)
  • emulation: bump chrome UA to m119 (#15661)
  • entity-classification: update tldts package to icann subset (#15660)
  • entity-classification: integrate public-suffix-list into LH (#15641)
  • lantern: refactor fcp graph method signatures (#15572)
  • layout-shift-elements: mention windowing in description (#15680)
  • layout-shift-elements: aggregate all remaining elements (#15593)
  • legacy-javascript: exclude header size for estimating wasted bytes (#15640)
  • minification-estimator: add else to punctuation (#15624)
  • mpfid: add list of loaf durations to debugdata (#15685)
  • mpfid: add max LoAFs to debugdata (#15684)
  • third-party-summary: expands the audit to include all urls (#15611)
  • trace-elements: remove element score field (#15677)
  • unminified-javascript: exclude header size for estimating wasted bytes (#15670)
  • unused-javascript: exclude header size for estimating wasted bytes (#15668)
  • uses-http2: include multiplexable assets when 1p is a known 3p origin (#15638)

Report

  • blend impact and guidance level to sort audits (#15669)
  • fix sticky table if no sticky header (#15666)
  • occupy entire viewport (#15664)
  • remove accidental console.log() (#15635)
  • prevent shift when hovering third party row (#15628)
  • add timespan/snapshot mode labels to footer (#15589)

Deps

  • upgrade third-party-web to 0.24.1 (#15683)
  • upgrade puppeteer to 21.5.2 (#15645)

Clients

  • lr: modify puppeteer connector to work with new tab targets (#15674)

I18n

Tests

  • lower bootup-time threshold in api-test-pptr.js (#15649)
  • use bash instead of sh to call test-recipes.sh (#15647)
  • ci: resume using ToT chrome (#15655)
  • ci: hardcode ToT revision to unblock ci for now (#15653)
  • dbw: add unload handler deprecation (#15608)

Misc

  • improve download-chrome.sh usability (#15646)
  • support mac arm64 in download-chrome.sh (#15650)
  • treemap: remove unused firebase (#15617)