Releases: GoogleChrome/lighthouse
v6.1.0
6.1.0 (2020-06-25)
We expect this release to ship to DevTools in Chrome 85 86, and to PageSpeed Insights within 2 weeks.
New Contributors
Thanks to our new contributors 👽🐷🐰🐯🐻!
- Loftie Ellis @lpellis
- Marvin Frachet @mfrachet
- Matt Hobbs @Nooshu
- Peter Marshall @psmarshall
Notable Changes
- If a page has publicly-accessible JavaScript source maps, Lighthouse will collect them to enhance the
unused-javascript
audit. In future versions of Lighthouse, source maps will be used for entirely new audits (#10990). - The report now uses
KiB
instead ofKB
. This is simply a label change; the value was and still is equal to1024 bytes
(#10870).
New Audits
- long-tasks: a new performance diagnostic that shows the longest main-thread-blocking tasks during load (#10736)
- crawlable-anchors: a new SEO audit that checks that anchors link to resolvable URLs (#10662)
Core
- unused-javascript: increase threshold to 20KiB (#10906)
- layout-shift-elements: surface CLS contribution per shifted element (#10968)
- emulation: bump chrome versions (#10787)
- image-size-responsive: quantize DPRs (#10801)
- long-tasks: add startTime property (#10942)
- improve resilience of nodeId-dependent gatherers (#10877)
- median-run: add computeMedianRun to lib (#10859)
- preload: ignore cross-frame requests (#10847)
- new inspector issues gatherer for Audit.IssueAdded events (#10664)
- subRow refactor, rename to subItem (#10867, #10978)
Experimental
Features hidden behind the --preset=experimental
flag.
- legacy-javascript: reduce polyfills, fix core-js import in test (#10937)
- legacy-javascript: use prescriptive language in title (#10850)
- legacy-javascript: fix core-js 3 detection (#10852)
- legacy-javascript: use third-party-web for scoring (#10849)
- duplicated-javascript: display transfer size (#10701)
Deps
- axe-core: upgrade to 3.5.5 (#10986)
- upgrade chrome-launcher@0.13.3 (#10911)
- snyk: update snyk snapshot (#10840, #10940, #10980, #11010)
- remove bundlesize (#10999)
- update to lhci 0.4.0 (#10828)
Report
- metrics: use css grid so metrics are aligned (#10789)
- don't dim disclaimer anchor links (#10981)
- use acronyms and round metrics for shorter calc url (#10954)
- update link for budgets audit (#10944)
- add trailing slash to web.dev links (#10967)
- fix the width of the 3-dots menu in topbar (#10855)
- updated method signature typing to remove focusevent cast (#10858)
- adjust LCP element description (#11018)
- renderer: fix null Util.i18n in PSI renderer (#10822)
- psi: show disclaimer and calclink (#10936)
Docs
- add note about git repo required for @lhci/cli usage (#11006)
- contributing: add tips for audit and gatherer PRs (#10690)
- readme: update programmatic usage recipe (#10878)
- readme: add new and updated integrations (#10838, #10901, #10826, #10818)
Tests
- move proto roundtrip json to .tmp/ (#10995)
- add heading key tests (#10746)
- run ToT and stable Chrome for smoke tests in github workflow (#10989)
- legacy-javascript: exit code 1 on failure (#10946)
- smoke: use --debug in github action (#10919)
- smokehouse: do not assert on flaky node path (#10827)
Misc
v6.0.0
We expect this release to ship in the DevTools of Chrome 84.
Notable changes
So many! See the Lighthouse 6.0: What's New blog post for an in-depth look.
🆕 New audits
- Largest Contentful Paint (LCP) is a new metric that measures the time from navigation until the largest content element in the viewport is rendered (#9905, #10213, #10452, #10529).
- Cumulative Layout Shift (CLS) is a new metric that measures the amount of unexpected movement of content as a page loads (#9037, #10427, #10495, #10570, #10728).
layout-shift-elements
is another companion diagnostic that gives information about the elements that shifted as the page loaded (#10702).
unused-javascript
is an audit that has been kicking around for some time but is only now turned on by default. It accounts for what JavaScript was loaded but never executed during page load and estimates the load time that could be saved via code splitting, dead code elimination, or judicious use of the delete key (#9854).- A PWA
maskable-icon
just looks better on your homescreen, so this new audit encourages you to have at least one available in your manifest (#10370). timing-budget
expands budget assertions to now be settable on all the performance metrics (#9901, #9925).- The new
charset
audit ensures a proper character encoding for page content (#10284, #10389, #10689). image-size-responsive
checks that images have an aspect ratio and resolution that match well with how they are displayed on a page (#10460).- Updating to the latest version of
axe-core
has unlocked a number of new accessibility audits:aria-hidden-body
,aria-hidden-focus
,aria-input-field-name
,aria-toggle-field-name
,duplicate-id-active
,duplicate-id-aria
,form-field-multiple-labels
,heading-order
(#9798).
⚗️ Experimental audits
These audits are not yet part of the default Lighthouse experience, but they will provide performance advice based on analysis of a page's JavaScript bundles. They can be tested today on the command line with the --preset=experimental
flag.
legacy-javascript
rummages through your bundles looking for polyfills and bundler transforms that aren't necessary or are outdated (#10303, #10568, #10564).duplicated-javascript
also takes a dive through a page's JavaScript looking for code that has ended up duplicated within bundles or across multiple bundles (#10314).unused-javascript
now runs by default (as mentioned above), but when run underexperimental
, the audit can use source maps to show what original source code was never run and could be postponed or eliminated (#10090).
New contributors!
Thanks to @TGiles, @roelfjan, @chruxin, @warrengm, @alexgreencode, @mikedijkstra, @egsweeny, @johnsampson, @jazyan, @B3none, @mattjared, @Malvoz, @Beytoven, @Munter, @jayaddison, @msomji, @piotrzarycki, @awdltd, @mathiasbynens, @Carr1005, @staabm, @SphinxKnight, @sk-, @AndreasKubasa, @jantimon, @kmanuel, @Kikobeats, @RolandBurrows, @nxqamar, @catalinred, and @baseeee for their first contributions! So many!
💥 Breaking changes
- Performance metric scores have been reweighted to better reflect a user's loading experience (#9949).
- Metric score curves have been updated when running a desktop Lighthouse test to account for the faster connection and CPU (#9911, #10756).
frameNavigated
events are now used to track redirects, which means JS redirects are now accounted for when determining the run'sfinalUrl
(#10339).- The emulated mobile device has moved from the Nexus 5x to the Moto G4 (but the existing DPR has been left unchanged) (#10191, #10749).
- The
mixed-content
preset has been removed as it was not widely used and takes too long to be added to the default Lighthouse experience (#10159, #10750). - The
full
preset has been renamedexperimental
to signify that the code there may not be ready for running by default (#9930, #10311, #10333, #10585). - The emulated Chrome UA string has been updated to Chrome 80 (#9967).
installable-manifest
: icons in the Web app manifest must be fetchable to be considered installable (#10168, #10320)
🤖💥 Breaking changes for programmatic users
These changes are unlikely to affect end users, but may be important if you are writing custom configs, plugins, or processing the Lighthouse JSON output.
LH.Audit.Context
passed into audits is now treated as immutable. If code previously pushed tocontext.LighthouseRunWarnings
to get a top-level warning, it should now pass that back inrunWarnings
on the audit's product (#10555).Audit.computeLogNormalScore
has been redefined to specify log-normal curves with median and p10 points (dropping the "point of diminishing returns"). Existing audits have been moved to this new definition so that no score changes should occur (#10715).- A
loadFailureMode
setting has been added toConfig
passes to control behavior in case of page load failure. Previously this was implicitly controlled (e.g. no offline page available did not cause an error) (#9987) time-to-first-byte
has been renamedserver-response-time
to better reflect what is being measured by the audit (#10735).resource-summary
:details.items.size
has been renamed totransferSize
for clarity (#10700, #10743).
🧱 Core
Improvements, bug fixes, clarifications
The following changes are considered to be bug fixes or updates to better match what was intended to be audited, but the changes may cause adjustments in audit scores or behavior.
- add top-level warning if Lighthouse hit a timeout before load was complete (#10538)
- add top-level warning if tested URL was redirected (#10157)
- FCP + 5 seconds is now included as a minimum time that must be reached before the test page is considered loaded (#10505, #10516)
- load simulation: add edges from
initiatorRequest
when there are duplicate records (#10097) - load simulation: keep first layout/paint/parse events regardless of duration (#9922)
- load simulation: do not create self-dependencies via timers ([#10280...
6.0.0-beta.0 (2020-03-11)
This beta release will not ship in Chrome DevTools, but we'll ship the final 6.0 release.
v5.6.0
We expect this release to ship in the DevTools of Chrome 79.
New contributors!
Thanks to @dpacassi, @lirantal and @yeonjuan for their first contributions!
Notable
- gather: add new MainDocumentContent public artifact (#9781)
- stack-packs: add angular, react, amp, and magento packs (#9797)
Core
- tracehouse: allow child to start <1ms before parent (#9786)
- driver: fix error handling for Runtime.evaluate (#9831)
- errors-in-console: add ignoredPatterns option (#9480, #9829)
- image-elements: cache naturalSize results (#9818)
- link-elements: ignore non-HTMLLinkElements (#9765)
- optimized-images: log errors (#9782)
- seo: support korean in link-text audit (#9804)
- tracehouse: allow nested trace events without an end (#9785)
- rename Element to LHElement (#9832)
Deps
Report
- rephrase titles for 3rdparty & crc (#9419)
- rewrite dom-size description (#9821)
- update logo in top bar (#9728)
- remove some dead code (#9800)
Clients
- lr: don't include html report assets in bundle (#9828)
- viewer: minify inlined report-generator bundle (#9596)
I18n
Docs
- related-projects: add lighthouse-check (#9753)
- related-projects: add the is-website-vulnerable CLI tool (#9810)
- related-projects: add the gradle lighthouse plugin (#9789)
- document 'meaning' field in i18n readme (#9787)
- update stale references to audits (#9760)
Tests
- use firehouse smoke test runner to test bundle (#9791)
- attempt bundle test three times in CI (#9830)
- smokehouse: fix tmp directory creation (#9855)
- smokehouse: use static requires for test definitions (#9501)
Misc
v5.5.0
5.5.0 (2019-10-02)
Notable changes
- Preliminary implementation of the Largest Contentful Paint metric has landed (
devtools
andprovided
throttling only) and can be found in the hiddenmetrics
audit in the raw LHR JSON (#9706) - The creation of main-thread tasks from a trace is now more robust. This should significantly reduce the occurrence of Issue #7764,
"Fatal trace logic error - expected start event, got X"
(#9491) <script>
elementid
has been added to theScriptElements
artifact (#9718)
New contributors!
Thanks to @LarsKumbier, @TimvdLippe, and @uchoudh for their first contributions!
Core
- network-recorder: remove quic-request-finished workaround (#9744)
- network-recorder: optimize network idle detection (#9712)
- unused-css-rules: no more infinity savings (#9731)
Clients
- devtools: expose
registerLocaleData
to worker (#9645) - devtools: update references to
Runtime.cachedResources
(#9758)
Docs
- new documentation for running Lighthouse on authenticated pages (#9628, #9705)
- point more docs links to web.dev (#9540, #9711, #9761)
- readme: add more related projects (#9716, #9743)
- releasing: add schedule, more integration testing (#9695)
- add links to more info about throttling and variability (#9734)
- update scoring calculator link to v5 (#9729)
Tests
- add Lighthouse CI dogfood script to travis (#9677, #9745)
- report: update
utm_medium
check for web.dev links (#9737) - smokehouse: add check for any
runWarnings
(#9732) - attempt to download lantern test trace set a few times (#9766)
Misc
v5.4.0
5.4.0 (2019-09-18)
Expected DevTools release in Chrome 79 (December 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)
v5.3.0
5.3.0 (2019-09-16)
Expected DevTools release in Chrome 79 (December 2019)
New contributors!
Thanks to our new contributors @alabiaga, @olore, @letanure, and @mfriesenhahn!
Core
- point audit descriptions to new web.dev Lighthouse docs (#9538, #9539, #9084, #9537)
- constants: increase default
maxWaitForFcp
to 30s (#9509) - font-size: gather style declaration of type attributes (#9414)
- gather-runner: only fail on interstitials interrupting the
mainRecord
(#9576) - lightwallet: add path property to
budget.json
(#9453) - seo: support portuguese in
link-text
audit (#9446) - start-url: stay offline for entirety of
offlinePass
(#9451) - third-party-summary: add blocking-time impact (#9486)
- tracehouse: sort trace events by nesting order (#9230)
- add
source-maps
gatherer (#9101) - unused-css: allow up to 10KB of unused CSS per file (#9479)
CLI
- list audit categories in help text (#9399)
Clients
- devtools: fix collapsing-width svg in flexbox (#9602)
- devtools: update test command to run only .js files (#9532)
- proto: don't filter
channel
fromconfigSettings
(#9554) - viewer: remove obsolete polyfills (#9553)
- proto: update import hooks, obey line length (#9595)
Deps
- chrome-launcher: update to 0.11.2 (#9515)
- details-element-polyfill: update to 2.4.0 (#9552)
- jsonlint-mod: update to 1.7.5 (#9465)
- update transitive deps (#9670)
Docs
I18n
- import translations from tc/ (#9577, #9620, #9454)
- add
registerLocaleData()
method (#9638) - rewrite
aria-required-children
titles (#9590) - reword
pwa-page-transitions
description (#9615) - throw on excess placeholder replacement values (#9580)
- remove translated messages when ICU arguments change (#9598)
- use better types for
intl-messageformat
(#9570) - add code spans to
uses-rel-preconnect
description (#9568) - fix bugs in locale-importing scripts (#9621)
- fix custom formatted ICU within plurals (#9460)
- capitalize
robots.txt
displayValue
(#9567) - add link to cldr parentLocales (#9520)
- move pwa audits to i18n system (#9105)
- use TypeScript compiler to collect
UIStrings
(#9487) - align type names with docs (#9461)
- expand placeholder support (#9114)
- rewrite
td-headers-attr
titles (#9587) - improve Intl polyfill and use it in Util (#9584)
Report
- make dropdown match ARIA action menu button pattern (#9433)
- move drop-down logic into a separate class (#9564)
- topbar: fix overflowing url (#9497)
- viewer: add option for loading from the PSI API (#9546)
- viewer: fix favicon typo (#9629)
- don't use unnessary monospace (#9626)
- remove PWA badge flicker workaround for Chrome (#9636)
- add utm params to web.dev links (#9555)
- update favicon to new logo (#9591)
- render unstyled json (rather than throwing) when LHR contains unknown details type (#9557)
Tests
- migrate travis to xenial for modern Chrome support (#9654)
- fixtures: use relative path in static server 404 page (d0e5c58)
- report: add
axe-core
validation of report output (#9421) - add index page for static server (#9541)
- smokehouse: use mime-types + proper encoding for response write (#9542)
- retry cli tests up to 3 times in appveyor (#9512)
- simplify serving of zone.js (#9672)
Misc
- add comment on diff between
document.write()
audit and intervention (#9644) - refactor
collect-strings
to useglob
and work on windows (#9406) - trim missed
yarn.lock
cruft & deduplicate dependencies (#9603, #9600) - replace deprecated
uglify-es
with terser (#9594) - share markdown parsing in collect-strings and the report (#9514)
- add note about global.URL in node 10 (#9449)
- build: include locale files in devtools roll (#9639)
v5.2.0
5.2.0 (2019-07-24)
Expected DevTools release in Chrome 77 (September 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)
New contributors!
Thanks to @angelogulina, @jamesgeorge007, @johnemau, @kaushikchaubal, @mitchellsimoens, @NickolasBenakis, @noelyoo, @PatOnTheBack, @rishichawda, and @Remexllee for their first contributions!
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
: addPageLoadError
base artifact (#9236)gather-runner
: don't save trace on pass withpageLoadError
(#9198)gather-runner
: treat Chrome interstitials aspageLoadErrors
(#9176)gather-runner
: always reset scroll position (#9060)gather-runner
: convertPAGE_HUNG
to non-fatalruntimeError
(#9121)manifest-parser
: handle blob manifests (#9088)page-functions
: don't try to clone a ShadowRoot (#9079)- perf: speed up
tap-target
'sisVisible()
(#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
fromopn
(#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
<defs>
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
v5.1.0
5.1.0 (2019-05-30)
New contributors!
Thanks to our new contributors 👽🐷🐰🐯🐻!
@thebengeu
@boyney123
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
v5.0.0
5.0.0 (2019-05-07)
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).
- Performance budgets are a new feature of Lighthouse to help prevent your site performance from regressing over time. Set budgets for the resources a page should load and have Lighthouse alert if the budgets aren't met (#8539, #8522, #8727, #8709, #8427, #8708).
- 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).
- In case you haven't noticed after all the screenshots, the HTML report has been redesigned!
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 onnumericValue
(#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<head>
and limits scoring to only DOM nodes in the body (#7241) - The
diagnostics
audit details have had theirtype
value changed todebugdata
(#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](https:/...