Skip to content

Releases: GoogleChrome/lighthouse

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)

v4.2.0

14 Mar 16:52
Compare
Choose a tag to compare

4.2.0 (2019-03-06)

Full Changelog

We expect this release to ship in the DevTools of Chrome 74.

New contributors!

@pra85, @tgfjt, @gidztech and @jburger424. Thank ya!

New Audits

  • tap-targets: verify tap targets are well sized and distinct (#5846)

Report

  • reorganize a11y audit groups (#7129)
  • clip exceptionally long URLs in the header (#6858)
  • details-renderer: use new audit-details types (#7192)

Core

  • fid: add Max Potential FID to JSON (#5842)
  • artifacts: unify AnchorElements into single gatherer (#7101)
  • artifacts: include inline scripts in Scripts artifact (#7065)
  • artifacts: create ViewportMeta computed artifact (#7264)
  • artifacts: add TestedAsMobileDevice base artifact (#7280)
  • bootup-time: better attribution (#7059)
  • byte-efficiency: use more optimistic GZIP ratios (#7210)
  • cache-headers: fix typo in must-revalidate (#7189)
  • details-renderer: add snippet details renderer (#6999)
  • diagnostics: add diagnostic audits (#7052)
  • driver: add waitForFCP timeout (#7356)
  • driver: collect network requests from out-of-process iframes (#6922)
  • driver: add ' Chrome-Lighthouse' to useragent (#7297)
  • emulation: bump chrome useragent to m74 (#7211)
  • fcp-3g: remove unused i18n for LR compatibility (#7103)
  • font-display: more accurately follow CSS spec (#7191)
  • image-elements: cap natural-size fetch time (#7274)
  • lantern: add configuration for precomputed network analysis (#7239)
  • lhr: include resourceSize in network-requests audit (#7056)
  • manifest: remove Manifest artifact in favor of new WebAppManifest (#7078)
  • metrics: do not fail if TTI fails (#7132)
  • network-analysis: set additional RTT to 0 not NaN (#7156)
  • network-recorder: redirects started by script are set as initiators (#7352)
  • plugins: add support for groups (#7304)
  • seo: remove manual mobile-friendly audit (#7223)
  • seo: add rel=canonical test for auditing a domain root (#7228)
  • tap-targets: disable font size and tap targets audit on desktop (#7393)
  • tap-targets: make tap targets failures more visible (#7373)
  • tsc: fix audit details type hierarchy (#7177), #7154, #7285)
  • unused-css: change title Defer -> Remove (#7235)
  • give sort fallback for broken test details in node 11 (#7216)
  • suppress protocol timeout for app manifest bug in LR (#7184)
  • optimize tap-targets audit (#7130)
  • remove NO_ERROR runtimeError when no error (#7358)

CLI

  • write report in runLighthouse before quitting Chrome (#7339)

Deps

  • snyk: update snyk snapshot (#7277, (#7233, #7167), #7116)
  • updates to weed out transitive vulnerabilities (#7319)
  • update cssstyle to parse more named colors, CSS4 colors (#7283)

Docs

  • contributing.md: fix typos (#7170)
  • fix throttling rate comment and tweak comcast bandwidth (#7374)
  • improve explanations of extending and using config files (#7354)
  • update throttling docs to public version (#7332)
  • readme: add lighthouse-keeper to integrations (#7399)
  • docs(related-projects) add react-lighthouse-viewer (#7262)
  • readme: Add Fluxguard to the list of integrations (#7249)
  • variability: add dedicated variance doc (#7175)

I18n

  • fix max potential FID description (#7353)
  • ICU syntax correction (#7320)
  • seo strings prepped for i18n (#6860)
  • translate strings in the tap-targets audit (#7111)
  • a11y category title and description (#7113)
  • import translated accessibility and lh-error messages (#7008)

Tests

  • refactor driver, more gotoURL tests (#7270, #7242, #7212)
  • run node 11 in CI (#7230)
  • replace non-volatile snapshots with inline literals (#7217)
  • smokehouse: refactor to enable Smokerider (#7284)
  • smokehouse: +/- operator (#7343)
  • smokehouse: gzip test to assert transfer and resource sizes (#7286)
  • smokehouse: fail on finalUrl/errorCode mismatches (#7227)

Misc

  • tap-targets: remove lines with trailing whitespace (#7105)
  • clean node_modules/.cache before travis builds its cache (#7388)
  • convert Flags comments to jsdoc for better intellisense (#7359)
  • export UA strings from emulation.js (#7318)
  • fix typo in comment (#7296)

4.1.0 (2019-01-28)

28 Jan 20:49
aa68eae
Compare
Choose a tag to compare

Full Changelog

New contributors!

@castilloandres you da man, man.

Core

  • font-size audit: count code points for text length (#6973)
  • cache headers audit: ignore private, must-validate, no-cache (#6835)
  • introduce Lighthouse plugins (#6959)
  • new audit: add FCP on 3G (#7062)

Refactor

  • refactor meta element artifacts to single meta-elements artifact (#7025)
  • images: cleanup ImageUsage to match other *Elements artifacts (#7030)
  • add baseArtifacts (with new WebAppManifest) to passContext (#6957)
  • use async/await in evaluateAsync (#7038)

Report / Viewer

  • renderer: do not attempt fireworks for devtools (#7090)
  • viewer: allow loading RunnerResult json (#7031)

Misc

  • readme: Add DebugBear to the list of integrations (#7036)
  • snyk: update snyk snapshot (#7079)
  • viewer: fix types to reference LH.Result (#7051)
  • replace TODOs with github issue links (#7049)
  • fix extension package path and viewer comments (#7032)

4.0.0 (2019-01-16)

16 Jan 22:05
bfa10f1
Compare
Choose a tag to compare

New contributors!

@mattzeunert, @dima74, @jeffbcross, @knoxmic, and @shogunsea. Thanks!

Major changes

  • A bevy of bug fixes and performance improvements.

  • A special reward for getting a perfect score.

  • A new layout for the PWA category, emphasizing speed, installability, and polish.

Lighthouse 4.0 PWA category

Breaking changes

  • New PWA category, organization, and scoring (#6395)
    • the PWA section of the report has a set of badges instead of a numeric score gauge (#6526, #6670)
    • the webapp-install-banner audit is now installable-manifest (#6630)
    • the offline check formerly in webapp-install-banner is the new audit offline-start-url (#6397)
  • audits' scoreDisplayMode 'not-applicable' is now 'notApplicable' (#6783)
  • no-websql audit removed due to performance cost (#6293)
  • speed-index scoring now scales based on throttling (#7007)
  • empty children arrays are now removed from critical-request-chain audit result (#6211)
  • the correct Nexus 5X screen height of 660 now used instead of 732 (#6932)
  • throttling constants under mobile3G renamed to the more accurate mobileSlow4G with no change in values (#6163)
  • typescript definition files are now located under types/ (#6617)
  • computed artifact files are now located under lighthouse-core/computed/ (#6618)

Full Changelog (in addition to the changes in 4.0.0-beta, 4.0.0-alpha.1, and 4.0.0-alpha.0)

Core

  • config: reorder categories to match new score gauge order (#6848)
  • driver: handle navigation rejections within Driver.gotoURL (#6739)
  • driver: exit early when testing page with insecure certificate (#6608)
  • driver: waitForFCP when tracing (#6944)
  • handle invalid network timing data (#6780)
  • fix usesObjectFit property for ImageElement (#6761)
  • fonts: resolve URLs relative to stylesheet (#6782)
  • lantern: remove unnecessary sort calls (#6900)
  • lantern: drop node id from error message (#6774)
  • minification: properly handle regex character classes (#6745)
  • preconnect: add warning if preconnect link is not used (#6694)
  • preload: warn when duplicate requests issued (#6849)
  • scoreDisplayMode: change 'not-applicable' to 'notApplicable' (#6783)
  • service-worker: check that start_url is within SW's scope (#6678)
  • speedindex: scale scoring coefficients based on throttling (#7007)
  • tap-targets: helper functions for working with ClientRects (#6703)
  • url: add intent protocol to NON_NETWORK_PROTOCOLS (#6711)
  • user-timings: move into computed artifact (#6719)
  • change displayValue to be string only (#6767)
  • add type checking to pwmetrics-events (#6980)
  • stricter LR-desktop metric scoring (#6969)
  • in-page functions refactor (#6702)

Deps

  • update axe-core to latest (#7020)
  • update details-element-polyfill to 2.2.0 (#6928)
  • update tsc to 3.2.2 (#6684)
  • snyk: update snyk snapshot (#6888, #6842)

Docs

  • readme: add speedrank to integrations list (#6987)
  • readme: added simple guidance on install options (#6810)
  • configuration.md: update link to pwmetrics (#6816)
  • scoring: update TTI references (#6865)
  • --help: use HTTPS link to bit.ly/chrome-flags (#6692)
  • ask people to test a11y issues upstream first (#6764)

Extension

  • return runnerResult from runLighthouseInExtension() (#6839)

I18n

  • localize LighthouseError messages (#6457, #6812)

Report

  • pwa: add tooltip to badge gauge (#6689)
  • add top-level section for passed audits that had warnings (#6989)
  • celebrate all 100s (#5455)
  • expand groups within "Passed Audits" by default (#6930)
  • fix margin on score gauge wrappers (#6948, #6972)
  • support narrow screens (#6857)
  • larger margins for audit group summaries (#6688)
  • clean up more clump/group/expandable cruft (#6982)

Tests

  • smokehouse: assert errorCode in expectations (#6851)
  • smokehouse: use node's native URLSearchParams (#6929)
  • add type checking to cli/tests/ (#6874)
  • report: restore old, disabled failed grouping test (#7006)

Misc

  • descriptions: more accurate metric descriptions (#6508)
  • emulation: use correct Nexus 5X screen size (#6932)
  • snyk: only keep vuln data for detectable libs (#6919)
  • clean up local names within Config (#6950)

4.0.0-beta (2018-11-29)

11 Dec 22:20
9f58eb4
Compare
Choose a tag to compare
Pre-release

Full Changelog

Core

  • service-worker: check that test page is in SW scope (#6609)
  • throw fatally on page hang (#6497)
  • define new DNS failure LH Error (#6579)
  • assert securityIssues before getPageLoadError (#6578)
  • remove protocol timeout for Page.navigate (#6413)
  • rename webapp-install-banner audit to installable-manifest (#6630)
  • computed-artifacts: fix cache and add perf timing (#6619)

Report

  • add PWA category badge gauge (#6526, #6670)
  • give passed-opportunities group an icon (#6594)
  • safari: fix dropdown overlap translateZ (#6546)
  • use details-element-polyfill from node_modules (#6593, #6607)

CLI

  • exit and kill Chrome on unhandledRejection (#6394)

Tests

  • add smoketest for slow service worker (#6648)

Misc

  • tsc: infer dom.createElement type from tag name (#6637)
  • rename core/gather/computed/ to core/computed/ (#6618)
  • rename typings/ to types/ (#6617)
  • bump extension version (#6569)

v4.0.0-alpha.2-3.2.1

16 Nov 00:08
Compare
Choose a tag to compare
v4.0.0-alpha.2-3.2.1 Pre-release
Pre-release

We accidentally published an alpha release to NPM without the @next publish tag as v4.0.0-alpha.1.

This new release (v4.0.0-alpha.2-3.2.1) is just a republish of our latest stable v3.2.1, to fix the bug for anyone using lighthouse@latest.

4.0.0-alpha.1 (2018-11-15)

16 Nov 00:06
6610036
Compare
Choose a tag to compare
Pre-release

Warning: This release was accidentally published to NPM without the @next publish tag. To address this, the stable v3.2.1 release was republished as v4.0.0-alpha.2-3.2.1. Sorry y'all.

Full Changelog

Core

  • skip h2 audit in LR (#6564)
  • config: faster category validation (#6445)
  • driver: wait for Page.frameNavigated for about:blank (#6446)
  • lib: add chrome-extension to URL allowedProtocols and add test (#6447)
  • pwa: audit and report group renames (#6494)
  • seo: properly handle anchors in SVG (#6483)
  • increase protocol timeout to 30s (#6505, #6531)

Report

  • pwa: give badges to groups with all passing audits (#6504)
  • pwa: add pwa-category-renderer (#6486)
  • compat: add details-element polyfill for Edge (#6465)
  • compat: fix support for edge (#6459)
  • compat: ignore Edge's Invalid Argument error (#6456)
  • compat: fix summary rendering in FF (#6448)
  • handle underscored not_applicable scoreDisplayMode (#6549)
  • css: make performance category more compact (#6437)
  • rename clump classes; give classes to all audit groups (#6482)
  • refactor rendering of top-level failed/passing/etc clumps (#6460)

Misc

  • build: fix viewer deploy (#6449)
  • timing: move timing-trace to async events (#6440)
  • update puppeteer to version 1.10.0 (#6493)
  • readme: use official appveyor badge (#6443)
  • i18n: convert accessibility audits (#6229)

4.0.0-alpha.0 (2018-10-31)

01 Nov 19:47
Compare
Choose a tag to compare
Pre-release

Full Changelog

New Contributors!

Thanks to @carlesnunez and @justin0022 for their first contributions!

Thanks to @CodeDem for improving how the image-aspect-ratio audit handles small images!

Huge thanks to myself (@hoten) for joining Lighthouse! Go me!

New Audits

  • offline-start-url (#6397)

Core

  • aspectratio: ignore placeholder images (#6305)
  • audit: add utm parameters when calling snyk (#6172)
  • audits: clarify diff between load-fast-enough-for-pwa's TTI and perf TTI (#6286)
  • axe: disable unused audits (#6180)
  • computed: fix new computed artifact interface (#6151)
  • config: add new PWA category groups (#6396)
  • critical-request-chain: remove empty children from LHR (#6211)
  • driver: save performance.now() to avoid conflict (#6387)
  • driver: request smaller trace in m71+ (#6117)
  • driver: stringify protocol error messages (#6302)
  • driver: address bckenny feedback on #6117 (#6285)
  • driver: reduce required traceCategories again (54baf91)
  • driver: recover from rejection on handleJavaScriptDialog (#6327)
  • emulation: fix missing space in mobile UA (#6161)
  • icons: defer to manifest-icon type hint for image type (#6230)
  • network: handle invalid NetworkRequests (#6157)
  • network-analyzer: move throughput to NetworkAnalyzer (#5900)
  • perf: add timing instrumentation to measure runtime perf (#3745)
  • proto: add proto definition for LHR (#6183)
  • simulator: start nodes in observed order (#5362)
  • unminified-javascript: replace esprima with custom tokenizer (#5925)
  • remove recoverOrThrow / err.fatal (#6343)
  • convert computed artifact loading to regular require() (#6204)
  • remove no-websql audit (#6293)
  • bail on run if insecure ssl certification (#6300)
  • make throttled offscreen-images work without TTI (#6039)
  • save HTMLElement.p.matches function to avoid conflict (#6283)
  • remove fonts gatherer, move font-display to use CSSUsage artifact (#6166)
  • remove last dependency on WebInspector (#6209)
  • add timeout to all protocol commands (#6347)
  • don't load blank page twice in first pass (#6369)
  • refactor finding of trace start (#6370)
  • increase Page.navigate timeout (#6412)

Report

  • fix tooltip hover animation (#6288)
  • reframe Fast 3G as Slow 4G (#6163)
  • fix html report viewing bugs for Safari (#6143)
  • dom-size: right-align the value column (#6372)

Clients

  • simplify viewer build process (#6426)
  • reorganize file structure and build process (#6344)
  • build: ignore all locales from devtools & extension build (#6170)
  • lr: skip early emulation now that lr-desktop is defined (#6158)
  • split browserifying and extension packaging into separate scripts (#6295)
  • simplify bundle building (#6282)
  • stop report bug prompt for file:// urls (#6278)

Deps

  • update typescript to latest patch release (#6235)
  • update to tsc 3.1.1 (#6126)
  • jsdom: upgrade to support Element.prototype.closest (#6411)
  • snyk: update snyk snapshot (#6377)

Docs

  • contributing: consistent capitalization (#6174)
  • new-audits: revise issue template (#6233)
  • readme: Add new related project, lighthouse-github-reporter (#6307)
  • readme: change image references be commit hash raw gh urls (#6116)
  • add primer on viewing the timing data (#6393)
  • typo fix (#6335)
  • Remove "sh" format for CLI --help output (#6311)
  • update docs for --output-path re: multiple output types (#6339)

I18n

  • roll latest messages from TC (#6388)
  • update test for new canonical locale codes (#6360)

Tests

  • use predictable numbers in golden LHR (#6404)
  • add basic sentry tests (#6308)
  • restore lr-entry test (#6214)
  • remove more mock computed artifacts (#6195)
  • add trace creator (#6196)
  • add networkRecord-to-devtoolsLog mocking utility (#6171)
  • add angular test for JS minification (#6138)
  • run node 10 on Travis (#6361)

Misc

  • tweaks for devtools client (#6127)
  • simplify proto npm scripts (#6406)
  • add cli module diagram (#6129)
  • keep download-chrome script in npm package (#6153)
  • lantern script path resolution fix (#6380)
  • add integrity data to yarn.lock (#6212)
  • add yarn integrity hashes for extension/viewer (#6277)
  • only allow 1 error from each audit/gatherer (#6215)
  • Revert "core(driver): stringify protocol error messages (#6302)" (#6328)
  • fix typo in feature request template (#6431)
  • remove plots/ (#6346)
  • build: cleanup extension package zip using gulp (#6210)
  • build: rename bundled files (devtools/ext/lr) (#6179)
  • eslint: enforce infix-op spacing (#6382)
  • logger: isVerbose(), getTimeEntries() (#6383)
  • logging: add hanging request logging in driver (#6297)
  • proto: made default LighthouseError enum 'UNDEFINED' (#6334)
  • proto: align proto whitespace (#6374)
  • proto: convert int32's into DoubleValue in proto (#6332)
  • proto: adjust configSetting.output in preprocessor (#6310)
  • proto: add audit_mode and timings (#6363)
  • proto: fix linting and add LR hook ([#6373](...
Read more

3.2.1 (2018-10-01)

01 Oct 17:46
3c03e2c
Compare
Choose a tag to compare

Full Changelog

Core

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