Releases: GoogleChrome/lighthouse
3.2.0 (2018-09-26)
New Audits
- add js-libraries audit, just listing detected js libs (#6081)
Faster
- driver: deliver trace as events rather than a stream (#6056)
- network-recorder: consider iframe responses finished. helps avoid pageload timeout (#6078)
- replace WebInspector traceparser with native JSON.parse (#6099)
Core
- add
emulatedFormFactor
setting (#6098) - remove some trivial uses of WebInspector (#6090)
- use cssstyle to parse CSS colors instead of WebInspector (#6091)
- initial refactor of computedArtifact import/caching (#5907)
- asset-saver: stop creating screenshot files during --save-assets (#6066)
- content-width: not applicable on desktop (#5893)
- driver: add check to make sure Runtime.evaluate result exists (#6089)
- icons: Add PNG check to manifest icon validation (#6024)
- lhr: add top-level runtimeError (#6014)
- net-request: transferSize now shared via 'X-TotalFetchedSize' (#6050)
- don't allow analysis of file:// urls (#5936)
Report
- dont show zero ms savings in preconnect, preload audits (#5983)
- align table headings & columns left/right (#6063)
- audit: make dom-size table prettier (#6065)
cursor:pointer
on Passed Audits, etc (#5977)- psi: remove redundant varience disclaimer (#6110)
- util: ✅ audits should be in Passed Audits (#5963)
- vulnerable-jslibs: tweak snyk link for highlighted matches (#6096)
- xbrowser: replace Typed OM getComputedStyle() with CSSOM equivalent (#5984)
CLI
- add --print-config flag (#6107)
Deps
- snyk: update snyk snapshot (#6074)
- chrome-launcher@0.10.5 (#6106)
- js-library-detector@5.1.0 (#6102)
- speedline@1.4.2 (faster sort) (#6073)
- chrome-devtools-frontend@latest (#6101)
Docs
- readme: add lighthouse4u (#6008)
- readme: updated report screenshot to 3.1.0 (#6042)
- readme: add lighthouse-badges to related projects (#5969)
- recipes: update custom-audit package.json (#6007)
- releasing: minor updates (#5345)
i18n
Misc
v3.1.1
- update report score legend to match 3.1.0's updated color buckets (#5985)
v3.1.0
Full Changelog since previous release
New Contributors!
Huge thanks to @midzer and @justinribeiro for being so darn helpful. Great stuff. :D
And thanks to @mettamatt for some helpful documentation. Who doesn't love better docs?! @kenguest also fixed up our grammar. 👍
Notable changes
- red/orange/green color buckets for scores are tougher now. (#5831)
Previously | Now | |
---|---|---|
Red (bad) | 0-44 | 0-49 |
Orange (average) | 45-74 | 50-89 |
Green (good) | 75-100 | 90-100 |
Scoring itself hasn't changed; only what color is used to decorate a score.
- trace-processor: fix bug where top-level events weren't being found in the trace (#5841)
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
v3.0.3
v3.0.2
New Contributors!
Thanks to @schalkneethling and @eduardosada for their first contributions!
New Audits
- assert a present and valid doctype (#5274)
Core
- fonts: bump gatherer timeout to 5s (#5643)
- network-request: cleanup DevTools property names (#5606)
- preload: remove blob protocol from preload audit (#5409)
- without-javascript: allow noscript pages (#5571)
Docs
- architecture: add diagram of module dependencies (#5615)
- custom-audit: update custom-audit to 3.0.0 api (#5612)
- [minor] issue template tweaks (#5641)
Extension
- fix "extension Error: couldn't resolve current tab" (#5591)
Tests
Misc
- scripts: more succinct lantern output (#5523)
v3.0.0
3.0 has several breaking changes from 2.x. The output structure (LHR) has changed, flags have changed, and throttling is now simulated by default instead of directly applied. Read more about the changes and how to handle them in our migration guide.
New Audits
- robots-txt: /robots.txt validation (#4845)
- efficient-animated-content, use videos instead of gifs (#4885)
- add preconnect audit (avoid costly origin roundtrips) (#4362)
CLI
- chore: remove chrome-launcher stubs (#4945)
- output: Add ability to export results to CSV (#4912)
- update documented throttling flags (#5000)
Core
- a11y: add back html/tags/impact (#5439)
- audit: align meta properties with LHR (#5540)
- audit-mode: do not require a URL (#5495)
- driver: [minor] fix spelling of evaluate (#5553)
- fcp: fix scoring curve (#5507)
- image-aspect-ratio: loosen ratio check (#5358)
- lhr: migrate opportunity details to new format (#5296)
- main-resource: work with hash URLs (#5422)
- multi-check: expose manifest checks in details (#5405)
- network-requests: handle negative endTime (#5530)
- offscreen-images: add lantern filter (#5361)
- opportunities: more granular score (#5331)
- preload: only allow same origin (domain + subdomains) (#5065)
- pwa: revamp and move short_name_length audit (#4860)
- pwa: adjust score weights (#5233)
- faster saveTrace by streaming 500 events at a time (#5387)
- convert requestIds before sending to backend (#5580)
- remove dependency on DevtoolsTimelineModel (#5533)
- remove no-mutation-events audit (#5509)
- remove WebInspector.resourceTypes references (#5556)
- [minor] migrate remaining .description -> .title (cee9d55)
- support traces with TracingStartedInBrowser event (#5271)
- remove dependency on devtools-frontend NetworkRequest (#5451)
- convert gather-runner.js to async/await (#5462)
- handle DOM.resolveNode errors (#5427)
- split out BaseArtifacts, those always provided by LH itself (#5506)
- simulator: convert node timings to trace (#5350)
- simulator: improved timing typedef (#5347)
- trace-of-tab: remove DevTools stableSort dependency (#5532)
- traces: move findTracingStartedEvt to tracingProcessor (4826a77)
- tsc: make CPUNode and NetworkNode a discriminated union (#5548)
- tsc: use Config class to define Config type (#5525)
- tsc: add initial trivial type info to config.js (#5481)
- tsc: refactor config.js (and add type checking) (#5486)
- tsc: migrate renderer & viewer off typedefs to .d.ts (#5342)
- user-timings: add back startTime (#5442)
- lantern: handle disk cache simulation (#5221)
- network-recorder: handle QUIC requests (#5256)
- tsc: add type checking to viewer (#5258)
- tsc: add tsc type checking to report (#5195)
- lhr: audit id, title, description (#5190)
- lhr: revert default wait bump (06205ef)
- uses-preload: prevent infinite loop (#5184)
- violation-audit: de-dupe items by URL and label (#5219)
- byte-efficiency: use lantern for opportunity estimates (#4601)
- canonical-audit: allow multiple identical canonical links (#4973)
- category: add manualDescription (#5100)
- computed-artifact: remove requiredNumberOfArtifacts (#4764)
- config: add support for audit/gatherer options (#4394)
- config: remove config.artifacts; always use auditMode (#4986)
- config: clean flags for config settings (#4960)
- config: augment settings/passes with defaults (#4894)
- config: switch to throttling settings object (#4879)
- config: switch to lantern by default, add presets (#5041)
- critical-request-chains: exclude preloaded requests from crc (#5011)
- displayValue: fancier displayValue type (#5111)
- domstats: useIsolation within domstats (#4811)
- driver: add timeout to getRequestContent (#4718)
- emulation: update Chrome userAgent to 66 (#4779)
- estimated-input-latency: use a 5s rolling window (#4989)
- fast-config: bring back a11y & SEO categories (#4932)
- font-size: recalibrate the legible font sizes (#4550)
- http-redirect: drop use of getSecurityState() to gain Android support (#4661)
- image-usage: use min of resourceSize/transferSize (#4968)
- img-usage: handle invalid images within determineNaturalSize (#4812)
- is-crawlable: fix empty row in the details table (#4820)
- is-crawlable: determine if page indexing is blocked by robots.txt (#4548)
- is-on-https: consider about:* secure (#4749)
- lantern: cleanup Simulator construction (#4910)
- lantern: more flexible graph edge creation (#4933)
- lantern: move metrics to computed artifacts (#4766)
- lantern: improve RTT estimates (#4552)
- lantern: use securityOrigin on record (#5071)
- lantern: never exclude main document from graphs (#5124)
- lantern: rename Simulation.Result.nodeTiming to be plural (#5038)
- lhr: eliminate cards and list details (#4789)
- lhr: convert reportCategories to categories object (#5155)
- lhr: support printf displayValues (#5099)
- lhr: rename perf-hint, perf-info, etc (#5102)
- lhr: make reportCategories shallow; move audit scores to AuditResult ([#4711](https://github.com...
2.9.3
2.9.2
New Contributors!
Thanks to @echopi for improving our extensibility. We're happy to work with you!
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
2.9.1
New Contributors!
Thanks to @GaryJones for helping us spel gud!
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
2.9.0
2.9.0 (2018-02-08)
New Contributors!
Thanks to @FadySamirSadek, @christhompson and @rupesh1 for their first contributions! Awesome stuff.
New Audits
- mixed-content https upgradeability (#3953)
- preload: Adding
<link rel=preload>
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
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)