Skip to content

Releases: GoogleChrome/lighthouse

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)

v11.3.0

02 Nov 20:13
e24429a
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • core: add clearStorageTypes option (#15508)
  • core: create flag to prevent fatal error on bad status code (#15494)
  • clients(extension): add locale selector (#15574)
  • clients(extension): always show settings, add psi frontend (#15526)

Core

  • remove config navigations (#15397)
  • accessibility: hide experimental axe rules (#15543)
  • inspector-issues: add cookie deprecation issue (#15553)

Report

  • use normal gauge if performance score is null (#15554)

Deps

  • upgrade puppeteer to 21.5.0 (#15582)
  • upgrade lighthouse-stack-packs to 1.12.1 (#15566)
  • upgrade puppeteer to 21.4.0 (#15557)

Clients

  • devtools: default to ignore fatal errors (#15558)

I18n

Docs

  • plugins: add link to GitHub repo template (#15539)

Tests

  • use --headless=new for all smoketests (#14419)
  • devtools: extend protocol timeout for load (#15555)
  • devtools: sync e2e (#15550)

Misc

  • update web.dev URLs (#15534)

v11.2.0

11 Oct 21:07
70edc97
Compare
Choose a tag to compare

Full Changelog

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

Notable Changes

This update includes an overhaul to the performance category. Performance insights are now scored and prioritized based on their estimated impact to the performance metrics. Additionally, the performance score gauge includes more detailed information about how each metric affects the score.

  • core: align performance audit score with metric savings (#15447)
  • report: sort performance audits based on impact (#15445)
  • report: add explodey gauge for performance category (#15396)

Core

  • asset-saver: fix handling of undefined trace (#15451)
  • csp: use monospace for technical terms in strings (#15511)
  • driver: attach to worker targets (#14212)
  • inspector-issues: add propertyRuleIssue (#15491)
  • installable-manifest: use monospace for technical terms in strings (#15513)
  • long-tasks: compute TBT impact (#15197)
  • mainthread-work-breakdown: add TBT savings (#15201)
  • tags-blocking-first-paint: ignore malformed link tags (#15489)

CLI

  • sentry: set useful tags from resolved config (#15485)

Report

  • redefine gauge percentage positioning (#15486)

Deps

  • upgrade puppeteer to v21.3.6 (#15490)
  • pin puppeteer version (#15458)
  • upgrade axe-core to 4.8.1 (#15446)
  • chrome-launcher: upgrade to 1.1.0 (#15517)

Clients

  • viewer: fix preload links (#15515)

I18n

  • upgrade to latest icu formatter (#13834)

Docs

  • plugins: minor corrections (#15449)
  • readme: edit description of the PageVitals tool (#15395)

Tests

  • use new headless for puppeteer tests (#15374)
  • dbw: increase wasted ms threshold (#15483)
  • devtools: remove usage of frontend globals (#15518)
  • devtools: ensure Lighthouse starts in smoke tests (#15459)
  • devtools: fix viewport in smoke tests (#15454)
  • devtools: sync e2e (#15444)

Misc

  • tweak dependabot ecosystem value (#15521)
  • have dependabot check github actions deps (#15496)
  • adopt minimal license headers (#15456)
  • bot: delete stale git bot rules (#14915)
  • ci: use commit sha for markdown action (#15493)

v11.1.0

07 Sep 22:59
905d9a2
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Core

  • add TBT savings to bootup-time (#15431)
  • add guidance level to performance audits (#15025)
  • add TBT impact to third party audits (#15385)
  • fix index.cjs types (#15387)
  • asset-saver: use new DevtoolsLog and Trace artifacts (#15345)
  • crawlable-anchors: consider empty rawHref crawlable (#15406)
  • dom-size: add TBT savings (#15307)
  • image-aspect-ratio: loosen aspect ratio threshold (#15328)
  • installable-manifest: update available installability errors (#15388)
  • largest-contentful-paint-element: add LCP savings (#15178)
  • lcp-lazy-loaded: add LCP savings estimate (#15064)
  • main-resource: fix protocol error when page is reloaded (#14520)
  • redirects: score only on wasted ms (#15401)
  • timespan-runner: warn if a navigation is detected (#15407)
  • viewport-meta: include initial-scale value condition (#15394)

Report

  • fix category highlight in DevTools (#15413)

Deps

  • upgrade third-party-web to 0.24.0 (#15354)
  • upgrade axe-core to 4.8.0 (#15430)
  • upgrade puppeteer to 21.1.1 (#15403)
  • upgrade puppeteer to 20.0.3 (#15375)

Clients

  • extension: update some properties for manifest v3 (#15347)

I18n

Docs

  • update explainer for devtools build (#15414)
  • add a guide to running Lighthouse at scale (#10511)
  • readme: fix chrome-launcher import example (#15428)
  • readme: add Lighthouse Metrics China to services list (#15256)
  • releasing: update cadence section (#15392)
  • releasing: remove instructions covered by automated tests (#15353)

Tests

  • better error handling when test modules fail to load (#15421)
  • do not allow hashes in mock dt log (#15363)
  • dbw: remove upper bound for LCP load start/end (#15432)
  • dbw: increase threshold for LCP load start/end (#15393)
  • devtools: sync e2e (#15389)
  • smoke: update installability icon error for ToT (#15422)
  • unit: retry failures and upload failure artifacts (#15378)

Misc

  • move root.js to shared/ (#15439)
  • remove url hash to avoid gtm hang in treemap, viewer (#15425)
  • move esm-utils.js to shared/ (#15418)
  • move dependabot.yml to correct folder (#15417)
  • add dependabot.yml (#15341)
  • build: do not minify browser extension (#15381)
  • build: output source map when building bundles (#15348)
  • readme: use note for Node version callout (#15410)
  • treemap: reduce granularity for byte values (#15415)

v11.0.0

03 Aug 23:09
cd3d3a4
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

Removed legacy navigation runner

The --legacy-navigation flag on the CLI, the legacyNavigation() function in the Node API, and the "Legacy navigation" checkbox in the DevTools panel have all been removed.

New DevtoolsLog and Trace artifacts

For custom audits, the devtoolsLogs['defaultPass'] and traces['defaultPass'] artifacts have been deprecated in favor of DevtoolsLog and Trace. See our plugin docs for example usage.

devtoolsLogs and traces still exist for compatibility purposes but will be removed in a future breaking release.

🆕 New Audits

  • add minor aXe audits and re-weight existing ones (#15298)

💥 Breaking changes

  • misc: drop node 16 support (#15290)
  • core: remove resource-summary audit (#15299)
  • core: add DevtoolsLogError and TraceError artifacts (#15311)
  • core: make INP non-experimental (#15285)
  • core: remove service-worker audit (#15257)
  • core: remove legacy runner (#15253)
  • core: remove first-contentful-paint-3g audit (#15252)

Core

  • re-weight best practices (#15321)
  • single network monitor kept on Driver (#15055)
  • do not emit NOT_HTML error if record not ok (#15271)
  • report artifact error when collected, add err.extra (#15258)
  • remove the "FR" prefix from types (#15274)
  • remove legacy artifacts types (#15273)
  • duplicated-javascript: use valid granularity (#15275)
  • lcp-element: gracefully handle error in phase table (#15329)
  • network-analyzer: coarse rtt estimate on per-origin basis (#15103)
  • network-request: loosen lightrider timing checksum (#15330)
  • render-blocking-resources: add FCP and LCP savings (#15238)
  • response-compresson: throw on unexpected error (#15259)
  • source-maps: use Scripts as a dependency (#15293)
  • stack-packs: add NitroPack detection (#15314)
  • uses-http2: add LCP and FCP savings (#15320)
  • uses-rel-preconnect: add FCP and LCP savings (#15281)

CLI

  • sentry: mention --enable-error-reporting flag in prompt (#15174)

Report

  • re-order manual audits and expand when audits pass (#15310)
  • move "View Original Trace" to the topbar dropdown (#15315)

Deps

  • upgrade puppeteer to 21.0.1 (#15331)
  • upgrade lighthouse-logger to 2.0.1 (#15282)
  • upgrade chrome-launcher to 1.0.0 (#15287)
  • deduplicate yarn.lock (#15269)
  • upgrade robots-parser to 3.0.1 (#15268)

Clients

  • extension: update to manifest v3 (#15219)

I18n

Docs

  • remove legacy navigation (#15340)
  • remove references to devtoolsLogs and traces (#15318)
  • plugins: fix syntax typos (#15264)
  • readme: add PageVitals to the list of integrations (#15288)

Tests

  • add page functions bundling test (#15280)
  • make smokehouse output dir with recursive flag (#15261)
  • save smokehouse outputs to .tmp/smokehouse-output (#15251)
  • call toString for errors from bundled worker (#15245)
  • devtools: remove unused test options (#15260)
  • devtools: sync e2e (#15250)
  • smoke: allow for decimal in a11y tap target (#15327)
  • smoke: drop legacy support (#15249)

Misc

  • remove residual references to legacy (#15292)
  • fix typo (#15120)
  • rename fraggle-rock fixtures directory to user-flows (#15291)
  • add main path to logger (#15284)
  • build: bundle with esbuild minification instead of terser (#15283)
  • build: replace rollup with esbuild (#15239)
  • ci: update actions using deprecated node12 (#15304)
  • logger: add types, remove cjs (#15279)

v10.4.0

11 Jul 00:30
c90b73a
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

New Audits

  • add hidden, 0-weight a11y audits (#15216)
  • aria-dialog-name, aria-text, link-in-text-block, select-name (#15159)

Core

  • remove unnecessary references to legacy gatherer (#15236)
  • update residual usages of legacy runner (#15227)
  • compute TBT impact for main thread tasks (#15175)
  • support ts targets before es2022 (#15189)
  • byte-efficiency: compute FCP & LCP savings (#15104)
  • config: add more validation from legacy (#15211)
  • link-text: add tamil keywords to blocklist (#15152)
  • long-tasks: add more task information to debugData (#15198)
  • network-recorder: set target type of unfinished request (#15232)
  • non-composited-animations: add CLS savings as always 0 (#15099)
  • prioritize-lcp-image: add LCP savings (#15229)
  • proto: add errorStack to AuditResult (#15187)
  • redirects: add FCP and LCP savings (#15228)
  • source-maps: support BOM markers and CORB prefix (#15224)
  • stacks: add wix (#15171)
  • unsized-images: add CLS savings as always 0 (#15196)
  • viewport: add INP savings (#15071)
  • work-during-interaction: add INP savings (#15176)

Report

  • use fixed position for hidden radios (#15181)

Deps

  • upgrade puppeteer to 20.8 (#15226)
  • upgrade third-party-web to 0.23.3 (#15213)

I18n

Tests

  • save smokehouse failures, improve bundle runner logging (#15235)
  • remove usages of legacy driver (#15230)
  • a11y: use regex for target size explanation (#15231)
  • ci: skip puppeteer Chrome download (#15177)
  • config: add unit tests from legacy config (#15209)
  • devtools: fix e2e compile error (#15210)
  • devtools: remove parallel modifier from e2e tests (#15172)
  • issues-mixed-content: use new site for testing (#15241)
  • runner: drop usages of legacy runner (#15047)
  • smoke: expect server-response-time to be greater than 0 (#15188)

v10.3.0

14 Jun 00:52
b981a38
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

New Audits

  • table-fake-caption, html-xml-lang-mismatch, input-button-name (#15098)
  • td-has-header (#15051)

Core

  • expose error stack on errored audits (#14491)
  • move metric savings to audit product (#15074)
  • add metric savings to audit result (#14997)
  • byte-efficiency: use log-normal distribution scoring (#14977)
  • crawlable-anchors: allow elements acting as anchors (#15079)
  • cumulative-layout-shift: remove totalCumulativeLayoutShift (#15122)
  • entity-classification: classify chrome extensions into separate entities (#15017)
  • global-listeners: iterate all execution contexts (#15054)
  • inspector-issues: add federatedAuthUserInfoRequestIssue (#15149)
  • inspector-issues: add stylesheetLoadingIssue (#15144)
  • largest-contentful-paint-element: display LCP value (#15061)
  • layout-shift-elements: add CLS savings (#15070)
  • network-analyzer: estimate from lrStatistics (#15158)
  • network-analyzer: include 0 start times in rtt estimate (#15100)
  • network-analyzer: fix num of roundtrips for h3 estimates (#15102)
  • network-analyzer: use arithmetic mean for median (#15096)
  • network-analyzer: infer single rtt estimate for h3 (#15095)
  • network-request: simplify recomputeTimesWithResourceTiming (#15107)
  • network-requests: add entity classification (#15105)
  • server-response-time: fix for lightrider (#15156)
  • server-response-time: use receiveHeadersStart instead of end (#15155)
  • time-to-first-byte: use receiveHeadersStart (#15126)
  • trace-elements: use CLS metric event filtering (#15067)
  • uses-rel-preconnect: handle 0 connect start timings (#15157)

Report

  • append utm query params to stack pack links (#15094)
  • update error icons (#15092)
  • update keyframes for confetti animation (#15059)

Deps

  • upgrade third-party-web to 0.23.0 (#15166)
  • upgrade puppeteer to 20.7.1 (#15164)
  • upgrade axe-core to 4.7.2 (#15165)
  • update to latest chrome-devtools-frontend (#15137)
  • upgrade puppeteer and puppeteer-core (#15143)
  • upgrade third-party-web to 0.22.0 (#15097)
  • upgrade axe-core to 4.7.1 (#15078)
  • upgrade lighthouse-logger to 1.4.1 (#15082)
  • es-main: update to 1.2.0 (#15121)

I18n

Docs

  • readme: add unit test tips (#15108)
  • readme: add laravel-lighthouse to project list (#15011)

Tests

  • remove most usages of afterPass (#15057)
  • rebaseline inspector issue detail types (#15050)
  • ci: bump node to fix windows latency failure (#15162)
  • smoke: add expectations for network-rtt, network-server-latency (#15113)
  • smoke: remove external resource from dbw (#15111)
  • smoke: add expectation for lcp-element (#15112)

Misc

  • support node 10 in lighthouse-logger (#15089)
  • add cjs path for logger (#15084)
  • bump lighthouse-logger to v1.4.0 (#15081)
  • compare-runs: allow for multiple args to lighthouse (#15066)
  • lantern-collect: drop sampling (#15072)
  • lantern-collect: add median lhr to golden zip (#15077)
  • lantern-collect: rebaseline to include new ttfb metric (#15069)
  • proto: add package name (#15116)

v10.2.0

04 May 22:44
8fe1a64
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • largest-contentful-paint-element: add phases table (#14891)

Core

  • add flow methods to cjs entry (#15045)
  • use target type instead of session for oopif (#15006)
  • create timing entries for getArtifact (#15024)
  • classify extension urls as non-network (#15022)
  • add time-to-first-byte and lcp-breakdown (#14941)
  • fix viewport when running over adb (#14937)
  • driver: warn about remaining inflight requests urls (#14963)
  • entity-classification: classify unknown urls as "unattributable" (#15009)
  • predictive-perf: add URL as requiredArtifact (#15028)
  • runner: handle erroneous screenshot (#14981)
  • stack-packs: sort packs in order we defined them (#15039)

Report

  • avoid really slow regexes for long urls (#14745)
  • remove content-visibility from lh-category (#14994)

Deps

  • update to typescript 5.0.4 (#15023)
  • upgrade puppeteer and puppeteer-core (#15000)
  • axe-core: upgrade to 4.7.0 (#15033)
  • chrome-launcher: update to 0.15.2 (#14983)
  • lighthouse-stack-packs: upgrade to 1.10.0 (#15038)
  • puppeteer: upgrade to 20.1.0 (#15037)

I18n

Docs

  • update throttling methods (#14993)
  • update pptr options example (#14978)

Tests

  • devtools: sync e2e (#14995)
  • move regenerated fixtures to new folders (#15031)
  • add user flows to generate some fixtures (#15005)

Misc

  • logger: add warn level (#14964)

v10.1.0

23 Mar 19:05
a7891f3
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • report: group third-party entities (#14655)

Core

  • cap byte-efficiency-audit scores to a max of 1 (#14921)
  • correctly truncate unicode strings (#14911)
  • allow any audit details type to be used in an opportunity (#14903)
  • audit: update link for source maps to chrome developer docs (#14855)
  • cls: ignore had_recent_input by timing window (#14402)
  • doctype: handle optional trace correctly (#14918)
  • legacy-javascript: add focus-visible polyfill (#14827)
  • tap-targets: update audit description (#14869)
  • trace-processor: support single process trace (#14901)
  • uses-responsive-images-snapshot: ignore CSS images (#14890)

CLI

Report

  • update table hover shades (#14873)
  • consistently use our monospace font stack (#14842)

Deps

  • upgrade http-link-header and node polyfills (#14889)
  • upgrade soft navigation plugin (#14883)
  • testdouble: update, move off forked quibble (#14863)

Clients

  • bundled: include soft navigation plugin (#14874)
  • lr: remove FCP 3G from config (#14910)
  • viewer: link to diff tool's new URL (#14865)
  • viewer: rework landing with link to lhci diff tool (#14851)

Docs

Tests

  • fix seo-tap-targets in high DPI (#14866)
  • devtools: reenable issues-mixed-content (#14862)

Misc

  • replace deprecated command with environment file (#14751)
  • fix typos of overridden (#14877)