Skip to content

Releases: sitespeedio/pagexray

v5.0.0

14 May 18:05

Choose a tag to compare

Changed

  • Node.js 22 is minumium.

Fixed

  • Classify HTTP/3 / HTTP/3.0 connections as h3 (previously only the lowercase h3 / h3-29 shorthand was recognised — the canonical form fell through to h1) #128.
  • Parse Cache-Control directives case-insensitively (RFC 7234 §5.2). Max-Age=42 is now read as 42 instead of 0, and No-Cache / No-Store are honoured #128.
  • Replace the deprecated url.parse (Node DEP0169) with the WHATWG URL parser in getHostname #128.
  • Stop throwing in getDocumentRequests when a page has no matching entries — return an empty array instead #128.
  • missingCompression was flagging every large text asset, including gzipped ones, because headers.flatten wraps values in arrays and the encoding check compared the array to a string. Unwrap before comparing, accept compound codings (br, gzip), and recognise zstd #129.
  • Match the Domain= cookie attribute case-insensitively (RFC 6265 §5.2) so third-party cookies set with lowercase domain= are detected #129.
  • Recognise common two-label public suffixes (.co.jp, .com.br, .com.au, ...) in getMainDomain so the auto-generated first-party regex isn't wrong for non-.co.uk country domains #129.
  • defaultContentTypes now includes favicon so every page has a consistent shape (matches the example in the README) #129.
  • xml is now considered for missingCompression reporting #129.
  • engines.node bumped from >=8.9.0 to >=22.0.0 (the current Node.js LTS), and the GitHub Actions matrix now runs on Node 22 + 24 #132, #133.
  • Test runner switched from Mocha + Chai to AVA, matching the rest of the sitespeed.io / browsertime ecosystem. Test helpers no longer depend on bluebird or lodash #133.
  • ESLint upgraded from 8 to 9 with the new flat config (eslint.config.js replaces .eslintrc.json and .eslintignore) #133.
  • All devDependencies bumped to current major versions: prettier 3, browserify 17, browserify-banner 2, @babel/core + preset-env 7.29, jsdoc 4. The abandoned uglify-es is replaced by terser, and mkdirp is dropped in favour of native fs.mkdirSync({recursive:true}) in the browserify script #133.

Added

  • CLI can now read a HAR from stdin: pagexray - or piping into pagexray with no path argument #131.
  • CLI prints a friendly error to stderr and exits 1 when the file is missing or the input isn't valid JSON (previously threw a raw Node stack trace) #131.
  • README updated to drop the long-removed cookieStats example block and document fields added across 3.x / 4.x (fullyLoaded, afterOnLoad, afterOnContentLoad, renderBlocking, googleWebVitals, cpu, firstPartyRegEx) #130.

v4.5.0

12 May 12:43

Choose a tag to compare

Added

  • Surface page-level style recalculation work on renderBlocking.recalculateStyle
    (elements touched and duration before FCP/LCP) so consumers can show how much style
    work happened on the way to each
    paint milestone #127.

v4.4.3

31 Aug 03:49

Choose a tag to compare

4.4.3 2023-08-31

Fixed

  • If the meta section from a HAR file from Browsertime was missing, we didn't catch that. Fixed in #124.
  • Update to latest minimist #122.

v4.4.2...v4.4.3

v4.4.2

05 May 20:11

Choose a tag to compare

Fixed

  • Added missing SSL timings to the time per domain #117

v4.4.1...v4.4.2

v4.4.1

05 Apr 17:43

Choose a tag to compare

Fixed

  • Bumped minimist to 1.2.6

v4.4.0...v4.4.1

v4.4.0

04 Feb 09:31

Choose a tag to compare

  • Better pattern for content type fallback (#109) a7042e1
  • Catch if servers send wrong mime type for woff (#108) 689f220

v4.3.1...v4.4.0

v4.3.1

21 Jul 07:22

Choose a tag to compare

  • Add missing in_body_parser_blocking 1ef1829

v4.3.0...v4.3.1

v4.3.0

02 Jun 06:19

Choose a tag to compare

v4.2.0...v4.3.0

v4.2.0

28 May 09:26

Choose a tag to compare

  • changelog: new release f448744
  • Prepare to collect render blocking info when it's available (#104) 3257d1e
  • Update with example to include assets bf2b63d

v4.1.0...v4.2.0

v4.1.0

08 Apr 19:01

Choose a tag to compare

v4.0.0...v4.1.0