Skip to content

Releases: GoogleChrome/lighthouse

v9.4.0

17 Feb 00:56
e3fdffc
Compare
Choose a tag to compare

Full Changelog

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

Notable Changes

  • Allow auditing of navigations triggered by user interactions in user flows. See our user flow docs for more info. (#13496)

Core

  • a11y: change link in category description to web.dev (#13638)
  • full-page-screenshot: wait for doubleraf, network quiet (#13663)
  • hreflang: remove eval, import axe valid-langs.js directly (#13385)
  • inputs: refactor form-elements gatherer (#13662, #13671)
  • page-functions: set style in getOuterHTMLSnippet without violating CSP (#13636)
  • runner: independent gather and audit functions (#13569)
  • uses-long-cache-ttl: ignore stale-while-revalidate (#13612)

Report

  • add options onPrintOverride and onSaveFileOverride (#13529)
  • add options disableFireworks and disableDarkMode (#13649)
  • add onViewTrace to renderer options (#13528)
  • remove pausing fireworks on click (#13650)
  • fix fireworks (#13635)

Deps

Tests

  • use simpler assertion in report-renderer-axe-test.js (#13658)
  • fix single node a11y tests (#13626)
  • devtools: sync (#13656)
  • devtools: update report resource names (#13615)
  • smoke: test array _includes and lhr.timing (#13619)

Misc

  • temporarily remove brendan from triage rotation (#13618)

v9.3.1

31 Jan 22:46
fcd5dfb
Compare
Choose a tag to compare

Full Changelog

Report

  • disable fireworks with flag (#13610)

v9.3.0

31 Jan 17:11
cad7442
Compare
Choose a tag to compare

Full Changelog

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

Notable Changes

  • Fixed a major bug introduced in 9.0 that broke --cli-flags-path #13589

Core

  • preload-lcp-image: enable audit (#13599)
  • ensure good and average scores start exactly at control points (#13559)
  • fr: don't throw on unknown --only-categories value (#13499)
  • inspector-issues: collect all issue types (#13462, #13603, #13595)
  • object-alt: remove md syntax around "alt" (#13517)
  • runner: asset manager helper (#13519)

CLI

  • remove update-notifier (#13588)
  • asset-saver: end devtoolsLog with a newline (#13566)

Report

  • allow client to configure how save-html is implemented (#13518)

Deps

  • update various runtime deps (#13483)
  • update various devDeps (#13485)
  • update robots-parser to latest (#13554)
  • update transitive deps to quiet vulnerability alerts (#13538)
  • lighthouse-stack-packs: upgrade to 1.7.0 (#13604)
  • snyk: update snyk snapshot (#13498, #13598)
  • yargs: upgrade to 17.3.1 (#13590)
  • yargs-parser: upgrade to 21.0.0 (#13597)

Clients

  • use minimal 'url' polyfil instead of url-shim (#13545)
  • devtools: add FR runners to DevTools entry (#13593)

I18n

Docs

  • update devtools panel throttling details (#13504)

Tests

  • add snapshot tests for cli-flags.js (#13596)
  • tweak some CI job names for clarity (#13549)
  • split devtools ci into build, web-tests and smoke jobs (#13546)
  • more targeted caching for devtools build (#13540)
  • run most smoke tests on devtools (#13456)
  • clean up and add comments to cdt layout test scripts (#13471)
  • devtools: ensure WebSQL table is populated (#13579)

v9.2.0

16 Dec 20:24
7bda3f3
Compare
Choose a tag to compare

Full Changelog

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

Notable Changes

  • move no-unload-listeners to perf category (#13497)

Core

  • font-size: fix CSS selector regex (#13455)
  • fcp: handle negative request endTime (#13452)
  • legacy-javascript: update polyfilling, drop some signals (#13482, #13442)
  • cache fetch to avoid bad polyfills (#13476)
  • check equality of computed artifacts using dependency keys (#13430)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • compute timespan saving with observed throughput (#13478)
  • option to skip about:blank jumps (#13375)

Report

  • psi: update styles for tighter fit in narrow viewports (#13355)

Deps

  • bump eslint and related items (#13484)
  • axe-core: upgrade to 4.3.5 (#13441)

Tests

  • smoke: fix chromestatus url (#13475)
  • split smoke tests into one test per file (#13461)
  • fix devtools build command (#13457)
  • move sharding higher so smokehouse-bundle can also shard (#13387)
  • port axe test to pptr (#13450)

Misc

  • build: build test flow report to same path as sample-reports (#13324)
  • treemap: add lang to html tag (#13454)

v9.1.0

25 Nov 00:11
8100b80
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • If using Next.js, you will now see advice specific to it in some audits (#13424)

Core

  • canonical: remove cross-origin check (#13412)
  • add original location to most usages of source-location (#13393)
  • mindfully order properties in the lhr (#13418)
  • ensure log-normal score is always in correct range (#13392)
  • installable-manifest: pipeline-restarted check (#13365)

Report

  • remove margin when saving html in standalone report (#13409)
  • consistent red display text (#13391)
  • treemap: correct percentages when 0 bytes JS (#13382)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

Deps

  • remove browserify (#13417)
  • update to typescript 4.5 (#13399)
  • snyk: update snyk snapshot (#13388)

Clients

  • devtools: remove report.css (#13377)
  • viewer: add support for flow reports (#13260)

I18n

Docs

  • example to save flow as json (#13415)
  • throttling: clarify throttle npm name (#13371)

Tests

  • fix undefined HTMLInputElement in bundle-test (#13421)
  • make inline-fs-test not reliant on cwd (#13420)
  • increase timeout for axe test (#13386)

Misc

  • build: replace browserify with rollup (#13416, #13406, #13407, #13408)
  • build: prevent over optimization of computeBenchmarkIndex (#13366)
  • treemap: remove postMessage. refactor options input (#13356)

v9.0.0

16 Nov 00:01
763bb63
Compare
Choose a tag to compare

Full Changelog

We expect this release to ship in the DevTools of Chrome 98. It is already live in the new PageSpeed Insights.

See the What's new in Lighthouse 9.0 blog post. Continue for the changelog.

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Notable Changes

  • [BREAKING] move to minimum Node 14 (#13243)
  • a11y: add relatedNodes to accessibility audits (#13193)

Removed Audits

  • [BREAKING] appcache-manifest: remove audit (#13287)
  • [BREAKING] external-anchors-use-rel-noopener: remove audit (#13298)
  • [BREAKING] remove the redirect pass and redirects-http audit (#12643)

Preview: Audit User Flows

Report of a Lighthouse User Flow. Shows the overivew page, with summaries of 4 subreports.

Lighthouse now offers auditing user flows, scripted with Puppeteer, via the Node CLI. This means you can now audit a page beyond its initial load. See the Lighthouse user flows blog post for more.

Core

  • fix launching chrome in node 17 (#13301)
  • reduce image hotlinking in the report (#13185)
  • emulation: set client-hints metadata when spoofing the UA (#13341)
  • emulation: bump chrome version to m98 (#13340)
  • config: use abbreviation for pwa category title (#13270)
  • deprecations: use inspector issues (#13342)
  • avoid fatal errors when collecting base artifacts (#13312)
  • [BREAKING] errors-in-console: remove url property from items (#13286)
  • [BREAKING] image-size-responsive: remove elidedUrl, elide url property instead (#13226)
  • [BREAKING] image-elements: remove mimeType from artifact (#13265)

Report

  • introduce the new report api, add dom.rootEl (#13277, #13279, #13361)
  • make denser. changes to typography, group descriptions, more (#13249)
  • display final screenshot prominently (#13123)
  • redesign runtime settings (#13125, #13350)
  • help-dialog: remove timespan SEO (#13354)
  • order metrics by row (#13328)
  • sort audits by weight (#13053)
  • translate newly added report strings (#13308)
  • [BREAKING] group perf audits by details type. change the meaning of an audit whose group is not defined–before no group implied an audit would not be renderered, but now an explicit hidden group is used (#13241, #13310)
  • [BREAKING] pwa: remove renderScoreGauge, replaced with renderCategoryScore (#13269)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • handle 0 throughput in timespan (#13323)
  • clone default categories to avoid modification (#13337)
  • add timespan support to h2 (#12814)
  • report: remove smooth scrolling (#13317)
  • report: network throttling settings (#13305)
  • report: use filmstrip thumbnail in navigation (#13283)
  • report: fix report anchors (#13233)
  • report: full page screenshot renderer (#13276)
  • report: category tooltip highest impact (#13230)
  • report: import lhr strings (#13215)
  • report: i18n formatter (#13190)
  • report: mock styles (#13220)

Deps

  • bump lighthouse-plugin-publisher-ads (#13339)
  • deps: update chrome-launcher to 0.15.0 (#13353)

Clients

  • devtools: only use locales that have locale files to download (#13214)
  • psi: retire prepareLabData, reuse standard report rendering (#13229)

I18n

  • import (#13360)
  • add better support for the default locale in bundles (#13211)

Tests

  • eslint: add export rule (#13282)
  • longer timeout for installability errors check (#13297)
  • ignore .tmp directory in jest modules (#13285)
  • add cdt folders to devtools test cache buster (#13268)
  • update devtools default branch to 'main' (#13266)
  • ci tests should include all files (#13235)
  • report: throw on axe error (#13234)
  • flow: puppeteer test (#13281)

Misc

  • publish: include the report bundle in npm package (#13349)
  • build: create inline-fs rollup plugin to replace brfs (#13232, #13240, #13248, #13272, #13275, #13278, #13280)
  • build: use rollup to build lighthouse-core bundles (#12771)
  • build: call close method on rollup builds (#13307)
  • build: use prepack script to build report (#13261)
  • build: do not assign runBundledLighthouse in devtools bundle (#13311)
  • build: use cross platform sed for devtools script (#13242)
  • preserve error stack when using promise timeout (#13333)
  • support old devtools in yarn run-devtools (#13284)
  • add report bundles to nightly build (#13222)
  • rename lighthouse-treemap to treemap (#13246)
  • rename lighthouse-viewer to viewer (#13247)
  • simplify release process, run package-test in CI (#13212)
  • add os to bug report template (#13245)
  • proto: add throttling and throttling_method (#13309)
  • revert missing bundle tests (#13289)
  • fix typo (#13224)

v8.6.0

13 Oct 19:50
f0c9755
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Core

  • crawlable-anchors: ignore event listeners, validate url (#13105)
  • full-page-screenshot: fix emulation reset (#13175)
  • response-compression: add x-content-encoding-over-network (#13176)
  • share localization between core and report (#13146)
  • update cdt SourceMap to latest devtools frontend (#13095)
  • stack-packs: simplify i18n filename lookup (#13133)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • add UserFlow usability improvements (#13139)
  • add supportedModes filter to categories (#13161)
  • handle cached timespan records (#13181)
  • add parity logging (#13114)
  • animate timespan thumbnail (#13178)
  • refine snapshot and timespan performance (#13184)
  • topbar save button (#13109)
  • elide step name (#13171)
  • localized sample (#13143)
  • timeline header (#13128)
  • add help dialog to explain flows (#13159)
  • collect i18n strings (#13152)

CLI

  • add list-locales flag (#12983)
  • always return correct version (#13130)

Report

  • move logger styles into js (#13204)
  • remove href from category score gauge (#13180)
  • inject report/assets/styles.css via components.js (#13057)
  • remove smooth scrolling css (#13102)
  • add lh- prefix to remaining show class (#13203)
  • handle gauge fragment links in script (#13186)

Clients

  • psi: include global reports styles in legacy psi rendering (#13151)
  • viewer: swap locale (#10148, #13192)
  • viewer: remove devtools disclaimer (#13145)
  • viewer: add body styles (#13144)
  • viewer: upgrade to firebase 9 (#13115)
  • viewer: use access token regardless of firebase auth (#13116)
  • viewer: use new firebase credentials (#13110)

I18n

Docs

  • correct the Node.js version base (#13099)
  • add user flow docs (#13134)

Tests

  • smoke: make specific assertions about deprecations (#13191)
  • update deprecations smoke for M96 (#13179)
  • make yarn unit run all available unit tests (#13148)
  • centralize running of docs tests (#13150)
  • split out axe test (#13142)

Misc

  • convert lighthouse-core/scripts to ES modules (#13121)
  • remove patrick from issue assigner (#13194)
  • set predictable order for sample json timing entries (#13162)
  • scripts: fix run-devtools sniffing, add error checking (#13163)
  • ensure psi.espanol sample-report es en espanol (#13160)
  • add notes about software versions in issue template (#13089)
  • build: fix smokehouse bundle (#13135)
  • build: fix vercel deployment by adopting stricter engines grammar (#13183)
  • build: create rollup-plugins.js helper module (#13122)
  • build: don't build flow if only --standalone is requested (#13124)

v8.5.1

22 Sep 20:37
f974c3c
Compare
Choose a tag to compare

Full Changelog

This is a patch release to fix an issue in the CLI when error reporting has been enabled.

New Contributors

Thanks to our new contributor 👽🐷🐰🐯🐻!

CLI

  • fix crash with Sentry init (#13104)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • add API for constructing flow result (#13034)
  • add category tooltips to flow report (#13043)

v8.5.0

22 Sep 01:52
7435bf9
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Konstantin Popov @KonstHardy
Can Umay @canumay

Core

  • lazy-lcp: fix failureTitle in lcp-lazy-loaded (#13049)
  • tracing: remove cpu_profiler.hires (#13056)
  • tsc: add base tsconfig for config inheritance (#13072)
  • make main tsc compile cacheable (#13069)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • cleanup driver on run completion (#13062)
  • setup emulation and throttling for timespans (#13058)
  • support additionalTraceCategories (#13030)
  • add support for plugins (#13028)
  • move GatherContext to baseArtifacts (#13033)
  • preserve traces on failed page load (#13027)
  • move HostUserAgent/FormFactor back to base artifacts (#12969)
  • use devtools throttling by default in timespan mode (#13013)
  • collect OOPIF network data (#12992)
  • flow: summary sections (#13086)
  • flow: topbar (#13065)

CLI

  • convert to ES modules (#13045)

Report

  • make metric value more prominent in table (#13036)
  • 3p-filter: drop for/id as elements are already nested (#13067)
  • add gatherMode option to category score (#13029)
  • add fractional category scores (#13009)

Deps

  • update to latest @rollup/plugin-typescript (#13075)
  • snyk: update snyk snapshot (#13019)

Clients

  • lr: bundle smokehouse as commonjs (#13074)
  • add canonical link to viewer and treemap (#13032)

Docs

  • readme: add Peyk to the list of integrations (#13055)

Tests

  • add FR integration scenarios (#13092)
  • update SVGOMG expectations (#13088)
  • restore use of latest node 16 in CI (#13079)
  • eslint: trailing commas for import/export (#13059)
  • smokehouse: add flag for test sharding (#13047)
  • smokehouse: convert to ES modules (#13046)
  • fix flaky robots smoke failure (#13031)
  • smoke: upload smokehouse artifacts on failure (#13010)

Misc

  • build: fix minifyFileTransform stream bug in Node 16 (#13073)
  • fix typo in lighthouse-treemap/app/src/main.js (#13076)
  • proto: add i18n.icuMessagePaths (#13068)
  • remove all FR-COMPAT todos (#13023)

v8.4.0

08 Sep 16:46
284e5f6
Compare
Choose a tag to compare

Full Changelog

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

New Contributors

Thanks to our new contributors 👽🐷🐰🐯🐻!

Emmanouil Zoumpoulakis @emzoumpo
Milutin Kristofic @milutin
Bjørn Erik Pedersen @bep
Jerome Cukier @jckr
Saurav Kumar @svkrclg

New Audits

  • Detect when the LCP element is lazy-loaded. Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint. Learn more (#12838)

Core

  • network-request: identify filesystem resources as non-network (#12970)
  • viewport: add viewport audit as perf diagnostic (#12972)
  • csp-evaluator: bump package version (#12990)
  • config: keep full-page-screenshot in skipAudits case (#12645)
  • large-javascript-libraries: delete (#12941)

⛏️👷 Fraggle Rock

Support for auditing user flows (#11313)

  • collect devtoolsLogs on pageLoadError (#12980)
  • add config validation (#12945)
  • align navigation failure behavior (#12862)
  • add protocol timeout to session (#12913)
  • parity on Stacks and FullPageSnapshot gatherers (#12907)
  • http-status-code: navigation only (#13005)
  • add --debugNavigation setting (#12902)
  • flow: sidebar mocks (#13002)
  • flow: embedded lighthouse report (#12989)
  • flow: summary page (#12973)
  • flow: navigation sidebar (#12929)
  • flow: standalone shell report with preact (#12850)

Report

  • accessible n/a icon (#12984)
  • split topbar features (#12926)
  • prefix all classnames with lh- (#12985)
  • isolate type checking (#12953, #12952, #12951)
  • use postMessage to open viewer outside devtools (#12927)
  • better deduping of warnings (#12355)

Deps

Clients

  • lightrider: use iframe fetcher (#13006)
  • treemap: convert to ES modules (#12892)
  • viewer: make entire directory use modules (#12975)

Docs

  • auth: add missing build step in README (#12911)
  • changelog: fix typo in changelog.md (#12997)
  • hacking: add links to buildtracker/pr-tracking (#12922)

Tests

  • avoid node 16.9.0 (#13012)
  • ci: restore ToT Chromium download (#12943, #12950)
  • dom: fix node 16 createObjectURL bug (#12935)
  • eslint: add import/order rule (#12998)
  • fr: convert screenshot expectations (#12912)
  • smoke: check for passing robots-txt (#13007)
  • smoke: fix dbw console error expectation (#13011)
  • smoke: print command to rerun failures (#12924)
  • devtools: sync (#12899)
  • devtools: tsc type override bug workaround (#12933)
  • create faux psi report (#12815)

Misc

  • the great sample rebaseline (#12932)
  • restructure types to use project references (#12914, #12946, #12940)
  • build: sample flow report (#12930)
  • build: do not include locales in devtools bundle (#12921)
  • build: remove template.html from devtools report resources (#12891)
  • build: create UMD bundle build (#12898)
  • build: normalize sample-report build naming (#12901)
  • build: prefer paths when using gh-pages-app (#12905)
  • build: refactor devtools bundle tweaking (#12974)
  • tweak folder used for vercel deployment (#12879)
  • cli: improve error if invalid value for --output argument is passed (#12836)
  • exit collect-strings script with error code on failure (#12971)