diff --git a/changelog.md b/changelog.md index bd60ada48f57..c7eaf4eae5f1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,115 @@ + +# 12.0.0 (2024-04-22) +[Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v11.7.1...v12.0.0) + +We expect this release to ship in the DevTools of [Chrome 126](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks. + +## New Contributors + +Thanks to our new contributors πŸ‘½πŸ·πŸ°πŸ―πŸ»! + +- Ashley Rich @A5hleyRich +- MrAdib @JohnAdib + +## Notable Changes + +### PWA Category Removal + +As per [Chrome’s updated Installability Criteria](https://developer.chrome.com/blog/update-install-criteria), Lighthouse [has removed the PWA category](https://github.com/GoogleChrome/lighthouse/pull/15455). For future PWA testing, users will be directed to use the [updated PWA documentation](https://developer.chrome.com/docs/devtools/progressive-web-apps/). + +### SEO Category Reorganization + +The SEO category has been updated to reflect the priorities of Google search in 2024. As such, several audits have been removed or moved to other categories: + +* The `is-crawlable` audit is now weighted high enough to fail the SEO category on its own. ([#15933](https://github.com/GoogleChrome/lighthouse/pull/15933)) +* The `viewport` and `font-size` audits are no longer priorities for SEO, but are still important for UX in general so they have been moved to the best practices category. ([#15930](https://github.com/GoogleChrome/lighthouse/pull/15930)) +* The `plugins` audit is no longer a priority for SEO and has been removed. ([#15928](https://github.com/GoogleChrome/lighthouse/pull/15928)) +* The `tap-targets` audit is no longer a priority for SEO and has been replaced with the `target-size` audit in accessibility. ([#15906](https://github.com/GoogleChrome/lighthouse/pull/15906)) + +### Overall Savings Deprecation + +The `overallSavingsMs` value on performance diagnostic audits has been deprecated ([#15902](https://github.com/GoogleChrome/lighthouse/pull/15902)). We recommend using `metricSavings.LCP` or `metricSavings.FCP` to understand the estimated metric savings of performance diagnostics. + +### πŸ†• New Audits + +* The [`aria-conditional-attr`](https://dequeuniversity.com/rules/axe/4.9/aria-conditional-attr), [`aria-deprecated-role`](https://dequeuniversity.com/rules/axe/4.9/aria-deprecated-role) and [`aria-prohibited-attr`](https://dequeuniversity.com/rules/axe/4.9/aria-prohibited-attr) Axe checks have been added to the Lighthouse accessibility category. ([#15963](https://github.com/GoogleChrome/lighthouse/pull/15963)) +* The `redirects-http` audit has been brought back, but will only passively check for a http -> https redirect if the provided URL happens to be on http ([#13548](https://github.com/GoogleChrome/lighthouse/pull/13548)) + +### Other Audit Changes + +* The `layout-shifts-elements` audit is removed. Improved layout shift information can be found in the `layout-shifts` audit. ([#15931](https://github.com/GoogleChrome/lighthouse/pull/15931)) +* The `no-unload-listeners` audit is removed. Unload listeners are deprecated and are still flagged in the `deprecations` and `bf-cache` audits. ([#15874](https://github.com/GoogleChrome/lighthouse/pull/15874)) +* The `duplicate-id-active` audit is removed because it's corresponding Axe check is deprecated. ([#15900](https://github.com/GoogleChrome/lighthouse/pull/15900)) +* The `uses-rel-preload` and `preload-fonts` audits have been moved to the experimental config. Preload advice is still on hold and these audits were already in a disabled state. ([#15876](https://github.com/GoogleChrome/lighthouse/pull/15876)) + +## πŸ’₯ Breaking Changes + +* split up `CSSUsage` artifact ([#15952](https://github.com/GoogleChrome/lighthouse/pull/15952)) +* remove budgets ([#15950](https://github.com/GoogleChrome/lighthouse/pull/15950)) +* remove relevant audits lists from config ([#15878](https://github.com/GoogleChrome/lighthouse/pull/15878)) +* remove `ScriptElements` artifact ([#15879](https://github.com/GoogleChrome/lighthouse/pull/15879)) +* config: use explicit diagnostic group ([#15901](https://github.com/GoogleChrome/lighthouse/pull/15901)) +* service-worker: remove `service-worker` gatherer ([#15942](https://github.com/GoogleChrome/lighthouse/pull/15942)) + +## Core + +* remove pre-v10 compat for page graph construction ([#15948](https://github.com/GoogleChrome/lighthouse/pull/15948)) +* a11y: re-enable target-size hidden audit ([#15888](https://github.com/GoogleChrome/lighthouse/pull/15888)) +* driver: add sendCommandAndIgnore ([#15913](https://github.com/GoogleChrome/lighthouse/pull/15913)) +* gather: handle crash if CDP target crashes ([#11840](https://github.com/GoogleChrome/lighthouse/pull/11840)) +* lantern: always use flexible network ordering ([#14612](https://github.com/GoogleChrome/lighthouse/pull/14612)) +* lantern: remove LR statistics ([#15946](https://github.com/GoogleChrome/lighthouse/pull/15946)) +* lantern: inline rtt constant ([#15944](https://github.com/GoogleChrome/lighthouse/pull/15944)) +* lantern: add LanternError and adapter to LH error ([#15937](https://github.com/GoogleChrome/lighthouse/pull/15937)) +* lantern: correct overlapping tasks in CPU nodes ([#15938](https://github.com/GoogleChrome/lighthouse/pull/15938)) +* lantern: duplicate isNonNetworkProtocol in lib/lantern ([#15936](https://github.com/GoogleChrome/lighthouse/pull/15936)) +* lantern: replace usage of LH.Artifacts.ProcessedTrace ([#15905](https://github.com/GoogleChrome/lighthouse/pull/15905)) +* lantern: move lantern metrics to lib/lantern ([#15875](https://github.com/GoogleChrome/lighthouse/pull/15875)) +* metric: remove gatherContext mode check ([#15899](https://github.com/GoogleChrome/lighthouse/pull/15899)) +* render-blocking: use trace engine as the source of truth ([#15839](https://github.com/GoogleChrome/lighthouse/pull/15839)) +* runner: use early return for readability ([#15914](https://github.com/GoogleChrome/lighthouse/pull/15914)) +* seo: support Persian in link-text audit ([#15949](https://github.com/GoogleChrome/lighthouse/pull/15949)) +* target-size: use binary display mode ([#15910](https://github.com/GoogleChrome/lighthouse/pull/15910)) + +## Report + +* fix hidden audit handling for non-perf categories ([#15968](https://github.com/GoogleChrome/lighthouse/pull/15968)) + +## Deps + +* upgrade `tldts-icann` to 6.1.16 ([#15967](https://github.com/GoogleChrome/lighthouse/pull/15967)) +* upgrade `third-party-web` to 0.24.2 ([#15966](https://github.com/GoogleChrome/lighthouse/pull/15966)) +* upgrade puppeteer to 22.6.5 ([#15951](https://github.com/GoogleChrome/lighthouse/pull/15951)) + +## Clients + +* viewer: stop using legacy DOM api ([#15964](https://github.com/GoogleChrome/lighthouse/pull/15964)) + +## I18n + +* import ([#15958](https://github.com/GoogleChrome/lighthouse/pull/15958)) + +## Docs + +* bug-report: require users to read FAQs ([#14383](https://github.com/GoogleChrome/lighthouse/pull/14383)) +* readme: add DeploymentHawk to the list of integrations ([#15847](https://github.com/GoogleChrome/lighthouse/pull/15847)) + +## Tests + +* refresh sample artifacts ([#15962](https://github.com/GoogleChrome/lighthouse/pull/15962)) +* invalidate devtools build cache ([#15947](https://github.com/GoogleChrome/lighthouse/pull/15947)) +* update network target type expectations ([#15916](https://github.com/GoogleChrome/lighthouse/pull/15916)) + +## Misc + +* deduplicate all the dom helpers ([#15960](https://github.com/GoogleChrome/lighthouse/pull/15960)) +* merge changelog from branch-11 ([#15957](https://github.com/GoogleChrome/lighthouse/pull/15957)) +* remove `BenchmarkIndexes` base artifact ([#15941](https://github.com/GoogleChrome/lighthouse/pull/15941)) +* update public gatherer list ([#15940](https://github.com/GoogleChrome/lighthouse/pull/15940)) +* remove residual `lighthouse-cli` file ([#15935](https://github.com/GoogleChrome/lighthouse/pull/15935)) +* use "processing duration" instead of "processing time" for INP ([#15893](https://github.com/GoogleChrome/lighthouse/pull/15893)) +* treemap: fix column sorting when some values are blank ([#15959](https://github.com/GoogleChrome/lighthouse/pull/15959)) + # 11.7.1 (2024-04-08) [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v11.7.0...v11.7.1) diff --git a/core/test/fixtures/user-flows/reports/sample-flow-result.json b/core/test/fixtures/user-flows/reports/sample-flow-result.json index c02d1de3a268..633eb2dece09 100644 --- a/core/test/fixtures/user-flows/reports/sample-flow-result.json +++ b/core/test/fixtures/user-flows/reports/sample-flow-result.json @@ -2,7 +2,7 @@ "steps": [ { "lhr": { - "lighthouseVersion": "11.7.0", + "lighthouseVersion": "12.0.0", "requestedUrl": "https://www.mikescerealshack.co/", "mainDocumentUrl": "https://www.mikescerealshack.co/", "finalDisplayedUrl": "https://www.mikescerealshack.co/", @@ -8359,7 +8359,7 @@ }, { "lhr": { - "lighthouseVersion": "11.7.0", + "lighthouseVersion": "12.0.0", "finalDisplayedUrl": "https://www.mikescerealshack.co/search?q=call+of+duty", "fetchTime": "2024-04-18T17:03:07.290Z", "gatherMode": "timespan", @@ -12322,7 +12322,7 @@ }, { "lhr": { - "lighthouseVersion": "11.7.0", + "lighthouseVersion": "12.0.0", "finalDisplayedUrl": "https://www.mikescerealshack.co/search?q=call+of+duty", "fetchTime": "2024-04-18T17:03:17.899Z", "gatherMode": "snapshot", @@ -17718,7 +17718,7 @@ }, { "lhr": { - "lighthouseVersion": "11.7.0", + "lighthouseVersion": "12.0.0", "requestedUrl": "https://www.mikescerealshack.co/corrections", "mainDocumentUrl": "https://www.mikescerealshack.co/corrections", "finalDisplayedUrl": "https://www.mikescerealshack.co/corrections", diff --git a/core/test/results/sample_v2.json b/core/test/results/sample_v2.json index 4daea5a67d49..312234de3dcc 100644 --- a/core/test/results/sample_v2.json +++ b/core/test/results/sample_v2.json @@ -1,5 +1,5 @@ { - "lighthouseVersion": "11.7.0", + "lighthouseVersion": "12.0.0", "requestedUrl": "http://localhost:10200/dobetterweb/dbw_tester.html", "mainDocumentUrl": "http://localhost:10200/dobetterweb/dbw_tester.html", "finalDisplayedUrl": "http://localhost:10200/dobetterweb/dbw_tester.html", diff --git a/docs/plugins.md b/docs/plugins.md index 812fe75db59f..b33074759274 100644 --- a/docs/plugins.md +++ b/docs/plugins.md @@ -61,10 +61,10 @@ A Lighthouse plugin is just a node module with a name that starts with `lighthou "type": "module", "main": "plugin.js", "peerDependencies": { - "lighthouse": "^11.7.0" + "lighthouse": "^12.0.0" }, "devDependencies": { - "lighthouse": "^11.7.0" + "lighthouse": "^12.0.0" } } ``` diff --git a/docs/recipes/lighthouse-plugin-example/package.json b/docs/recipes/lighthouse-plugin-example/package.json index b41d4bcd5f2d..428ef1de2f70 100644 --- a/docs/recipes/lighthouse-plugin-example/package.json +++ b/docs/recipes/lighthouse-plugin-example/package.json @@ -4,7 +4,7 @@ "type": "module", "main": "./plugin.js", "peerDependencies": { - "lighthouse": "^11.7.0" + "lighthouse": "^12.0.0" }, "devDependencies": { "lighthouse": "^8.6.0" diff --git a/package.json b/package.json index 855400db9fa0..154e9e06c55a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "lighthouse", "type": "module", - "version": "11.7.0", + "version": "12.0.0", "description": "Automated auditing, performance metrics, and best practices for the web.", "main": "./core/index.js", "bin": { diff --git a/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts b/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts index ec42e7bb5d0c..349aaa5e8d7c 100644 --- a/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts +++ b/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts @@ -95,7 +95,7 @@ describe('Navigation', function() { // 1 refresh after auditing to reset state assert.strictEqual(numNavigations, 5); - assert.strictEqual(lhr.lighthouseVersion, '11.7.0'); + assert.strictEqual(lhr.lighthouseVersion, '12.0.0'); assert.match(lhr.finalUrl, /^https:\/\/localhost:[0-9]+\/test\/e2e\/resources\/lighthouse\/hello.html/); assert.strictEqual(lhr.configSettings.throttlingMethod, 'simulate');