Releases: GoogleChrome/lighthouse
2.8.0
2.8.0 (2018-01-12)
We expect this release to ship in the DevTools of Chrome 65.
New Contributors!
Thanks to @jianzhoufeng and @nhodges for their first contributions!
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)
- unused-css: detect savings from CSS that wasn't applied (#4183)
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
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
2.7.0
2.7.0 (2017-12-14)
New Contributors!
Thanks to @sanjsanj, @dennismartensson, @daannijkamp, @crimeminister!
New Audits
- accessibility: add accessibility manual audits (#3834)
- font-size: legible font sizes audit (#3533)
- hreflang: document has a valid hreflang code (#3815)
CLI
- compile out remaining typescript; add tsc type checking via jsdocs (#3747)
- sentry: handle configstore errors; don't enabling error reporting (#3878)
Core
- config: show SEO audits in the UI (#4057)
- critical-request-chains: corrected help text (#4009)
- devtools-timeline-model: extract model generation to a computed artifact... (46f6d2a)
- driver: add driver.wsEndpoint() (#3864)
- gather-runner: fix headless chrome UA check (#4019)
- noopener-audit: Only test http/https links (#4036)
- optimized-images: skip mismatched mimeTypes (#4045)
- seo: consistent help text links (#3901)
- uses-webp: tweak text to be more next-gen focused (#3985)
- vulnerable-libs: add fix for recovering from bad versions (#3932)
- web-inspector: keep all experiments disabled, fixing conflict when running in DevTools (#4010)
Deps
- Bump ws to 3.3.2 (#3949)
Docs
- error-reporting: improve clarity for opt-out folks (#3876)
- add lantern accuracy data (#3826)
- fox mobile device testing example (#3887)
- readme: Add Greta Lighthouse to list of Integrations (#4031)
Report
- perf-audits: adjust presentation of runtime cost audits (#4020)
- warnings: warn only if using an old headless (#4021)
Tests
- smokehouse: adopt URLSearchParams for querystring manipulation (#3941)
Misc
- changelog: tweaks to changelog template and instructions (#3849)
- changelog: minor changelog generation usability bumps (#3847)
- codeowners: represent brendan's leave (#3991)
- error-reporting: report unhandled promise rejections, take 2 (#3930)
- error-reporting: tweak sentry levels and ignore list (#3890)
- error-reporting: report unhandled promise rejections (#3886)
- Update wording (6036117)
2.6.0
New Contributors!
Thanks to @peterjanes, @stevector, @AkshayIyer12, @manekinekko, @alekseykulikov, @coliff, and @emazzotta.
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:.*
forrel=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 missingRuntime.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 forsetImmediate
polyfill (#3670)
Misc
- codereview: add CODEOWNERS file (#3591)
- Bump
chrome-launcher
to 0.8.1 (#3479) - web-inspector: fall back to page's
Runtime
andqueryParam()
(#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)
2.5.0
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)
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
inoptimized-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 forchromeFlags
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)
Full Changelog
2.4.0
Core
- Refactor error throwing from assertPageLoaded (#2785) (07817f9)
- refactor: cleanup unused waitFor properties (#2716) (9d8a32f)
- All audits must specify helpText and failureDescription (#2737) (db3f324)
- "shrink-to-fit" property in "viewport" meta is no longer invalid (#2863) (e1a04dd)
- driver: add compat comment on PerfObserver GC bug (d7ffec1)
- emulation comment: can remove injectedTouchEventsFunction in October (#2889) (a6b71c9)
- Ignoring other extension assets in request compression audit (#2733) (428f637)
- fix(anchors-with-no-rel): ignore same origin links (#2749) (78ec647)
- add flag to FMP to indicate if it fell back to FMP candidate (#2851) (46d9ba7)
- fix(script-blocking-first-paint): ignore latent resources (#2721) (ac99084)
- Include version and commit in lighthouse-background.js bundle (#2236) (7fe3574)
Report
- link all a11y audits to 2.2 aXe docs (#2709) (924e1f1)
- Update consistently-interactive.js helpText (#2740) (6f7bf29)
- Update first-interactive.js helpText (#2739) (a829811)
- Report: add lighthouse query param to axe helpText links (#2767) (4b9cbb5)
- Report: Close export dropdown when printing (#2914) (a45ece8), closes #2914
- report: draw metric lines over the screenshots. (#2848) (5832761)
- fix(report): proper arrow state and consistent capitalization (#2750) (7c461bf)
Testing
CLI
- Fix: Basic chrome-flags parsing for embedded quotes (#2754) (78a8bd7)
- Add hostname CLI flag and option for CriConnection (#2728) (0455283), closes GoogleChrome/lighthouse#2727
Chrome launcher
- launcher: clarify priority of chromePath options (494f991)
- chrome-launcher: add support for finding Chromium on Linux (#2950) (1c11021)
- launcher: support enabling extension loading (#2650) (c942d17)
- [chrome-launcher] Publish type definitions instead of source TypeScript files (#2898) (391e204)
Misc
- Lowercase fix for "service worker" (#2729) (15068bd), closes #2729
- open extension's report in new window. (fix for incognito) (#2734) (934aa42), closes #2734
- pass --enable-extensions on from manual-chrome-launcher (#2735) (37fd38c)
- Update lighthouse-logger location in readme (#2867) (1347b15)
- readme: added CHROME_PATH description from CLI help (#2757) (af003d4)
- readme: update example using deprecated
LIGHTHOUSE_CHROMIUM_PATH
(#2929) (de408ad) - docs: Add a changelog.md (#2986) (626ce68)
- Viewer: log expected URL (#2724) (6478f15)
- Fix eslint max length in github-api.js (#2730) (1ca40de), closes #2730
- add license file to launcher package. (#2849) (8bc6d18)
- Add license to lighthouse-logger. (#2846) (367ea7a)
- Clarification of hasOfflineStartUrl rule (#2775) (7097d5c)
- gulpfile. add commented out lines for sourcemap generation. (6f53ab9)
2.2.1
chrome-launcher
shipped as a standalone module
The chrome-launcher
module is now on npm. Great for working with Chrome headless.
Lighthouse viewer updated for Lighthouse 2.0
The Lighthouse Report Viewer can now view data from Lighthouse 2.x, including JSON saved from the CLI, exported from the Chrome extension or DevTools Audits panel. (#2521)
New contributors
Thanks to Katie Hempenius, Artur M, Kevin Farrugia, Piper Chester, Robin Drexler, and Mike Deverell. Due to the effort of these developers we now have an audit for checking for paste-blocked password fields, unified usage of toLocaleString(), a correct gulp recipe, a well-functioning chrome-launcher module, and improved clarity in the audit test descriptions. We truly appreciate all these improvements!
Since 2.1.0 we've had a number of other features, fixes, and improvements. Presented by category:
Report
use locale string for all our number output (#2553)
fixes viewer CSS specificity and event listener removal (#2575)
freshen up audit helpText
Report: don't display score gauge header if there's only one. (#2261)
Remove report v1 and dependencies (#2596)
better debug message for missing network times (#2451)
spelling fix in link-name audit (#2496)
Theme Color wording fixes (#2466)
Audit + Gather
fix(driver): wait for CPU idle via clientside perfObserver (#2473)
Remove /deep/ usage as it is being deprecated (#2371)
Remove BOM encoding from manifest (#2175)
Throw better error message when url is not auditable (#2527)
Critical Request Chain audit: fix incorrect transfersize. (#2610)
domstats: prevent infinite loop (#2561)
Performance & Traces
docs: add trace interpretation guide (#2472)
use a stable sort for trace events (#2415)
remove old TTI code (#2452)
refactor(trace-of-tab): return timestamps in microseconds (#2454)
add streaming json parser
add streaming trace writer in saveAssets
Plots
better support power use cases (#2464)
disable flaky smoke test (#2606)
smoke test for happy case (#2411)
Configurability
feat(config): add audit blacklist support (#2499)
feat(config): add extends lighthouse:full (#2557)
docs(config): add config documentation (#2592)
Misc
Add script to capture travis build durations (#2541)
Expose launch/lighthouse/report flow to consuming modules (#2602)
harden security of static-server (#2563)
is-on-https: check record.protocol for blob urls (#2538)
LH implementation of LogNormalDistribution; remove traceviewer (#2456)
move computed artifacts dependent on networkRecords to devtoolsLog (#2467)
Enable typescript coverage metrics for coveralls.
v2.0.0
Big changes
Brand new report
Everything is brand new UI. header footer, left nav, export, score gauges… screenshots! filmstrip . pass and failures seperated. Sparklines. Accessibility by section. Perf sections..
Chrome DevTools Integration
Take a look at the DevTools' Audit tab, where Lighthouse is now integrated
Lighthouse is much faster now
Overall the Operation Yaquina Bay (Issue #2146) effort made massive improvements to the total lighthouse runtime:
476e780 fix: remove afterPass throttling (#1901)
7d7bac6 perf: enable speedline fastMode (#2230)
f7ea935 perf(config): disable styles gatherer (#2153)
d99778b perf: consolidate DBW pass into defaultPass (#2160)
ff21a33 fix: only record a trace if needed by an audit (#2117)
740c2e9 perf(gather-runner): Clear cache selectively per-pass (#2156)
4c515cf block stylesheets and images on redirect pass (#2168)
d0cb646 perf(gatherers): skip optimization of cross origin images (#2154)
d99b5ad perf: make network quiet threshold configurable per pass (#2220)
New Contributors!
Huge thanks to who contributed 27 epic PRs.
@abacon - remove images from critical request chains
@benschwarz - Calibre and WPT to readme
@chrisdwheatley - add related projects section
@dandv - Mention where the documentation is
@dgozman - Add basic rendering to report generator v2
@ev1stensberg - math.round scores, firefox svg images, package.json correct folder
@jinjorge - Fix typo in readme
@jimthedev - readme instructions for running behind a login
@johnboxall - Total byte audit reports full URL
@mrbusche - Update outdated link for "Web App Install Banners" article
@maya - Fix "Installation" spelling mistake
@stramel - non-critical images, template literal linting, containerized trusty
@mikerhyssmith - Updated readme to add port number when testing a site with authentication
@sendilkumarn - handlebars precompiled (we'll pour one out), clearer iconography, helpText fixes.
@ZZhaoTireless - report <details>
printing fix
@cedricbellet - handleJavascriptDialogs
@thearegee - Readme: Adding lighthouse-cron to Related Projects
Audits
Added the "is fast on 3g" audit
4c34e28 Fix service worker gatherer by waiting for active state (#1864)
bbe7f3b allow computed artifacts to request other computed artifacts (#2018)
ba01e2a Added audit for request compression (gzip & br) (#1513)
ef52025 feat(image-usage): add support for CSS images (#1868)
1708865 fix: default(.json -> .js). Disable css usage audit (#1911)
5034961 Collapse the 9 manifest PWA audits into 3 (#1847)
902585b feat: add OffscreenImages Audit (#1807)
bad5bda Add TTI < 10s audit for PWA (#1840)
d2cb5a2 feat: add consistently interactive audit (#2023)
d3a0692 DOMStat Audit: shadow roots don't have .classList (#2131)
691157f Add audit to check if start_url is cached by SW (#2040)
df2fae5 PWA Audits: add placeholders for rest of baseline checks. (#2248)
3c752a0 refactor: split optimized images into WebP and optimize audit (#2216)
c908e81 retire TTI (alpha) audit (#2266)
Metrics & Precision
ade2d88 Enable CPU throttling (4.5x) (#1778)
added the TTFI and TTCI metrics
f1aeb58 Fix screenshot capture bounds (#1839)
7b86c71 Enhance error wording around busy traces. (#2247)
008c5d9 add lighthouse execution time to json results (#2241)
f0e0dfa tests: exclude score checking and flaky link preload assertion. (#2202)
bd7f862 Update: Use array of non-critical resource types (#2191)
0549cca fix: always use navStart as speedline timeOrigin (#2114)
da8e097 NEW feat: add firstInteractive (#2013)
2212ca2 Update network throttling to simulate more realistic network conditions (#2238)
b5bf067 Remove images from critical request chains. (#2085)
0bf1744 fix: add more helpful error messages when fMP is missing (#1959)
ca2600a Improve reliability of finding navStart (#1895)
04579fe Ignore cache hits for "fast on 3g" check (#2143)
b1784d1 Ignore memory cache hits too. ref #2143
e84530e fix: bump jpeg quality for image optimization audit (#2354)
0d0e93f fix: do not flag blob urls as insecure (#2330)
782acc5 polish: do not fail loadfast4pwa for internal redirects (#2296)
Plots
b2eaa08 Plots: A/B screenshot viewer (#2026)
618d5f0 plots: metrics-per-site view (#2041)
c43eb09 plots: measure and visualize perf metrics (#1936)
3f7e5a1 Plots: make measure script more flexible (CLI args) (#2183)
CLI
Chrome launcher is a thing now.
2bb9c5b readme: tell developer to have yarn installed. ref #2072
65bec1b feat(cli): add support for custom trace categories (#1866)
b9bce62 Warn users if they have not yet generated the file. (#2176)
Testing
47ee1b8 travis: include node 8.0.0 (#2395)
Re-enable AppVeyor support #2380, #2382
d5854b6 test(smokehouse): add numeric comparisons (#2356)
8b47006 Smokehouse: log out the node command we spawn (#2074)
4f598c5 ci: save perf trace to S3 on failure (#2051)
5945332 Switch to containerized Trusty (#2234)
fb791e4 update eslint curly
rule to google js style (#2263)
Misc
07e0aab Remove recordNetwork from config (#2102)
16b0b04 feat: support Config category and audit whitelisting (#1988)
b2ccdfc Allow opn & update-notifier CLI deps to be optional. (#2150)
283af87 dismiss any Javascript Dialogs automatically (#1939) (#2106)
e475bdb refactor(aggregations): switch usage of aggregations to categories (#1935)
48b72a8 fix: always ensure tracing is off before starting (#2279)
131df27 polish: listen for network idle after DCL (#2271)
d7e4d1b always construct networkRecords from devtoolsLog (#2133)
11a1db3 networkRecords => computed artifact. generate networkRecords during gather via the networkRecorder dispatcher breaking change: performanceLog => devtoolsLogs
fb3cfbd makes non-finished network records available (#2197)
d706429 extension: Fix formatting of bug reports (#2343)
9f5a8aa Add error to chrome extension when url is using the chrome protocol (#2346)
Docs
Many readme/contributing changes, related projects
e46f540 Architecture docs: add arch diagram and lingo updates (#2158)
af479e9 Architecture diagram
8047ef3 Add custom audit recipe (#2255)
6898d09 add CI gulp recipe (#1886)
909a463 add doc for testing site with authentication (#1906)
7c1c1c5 improve instructions for running behind a login (#2123)
fb86d50 Docs: add docs/readme (#2341)
d926f32 README: update CLI help with latest. Give common examples (#2182)
15c5ef1 add related projects section (#1835)
Deps
e46244d Bump axe-core (#2090)
638760e Migrate all dev scripts + docs from npm to yarn. (#2071, #2072, #2067)
d90bce3 fix: bump speedline to fix perceptual speed index (#2046)
3716658 Rev axe to address #2206 (#2335)
1.6.5
This is a maintenance release on the stable 1.6 branch.
Master branch (tagged at 2.0.0-alpha) is under some heavy refactors, so we're holding off on shipping a new version. Expect one by mid-May.
( Poke around recent PRs and issues if you're curious what we're up to ;)
In the meantime, only a few changes here in 1.6.5:
Audits
- Improve HTTPS audit by using network records rather than Security domain, which is broken on Android.(original pr #1918) (#2054)
- Disable unused css rules audit for now, as we want to revisit correctness later (#1912)
Report
- Add legend to decipher iconography left to us by the ancient ones (#1841)
- Print doesn't cut off expanded audit details (#1870)
- Biggin icons for a11y (#1856)
- Tweak report colors so that we are WCAG2AA valid.
CLI
Testing
- smokehouse: fix flakiness of dom-size expectation (#1881)
- include a normal CLI run in the travis build.
Misc
- remove npm prepublish (#1889)
Thanks to @ebidel and @paulirish for merging this stuff back to stable branch.
1.6.0
1.6.0 (2017-03-03)
There were 44 PRs landed for this release. These are their stories.
New Contributors!
Huge thanks to @sendilkumarn, who contributed four epic PRs. Also welcome to @tommycli, @narendrashetty, @mohsen1 and @dentemple. Readme tweaks are how it all starts. ;)
Notable Changes
-
WebPageTest integration is in beta
By popular demand, you will soon have a way to run Lighthouse on demand in the cloud. We've worked closely with WebPageTest to enable Lighthouse auditing and analysis from within a WPT run.
Our contribution WPO-Foundation/webpagetest#825 was just merged and Lighthouse on WPT is currently in private beta.
-
Lighthouse's CLI output has taken a chill pill - #1764
While you can view all Lighthouse results on the command line, it hasn't scaled well. A few screenworths of report was generally dumped to stdout right as Lighthouse finished up. Now, to keep your terminal happy, you will no longer see the reams of results printed to stdout.
The HTML report is saved to disk by default, and you can automatically open it withlighthouse --view
.
If you still want the stdout output, use --output=pretty
. Oh so pretty.
- CI coverage for Windows via AppVeyor - #1280
Thanks to a large effort from @XhmikosR, we now have an eye in the sky on Lighthouse's Windows compatibility. Now, all PRs are tested on both Linux and Windows.
New audits
-
New audit: DOM stats (total nodes, depth, width). (#1673) Get flagged if the size or depth of your DOM is big enough to cause big slowdowns.
-
New audit: Total byte weight audit (#1759). An extra check to make sure folks don't ship 5MB webpages.
Improvements
- CLI: Add -
-chrome-flags
option to CLI. (#1761) - CLI: Add
--disable-storage-reset
flag to skip clearing cache and storage (#1675) - Report: Centralize perf audits within Performance section (#1724)
- Report: Collapse sections when all audits pass (#1742)
- Config: Allow extension of default config (#1731)
- Config: Configurable blank page options (#1732)
- Config: Configurable page timeout (#1672)
- Disable throttling for non-performance passes (#1740)
- Reduce build size by 33% (#1756)
- Enhanced display URLs (#1793)
Bug Fixes
- Improve reliability of TTI metric by extending trace (#1785)
- Do not fail if chrome could not be killed (#1735)
- Headless fix: reuse existing tab if creating new tab fails (#1760)
- Fix code escaping (#1790)
- Speculative fix for getCurrentTabURL (#1753)
- Rewrite chrome:// URLs to compare them. (#1777)
- Responsive image audit correctly handles SVG and duplicates (#1749)
Testing
- Use download-chrome.sh to download Chrome on Windows too.
- Add AppVeyor CI support for Windows testing.
Docs
- Link to PWA Checklist (#1734)
- Reorganization and new "Using programmatically" section (#1721)
- fix typo in promise chain
- minor yarn typo fix (#1736)
- Fix typo s/console.err/console.error (#1772)
Refactor
- DRY byte efficiency audits (#1635)
- Add explicit strict null checks for TS. (#1763)
- CSS consistency changes. (#1698)
- Switch to two space indention. (#1693)
- Refactor handlebar helpers into static methods
Report Improvements
- Use ! for aggregation icon when some audits dont pass (#1789)
- Clearer iconography in Perf metrics and Fancier Stuff (#1750)
- Adopt the non-failure iconography for perf audits (#1812)
- Reformat the critical chain details (#1647)
- Reformat the usertiming details (#1810)
- Adjust table em color val for WCAG2AA. (#1743)
- Better colors. Still accessible (#1758)
- Brand the header (#1797)
- Quazzle the tardiplums for best quality fleekdrops.