Lighthouse Changelog

What's new in Lighthouse 5.6.0

Oct 21, 2019
  • Notable:
  • gather: add new MainDocumentContent public artifact (#9781)
  • stack-packs: add angular, react, amp, and magento packs (#9797)
  • Core:
  • tracehouse: allow child to start

New in Lighthouse 5.4.0 (Sep 26, 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)

New in Lighthouse 5.2.0 (Jul 25, 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)
  • 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 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 test for node 12.6 (#9396)
  • i18n: throw when no ICU replacement value is given (#9384)
  • run CI with a frozen yarn.lock (#9362)
  • smokehouse: assert on expected array length (#9292)
  • smokehouse: always assert lhr.runtimeError (#9130)
  • tags-blocking-first-paint: make alternate stylesheets not blocking (#9248)
  • improve drag-and-drop test coverage (#9314)
  • clean up crufty gather-runner tests (#9227)
  • Misc:
  • fix yarn.lock and translations master drift (#9404)
  • build: adjust deployment filenames (#9338, #9434)
  • build: create error-y LHR for the deploy (#9283)
  • network-server-latency: fix serverResponseTime typo (#9388)
  • localize logged GatherRunner error (#9291)
  • remove duplicate colon from regex (#9295)
  • runner: add assertion for devtoolsLog as requiredArtifact (#9290)
  • add yarn static-server script (#9293)
  • fix typo in performance-budget smoke test (#9244)
  • add .idea to .gitignore for WebStorm developers (#9275)
  • build: generate report variants in deployment (#9280)
  • suggest uploading issue repro (#9217)
  • use CHROME_PATH variable in CI and scripts (#9202)
  • update broken tracing-processor require (#9123)
  • address release script feedback (#9111)
  • release script should commit with format vX.Y.Z (#9090)

New in Lighthouse 5.1.0 (May 31, 2019)

  • 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)

New in Lighthouse 5.0.0 (May 8, 2019)

  • 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).
  • 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).
  • 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 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:
  • redesign: three dots for export button (#8629)
  • redesign: design review feedback (#8785)
  • redesign: whitespace, font weights (#8820, #8891, #8592, #8591, #8531, #8528)
  • make v5 renderer compatible with v3 and v4 LHRs (#8822)
  • redesign: fireworks (#8660)
  • redesign: add toggle control to show metric descriptions (#8661, #8844)
  • add table filter for third-party urls (#6351)
  • redesign: remove units from table column headings (#8658))
  • redesign: hide sparkline in mobile (#8562)
  • redesign: add dark theme (#8425, #8843, #8845, #8842)
  • redesign: add sticky scores header (#8524, #8883)
  • redesign: runtime settings footer (#8229)
  • add missing (#8240)
  • redesign: new gauges, score scale, category headers, variables (#8121, #8300, #8329, #8307, #8222, #8529, #8532, #8590, #8653, #8720, #8722, #8763, #8872)
  • extract init() function from report-template (#8228)
  • 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)
  • readme: add mention of free tier of Foo integration (#8160)
  • readme: remove link to archived lighthouse-security project (#8141)
  • CLI:
  • always handle chrome connection errors (#8583)
  • document that CSV is output to file (#8520)
  • Deps:
  • [email protected] (#8781)
  • [email protected] (#8370)
  • Tests:
  • lightwallet: add perf-budget smoke test (#8853)
  • lightwallet: add budget to sample artifacts config (#8783, #8870)
  • add tap targets to dobetterweb sample page (#8803)
  • make update:sample-artifacts work for a single artifact type (#8802)
  • smokehouse: capture microtask regression (#8379)
  • smokehouse: support artifacts assertions in smoke tests (#8044)
  • smokehouse: fix tests from sharing artifacts (#8897)
  • smokehouse: change metric assertions from score to numericValue (#8805)
  • fix sample_v2 generation, proto errors (#8605)
  • I18n:
  • import tamil translated strings (#8886)
  • SEO group titles and descriptions (#8719)
  • stack pack translations (#8154, #8415)
  • update seo group titles and descriptions (#8378)
  • Misc:
  • proto: require protobuf 3.7.1, add stricter audit details test (#8863, #8867)
  • proto: remove trailing whitespace; add contributing help (#8818)
  • fix roundtrip sample_v2.json (#8815)
  • rename release scripts properly (#8751)
  • simplify LH.Config settings types (#8630)
  • add correct listitem.js @fileoverview (#8586)
  • update sample_v2 artifacts (#8243)
  • ci: build report and deploy to now.sh on every commit (#8194)
  • fix bad auto-merge (#8201)
  • update collected i18n string (#8158)
  • --help: remove screenshots mention from --save-assets (#8263)
  • lightwallet: update budget link (#8871)
  • fix common typos (#8726)

New in Lighthouse 3.2.1 (Oct 2, 2018)

  • Core:
  • await js-libraries detection to fix Workbox always showing up (#6141)
  • emulation: set desktop viewport to 1350x940

New in Lighthouse 3.1.1 (Sep 14, 2018)

  • Update report score legend to match 3.1.0's updated color buckets

New in Lighthouse 3.1.0 (Sep 14, 2018)

  • Notable changes:
  • red/orange/green color buckets for scores are tougher now.
  • trace-processor: fix bug where top-level events weren't being found in the trace
  • Core:
  • normalize URL before checking equality (#5960)
  • expose LighthouseRunWarnings on audit context (#5684)
  • adjust audit titles for consistency (#5717)
  • export any page-functions as string (#5902)
  • all ByteEfficiency audits require a trace (#5840)
  • enhanced noopener output (#5857)
  • errors: class rename and re-source page load errors (#5972)
  • fix defaultConfig UIStrings and exit code for test (#5884)
  • remove last debugString references (#5856)
  • redirects: update redirects to use OpportunityDetails (#5791)
  • warn when extensions affected perf (#5666)
  • driver: handle when page redefines global.URL (#5748)
  • gather-runner: call clearDataForOrigin on teardown (#5933)
  • lhr: expose environment info (#5871)
  • lr: add LR presets for desktop and mobile (#5886)
  • lr: drop maxWaitForLoad 45 -> 35 (#5938)
  • network: handle LR transferSize (#5895)
  • network-analyzer: infer RTT from receiveHeadersEnd (#5694)
  • optimized-images: support non-standard mime types (#5688)
  • preload: remove CRC dependency (#5901)
  • screenshot-thumbnails: improve caching (#5976)
  • ttfb: reuse requestMainResource (#5657)
  • trace-of-tab: only use navstart of chrome/http documents (#5917)
  • tracing-processor: throw on no top level events (#5878)
  • uses-long-cache-ttl: handle multiple cache-control headers (#5745)
  • Extension:
  • access core through module instead of Runner (#5855)
  • tweak runLighthouseAsInCLI jsdoc (#5812)
  • refactor option/flag passing (#5769)
  • remove X-UA-Compatible meta (#5739)
  • popup: keep feedback class (#5872)
  • i18n:
  • add i18n 'type' for prlint (#5880)
  • minor message and description changes based on translator feedback (#5829)
  • reframe the ICU message descriptions with placeholders (#5737)
  • export rendererFormattedStrings (#5713)
  • extract performance category strings to UIStrings (#5716)
  • always use english for status logs (#5727)
  • add 'ln' locale which maps to 'fr' (#5879)
  • support descriptions (#5718)
  • add [ICU Syntax] label to relevant message descriptions (#5736)
  • import psuedo-locale json from TC (#5726)
  • incorporate 52 languages into messages pipeline (#5781)
  • add descriptions to UI strings (#5743)
  • add strings of the opportunity group split (first paint, overall) (#5744)
  • add locale fallback when language not supported (#5746)
  • localize strings at end of run (#5655)
  • always use formatted strings for extension popup (#5761)
  • add strings for user timing entries table (#5806)
  • sort the ICU messages when saved (#5771)
  • roll latest TC messages (#5802)
  • add localized messages for 52 locales (#5780)
  • add assertion script (#5686)
  • report: use LHR locale for toLocaleString (#5734)
  • report: localize CRC renderer strings (#5730)
  • Types:
  • don't use index signature in LHErrors (#5896)
  • type check config files (#5858)
  • don't use index signature in simulator.js (#5897)
  • update debugger protocol type checking (#5836)
  • remove more reliance on implicit index signatures (#5874)
  • update types in emulation.js (#5830)
  • tighten traceOfTab timing types (#5887)
  • update to ts 3.1 to support new protocol defs (#5942)
  • update to latest tsc (#5581)
  • NetworkRequest.RESOURCE_TYPES type fix (#5851)
  • add explicit index signature in mainthread-work-breakdown (#5859)
  • cli: make LH.Flags type correct and consistent (#5849)
  • Report:
  • link to our own "unused css" reference doc (#5698)
  • make red/orange/green score color thresholds tougher (#5831)
  • expose prepareLabData directly as a fn (#5818)
  • responsive styles (#5706)
  • add PSI.prepareLabData() (#5804)
  • adopt 80-char line-length license (#5757)
  • add method to get the final screenshot (#5673)
  • metrics: display metrics in seconds (#5914)
  • psi: add Util.prepareReportResult method (#5766)
  • psi: reset template styles on every call of prepareLabData (#5877)
  • psi: add lab data summary sentence (#5961)
  • New Audits:
  • a11y: add manual audit for interactive element affordance (#5764) thx @joelhsmith!
  • Tests:
  • quiet down collect-scripts during CI (#5801)
  • better display value tests with i18n (#5720)
  • dbw: remove createShadowRoot call (#5906)
  • jest: disable coverage collection by default (#5772)
  • smokehouse: update expectations for HTML Imports deprecation (#5943)
  • smokehouse: update passive listener expectations (#5899)
  • Deps:
  • snyk: update snyk snapshot (#5774), (#5773), (#5762), (#5691)
  • depend on speedline-core, rather than the cli (#5800)
  • Docs:
  • headless: Require Node 8 and apt install chromium (#5974)
  • headless: example script to post report as gist (#5975)
  • integrations: Add SpeedCurve to "Lighthouse Integrations" (#5732)
  • link FCP audit description to lighthouse docs (#5850)
  • puppeteer: remove appMode mention (#5923)
  • readme: mention chrome-flags troubleshooting in getting started (#5916)
  • report: add a renderer readme (#5725)
  • scoring: http2 redirect PWA score issue (#5929)
  • Misc:
  • cli: enableErrorReporting must be undefined by default (#5854)
  • asset-saver: tweak output format of logAssets (#5696)
  • logger: add time/timeEnd methods (#5905)
  • fix grocers apostrophe typo (API's v APIs) (#5948)

New in Lighthouse 3.0.3 (Jul 18, 2018)

  • Core:
  • emulation: use setTouchEmulationEnabled (#5661)
  • response-compression: graceful recovery (#5578)
  • simulator: add DNS timing (#5607)
  • Misc:
  • convert strings to NetworkRequest.TYPES (#5674)
  • sentry: lower "could not load stylesheet" sampling to 0.01 (#5677)

New in Lighthouse 2.9.3 (May 7, 2018)

  • Bug Fixes:
  • start_url: fix start_url audit while offline (#4710)
  • domstats: useIsolation within domstats (#4811)
  • img-usage: handle invalid images within determineNaturalSize (#4812)
  • deps: patch robots-parser to work in browser env (#4819)
  • Tests:
  • add extension puppeteer smoketest (#4640)
  • Report:
  • font-size, link-text: update docs links (#4829)
  • is-crawlable: fix broken learn more link (#4844)

New in Lighthouse 2.9.2 (May 7, 2018)

  • Audit fixes:
  • render-blocking: handle amp-style stylesheets (#4555)
  • font-size: recalibrate the legible font sizes (#4550)
  • http-redirect: drop use of getSecurityState() to gain Android support (#4661)
  • is-crawlable: determine if page indexing is blocked by robots.txt (#4548)
  • is-on-https: consider about:* secure (#4749)
  • main-resource: adjust main resource identification logic (#4475)
  • response-compression: also check x-original-content-encoding (#4607)
  • Core:
  • driver: add timeout to getRequestContent (#4718)
  • emulation: update Chrome userAgent to 66 (#4779)
  • lantern: improve RTT estimates (#4552)
  • network-requests: add network requests audit (#4631)
  • config: add support for audit/gatherer options (#4394)
  • config: look up custom gatherer relative to the config file path (#4751)
  • Deps:
  • update axe-core to 3.0.0-beta.2 release for performance gains (#4595).
  • a11y test on mlb.com went from 27s to 9s! Thank you axe-core team!
  • Report:
  • category: enable all categories to show audit groups, refactor CategoryRenderer (#4278)
  • seo: link to "meta description" reference (#4566)
  • description: update helpText for document.title audit (#4677)
  • update docs links: rel=canonical reference (#4701), bootup-time audit (#4537), s-crawlable/indexing reference (#4678)
  • Misc:
  • typecheck: add dependency graph to tsc (#4605)
  • clean *.screenshots.json (#4754)
  • polish the status updates within the popup (#4780)
  • closure: fix BSD sed calls within compile-devtools (#4736)
  • config: add merge-options test (#4747)
  • Docs:
  • contributing: fix link for closure annotations (#4680)
  • headless-chrome: switch to prioritize headless (#4553)
  • programmatic: add caveat about removing artifacts (#4540)
  • understanding-results: description can dynamically be the failureDescription (cc53688)

New in Lighthouse 2.9.1 (May 7, 2018)

  • Core:
  • REVERT: gather-runner: load a blank data URI, rather than about:blank (#4518)
  • fonts: fix infinite loop (#4488)
  • responsive-images: move images with no dimensions to offscreen audit (#4487)
  • tracing-processor: fix scheduleable task logic (#4480)
  • webfonts: patch fonts gatherer to handle missing font item (#4465)
  • computed-artifact: use deep equality over strict (#4409)
  • Docs & Tests:
  • docs: examples of combining puppeteer & lighthouse (#4408)
  • appveyor: quietly unzip Chrome to keep appveyor logs cleaner (ecedb32)
  • appveyor: only run tests against master and PRs (#4484)
  • smokehouse: improve smokehouse failure output (#4482)
  • spelling: fix discernable to discernible (#4485)

New in Lighthouse 2.9.0 (May 7, 2018)

  • New Audits:
  • mixed-content https upgradeability (#3953)
  • preload: Adding audit (#3450)
  • font-display: Recommend font-display: optional (#3831)
  • CLI:
  • Add --extra-headers: Enable sending additional HTTP Headers (#3732)
  • Add --mixed-content: triggers the mixed content audit (#4441)
  • Core:
  • centralize error strings (#4280)
  • gather-runner: load a branded data URI, rather than about:blank (#4310)
  • mobile-friendly: convey MFT covers add'l mobile-friendly auditing (#4307)
  • response-compression: Exclude binary files from auditing (#4144)
  • screenshot-thumbnails: increase size to 120px (#4383)
  • start-url: switch to plain old fetch (#4301)
  • unminified-js: add tolerant option to esprima (#4338)
  • a11y: aXe perf: only collect provided resultTypes (#4380)
  • Deps:
  • bump metaviewport-parser to 0.2.0 (#4382)
  • snyk: update snyk snapshot (#4439)
  • Misc:
  • coverage: minimize impact of timeout due to istanbul's instrumentation (#4396)
  • escape usage of '#' in data URIs (#4381)
  • package: scripts don't require "--" for options to be forwarded (#4437)
  • sentry: update sampled errors list (#4277)
  • travis: Only build on Node 6 for PRs. Don't do the push build for non-master. (af8dbd0)
  • Extension: Fix scrollbar from showing on Options page (#4263)

New in Lighthouse 2.8.0 (Jan 15, 2018)

  • New Audits:
  • avoid plugins (#4218)
  • rel canonical: document has a valid rel=canonical (#4163)
  • unminified-css: identifies savings from unminified CSS (#4127)
  • unminified-javascript: detect savings from minifcation (#3950)
  • manual SEO audits (structured data & mobile friendly) (#4108)
  • Core:
  • lifecycle: allow gathering & auditing to run separately (#3743)
  • gather-runner: covert assertPageLoaded into soft failure (#4048)
  • network-recorder: use findNetworkQuietPeriods for networkIdle (#4102)
  • report-generator: extract scoring into separate module (#4161)
  • screenshots: fix getParsedImage of null (#4189)
  • trace-of-tab: error when TracingStartedInPage is missing (#4164)
  • errors-in-console: If exception info is not present use exception text (#4191)
  • estimated-input-latency: remove target reference (#4069)
  • bootup-time: Add 10ms threshold to bootup-time audits (#4223)
  • font-size: make font size artifact serializable (#4194)
  • Report:
  • a11y: Don't count non-applicable a11y audits toward score (#4052)
  • more attractive table/URL rendering (#4190)
  • improve devtools dark mode rendering (#4232)
  • categories: performance first, then pwa, then the others (#4095)
  • grammar: do not finalize audit titles with a period (c5f6d05)
  • change 'app' => 'web app' (29eecce)
  • Update vulnerability links (#4198)
  • Deps:
  • bump js-library-detector (#4086)
  • chrome-launcher: Upgrade chrome-launcher to 0.10.2 (#4192)
  • Docs:
  • readme: update CLI options, output examples. add GAR/Lifecycle examples (#4185)
  • readme: demo flags in example of programmatic use (#3841)
  • lantern: update accuracy data (#4180)
  • extract Release Guide into own docs file (#4200)
  • releasing: document the LH Release Process (#4201)
  • results: describe audit's notApplicable/error (#4186)
  • Extension:
  • extract a new ext-bg file, splitting extn/devtools usecases (#4162)
  • Tests:
  • remove global timeout, set timeouts individually (#4224)
  • trace-parser: use fs over require (#4209)
  • travis: force use of GCE, remove dSE calls (#4222)
  • travis: remove upload artifacts (#4219)
  • travis: test on Node 9, drop testing on Node 7 (#4181)
  • Misc:
  • remove CLI's legacy domhtml output (#4176)
  • viewer: retain /plots/ when deploying new viewer version (#4079)

New in Lighthouse 2.6.0 (Nov 19, 2017)

  • New Audits:
  • redirects: avoid page redirects (#3308)
  • link-text: descriptive anchor text audit (#3490)
  • is-crawlable: page is blocked from indexing (#3657)
  • bootup-time: JS bootup time per script (#3563)
  • uses-long-cache-ttl: detects savings from leveraging caching (#3531)
  • mainthread-work-breakdown: audit for page-execution timings (#3520)
  • CLI:
  • do not double quote chromeFlags (#3775)
  • Core:
  • aspect-ratio: skip aspect ratio audit for svg (#3722)
  • audit: Ignore href=javascript:.* for rel=noopener audit (#3574)
  • bootup-time: refactor task/group iteration (33b1574)
  • config: add silent seo audits to default config (#3582)
  • config: re-weight a11y scores based on severity and frequency (#3515)
  • config: add category weight to perf config (#3529)
  • critical-request-chains: Remove iframe as Critical Request (#3583)
  • dependency-graph: add acyclic check (#3592)
  • devtools-model: fix missing Runtime.experiments object (#3514)
  • driver: increase default timeout to 45s (#3741)
  • driver: use execution context isolation when necessary (#3500)
  • emulation: remove use of deprecated Emulation.setVisibleSize (#3536)
  • errors-in-console: include runtime exceptions (#3494)
  • image-aspect-ratio: pass audit when no images are missized (#3552)
  • image-usage: add null check for parentElement (#3779)
  • add error reporting (CLI only) (#2420)
  • meta tag gatherers: meta tag search should be case-insensitive (#3729)
  • predictive-perf: predict FCP (#3730)
  • predictive-perf: refactor simulation logic (#3489)
  • response-compression: add transferSize sanity check (#3606)
  • record top-level warnings in LHR and display in report (#3692)
  • remove useless optimalValue (#3774)
  • speed-index: only compute perceptual speed index (#3845)
  • tags blocking first-paint: exclude script type=module (#3676)
  • Docs:
  • changelog-generator: Generate changelogs (#3632)
  • scoring: create documentation on scoring (#3436)
  • bug-labels.md: Create bug-labels.md (#3522, #3525, #3535)
  • contributing: pr title guidelines (#3590)
  • correct capitalization of GitHub (#3669)
  • add results object explainer (#3495)
  • new-audits.md: Principles and guidance for new audits (#3617)
  • readme: add MagicLight WebBLE integration (#3613)
  • readme: add Treo to the list of integrations (#3484)
  • throttling: because comcast throttles the websocket (bedb9a1)
  • Report:
  • Add print summary and print expanded options (#3578)
  • image-aspect-ratio: fix audit description (#3843)
  • redirects: reformat results, incl all requests and wasted time, (#3492)
  • render-blocking-stylesheets: improve actionability of helpText (#3544)
  • Tests:
  • update eslint (and goog config) to latest (#3396)
  • eslint: use --quiet flag rather than --silent (#3491)
  • smokehouse: add long task to byte-efficiency tester to deflake appveyor (#3804)
  • smokehouse: disable multiple shadow root deprecation test (#3695)
  • smokehouse: Passive event listener violation doesn't report on passive:false now (#3498)
  • web-inspector: add test for setImmediate polyfill (#3670)
  • Misc:
  • codereview: add CODEOWNERS file (#3591)
  • Bump chrome-launcher to 0.8.1 (#3479)
  • web-inspector: fall back to page's Runtime and queryParam() (#3497)
  • use undated Apache 2 LICENSE file (#3700)
  • audits: removed unused audit meta.category (#3554)
  • changelog: add commitlint config (for commitlintbot) (21e25aa)
  • commitizen: new-audit => new_audit (#3534)
  • jsconfig: Enable type checking for JavaScript (#3589)
  • logos: provide svg logo as png (8b3d7f0)
  • Fix minor grammatical error (#3638)
  • add cz-customizable to establish a commit message convention (#3499)
  • typo: fix typo in image-aspect-ratio audit (#3513)

New in Lighthouse 2.5.0 (Oct 5, 2017)

  • New Contributors:
  • New contributors brought huge contributions of all-new audits, Chrome-launching improvements, and more complete documentation. Thanks to @mikecardwell, @rviscomi, @siddharthkp, @ThisIzKp, @rootulp, @kdzwinel, @LCartwright, @siteriaitaliana, @vinamratasingal, @alanyin0322, and @tkadlec!
  • New audits:
  • image-aspect-ratio best practice audit (#3084)
  • time-to-first-byte perf audit (last fixes and now enabled) (#2231)
  • errors-in-console best practice audit (#2836)
  • no-vulnerable-libraries best practice audit (#2372)
  • New audits in full-config:
  • unused-javascript coverage audit (#3085)
  • New audits in new SEO config (#2999):
  • meta-description SEO audit (#3227)
  • http-status-code SEO audit (#3311)
  • FastMode:
  • add predictive-perf shell and base audit (#2720, #3189)
  • add network estimation (#3187, cf5638d)
  • add CPU estimation (#3162, 18837da, 5b459a1)
  • Core:
  • update unused-css-rules audit to support new coverage format (full-config only) (#2518)
  • perf: use Audits.getEncodedResponse in optimized-images audit (#3087)
  • don't wait for Page.navigate to resolve to listen for page load (#3413)
  • include v8.execute trace event category (ab6aabd)
  • Report:
  • clarify wording of category descriptions (#3000)
  • add a linked-text type to details renderer (#3165)
  • fix: tame greedy markdown-link regex (#3312)
  • fix: prevent u2028 and u2029 from breaking the report (#3442)
  • improve descriptions for a11y audits (#3474)
  • Testing:
  • smokehouse: adjust unused-css-rules audit expectations (#3036)
  • bundlesize: fix reporting in github UI (ede05c0, #3392)
  • smokehouse: add basic smoke test for SEO audits (#3267)
  • travis: unset _JAVA_OPTIONS for DevTools' compile_frontend.py test (#3354)
  • eslint: enable comma-dangle rule, fix all new errors (#3324)
  • smokehouse: add time-to-first-byte smoke test (#3310)
  • Docs:
  • import audit glossary from SEO doc (#3207)
  • add advanced throttling guide (#3205)
  • readme: reduce minimum Chrome version to current stable (#3287, 5382f37)
  • readme: add explanation for Lighthouse Integrations section (#3418)
  • contributing.md: fix grammatical errors (#3419)
  • CLI:
  • add blockedUrlPatterns support to CLI (#3125)
  • adopt yargsParser directly for chromeFlags parsing (#3408)
  • Chrome-launcher:
  • chrome-launcher has moved to a standalone npm package
  • docs: add changelog (#2987)
  • improve SIGINT handling (#2959)
  • mute audio (#3028)
  • rev to 0.6.0 (ec38bcd, 970d3ca, e9d569c, 5e9a3ab)
  • handle errors inside spawnPromise (#2939)
  • switch to using standalone package (#3410)
  • Misc:
  • apply small license header to remaining files (#3309)
  • fix: remove redundant lighthouse-logger/ from npm package (#3411)
  • remove old perfX code (#3431)
  • update plots-config to use newer quiet parameters (#3464)
  • collect even malformed error messages in extension (#3473)
  • Deps:
  • upgrade bundlesize to 0.13.2 (#3122)
  • upgrade axe-core to 2.4.1 (#3284, #3320)
  • upgrade ws to 1.1.2 (2d2206b)
  • add yargs-parser at 7.0.0 (#3477, #3478)