Releases: GoogleChrome/lighthouse
Releases · GoogleChrome/lighthouse
1.4.0
1.4.0 (2017-01-04)
New Contributors!
@dracos, @Lokson, and @AdrianoCahete
Improvements
- Add URL blocking by pattern to driver - #1195
- Extension: Add test URL to "Report Error" template - #1357
- Extension: Keep Lighthouse extension popup active while running - #1185
- Extension: Use live icon and badge text while running - #1367
- Gather: Only run axe tests that we have audits for - #1257
- Report: Only use markdown for injected HTML - #1226
- Report: Style tweaks for DevTools report - 4a2f97a, 68ccb64
- Report: Include total score in JSON and pretty output modes - #1356
- Viewer: Add input for gist URL on mobile - #1341
Bug Fixes
- Audit: Handle invalid URLs in
external-anchors-use-rel-noopener
audit - #1358 - Audit: Handle invalid URLs in
no-console-time
andno-datenow
audits - #1288 - Audit: Make zero-length critical-request chains pass the test - #1303
- Audit: Add
"minimal-ui"
as an allowed Manifestdisplay
value - #1268 - Audit: Improved handling of invalid URLs in call site and event listener audits - #1390
- Audit: Async stylesheet handling to limit false positives for stylesheets blocking first paint - #1389
- CLI: Improve Windows console support - #1307
- CLI: Ignore
which
failures when looking for Linux Chrome executable - #1395
Docs
- Closure type check fixes - #1293
Refactor
- Return artifacts from Runner (and move assets/artifacts saving to CLI) - #1163, #1400
- PerformanceExperiment: Centralize more implementation in
server.js
- #1189
Dependencies
1.3.2
1.3.1
1.3.1 (2016-12-22)
New Contributor!
Improvements
- Report: remove
noreferrer
fromhelpText
links (#1190) - Viewer: add consolidated export button - #1182
Bug Fixes
- Remove Node v7 URL parsing while bugs are being fixed - #1187
- Fix
driver.captureFunctionCallSites
in the face of Error polyfills - #1218 - Audit: handle anchor tags with no href in 'external-anchors-use-rel-noopener' audit - #1238
- CLI: use exec, not spawn, to kill Chrome process on Windows - #1206
- Viewer: don't check upload's file type, try to parse json file directly - #1234
Docs
- readme: improve definition - #1216
1.3.0
1.3.0 (2016-12-19)
New Contributors!
@Janpot, @robdodson, and @WeiweiAtGit
Major Changes
Improvements
- Use
whatwg-url
to parse URLs - #997 - Use
firstMeaningfulPaint
trace event directly - #1066 - Remove whitespace and comments from traceviewer-js - #1095, #1103
- Audit: Remove browser-generated
paintNonDefaultBackgroundColor
event fromuser-timings
- #1077 - Audit: Handle where
tracingStartedInPage
doesn't precedenavStart
in trace - #1152, 9c8d13e - Audit: Add new required attr and attr-value accessibility audits - #1156
- CLI: Add improved search for Chrome executable on Linux - #856
- CLI: Add check that TypeScript files have been compiled before running - #1113
- CLI: Add
--view
flag which serves generated report after Lighthouse run - #1130, f6afd22 - Driver: Return meaningful errors from page context when
evaluateAsync
rejects - #1037 - Report: Create "Fancier Stuff" section for newer (but not necessarily better) APIs - #1087
- Report: Convert
helpText
toggle to pure CSS - #1104 - Report: Stick header to top of page - #1121, #1132, #1133
- Report: Make mobile-friendly and responsive - #1134
- Report: Don't emit script tags in devtools report - #1105
- Report: Use same favicon throughout all reports - #1172
- Viewer: Move share button to core report - #1117
- Viewer: Add support for copy and paste of report JSON - #1126, #1128
- Viewer: Concat CSS files - #1153
Bug Fixes
- Unmute some smoke test failures - #1081
- CLI: Make
rimraf
async for deleting Chrome temp profile - #1127 - CLI: Eliminate errors from calling
ChromeLauncher.kill()
twice - #1131 - CLI: Fix html
reportContext
when generated by the CLI - #1171 - Driver: Fix
evaluateAsync
when page has overridden native Promise - #1037, #1178 - Report: Fix for formatting with unknown time zone - #1086
- Report: Fix report color issues in Safari - #1114
- Report: Fix print styling - #1180
- Testing: Handle critical-request-chains audit promise rejections - #1100
- Testing: Fix failing lint test - aa6d38b
- Viewer: Disable sharing button if gist is already saved - #1118
Testing
- Don't run Closure type checking on Travis - 558a26
- Update
eslint
andeslint-config-google
to latest - #1136, #1159, #1160 - Audit: Add tests for
notification-on-start
- #1089 - CLI: Add test for obsolete CLI flags - #1168
- Viewer: Add analytics #1120, #1162
- Viewer: Add build of viewer to CI test suite - #1160
Docs
- Update jsconfig for intellisense - 835ae98
- Audit: Fix type in
no-console-time
helpText
- #1142 - Audit: Add links to DoBetterWeb
helpText
docs - #1161 - readme: Add Viewer to readme - #1164
Refactor
- Audit: Add check for an audit's
requiredArtifacts
before running - #1088 - Audit: Centralize auditing of
axe-core
results - #1167 - CLI: Unify
bin.ts
execution and error-handling paths - #1141 - Gatherer: Gatherers now return artifacts directly rather than setting
this.artifact
- #1122 - Viewer: Split code into modules - #1116
- Viewer: Use
tsc
to es3ify viewer code - #1150
Dependencies
1.2.2
1.2.2 (2016-11-29)
New Contributor!
Improvements
- Extension: remove "tabs" extension permission - #1032
Bug Fixes
- Ensure
driver.captureFunctionCallSites
resolves to an array - #1036 - Handle call sites in
eval
'd code indriver.captureFunctionCallSites
- #1073 - Audit: identify
noopener
when in list of link types inrel
- #1035 - CLI: explicitly close outfile and errfile in chrome launcher - #1057
- Extension: set minimum supported Chrome to m54 - #1027
- Extension: better error message if user attempts to audit the Chrome Web Store - #1025
- Report: work around unsupported timezones when pretty printing dates - #1067
- Report: fix coloring by score - #1070
Docs
1.2.1
1.2.1 (2016-11-22)
Improvements
- Audit: add DBW audit for
<script>
elements in head that block first paint - #965 - Extension: Add error description to title of auto-generated github issues - #992
Bug Fixes
- fix typo in default config file - f9f7c25
- Audit: treat non-strings as an error in
without-javascript
gatherer and audit - #971 - Audit: catch driver errors (and set on
artifact.debugString
) in geolocation gatherer - #999 - Audit: fix property name used for error value in
all-event-listeners
gatherer - #1013 - CLI: fix implicit-any-typed
_
in chrome launcher - #981 - Extension: fix aggregation category filtering based on selection in options panel - #973
- Report: escape </script> tags when embedding raw results in the html page - #1003
Testing
- Force
npm install
(for now) on Travis after their change to prefer yarn - #994
Docs
- readme: new report screenshot - cb2ebfd
Refactor
- Unify CLI and extension implementations of debugger protocol error handling - #977
1.2.0
1.2.0 (2016-11-17)
New Contributors!
@Bassoon08, @karanjthakkar, @chowse, @hsingh23, @olingern, and @patrickhulce
Major Changes
- Launch DoBetterWeb (DBW) audits and gatherers as part of default Lighthouse run - #917
- Report: Lighthouse report refactor and refresh - #926, #935
Improvements
- Log errors in red, warnings in yellow - #860, #915
- Audit: Add DBW audit for Mutation Events - #786
- Audit: Add DBW audit for
<link>
elements in head that block first paint - #892 - Audit: Add DBW audit for
rel=noopener
on external links - #912 - Audit: Make geolocation audit return error if permission already granted - #925
- CLI: Handle
--quiet
logging as silent - #881 - Extension: Add integrated 'Report Error' button with pre-populated data - #944
- Gatherer: Add support for collecting event listeners across all DOM nodes - #930
- Report: Remove excessive EIL percentiles from report - #851
- Report: Update TTI scoring label to 5000ms to match guidance - #947
- Report: Cleanup of event listener extended info display - #952
- Report: Group event listener extended info by call site location - #960
Bug Fixes
- Restore log's status event payload - #883
- Ignore protocol error from defensive
DOM.disable
call - #895, #907 - Remove cache-contents gatherer from default config since currently no audit requires it - #900
- Enforce audit naming consistency in the config file and filenames - #914
- Audit: Handle error case from htmlwithoutjs gatherer and audit - #891
- Audit: Prevent attempts to parse script URLs when no URL was found - #893
- Audit: Don't include disabled
<link>
s in link-blocking-first-paint audit - #911 - Audit: Handle undefined Accessibility violations array - #942
- Audit: Only create a manifest display debugString when there is an error - #954
- Audit: Look for non-async
<link>
s and fix unit of time in link-blocking-first-paint audit - #963 - CLI: Add
main
field to CLI's package.json - #875 - CLI: Disable Chrome's Google Translate service during Lighthouse run - #897
- CLI: Disable Chrome's default Apps during Lighthouse run - #918
- Driver: Dedupe function call site entries on location, not stack trace - #958
- Extension: Properly filter the audits to run - #946
- Gatherer: Handle CSS parse errors in stylesheet gatherer - #906
- Report: Move
gt
handlebars helper to accessibility formatter - #929 - Report: Fix handlebars
and
helper to showdisplayValue
in reports - #938
Testing
- Add DBW to smokehouse tests - #843, #901
- Add script for bumping Travis to restart timing-out test runs - #913
- Fix Travis timeouts by rerunning with random Chrome debug ports - #922
Docs
- Audit: Update EQT/EIL design doc links to latest docs - #923
- Audit: Fix no-datenow
helpText
typo - #955 - Audit: Update uses-passive-event-listeners `description text - #956
- readme: Add DBW to readme - #863
- readme: Update development section with TypeScript info - #859
- readme: Document yarn install command - #939
Refactor
- Audit: Rewrite geolocation-on-start audit to use DBW tooling and testing - #903
- CLI: Migrate
chrome-debug
binary to use internal Chrome launcher - #898 - Report: Refactor report generation to be blob based and simpler - #908
Dependencies
- Yarn lock file cleanup - 3e9e88c
1.1.7
1.1.7 (2016-10-31)
Features
- Add cpu throttling option (initially disabled by default) - #747
- Stop Lighthouse run if tabs with a shared Service Worker are found - #639
- Add Web Worker entry point to
lighthouse-background.js
- #803 - Audit: add DBW stylesheet gatherer and old flexbox audit - #767
- Audit: adopt Perceptual Speed Index - #785
- Audit: add DBW audit for passive event listeners - #830
- CLI: add support for using stable Google Chrome on MacOS - #782
Bug Fixes
- Fix function call location from
driver.captureJSCallUsage
- #779 - Update
driver.captureFunctionCallSites
to use updateddriver.evaluateAsync
- #809 - Stop interpreting manifest parse errors as failure to fetch manifest - #823
- Update
npm run dbw
to use new emulation flags - #834 - Make network emulation numbers always integers - #839
- Trim
extendedInfo
returned from DBW http2 audit to prevent circular references - #842 - Navigate to about:blank before driver setup - #850
- Fix handling of errors from the debugging protocol - #853
- Stop spreading strings in
log
- #835 - Allow debugger protocol's
DOM
domain to be redundantly disabled - #861 - Remove tab
targetId
requirement for checking if other tabs will share a service worker - #852 - Consistently reject Promises with an
Error
- #862 - Don't throw an error in stylesheet gatherer if no stylesheets are found - #864
- CLI: Disable extension system in launched Chrome instance - #771
- CLI: make Chrome Launcher respect
--quiet
flag - #774 - CLI: use about:blank as initial URL - #776
- CLI: make HTML report have gitignorable filename - #790
- CLI: fix
outputMode
conditional - #846 - CLI: add warning if
tsc
has not been run before use - #857 - Report: fix pluralization of "resources" - #773
Testing
- Add smokehouse, an end-to-end test runner, and use for smoke tests - #781, #788
- Run default smoke tests with full config - #801
- Add
prefer-const
eslint rule - #804 - Run well-known-PWA smokehouse tests in CI - #824
- Fix several eslint warnings - #831
- Test node v6 and v7 explicitly in CI - #832
- Add tests for
getLogNormalDistribution
andgetRiskToResponsiveness
onTracingProcessor
- #806
Docs
- CLI: clarify description of
--select-chrome
flag - #829 - readme: add basic instructions for custom audits/gatherers - 8d696af
- readme: update module diagram - ee1dc0d
- readme: add node debugging getting started tip - #807
- readme: add CLI TS development notes - #818
- readme: matching parentheses - #855
Refactor
- Make
web-inspector.js
worker friendly - #795 - Migrate
driver.evaluateAsync
toRuntime.evaluate(awaitPromise)
- #793 - Extract a
Connection
abstraction from driver - #800 - Create
connections/
directory for debugger protocol connection classes - #822 - CLI: convert CLI to typescript - #702
- CLI: split mobile emulation and network emulation into separate
--disable-device-emulation
and--disable-network-throttling
flags - #747 - CLI: add more explicit TS typing - #825
- Extension: simplify reloading clean state at end of run - #813, #816
Dependencies
- Bump speedline to 1.0.3 - #785
- Added typescript - #702
- Removed chrome-remote-interface; added ws - #800
1.1.5
1.1.5 (2016-10-10)
Features
- Enable passing in a custom
pauseAfterLoad
option #697 - Wait until network has settled before considering page as loaded #714
- Support dynamic plugins in lighthouse config #730
- Audit: add DBW AppCache audit #681, #687
- Audit: add DBW WebSQL audit #691
- Audit: add DBW requests-should-be-over-h2 audit #700
- Audit: add DBW
Date.now()
->performance.now()
audit #707 - Audit: add DBW
console.time()
->performance.mark()
audit #712 - Audit: add DBW
document.write()
audit #716 - CLI: add
chrome-debug
binary to launch the debuggable standalone chrome #678 - CLI: reporter pretty formatting #682
- CLI: add
npm run dbw
to run DoBetterWeb audits #696 - Extension: print errors thrown from handlebars #731
- Report: add version number #673
- Report: add
helpText
associated with audit results #695 - Report: add version number on all report formats #749
- Report: tighter vertical whitespace in HTML report #754
- Report: add
generatedTime
property in json output #752 - Report: add toggle to display
helpText
#751
Bug Fixes
- Remove old
auditWhitelist
argument #676 - Stop clearing cookies when run #717
- Allow updated speedline to display results for traces with fewer than three frames #745
- Sort trace events by timestamp before calculating FMP #756
- CLI: add support for Windows 10 without Chrome Canary #690
- CLI: fix screenshot save via
--save-assets
#711 - CLI: fix
--mobile
flag #721 - Extension: fixes for updated dependencies #734
- Report: add fallback font for url heading #674
- Testing: loosen path requirement for closure formatter replacement #701
- Testing: handle http-redirect gatherer promise rejections #729
- Testing: handle https gatherer promise rejections #738
- Testing: handle promise rejections in runner testing #739
Refactor
- Automatically cache computed artifacts #675
- Streamline extensible gather and audit loading #679, #692
- Add
'use strict';
to files where it was missing #694 - Handle
sendCommand
promise rejections #703 - Rename of some
config.json
properties #727 - Extension: improve
queryCurrentTab
impl #680 - Testing: stronger
user-timing
test assertions #732 - Testing: run coveralls only after build success #733
- Testing: fix tests which were unconditionally passing failed assertions #737
Dependencies
- Bump catapult/traceviewer to latest #723
- Bump chrome-devtools-frontend to 1.0.401423 #724
- Bump speedline to 1.0.0 #726
- Bump speedline to 1.0.1 (now handles traces with one, two, or three screenshots) #728
1.1.4
change list: 1.1.3...1.1.4