Skip to content

Releases: harlan-zw/unlighthouse

v0.11.4

04 Mar 04:14
Compare
Choose a tag to compare

Bug Fixes

  • allow overriding throttling and better defaults (933f297), closes #195

v0.11.0

03 Mar 07:04
Compare
Choose a tag to compare

✅ Upgrading

You can use the latest by explicitly providing the latest version constraint.

npx unlighthouse@^0.11.0 --site <site>

⚠️ Node v18 or higher is now required

👀 Highlights

⛵ Lighthouse v11

Before this release, the Lighthouse version was stuck on v9 which was last updated over a year ago. Now Unlighthouse scans with the latest Lighthouse version (v11.6).

Expect to see new and more accurate audits as well as an improved HTML report UI. See the Lighthouse changelog for more details.

📈 CrUX Tab

Unlighthouse nows connects with the CrUX API to give you an overview of how your origin is performing. This is especially useful for catch catching regressions and to see how your INP performance.

image

🎨 Improved UI

Several improvements to the UI to make using Unlighthouse easier including tightened-up tabs, pagination to improve the stability of scanning large sites, and fixed category score sorting.

🤖 LHCI Reporter

You can now generate and send your reports to your Lighthouse CI server using the lighthouseServer reporter.

unlighthouse-ci --site <your-site> --reporter lighthouseServer --lhci-host <lhci host> --lhci-build-token <lhci buildToken>

Many thanks to @lutejka for helping with this and upgrading Lighthouse.

👉 Changelog

compare changes

Features

Bug Fixes

  • --sitemaps option will override robots.txt sitemaps (8f01db0), closes #169
  • allow pwa category (db78086), closes #168
  • create provider if missing and has route definitions (a9d0f24), closes #188
  • fullPageScreenshot audit location (f03d543)
  • ignore onlyCategories when onlyAudits is supplied (3ec2531), closes #175
  • less flakey scans when using multiple samples (851f39a), closes #60
  • patch puppeteer-cluster for puppeteer v22 compatibility (fa274d8)
  • retry failed performance scans (745f8fe)
  • set an Unlighthouse user agent by default (5359703)
  • support absolute output paths (ed32bed), closes #187
  • throw error if no routes could be scanned (574bf87)
  • when using --urls, allow skipping root path (dc2563f), closes #163
  • client: lcp element not showing (f8da8e6)
  • client: make report link more obvious (31a3013)
  • client: show tooltip links properly (44b06a2)
  • core: display loaded config file log when using one (0ad9e91)

v0.10.6

23 Jan 12:14
Compare
Choose a tag to compare

Bug Fixes

  • robots.txt Allow rule breaking filtering (fe7a6ab)

v0.10.5

21 Jan 15:39
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.10.4...v0.10.5

v0.10.4

27 Nov 06:11
Compare
Choose a tag to compare

Bug Fixes

  • core: prioritize include rules over exclude (f17afd0)

v0.10.3

27 Nov 03:03
Compare
Choose a tag to compare

Bug Fixes

  • core: ensure non-html files get skipped (e2fc345)
  • core: honour robots.txt allow rules (d4accf1)
  • more accurate filtering for include, exclude (ca5712c)
  • ci: exit code 1 when budget assertions fail (#165) (611862c) by @brahms116

New Contributors

v0.10.2

16 Nov 07:50
Compare
Choose a tag to compare
chore: release v0.10.2

v0.10.1

04 Oct 21:45
Compare
Choose a tag to compare

Bug Fixes

  • core: handle unsupported robots.txt regex (7426955)

v0.10.0

21 Jul 10:55
Compare
Choose a tag to compare

Bug Fixes

Features

New authenticate hook (c7afd0c)

Works the same as the previous puppeteer:before-go-to hook but this will only be called a single time before any routes are scanned. It will automatically collect any set cookies and local storage items during the hook.

// unlighthouse.config.ts
export default {
  hooks: {
    async authenticate (page) {
      // login to the page
      await page.goto('https://example.com/login')
      const emailInput = await page.$('input[type="email"]')
      await emailInput.type('admin@example.com')
      const passwordInput = await page.$('input[type="password"]')
      await passwordInput.type('password')
      await Promise.all([
        page.$eval('.login-form', form => form.submit()),
        page.waitForNavigation(),
      ])
    },
  },
}

v0.9.0

16 Jun 07:37
Compare
Choose a tag to compare

Features 🚀

default-query-params (ecb6120) (#133)

Provide query params to all of your requests. Useful for skipping cookie banners, authentication, etc.

export default {
  // ?foo=bar added to all requests
  defaultQueryParams: {
    foo: 'bar',
  }
}

You can read more on the authentication page.

New reporters: csv, csvExpanded (61b8962) (#63)

When using the CI mode you can now generate CSV reports, in the following formats:

  • csv - path, score, category scores
  • csvExpanded - path, score, category scores, column output

For example

unlighthouse-ci --site <site> --reporter csv

The json report will now output the category scores as well.

You can read more on the reporting page.

Bug Fixes

  • client: drop vue-router (6c1b931), closes #118
  • increase dynamicSampling default to 8 (779c7f5)