Skip to content

Releases: GoogleChrome/lighthouse

6.0.0-beta.0 (2020-03-11)

16 Mar 20:46
468c10b
Compare
Choose a tag to compare
Pre-release

Full Changelog

This beta release will not ship in Chrome DevTools, but we'll ship the final 6.0 release.

v5.6.0

17 Oct 21:56
848b543
Compare
Choose a tag to compare

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

02 Oct 17:53
4e15a56
Compare
Choose a tag to compare

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

19 Sep 02:59
364ca59
Compare
Choose a tag to compare

5.4.0 (2019-09-18)

Expected DevTools release in Chrome 79 (December 2019)

Core

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

Report

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)

v5.3.0

16 Sep 23:12
f170bed
Compare
Choose a tag to compare

5.3.0 (2019-09-16)

Expected DevTools release in Chrome 79 (December 2019)

New contributors!

Thanks to our new contributors @alabiaga, @olore, @letanure, and @mfriesenhahn!

Core

  • point audit descriptions to new web.dev Lighthouse docs (#9538, #9539, #9084, #9537)
  • constants: increase default maxWaitForFcp to 30s (#9509)
  • font-size: gather style declaration of type attributes (#9414)
  • gather-runner: only fail on interstitials interrupting the mainRecord (#9576)
  • lightwallet: add path property to budget.json (#9453)
  • seo: support portuguese in link-text audit (#9446)
  • start-url: stay offline for entirety of offlinePass (#9451)
  • third-party-summary: add blocking-time impact (#9486)
  • tracehouse: sort trace events by nesting order (#9230)
  • add source-maps gatherer (#9101)
  • unused-css: allow up to 10KB of unused CSS per file (#9479)

CLI

  • list audit categories in help text (#9399)

Clients

  • devtools: fix collapsing-width svg in flexbox (#9602)
  • devtools: update test command to run only .js files (#9532)
  • proto: don't filter channel from configSettings (#9554)
  • viewer: remove obsolete polyfills (#9553)
  • proto: update import hooks, obey line length (#9595)

Deps

  • chrome-launcher: update to 0.11.2 (#9515)
  • details-element-polyfill: update to 2.4.0 (#9552)
  • jsonlint-mod: update to 1.7.5 (#9465)
  • update transitive deps (#9670)

Docs

  • fix broken plugin example link (#9524)
  • lightwallet: add link to budget.json repo (#9579)

I18n

  • import translations from tc/ (#9577, #9620, #9454)
  • add registerLocaleData() method (#9638)
  • rewrite aria-required-children titles (#9590)
  • reword pwa-page-transitions description (#9615)
  • throw on excess placeholder replacement values (#9580)
  • remove translated messages when ICU arguments change (#9598)
  • use better types for intl-messageformat (#9570)
  • add code spans to uses-rel-preconnect description (#9568)
  • fix bugs in locale-importing scripts (#9621)
  • fix custom formatted ICU within plurals (#9460)
  • capitalize robots.txt displayValue (#9567)
  • add link to cldr parentLocales (#9520)
  • move pwa audits to i18n system (#9105)
  • use TypeScript compiler to collect UIStrings (#9487)
  • align type names with docs (#9461)
  • expand placeholder support (#9114)
  • rewrite td-headers-attr titles (#9587)
  • improve Intl polyfill and use it in Util (#9584)

Report

  • make dropdown match ARIA action menu button pattern (#9433)
  • move drop-down logic into a separate class (#9564)
  • topbar: fix overflowing url (#9497)
  • viewer: add option for loading from the PSI API (#9546)
  • viewer: fix favicon typo (#9629)
  • don't use unnessary monospace (#9626)
  • remove PWA badge flicker workaround for Chrome (#9636)
  • add utm params to web.dev links (#9555)
  • update favicon to new logo (#9591)
  • render unstyled json (rather than throwing) when LHR contains unknown details type (#9557)

Tests

  • migrate travis to xenial for modern Chrome support (#9654)
  • fixtures: use relative path in static server 404 page (d0e5c58)
  • report: add axe-core validation of report output (#9421)
  • add index page for static server (#9541)
  • smokehouse: use mime-types + proper encoding for response write (#9542)
  • retry cli tests up to 3 times in appveyor (#9512)
  • simplify serving of zone.js (#9672)

Misc

  • add comment on diff between document.write() audit and intervention (#9644)
  • refactor collect-strings to use glob and work on windows (#9406)
  • trim missed yarn.lock cruft & deduplicate dependencies (#9603, #9600)
  • replace deprecated uglify-es with terser (#9594)
  • share markdown parsing in collect-strings and the report (#9514)
  • add note about global.URL in node 10 (#9449)
  • build: include locale files in devtools roll (#9639)

v5.2.0

24 Jul 21:27
ba1e159
Compare
Choose a tag to compare

5.2.0 (2019-07-24)

Expected DevTools release in Chrome 77 (September 2019)

New Audits

  • Third-Party Usage, a new performance diagnostic that shows a breakdown of third-party resources in the page and the time/bytes needed to load them (#9067)
  • Total Blocking Time, an experimental new metric that serves as a companion to TTI to help prioritize unblocking the main thread. Since it is currently experimental, the audit is unscored and appears only in the raw LHR JSON, not in the HTML report. (#8975, #9409)

Notable changes

  • tracehouse: performance trace processing has been moved to its own directory in lib/tracehouse/ to serve as a more standalone library (9f80524, 1af2edd, 7ba6776, ddff3d6)
  • certificate security errors are no longer a fatal Lighthouse error, though the Chrome error page will still return few results in the report by default. See the docs for testing a page in this situation. (#8865)

New contributors!

Thanks to @angelogulina, @jamesgeorge007, @johnemau, @kaushikchaubal, @mitchellsimoens, @NickolasBenakis, @noelyoo, @PatOnTheBack, @rishichawda, and @Remexllee for their first contributions!

Core

  • support saving and loading errors in artifacts (#9397)
  • config: assert all audit requiredArtifacts will be gathered (#9284)
  • domstats: support an empty html body (#9340)
  • font-display: limit false positives (#9148)
  • font-size: calculate accurate line/column for styles (#9356)
  • font-size: comment why source 'Other' occurs (#9363)
  • localize invalid-URL error message (#9334)
  • gather-runner: add PageLoadError base artifact (#9236)
  • gather-runner: don't save trace on pass with pageLoadError (#9198)
  • gather-runner: treat Chrome interstitials as pageLoadErrors (#9176)
  • gather-runner: always reset scroll position (#9060)
  • gather-runner: convert PAGE_HUNG to non-fatal runtimeError (#9121)
  • manifest-parser: handle blob manifests (#9088)
  • page-functions: don't try to clone a ShadowRoot (#9079)
  • perf: speed up tap-target's isVisible() (#9056)
  • tracehouse: allow missing FCP (#9174)

CLI

  • accept flags from a file (#9109)

Clients

  • devtools: audits2->audits and defer reading resources (#8985, #9344)
  • devtools: unset overflow in print (#9274)
  • lightrider: update processForProto method signature, string -> LH.Result (#9016)
  • lightrider: serialize errors in artifacts (#9410)

Deps

  • update axe-core to 3.3.0 (#9343)
  • update typescript to 3.5.3 (#9357)
  • update chrome-launcher to 0.11.1 (#9339)
  • intl: move from devDep to dep (#9309)
  • update debug to 2.6.9 (#9398)
  • update to open from opn (#9267)
  • update outdated transitive deps (#9347)
  • update brfs to 2.0.2 (#9312)
  • remove commitizen as local dep (#9246)
  • update extend to 3.0.2 (#9184)
  • bump transitive dep js-yaml (#9131)
  • update bundlesize, add more budgets (#9089)

Docs

  • add i18n overview and authoring documentation (#9361)
  • link to good first issues (#9440)
  • add instructions for testing with self-signed certificate (#9112)
  • update understanding-results.md (#9226)
  • change score type from 'string' to 'number' (#9225)
  • readme: add Exthouse to related projects (#9243)
  • readme: add lighthouse-jest-example to related projects (#9172)
  • readme: add lighthouse-persist to related projects(#9161)
  • readme: add gimbal integration to related projects (#9083)
  • readme: update lighthouse-mocha-example related project (#9158)
  • readme: alphabetize related projects (#9110)
  • fix various typos (#9411)

I18n

  • introduce script to swap in new locale to LHR (#8755)
  • enable local debug locale, en-XL (#9192)
  • begin localization of audits in best-practices (#9092)
  • add es-419 (#9171)
  • localize column headers of budget audits (#9127)

Report

  • fix audit explanation rendering (#9439)
  • accessibility: add heading role to report category gauge (#9422)
  • add link to docs on performance scoring (#9355)
  • use full-bleed image thumbnails (#9238)
  • show disabled checkbox when all/no urls are third party (#9299)
  • remove unnecessary attribute in svg (#9301)
  • make urls clickable (#9224)
  • use css grid for metrics (#9273)
  • center and style top-level runtimeError (#9271)
  • create naming convention for css variables (#9149, 37f7261, ece89ec)
  • add aria-labels to tools button and metric toggle (#9201)
  • update permalink calculations for correct hash nav scroll position (#9188)
  • devtools: enable report UI features (#9157)
  • position sticky-header highlighter with css grid (#9186)
  • ensure SVG elements in <defs> have unique ids (#9151)
  • only print light theme (#9173)
  • make 'tools' menu focus-able (#9169)
  • rename 'exports' to 'tools' (#9135)
  • remove unused css vars (#9144)

Tests

  • relax contrast font size expectation (#9441)
  • font-size: assert on source (#9400, #9413)
  • assert vulnerable-library ranges have upper bounds (#9308)
  • i18n: update canonical locale t...
Read more

v5.1.0

31 May 01:29
cab03b4
Compare
Choose a tag to compare

5.1.0 (2019-05-30)

Full Changelog

New contributors!

Thanks to our new contributors 👽🐷🐰🐯🐻!
@thebengeu
@boyney123

Core

  • gather-runner: treat NO_FCP as a pageLoadError (#8340)
  • logging: change log messages for gathering and trace retrieval (#9029)
  • tap-targets: don't exclude visible position absolute elements from audit (#7778)
  • budget: throw error on duplicate budget types (#8915)
  • config: split out config helpers (#9003)
  • gather-runner: always reset scroll position (reverted) (#8625)
  • image-elements: drop spritesheet logic (#8940)
  • refactor gather-runner control flow (#8964)
  • perf: speed up getNodePath (#9055)
  • performance-budget: add MP-FID as budget metric (#8905)
  • runner: fix missing timing properties in the browser (#9072)

Report

  • two rows for filmstrip on mobile (#8563)
  • move gauge styles to main stylesheet (#8893)
  • show metric descriptions by default when errors exist (#9054)
  • show fireworks only if all core categories score 100 (#9073)
  • make gauge font size and positioning dynamic (#9057)
  • hide 3rd party filter checkbox if all rows are 3rd party (#8966)
  • fix word breaking of display text, move metric disclaimer (#9030)
  • show nodeLabel for DOM nodes in addition to snippet (#8961)

Clients

  • devtools: move topbar out of scrollable container (#9077)
  • devtools: enable sticky header, top bar, and report ui features (#9023)
  • devtools: ignore dark mode media query (#9082)
  • devtools: update version in tests on lh roll (#8819)
  • lr: insert assets in lhr for logging purposes (#9002)

CLI

  • flags: accept comma-separated array values (#8933)

Docs

  • plugins: add link to field-performance plugin (#9051)
  • plugins: rename Google AdSpeed Insights to Publisher Ads Audit (#8906)
  • add lighthouse-plugin-field-performance to plugins (#9049)
  • add performance-budgets to related projects (#8971)

I18n

  • minor fr and ta translation updates (#8999)

Misc

  • assets: remove outdated extension screenshots (#9015)
  • dot-js require() everywhere (#9006)
  • remove unneeded reportCategories from LH.ReportResult (#9001)
  • update minify-trace scripts; extract to lib/ (#8968)
  • fix master: tmp revert of scroll change in #8625 (#9059)

Tests

  • lint: require file extension in require() (#9017)
  • update a11y sample artifacts (#9010)
  • remove compile-devtools on travis (#8988)
  • smoke: re-enable dialog prompt (#8894)

v5.0.0

08 May 01:50
77e57c9
Compare
Choose a tag to compare

5.0.0 (2019-05-07)

Full Changelog

Major new features

  • Stack packs are a new way to present stack-specific advice within the Lighthouse report. This initial version detects if a site is running on WordPress and adds additional information to the report on how to take advantage of Wordpress plugins and configuration to improve performance (#7243, #8169, #8633, #8536, #8778).

picture of Wordpress stack pack advice in the Lighthouse HTML report

  • Performance budgets are a new feature of Lighthouse to help prevent your site performance from regressing over time. Set budgets for the resources a page should load and have Lighthouse alert if the budgets aren't met (#8539, #8522, #8727, #8709, #8427, #8708).

picture of a Lighthouse performance budget in the HTML report

  • Lighthouse plugins are a new way to add custom checks to a Lighthouse run. They are presented in the Lighthouse report alongside (or instead of) the standard results, and can leverage tools and results within Lighthouse to get their job done. See the docs for examples (#8728).

picture of Lighthouse plugin results in the HTML report

New Audits

  • apple-touch-icon PWA audit (#8857)
  • performance-budget (#8539)
  • resource-summary (#8522)
  • max-potential-fid (previously in the JSON output, new in the HTML report) (#8729, #8817)

Breaking changes

  • Node 10 (LTS) or later is now required (#8117)
  • rawValue has been removed from audit results. If the audit had a meaningful numeric result (like a metric), this result will now be on numericValue (#8343, #8385, #8421)
  • The accessibility category scoring has been reweighted based on severity (#8823)
  • FCP accuracy has improved (in 'simulation' throttling) and may noticeably affect scores (#7513)
  • The deprecated --disable-device-emulation flag has been removed. Use --emulated-form-factor (#8289, #8334)
  • The dom-size now ignores elements in <head> and limits scoring to only DOM nodes in the body (#7241)
  • The diagnostics audit details have had their type value changed to debugdata (#8298)
  • The format of the screenshot-thumbnails screenshots has changed. They are now a full image data URL (#8299)

New contributors!

Thanks to @arnabsen, @housseindjirdeh, @MarkelFe, @muuvmuuv, and @Meggin for their first contributions!

Core

  • a11y: disable unused axe rules (#8373)
  • artifacts: create a PublicGathererArtifacts type (#8382)
  • runner: only pass requiredArtifacts to audits (#8760)
  • crc: redirects leading to iframe shouldn't be marked as critical (#6704)
  • driver: enable async stacks (#5504)
  • font-display: do not use invalid sourceURLs (#8535)
  • jsonld: structured data validation updates (#8137)
  • rect-helpers: make getBoundingRect take an array of rects (#8789)
  • seo: support spanish in link-text audit (#7547)
  • filter blob urls from more audits (#8724)
  • reword insecure error message (#8530)
  • seo: add image-alt to SEO category (#8407)
  • add devtoolsNodePath property to ScriptElements artifact (#8133)
  • always run axe gatherer last (#8216)

Report

Clients

  • devtools: remove ascii-encoded asset requirement (#8456, #8637)
  • lr: increase Page.getAppManifest timeout to 10s (#8350)
  • lr: apply, revert Lightrider timings to NetworkRequests (#8109, #8752)
  • psi: pass score scale element to psi (#8827)
  • lr: build report-generator-bundle (#8197)

Docs

  • update throttling ([#8854](https:/...
Read more

v4.3.1

02 May 18:45
Compare
Choose a tag to compare

4.3.1 (2019-04-30)

Full Changelog

Core

  • support traces missing TracingStartedInBrowser (#7122)
  • driver: only fail security state if scheme is not cryptographic (#8338)

Clients

  • extension: remove github link in favor of copy to clipboard (#8294)

Deps

  • snyk: update snyk snapshot (#8354)

Misc

  • add releasing scripts (#8387)

v4.3.0

09 Apr 03:45
Compare
Choose a tag to compare

4.3.0 (2019-04-08)

Full Changelog

New contributors!

Thanks to @rdlabo and @yashrajbharti for their first contributions!

Report

  • include utm params in links to docs (#7441)
  • fix PWA badge from disappearing on scroll (#7512)

Core

  • artifacts: rename Scripts to ScriptElements artifact (#7920)
  • canonical: move canonical audit to LinkElements (#7080)
  • font-display: handle carriage returns (#7712)
  • font-display: ignore data URLs (#7684)
  • image-aspect-ratio: ignore css background images (#7516)
  • jsonld: add structured data validation (#6750)
  • lhr: truncate measure timings to hundredths (#7748)
  • logging: don't log when closing already closed page (#7576)
  • main-thread-tasks: improve event-order error messages (#7745)
  • main-thread-tasks: handle last task not finishing (#7728)
  • main-thread-tasks: use toplevel tasks in main thread audit (#7711)
  • oopif: attach to all descendants (#7608)
  • oopif: skip OOPIF network records in some gatherers (#7640)
  • optimized-images: cap execution to 5 seconds (#7237)
  • settings: add lighthouse channel (#7312)
  • remove hreflang gatherer (#7477)
  • tap-targets: exclude sticky elements from tap targets audit (#7603)
  • vuln-libs: match against all semver ranges provided by snyk (#7402)
  • uses-http2: ignore requests from service-worker (#7197)

Docs

  • add plugin recipe (#6965)
  • readme: Foo integration (#8035)
  • url-shim: add comment about public suffix lst (#7671)

Clients

  • devtools: refactor build script (#7421, #7567)
  • lr: always use transferSize from X-TotalFetchedSize header (#7478)
  • lr: gather network timing numbers from headers (#7888)
  • lr: add custom config support (#7613)

Tests

  • better fatal trace logic error coverage (#7959)
  • fix test coverage generation (#7475)
  • finish removing mocha (#7429)
  • upgrade jest to fix current node 11 build (#7413)
  • smoke: remove trivial uses of rawValue from expectations (#7780)
  • smoke: set Content-Type for files served by static-server.js (#7612, #8015, #8078)

Misc

  • chore: remove old dep postinstall-prepare (#7647)
  • remove unused typedef (#8075)
  • specify types for some dependency-graph options objects (#7962)
  • simplifications in simulator/connection-pool (#7894)
  • drive-by code cleanup in BaseNode (#7723)
  • remove lhr-lite.d.ts (#7991)
  • remove obsolete Util.formatDisplayValue (#7628)
  • various spelling fixes (#7370, #7492, #7427)
  • fix unit-viewer command for windows (#7624)
  • remove obsolete unused files (#7476)
  • cli: add --plugins flag to load from the command line (#7407)
  • gather: update comment re: ClientRect copying (#7785)

Deps

I18n

  • Hindi for seo and a11y (#7786, #8070)
  • add new translations for SEO; updates for a11y and perf (#7720)