Compare commits
263 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
b2954898e8 | |
|
|
68bd39718a | |
|
|
105d62951f | |
|
|
d37d33789e | |
|
|
594ef2ec9b | |
|
|
1a20ab56d3 | |
|
|
8d29bf377b | |
|
|
d07b588313 | |
|
|
64cb98eb40 | |
|
|
2a2a33468a | |
|
|
5044ddf5a6 | |
|
|
a2924a7819 | |
|
|
2faf5df166 | |
|
|
56ce0e5e28 | |
|
|
f8324c4322 | |
|
|
dba98cc0cd | |
|
|
e73612e9f3 | |
|
|
2d06c39ceb | |
|
|
4bf4b5ed4d | |
|
|
90a5d33907 | |
|
|
731f80c021 | |
|
|
6622a84f06 | |
|
|
10baacba6b | |
|
|
dfe3cc020e | |
|
|
d9dd50b57a | |
|
|
f6c555e2e3 | |
|
|
da483ff821 | |
|
|
3711c21b76 | |
|
|
15aba2d47d | |
|
|
334b6c1cd2 | |
|
|
cbe2665c1d | |
|
|
584648356d | |
|
|
9d8b03de0c | |
|
|
fbcda1903c | |
|
|
118946bdb0 | |
|
|
9398bec7af | |
|
|
e04f0af4aa | |
|
|
83e6d22a6d | |
|
|
610b5bc06e | |
|
|
9344168746 | |
|
|
61768444cb | |
|
|
2a3efa65f7 | |
|
|
f5f455d0a0 | |
|
|
da65dbe47b | |
|
|
ed1dd231a1 | |
|
|
29769959af | |
|
|
fcf35fbfa0 | |
|
|
4894c06607 | |
|
|
6c798c00e0 | |
|
|
34d7f79a45 | |
|
|
50047fa132 | |
|
|
d3baa3d484 | |
|
|
2d15bdaf32 | |
|
|
4ede64554d | |
|
|
3350bb255e | |
|
|
8a87f6bea2 | |
|
|
de17d25d1c | |
|
|
4d4f79040f | |
|
|
0093cb1e71 | |
|
|
12ff9830e0 | |
|
|
3c6b240e69 | |
|
|
2794d84d5a | |
|
|
1eeb2804ad | |
|
|
a10ae003c5 | |
|
|
b69b002596 | |
|
|
7377779d22 | |
|
|
434bc0b72f | |
|
|
40e7b7e3c5 | |
|
|
0ad91e1911 | |
|
|
27d2f7e7b8 | |
|
|
b5a82b43f7 | |
|
|
0d26511eb0 | |
|
|
e75f1f96bf | |
|
|
dbcdc72bed | |
|
|
b1566ba3ce | |
|
|
eb39540c6d | |
|
|
d0c775d047 | |
|
|
571a3773a8 | |
|
|
3cd60c8946 | |
|
|
f438c04aa6 | |
|
|
d7ce5881a7 | |
|
|
76b08df977 | |
|
|
b75ca9bc92 | |
|
|
6d0eff8991 | |
|
|
979cd0ce94 | |
|
|
f2a1b5b64f | |
|
|
235aa54e90 | |
|
|
34b34bad42 | |
|
|
479871bb69 | |
|
|
34251fec8e | |
|
|
61997a1a0b | |
|
|
925c69c05c | |
|
|
6d1520444a | |
|
|
63e75f63ae | |
|
|
f2f9ffcb18 | |
|
|
dab09903d0 | |
|
|
b40196cf89 | |
|
|
b52f83e99b | |
|
|
0de5401744 | |
|
|
eb450201f2 | |
|
|
627f393e55 | |
|
|
0a5e861ba2 | |
|
|
f509f84c85 | |
|
|
edd0d9ac3c | |
|
|
90507301b7 | |
|
|
39c2b79dbd | |
|
|
1fd7f8b131 | |
|
|
039bba1a71 | |
|
|
014c437f7b | |
|
|
6ca37a64c3 | |
|
|
d6aa4f78fc | |
|
|
fbbfe8528a | |
|
|
50091f6da8 | |
|
|
bad7a1a9eb | |
|
|
0789ecf45a | |
|
|
c09992d760 | |
|
|
d92804a648 | |
|
|
112aa324ec | |
|
|
87c2d02b57 | |
|
|
0b55010e8b | |
|
|
1e195c05f6 | |
|
|
f270ec42a5 | |
|
|
81e5ab8dff | |
|
|
a95160ec1a | |
|
|
8dcdb8a140 | |
|
|
042ee0d53e | |
|
|
ff8e182b97 | |
|
|
16cc376d1b | |
|
|
b7027a5de7 | |
|
|
bcd4bcfc22 | |
|
|
bafe60ba7b | |
|
|
4959a247dc | |
|
|
659fab2ef6 | |
|
|
98f500abd7 | |
|
|
bf57ce9db2 | |
|
|
f41ee9bcd1 | |
|
|
07634de5a0 | |
|
|
8901c0c1d8 | |
|
|
719e5f67ec | |
|
|
9e74015246 | |
|
|
6e02c16cdb | |
|
|
54b50b9e40 | |
|
|
44b44107e0 | |
|
|
9d3c4bee85 | |
|
|
36a0e60eae | |
|
|
5c8483a803 | |
|
|
28706230a4 | |
|
|
d09bdee115 | |
|
|
ba2a8a6a42 | |
|
|
dbc4bace8b | |
|
|
200aa23a0f | |
|
|
00d8ac046c | |
|
|
dd80c197c0 | |
|
|
f47fdd3670 | |
|
|
92f6352c9b | |
|
|
9bdaff55b8 | |
|
|
90e53e8212 | |
|
|
7c934de739 | |
|
|
79eda958bb | |
|
|
bbb8ee07ad | |
|
|
eee9b31196 | |
|
|
604acdbd32 | |
|
|
d7ea54fca0 | |
|
|
57da37f561 | |
|
|
e9af830bb8 | |
|
|
5780d549eb | |
|
|
2f3a07a13d | |
|
|
f7e8840aff | |
|
|
cc146385d8 | |
|
|
bff97dcff8 | |
|
|
24066f6152 | |
|
|
78bfa20635 | |
|
|
2940fd461d | |
|
|
43384b89e1 | |
|
|
4752828762 | |
|
|
60f3646aef | |
|
|
2a9927b482 | |
|
|
6e9ca32873 | |
|
|
2598654012 | |
|
|
ee36f837f1 | |
|
|
eae71c82fa | |
|
|
831c2fe48a | |
|
|
c6f5509521 | |
|
|
dd03855b72 | |
|
|
79145d418c | |
|
|
c806d3374b | |
|
|
30c76c572a | |
|
|
86c2e0cb2b | |
|
|
d46b241cd7 | |
|
|
626bdefddc | |
|
|
b1a9d98095 | |
|
|
759e65646a | |
|
|
dfd0db12dd | |
|
|
4f0705250f | |
|
|
19413f6f6d | |
|
|
7e4ddb5d8b | |
|
|
13afa9267b | |
|
|
4e5af5aff8 | |
|
|
8e48f7104e | |
|
|
23a9ea5f76 | |
|
|
aebac68dfb | |
|
|
96b4f88756 | |
|
|
657e7eb434 | |
|
|
b45f19b498 | |
|
|
93a25eab26 | |
|
|
f830eecfcc | |
|
|
1f7249dc54 | |
|
|
dec8a89c82 | |
|
|
dcc380ef9f | |
|
|
373d349c8f | |
|
|
1d89636ffa | |
|
|
5f83d4d647 | |
|
|
b4fb56269d | |
|
|
833e880214 | |
|
|
85bddc9835 | |
|
|
74248d91c2 | |
|
|
e644fac99b | |
|
|
1c6a02f67b | |
|
|
51b7a158d9 | |
|
|
66d8fdef87 | |
|
|
97c34e370a | |
|
|
1416245a04 | |
|
|
2f9c23dfe1 | |
|
|
9766200b1b | |
|
|
f9d489a738 | |
|
|
0f8f970bb4 | |
|
|
d6fbe6e844 | |
|
|
68e1c83fc4 | |
|
|
dd87bdbf60 | |
|
|
59cc0de083 | |
|
|
726deb63c6 | |
|
|
f1501abb9c | |
|
|
e33e635f89 | |
|
|
0ce768d2a4 | |
|
|
203d4a3372 | |
|
|
f052a12449 | |
|
|
201fb8b62b | |
|
|
9b8b40c570 | |
|
|
7a6ad58fe7 | |
|
|
d43e2f5f3e | |
|
|
dbf9d2fdfd | |
|
|
70f87a7fa7 | |
|
|
39ff8259dc | |
|
|
28093a4268 | |
|
|
4e376b9798 | |
|
|
d3058dfd64 | |
|
|
c1920e615d | |
|
|
617d7d2f1d | |
|
|
2cd75d772c | |
|
|
e78200da3e | |
|
|
b0a98cc973 | |
|
|
06fb437625 | |
|
|
2cc6fdf820 | |
|
|
c592349bc3 | |
|
|
c3d53d6482 | |
|
|
6403cefb82 | |
|
|
671305f470 | |
|
|
f824c1fb2e | |
|
|
b4fbaa83e4 | |
|
|
3d99280237 | |
|
|
37a30ec0e0 | |
|
|
eaac8d2d32 | |
|
|
c32b32a419 |
|
|
@ -4,6 +4,34 @@ Sitespeed.io continues to evolve thanks to people who contributes, so please ple
|
|||
## Making changes
|
||||
If you want help out, that's great! Before taking the time to code something big, feel free to open an issue first proposing your idea to other contributors, that way you can get feedback on the idea before taking time to write precious code.
|
||||
|
||||
### AI-Assisted Contributions
|
||||
|
||||
When using AI tools like ChatGPT to assist with development, please a) disclose it in your commits and pull requests.
|
||||
|
||||
#### Commits
|
||||
|
||||
When writing a commit message for a change that was assisted by an AI, please add the `AI-assisted-by:` trailer to the commit message body.
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
Add Cumulative Layout Shift metric to the summary page
|
||||
|
||||
Add the Cumulative Layout Shift (CLS) introduced by Google on
|
||||
the summary page. Show both median and p75.
|
||||
|
||||
AI-assisted-by: ChatGPT
|
||||
```
|
||||
|
||||
#### Pull Requests
|
||||
|
||||
When creating a pull request that includes AI-assisted work, please mention it in the pull request description.
|
||||
|
||||
**Example:**
|
||||
|
||||
> This pull request implements Cumulative Layout Shift with assistance from ChatGPT.
|
||||
|
||||
|
||||
## Add a defect
|
||||
Please make sure you run the [latest version](https://www.npmjs.com/package/sitespeed.io) of sitespeed.io. Then check the [defect/bug list](https://github.com/sitespeedio/sitespeed.io/issues?labels=bug&page=1&state=open) to make sure that it hasn't been filed yet.
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ on:
|
|||
- main
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
steps:
|
||||
-
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ on:
|
|||
- 'v*.*.*'
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
|
|
@ -13,6 +13,8 @@ jobs:
|
|||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
with:
|
||||
image: tonistiigi/binfmt:qemu-v7.0.0-28
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
node-version: '22.x'
|
||||
- name: Install sitespeed.io
|
||||
run: npm ci
|
||||
- name: Run tests with CruX
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ on:
|
|||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
node-version: '22.x'
|
||||
- name: Install sitespeed.io
|
||||
run: npm ci
|
||||
- name: Install Chrome
|
||||
|
|
@ -70,10 +70,6 @@ jobs:
|
|||
run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --graphite.host 127.0.0.1 --xvfb
|
||||
- name: Run test without a CLI
|
||||
run: xvfb-run node test/runWithoutCli.js
|
||||
- name: Run test with Influx 1.8
|
||||
run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --xvfb --logToFile --resultBaseUrl https://result.sitespeed.io --influxdb.annotationScreenshot=true
|
||||
- name: Run test with Influx 2.6.1
|
||||
run: bin/sitespeed.js http://127.0.0.1:3001/simple/ -n 1 --influxdb.host 127.0.0.1 --influxdb.port 8087 --influxdb.version 2 --influxdb.organisation sitespeed --influxdb.token sitespeed --xvfb --resultBaseUrl https://result.sitespeed.io --influxdb.annotationScreenshot=true
|
||||
- name: Run Chrome test with config
|
||||
run: node bin/sitespeed.js --config test/exampleConfig.json http://127.0.0.1:3001/simple/ --xvfb
|
||||
- name: Run Chrome test using compare plugin
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@ on:
|
|||
- main
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
runs-on: macos-15
|
||||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
node-version: '22.x'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo safaridriver --enable
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ jobs:
|
|||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18.x, 20.x, 22.x]
|
||||
node-version: [20.x, 22.x, 24.x]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ jobs:
|
|||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
node-version: '22.x'
|
||||
- name: Install sitespeed.io
|
||||
run: npm ci
|
||||
- name: Install Chrome
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ on:
|
|||
- main
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
runs-on: windows-2025
|
||||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ on:
|
|||
- main
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
runs-on: windows-2025
|
||||
if: ${{ !contains(github.event.head_commit.message, 'docs:') }}
|
||||
steps:
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '20.x'
|
||||
node-version: '22.x'
|
||||
- name: Install sitespeed.io
|
||||
run: npm install sitespeed.io -g
|
||||
shell: bash
|
||||
|
|
|
|||
357
CHANGELOG.md
357
CHANGELOG.md
|
|
@ -1,6 +1,223 @@
|
|||
|
||||
# CHANGELOG - sitespeed.io (we use [semantic versioning](https://semver.org))
|
||||
|
||||
## 39.3.1 - 2026-01-11
|
||||
### Fixed
|
||||
* There where something broken in Browsertime 26.3.0 together with the new bidi-har 0.0.20 for Firefox so I reverted to 0.0.18 until its been fixed with Browsertime/bidi-har [#4579](https://github.com/sitespeedio/sitespeed.io/pull/4579).
|
||||
|
||||
## 39.3.0 - 2026-01-10
|
||||
### Added
|
||||
* Updated to Browsertime 26.3 with and updated version of bidi-har that makes it possible to get response bodies in the HAR file for Firefox [#4578](https://github.com/sitespeedio/sitespeed.io/pull/4578).
|
||||
|
||||
### Fixed
|
||||
* Fixed typo in iteration detail page for the cpuConsumption metric, thank you [Michael Walter](https://github.com/byte55) for PR [#4577](https://github.com/sitespeedio/sitespeed.io/pull/4577).
|
||||
|
||||
## 39.2.0 - 2025-12-18
|
||||
### Added
|
||||
* Updated to Browsertime 26.2 with latest Chromedriver and Edgedriver and a small XVFB fix [#4575](https://github.com/sitespeedio/sitespeed.io/pull/4575).
|
||||
|
||||
## 39.1.2 - 2025-12-17
|
||||
### Fixed
|
||||
* Fix a bug introduced in 39.0.0 where alias was missing when creating some file structure [#4574](https://github.com/sitespeedio/sitespeed.io/pull/4574).
|
||||
|
||||
## 39.1.1 - 2025-12-16
|
||||
### Fixed
|
||||
* Safer handling for broken URLs. This logs the actual root cause [#4573](https://github.com/sitespeedio/sitespeed.io/pull/4573).
|
||||
|
||||
## 39.1.0 - 2025-12-15
|
||||
### Added
|
||||
* Upgrade the Docker container: Chrome and Edge 143, Firefox 146 [#4572](https://github.com/sitespeedio/sitespeed.io/pull/4572).
|
||||
|
||||
## 39.0.0 - 2025-12-15
|
||||
|
||||
### Breaking
|
||||
* We removed support for setting the compression level for png screenshots, see the added section why.
|
||||
|
||||
### Added
|
||||
* Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots `--browsertime.screenshotParams.png.compressionLevel` [#4570](https://github.com/sitespeedio/sitespeed.io/pull/4570).
|
||||
|
||||
|
||||
## 38.6.0 - 2025-11-02
|
||||
### Added
|
||||
* Browsertime 25.4.0 [#4566](https://github.com/sitespeedio/sitespeed.io/pull/4566).
|
||||
* Chrome 142 [#4565](https://github.com/sitespeedio/sitespeed.io/pull/4565).
|
||||
|
||||
## 38.5.2 - 2025-10-24
|
||||
### Fixed
|
||||
* Upgrade to [Browsetime 25.3.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2531---2025-10-24) [#4562](https://github.com/sitespeedio/sitespeed.io/pull/4562).
|
||||
|
||||
## 38.5.1 - 2025-10-21
|
||||
### Fixed
|
||||
* The +1 container has a updated configuration for the GPSI plugin to remove the PWA category. Thank you [ThimoCode](https://github.com/ThimoCode) for PR [#58](https://github.com/sitespeedio/plugin-gpsi/pull/58).
|
||||
|
||||
## 38.5.0 - 2025-10-18
|
||||
### Added
|
||||
* Updated the Docker container to use Firefox 144 [#4554](https://github.com/sitespeedio/sitespeed.io/pull/4554).
|
||||
* Added Browsertime 25.3 [#4559](https://github.com/sitespeedio/sitespeed.io/pull/4559) with support for removing some headers in the HAR file (more info about that soon).
|
||||
|
||||
### Fixed
|
||||
* Updated dev dependencies [#4556](https://github.com/sitespeedio/sitespeed.io/pull/4556).
|
||||
* Updated to Axe-core 4.11.0 [#4555)](https://github.com/sitespeedio/sitespeed.io/pull/4555).
|
||||
* Updated Ora dependency [#4557](https://github.com/sitespeedio/sitespeed.io/pull/4557).
|
||||
* Updated the log dependency [#4558](https://github.com/sitespeedio/sitespeed.io/pull/4558). The new version remove the color for error logs.
|
||||
|
||||
## 38.4.1 - 2025-10-14
|
||||
### Fixed
|
||||
* Set max width 400 pixel of the screenshot showing in the Grafana annotation (Grafana changed how they render the annotation long time ago) [#4553](https://github.com/sitespeedio/sitespeed.io/pull/4553) and [the fix](https://github.com/sitespeedio/sitespeed.io/commit/dbcdc72bedd0a2be5c9031675783fe3f3b73f288).
|
||||
|
||||
## 38.4.0 - 2025-10-12
|
||||
### Added
|
||||
* Upgraded to Chrome/Edge 141 [#4551](https://github.com/sitespeedio/sitespeed.io/pull/4551).
|
||||
* +1 container users will get Lighthouse 13.
|
||||
* Browsertime 25.2 with latest Chrome/Edgedrivers [#4552](https://github.com/sitespeedio/sitespeed.io/pull/4552).
|
||||
|
||||
## 38.3.0 - 2025-09-07
|
||||
### Added
|
||||
* Upgraded to Chrome/Chromedriver 140 [#4549](https://github.com/sitespeedio/sitespeed.io/pull/4549) and [#4548](https://github.com/sitespeedio/sitespeed.io/pull/4548).
|
||||
|
||||
## 38.2.0 - 2025-08-31
|
||||
### Added
|
||||
* Upgraded to Firefox 142 [#4545](https://github.com/sitespeedio/sitespeed.io/pull/4545) and Chrome/Edge 139 in the Docker container [#4552](https://github.com/sitespeedio/sitespeed.io/pull/4542).
|
||||
|
||||
## 38.1.2 - 2025-08-04
|
||||
### Fixed
|
||||
* Upgraded to coach core 8.1.3 [#4551](https://github.com/sitespeedio/sitespeed.io/pull/4541) (there was a bug introduced in 8.1.2).
|
||||
|
||||
## 38.1.1 - 2025-08-01
|
||||
### Fixed
|
||||
* Upgraded to coach core 8.1.2 [#4540](https://github.com/sitespeedio/sitespeed.io/pull/4540).
|
||||
|
||||
## 38.1.0 - 2025-07-28
|
||||
### Added
|
||||
* Firefox 141 in the Docker container [#4538](https://github.com/sitespeedio/sitespeed.io/pull/4538).
|
||||
|
||||
### Fixed
|
||||
* Bumped form-data dependency for security warnings [#4539](https://github.com/sitespeedio/sitespeed.io/pull/4539).
|
||||
|
||||
## 38.0.0 - 2025-06-30
|
||||
### Breaking
|
||||
* Support only NodeJS 20 or later for sitespeed.io [#4532](https://github.com/sitespeedio/sitespeed.io/pull/4532).
|
||||
|
||||
### Added
|
||||
* Upgrade to Yargs 18 [#4531](https://github.com/sitespeedio/sitespeed.io/pull/4531).
|
||||
|
||||
### Fixed
|
||||
* Update S3 client [#4533](https://github.com/sitespeedio/sitespeed.io/pull/4533).
|
||||
* Update developer dependencies [#4534](https://github.com/sitespeedio/sitespeed.io/pull/4534).
|
||||
* Updated to [Browsertime 25](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2500---2025-07-16) [#4536](https://github.com/sitespeedio/sitespeed.io/pull/4536) with NodeJS to 20 and a fix for Edgedriver download.
|
||||
|
||||
## 37.9.0 - 2025-06-30
|
||||
### Added
|
||||
* Updated Docker containers to include Chrome/Edge 138, Firefox 140. Edgedriver and Chromedriver 138. Browsertime 24.9.0. [#452](https://github.com/sitespeedio/sitespeed.io/pull/4528) and [#4530](https://github.com/sitespeedio/sitespeed.io/pull/4530).
|
||||
|
||||
## 37.8.0 - 2025-06-01
|
||||
### Added
|
||||
* Updated to Browsertime 24.8.0 and then 24.8.1 with Chromedriver 137, Edgedriver 137 and [a couple of fixes and new commands](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2480---2025-05-30) in [4524](https://github.com/sitespeedio/sitespeed.io/pull/4524) and [#4525](https://github.com/sitespeedio/sitespeed.io/pull/4525).
|
||||
* Updated to Edge 137 in the Docker container [#4522](https://github.com/sitespeedio/sitespeed.io/pull/4522).
|
||||
|
||||
### Fixed
|
||||
* Updated dependencies: node-scp, ora, dayjs, axe-core, @slack/webhook, @google-cloud/storage, @aws-sdk/client-s3 [#4523](https://github.com/sitespeedio/sitespeed.io/pull/4523).
|
||||
|
||||
## 37.7.0 - 2025-05-28
|
||||
### Added
|
||||
* Added Chrome 137 and Firefox 139 in the Docker container [#4520](https://github.com/sitespeedio/sitespeed.io/pull/4520).
|
||||
|
||||
## 37.6.0 - 2025-05-13
|
||||
### Added
|
||||
* Added Edge 136, Edgedriver and Chromedriver 136 by updating to [Browsertime 24.7.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#browsertime-changelog-we-do-semantic-versioning) in [#4514](https://github.com/sitespeedio/sitespeed.io/pull/4514).
|
||||
|
||||
## 37.5.1 - 2025-05-05
|
||||
### Fixed
|
||||
* Updated to [Browsertime 24.6.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2460---2025-05-05) that fixes a problem using --preURL and --pageCompleteCheckNetworkIdle.
|
||||
|
||||
## 37.5.0 - 2025-04-30
|
||||
### Added
|
||||
* Upgraded to Firefox 138 and Chrome 136 in the Docker container [#4507](https://github.com/sitespeedio/sitespeed.io/pull/4507).
|
||||
|
||||
### Fixed
|
||||
* Updated to latest Browsertime with a fix for Firefox 138 [#4506](https://github.com/sitespeedio/sitespeed.io/pull/4506).
|
||||
|
||||
## 37.4.2 - 2025-04-19
|
||||
### Fixed
|
||||
* s3: If you add Expires to your object using the API, it was broken since the upgrade to v3. This fix change so we allways use a Date when setting Expires [#4503](https://github.com/sitespeedio/sitespeed.io/pull/4503).
|
||||
* Make sure that HAR files included in the HTML excludes closing script tags in the body of an response [#4500](https://github.com/sitespeedio/sitespeed.io/pull/4500).
|
||||
|
||||
## 37.4.1 - 2025-04-10
|
||||
### Fixed
|
||||
* If testing one page fails, make sure that we still can genereate the HTML [#4495](https://github.com/sitespeedio/sitespeed.io/pull/4495).
|
||||
|
||||
## 37.4.0 - 2025-04-09
|
||||
### Added
|
||||
* Updated Docker container with Firefox 137, Chrome 135 and Edge 135 [#4494](https://github.com/sitespeedio/sitespeed.io/pull/4494).
|
||||
|
||||
## 37.3.2 - 2025-03-21
|
||||
### Fixed
|
||||
* Updated to Browsertime 24.5.2 with a fix for getting delta FCP (FCP-TTFB).
|
||||
|
||||
## 37.3.1 - 2025-03-20
|
||||
### Fixed
|
||||
* Updated to [Browsertime 24.5.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2451---2025-03-18) with a fix for using `--browsertime.userTimingBlockList`.
|
||||
* Safer check for InfluxDB [#4487](https://github.com/sitespeedio/sitespeed.io/pull/4487) that fixes [#4485](https://github.com/sitespeedio/sitespeed.io/issues/4485).
|
||||
|
||||
## 37.3.0 - 2025-03-13
|
||||
### Added
|
||||
* Updated to [Browsertime 24.5.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2450---2025-03-13) that updates to Geckodriver 0.36.0 (for Firefox) and fixes a bug for running test on Safari on iOS (reported in [#4479](https://github.com/sitespeedio/sitespeed.io/issues/4479)) fixed in [#4480](https://github.com/sitespeedio/sitespeed.io/pull/4480).
|
||||
|
||||
## 37.2.0 - 2025-03-12
|
||||
### Added
|
||||
* Updated to [Browsertime 24.4.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2440---2025-03-11) [#4478](https://github.com/sitespeedio/sitespeed.io/pull/4478).
|
||||
|
||||
## 37.1.2 - 2025-03-11
|
||||
### Fixed
|
||||
* Show just the filename instead of the full path to the file in the HTML [#4477](https://github.com/sitespeedio/sitespeed.io/pull/4477).
|
||||
|
||||
## 37.1.1 - 2025-03-10
|
||||
### Fixed
|
||||
* Multiple fixes to better handle if a user journey scripting fails [#4474](https://github.com/sitespeedio/sitespeed.io/pull/4474) and [#4475](https://github.com/sitespeedio/sitespeed.io/pull/4475).
|
||||
|
||||
## 37.1.0 - 2025-03-08
|
||||
### Fixed
|
||||
* Simplified logic for uploading files to S3 since we have reports that it do not work 100% [#4472](https://github.com/sitespeedio/sitespeed.io/pull/4472).
|
||||
|
||||
### Added
|
||||
* The Docker container now contains Chrome 134.0, Firefox 136 and Edge 134.0.
|
||||
|
||||
## 37.0.4 - 2025-03-07
|
||||
### Fixed
|
||||
* Sending annotations to Graphite failed because of InfluxDB check [#4469](https://github.com/sitespeedio/sitespeed.io/pull/4469).
|
||||
|
||||
## 37.0.3 - 2025-03-06
|
||||
### Fixed
|
||||
* Hopefully the last fix for getting --help to work with global plugins [#4466](https://github.com/sitespeedio/sitespeed.io/pull/4466).
|
||||
|
||||
## 37.0.2 - 2025-03-05
|
||||
### Fixed
|
||||
* Another fix for using --help and load plugins correctly [#4465](https://github.com/sitespeedio/sitespeed.io/pull/4465).
|
||||
|
||||
## 37.0.1 - 2025-03-05
|
||||
### Fixed
|
||||
* There was a bug in the InfluxDB plugin and loading the cli parameters failed [#4463](https://github.com/sitespeedio/sitespeed.io/pull/4463).
|
||||
|
||||
## 37.0.0 - 2025-03-05
|
||||
### Breaking change
|
||||
* If you are a InfluxDB user the InfluxDB functionality been moved to a standalone plugin [plugin-influxdb](https://github.com/sitespeedio/plugin-influxdb). This means if that sitespeed.io using NodeJS and the default Docker container will not include the InfluxDB plugin. The +1 container will still include the plugin but you need to add it with `--plugins.add @sitespeed.io/plugin-influxdb` for it to be able to run.
|
||||
|
||||
The InfluxDB plugin has never gotten the love it deserves, moving it out, it means that you easier can do your own modification and get the data the way that you need.
|
||||
|
||||
### Added
|
||||
* Support for getting CLI options from plugins as long as you use `--help --plugins.add`. This is start to separate CLI options from the monsterous CLI file and instead have them in each plugin [#4450](https://github.com/sitespeedio/sitespeed.io/pull/4450), [#4452](https://github.com/sitespeedio/sitespeed.io/pull/4452) [#4455](https://github.com/sitespeedio/sitespeed.io/pull/4455).
|
||||
* You can now set the exact minimum log level using `--logLevel`[#4459](https://github.com/sitespeedio/sitespeed.io/pull/4459).
|
||||
|
||||
### Fixed
|
||||
* Replace the junit-report-builder package [#4448](https://github.com/sitespeedio/sitespeed.io/pull/4448).
|
||||
* Remove Tape dependencies [#4447](https://github.com/sitespeedio/sitespeed.io/pull/4447).
|
||||
* Catch if the browser fails to open a broken page [#4457](https://github.com/sitespeedio/sitespeed.io/pull/4457).
|
||||
|
||||
|
||||
## 36.4.1 - 2025-02-17
|
||||
### Fixed
|
||||
* The Docker container for last release was never push. The reason is that our GitHub action that do the release automatically was upgraded to Ubuntu 24 and there its a problem building containers for ARM. With this release we use Ubuntu 22 instead.
|
||||
|
||||
## 36.4.0 - 2025-02-14
|
||||
### Added
|
||||
* Crux update: Get fractions for RTT [#4436](https://github.com/sitespeedio/sitespeed.io/pull/4436), that extra LCP information [#4437](https://github.com/sitespeedio/sitespeed.io/pull/4437) and make sure LCP resource type fraction is sent to TSDB [#4438](https://github.com/sitespeedio/sitespeed.io/pull/4438).
|
||||
|
|
@ -122,7 +339,7 @@ This release contains a couple of breaking changes. Please read the breaking sec
|
|||
* Update dev dependencies [#4345](https://github.com/sitespeedio/sitespeed.io/pull/4345).
|
||||
* Let analysisstorer know about webpagereplay so that correct information is displayed [#4349](https://github.com/sitespeedio/sitespeed.io/pull/4349).
|
||||
* Pass on webpagereplay flag to browsertime [#4350](https://github.com/sitespeedio/sitespeed.io/pull/4350).
|
||||
* Update to Browsertime 23.5.0 [#4351](https://github.com/sitespeedio/sitespeed.io/pull/4351)
|
||||
* Update to Browsertime 23.5.0 [#4351](https://github.com/sitespeedio/sitespeed.io/pull/4351)
|
||||
|
||||
## 35.7.4 - 2024-12-20
|
||||
### Fixed
|
||||
|
|
@ -143,7 +360,7 @@ This release contains a couple of breaking changes. Please read the breaking sec
|
|||
* Make sure Firefox displays power consumption in mWH [#4334](https://github.com/sitespeedio/sitespeed.io/pull/4334).
|
||||
|
||||
## 35.7.0 - 2024-11-30
|
||||
### Added
|
||||
### Added
|
||||
* Firefox 133 in the Docker container [#4327](https://github.com/sitespeedio/sitespeed.io/pull/4327).
|
||||
|
||||
### Fixed
|
||||
|
|
@ -181,7 +398,7 @@ Andy Davies](https://github.com/andydavies) and the cool [https://github.com/and
|
|||
|
||||
## 35.3.0 - 2024-10-20
|
||||
### Added
|
||||
* Update to Chrome 130 in the Docker container [#4299](https://github.com/sitespeedio/sitespeed.io/pull/4299).
|
||||
* Update to Chrome 130 in the Docker container [#4299](https://github.com/sitespeedio/sitespeed.io/pull/4299).
|
||||
* Updated to Browsertime [23.2.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2320---2024-10-20) that has a fix for installting Geckodriver on ARM containers [#4303](https://github.com/sitespeedio/sitespeed.io/pull/4303).
|
||||
* Updated Chromium from 107 to 130 in the ARM Docker container. This was possible by using the Chromium built by Microsoft (M$) in Playwright [#4304](https://github.com/sitespeedio/sitespeed.io/pull/4304).
|
||||
|
||||
|
|
@ -388,7 +605,7 @@ From this release we release a new Docker container with the major version tag!
|
|||
### Breaking
|
||||
|
||||
* Woho! There's now a way to deploy your own version of sitespeed.io online for your own testing using [onlinetest][https://github.com/sitespeedio/onlinetest]! It has a HTML GUI and an API that you can use using sitespeed.io command line. There's one server part (the frontend and the API) and a testrunner part. You can run desktop, emulated mobile and Android test. I do not host a global version but I worked hard to make it easy to host yourself. I still work on the documentation but feel free to start to try it out before all documentation is finished :) If you have quick question and need help, please use the [Slack channel](https://join.slack.com/t/sitespeedio/shared_invite/zt-296jzr7qs-d6DId2KpEnMPJSQ8_R~WFw). If you have more complicated problems, please feel free to create issues [here](https://github.com/sitespeedio/onlinetest/issues/new).
|
||||
|
||||
|
||||
* With this release we remove all dependencies to WebPageTest [#4085](https://github.com/sitespeedio/sitespeed.io/pull/4085). You are only affected if you used the [plugin-webpagetest](https://github.com/sitespeedio/plugin-webpagetest) or the +webpagetest Docker container. If you still want to use WebPageTest with sitespeed.io you can build something on the archived [plugin-webpagetest](https://github.com/sitespeedio/plugin-webpagetest).
|
||||
|
||||
* The S3 plugin has been upgraded to @aws-sdk/client-s3 v3 [#4138](https://github.com/sitespeedio/sitespeed.io/pull/4138). If you are using the S3 plugin and not set region, that will now fail. The v2 version of the aws-sdk used us-east-1 region as default, but v3 has removed the default setting. If you didn't used to set region you can add `--s3.region us-east-1` and it will work as before. If you do not do that, the uploads to S3 will fail. With v3 your `endpoint` need to start with http/https.
|
||||
|
|
@ -407,7 +624,7 @@ From this release we release a new Docker container with the major version tag!
|
|||
|
||||
## 33.6.1 - 2024-05-13
|
||||
### Fixed
|
||||
* The plus1 container was updated with the latest version of the gpsi-plugin, since the old version broke when GPSI was updated to Lighthouse 12.
|
||||
* The plus1 container was updated with the latest version of the gpsi-plugin, since the old version broke when GPSI was updated to Lighthouse 12.
|
||||
|
||||
## 33.6.0 - 2024-04-17
|
||||
### Added
|
||||
|
|
@ -449,7 +666,7 @@ From this release we release a new Docker container with the major version tag!
|
|||
## 33.2.0 - 2024-03-12
|
||||
### Added
|
||||
* Updated to Browsertime 21.5.0 in [#4103](https://github.com/sitespeedio/sitespeed.io/pull/4103) also included changes released in 21.4.0.
|
||||
* Firefox:
|
||||
* Firefox:
|
||||
* Move injectJS functionality to Bidi [#2088](https://github.com/sitespeedio/browsertime/pull/2088). This makes it possible to inject JS in Firefox on mobile.
|
||||
* Expose Bidi in commands [#2091](https://github.com/sitespeedio/browsertime/pull/2091). You can now use webdriver bidi direct in your commands.
|
||||
* Fixed command action.clear() that actually didn't clear the command [#2095](https://github.com/sitespeedio/browsertime/pull/2095).
|
||||
|
|
@ -463,7 +680,7 @@ From this release we release a new Docker container with the major version tag!
|
|||
## 33.1.0 - 2024-02-21
|
||||
### Added
|
||||
* Firefox 123 and Chrome 122 in the Docker container [#4090](https://github.com/sitespeedio/sitespeed.io/pull/4090) and [#4089](https://github.com/sitespeedio/sitespeed.io/pull/4089).
|
||||
* Chromedriver 122 and Edgedriver 121
|
||||
* Chromedriver 122 and Edgedriver 121
|
||||
* [Browsertime 21.3.0](https://github.com/sitespeedio/sitespeed.io/pull/4091).
|
||||
|
||||
## 33.0.0 - 2024-02-11
|
||||
|
|
@ -528,8 +745,8 @@ The new version of Browsertime also adds code completion/IntelliSense support. R
|
|||
* @param {import('browsertime').BrowsertimeContext} context
|
||||
* @param {import('browsertime').BrowsertimeCommands} commands
|
||||
*/
|
||||
export default async function (context, commands) {
|
||||
|
||||
export default async function (context, commands) {
|
||||
|
||||
};
|
||||
```
|
||||
|
||||
|
|
@ -569,7 +786,7 @@ export default async function (context, commands) {
|
|||
### Fixed
|
||||
* Moved functionality from co2 to sitespeed.io see [#4034](https://github.com/sitespeedio/sitespeed.io/pull/4034).
|
||||
|
||||
### Added
|
||||
### Added
|
||||
* Upgraded the Docker container to use Firefox 121 [#4033](https://github.com/sitespeedio/sitespeed.io/pull/4033).
|
||||
* Updated to [Browsertime 19.3.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1931---2023-12-18) [#4031](https://github.com/sitespeedio/sitespeed.io/pull/4031).
|
||||
|
||||
|
|
@ -595,7 +812,7 @@ export default async function (context, commands) {
|
|||
|
||||
## 30.7.0 - 2023-11-30
|
||||
### Added
|
||||
* Show Axe individual issues on the page summary (not only on each individual run) [#4019](https://github.com/sitespeedio/sitespeed.io/pull/4019). Thank you [shaqb](https://github.com/shaqb) for pointing that out. The total number of issues is also sent to Graphite under *statistics.axe.violationIssues*.
|
||||
* Show Axe individual issues on the page summary (not only on each individual run) [#4019](https://github.com/sitespeedio/sitespeed.io/pull/4019). Thank you [shaqb](https://github.com/shaqb) for pointing that out. The total number of issues is also sent to Graphite under *statistics.axe.violationIssues*.
|
||||
|
||||
## 30.6.0 - 2023-11-29
|
||||
|
||||
|
|
@ -668,7 +885,7 @@ export default async function (context, commands) {
|
|||
* Updated Browsertime to 17.18.0:
|
||||
* Updated to Chromedriver 119 [#2003](https://github.com/sitespeedio/browsertime/pull/2003). 119 works with both Chrome 118 and 119 so it fixes [#1197](https://github.com/sitespeedio/browsertime/issues/1997).
|
||||
* Add support for network idle method to know when to end a test that uses network logs. Uses Bidi for Firefox and CDP for Chrome to listen on network events to know when to end a test. By default 5 seconds idle network time ends a tests (you could have network responses that hasn't arrived yet) [#1960](https://github.com/sitespeedio/browsertime/pull/1960). Potentially this can help SPA users or users where the page uses iframes. You can try it out by adding `--browsertime.pageCompleteCheckNetworkIdle true` to your command line. This is still some work in progress but feel free to try ut out.
|
||||
* The resources script now collects number of resources served from the browser cashe for browser that supports that through the resource timing API [#1998](https://github.com/sitespeedio/browsertime/pull/1998)
|
||||
* The resources script now collects number of resources served from the browser cashe for browser that supports that through the resource timing API [#1998](https://github.com/sitespeedio/browsertime/pull/1998)
|
||||
* Make sure timer always is cleared. There was case of where we do a rase beteween a promise and a timeout where the timeout timer wasn't cleared/removed [#2005](https://github.com/sitespeedio/browsertime/pull/2005).
|
||||
* Better way to get the url when you use GeckoProfiler.stop for Firefox, thank you [Nazım Can Altınova](https://github.com/canova) for PR [#1999](https://github.com/sitespeedio/browsertime/pull/1999)
|
||||
|
||||
|
|
@ -684,7 +901,7 @@ export default async function (context, commands) {
|
|||
## 29.7.0 - 2023-09-27
|
||||
### Added
|
||||
* Updated Firefox to 118 in the Docker container [#3968](https://github.com/sitespeedio/sitespeed.io/pull/3968).
|
||||
* Users of the +1 container will have Lighthouse version 11.1.0.
|
||||
* Users of the +1 container will have Lighthouse version 11.1.0.
|
||||
|
||||
## 29.6.0 - 2023-09-22
|
||||
### Added
|
||||
|
|
@ -812,7 +1029,7 @@ The changes where done in [#3888](https://github.com/sitespeedio/sitespeed.io/pu
|
|||
## 27.6.5 - 2023-05-26
|
||||
### Fixed
|
||||
* Bumped Browsertime with a fix for host-resolver-rules, thank you [Mikhail](https://github.com/atuchin-m) for PR [#1953](https://github.com/sitespeedio/browsertime/pull/1953).
|
||||
* Hopefully fixed the broken manifest file for the Docker containers by updating the Docker build actions to latest versions and added provenance: false.
|
||||
* Hopefully fixed the broken manifest file for the Docker containers by updating the Docker build actions to latest versions and added provenance: false.
|
||||
|
||||
## 27.6.4 - 2023-05-20
|
||||
### Fixed
|
||||
|
|
@ -846,7 +1063,7 @@ The changes where done in [#3888](https://github.com/sitespeedio/sitespeed.io/pu
|
|||
* Another fix for storing result data as JSON.
|
||||
|
||||
## 27.5.0 - 2023-05-03
|
||||
### Added
|
||||
### Added
|
||||
* Use Chrome 113 in the Docker container.
|
||||
|
||||
### Fixed
|
||||
|
|
@ -881,7 +1098,7 @@ The changes where done in [#3888](https://github.com/sitespeedio/sitespeed.io/pu
|
|||
* Increased the default wait time from 2 to 5 seconds when a element a clicked and the page complete check runs [#1931](https://github.com/sitespeedio/browsertime/pull/1931)
|
||||
* Upgraded to Chromedriver 112 [#1932](https://github.com/sitespeedio/browsertime/pull/1932).
|
||||
* If you use `--headless` Chrome will use the new headless switch [#1933](https://github.com/sitespeedio/browsertime/pull/1933).
|
||||
* The plugin-lighthouse uses Lighthouse 10.1.0 and --headless=new
|
||||
* The plugin-lighthouse uses Lighthouse 10.1.0 and --headless=new
|
||||
|
||||
## 27.0.0 - 2023-04-04
|
||||
|
||||
|
|
@ -893,7 +1110,7 @@ There's been many additions to Browsertime the last months and I'll update the C
|
|||
The project was transitioned to a [pure ESM package](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) both Browsertime [#1859](https://github.com/sitespeedio/browsertime/pull/1859) and sitespeed.io [#3769](https://github.com/sitespeedio/sitespeed.io/pull/3769). That allow us to stay uptodate with dependencies. This is important for us and will make the project easier to maintain.
|
||||
|
||||
#### CLI users
|
||||
If you are a command line user and use [scripting](https://www.sitespeed.io/documentation/sitespeed.io/scripting/), you will need to do a change to your scripts or add some extra configuration.
|
||||
If you are a command line user and use [scripting](https://www.sitespeed.io/documentation/sitespeed.io/scripting/), you will need to do a change to your scripts or add some extra configuration.
|
||||
|
||||
**The quick fix**: Rename your *.js* scripting files to *.cjs* that way NodeJS will treat your file as a common JS file and everything will just work. For example if you have a file names `login.js` you can rename that to `login.cjs` and make sure you load that new file. Then sitespeed.io 27.0.0 will just work as before.
|
||||
|
||||
|
|
@ -913,14 +1130,14 @@ export default async function (context, commands) {
|
|||
}
|
||||
```
|
||||
|
||||
If you have more complicated scripts, follow the [ESM package guide](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).
|
||||
If you have more complicated scripts, follow the [ESM package guide](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).
|
||||
|
||||
Then rename your file to be named *.mjs. If your file is named `collect.js` change it to `collect.mjs`. This is the best fix and will work 100% of the time. That way NodeJS will know that you are using the ESM standard. You can read more in [how NodeJs choose to load files](https://nodejs.org/docs/latest-v18.x/api/packages.html#determining-module-system).
|
||||
|
||||
|
||||
**Another quick fix alternative**: As a last alternative add `--browsertime.cjs` as a parameter to your test. That way the scripting file will be treated as a commonjs file. This is a hack, so to make sure it works, the user that runs Browsertime need to have write privileges to the folder where you have your scripting files. Browsertime will create a package.json file on the same levels as your script file. If you already have a package.json there, it will be overwritten.
|
||||
|
||||
#### Non cli users
|
||||
#### Non cli users
|
||||
Documentation coming soon.
|
||||
|
||||
Read [Sindre Sorhus Pure ESM package guide](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) on how you can move your project.
|
||||
|
|
@ -935,7 +1152,7 @@ If you run sitespeed.io direct using NodeJs (and not using Docker) you need to i
|
|||
|
||||
```python -m pip install --user OpenCV-Python Numpy```
|
||||
|
||||
If you still want to use ImageMagick you can do that by setting ```browsertime.visualMetricsPortable false```
|
||||
If you still want to use ImageMagick you can do that by setting ```browsertime.visualMetricsPortable false```
|
||||
|
||||
|
||||
### Fixed
|
||||
|
|
@ -944,17 +1161,17 @@ If you still want to use ImageMagick you can do that by setting ```browsertime.v
|
|||
### Added
|
||||
* [A lot of things has happened](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md) in Browsertime:
|
||||
* There's a new better way to get the HAR from Firefox using WebDriver BiDi network events. Thank you Julian Descottes and others at Mozilla that made this happen! With the new version we hope to see less overhead getting the HAR + it works on Firefox on Android #1918. You can turn it on with --browsertime.firefox.bidihar.
|
||||
* Updated to Geckodriver 0.33
|
||||
* Fixed the interaction to next paint error message that started to appear in latest Chrome
|
||||
* Safer check for getting last meaningful paint
|
||||
* Updated to Geckodriver 0.33
|
||||
* Fixed the interaction to next paint error message that started to appear in latest Chrome
|
||||
* Safer check for getting last meaningful paint
|
||||
* Log the CPU benchmark metric to the console. This is useful (at least for me) when debugging instances with a lot of instability.
|
||||
* In Chrome 111 some metrics become more instable when running on host with limited CPU. This change also exists in 112 beta. However we where missing out on a couple of command line magic to disable features in Chrome.
|
||||
* On Linux you can use taskset to assing FFMPEG to specific CPUs using --videoParams.taskset "0,5,7,9-11" . It will start FFMPEG with taskset -c <CPUS> to pin FFMPG to specific CPU(s). Specify a numerical list of processors. The list may contain multiple items, separated by comma, and ranges. For example, "0,5,7,9-11". Use it together with isolcpus.
|
||||
* If you use a rooted Samsung A51 you can now choose the CPU speed (min/middle/max) using --android.pinCPUSpeed min|middle|max
|
||||
* Expose chrome-remote-interface client to scripting. This makes it so much easier to run whatever CDP command. Get the raw version `commands.cdp.getRawClient()`.
|
||||
* Pin CPU freq to fastest for Samsung A51 (if you have a rooted device)
|
||||
* Pin CPU freq to fastest for Samsung A51 (if you have a rooted device)
|
||||
* Updated to Chrome 111, Firefox 111 and Edge 111 in the Docker container.
|
||||
* The Lighthouse plugin has been updated to Lighthouse 10.
|
||||
* The Lighthouse plugin has been updated to Lighthouse 10.
|
||||
* Support for InfluxDb 2, thank you [Damien-Ar](https://github.com/Damien-Ar) for PR [#3711](https://github.com/sitespeedio/sitespeed.io/pull/3711) and [Roman Voitseshevsky](https://github.com/boitcex) for adding tests in [#3790](https://github.com/sitespeedio/sitespeed.io/pull/3790).
|
||||
## 26.1.0 - 2022-10-21
|
||||
### Added
|
||||
|
|
@ -1039,7 +1256,7 @@ https://github.com/sitespeedio/sitespeed.io/pull/3715).
|
|||
* Updated Browsertime to 16.14.1 that adds a guard for null values in rsd (this fixes the warning logs happening in 25.8.0).
|
||||
## 25.8.0 - 2022-08-26
|
||||
### Added
|
||||
* Updated to [Browsertime 16.14.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#16140---2022-08-26). that collects relative standard deviation for metrics and the number of processes that runs on the server when you start a test.
|
||||
* Updated to [Browsertime 16.14.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#16140---2022-08-26). that collects relative standard deviation for metrics and the number of processes that runs on the server when you start a test.
|
||||
## 25.7.3 - 2022-08-17
|
||||
### Fixed
|
||||
* Upgraded to [Browsertime 16.13.3](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#16133---2022-08-17) that fixes a bug when setting cookies when navigating in Chrome/Edge when using scripting.
|
||||
|
|
@ -1063,7 +1280,7 @@ https://github.com/sitespeedio/sitespeed.io/pull/3715).
|
|||
### Added
|
||||
* Updated to Firefox 103 in the Docker container.
|
||||
* The +1 container uses Lighthouse 9.6.4.
|
||||
* Removed videojs and use plain video element to display the video [#3697](https://github.com/sitespeedio/sitespeed.io/pull/3697). This makes the result pages cleaner.
|
||||
* Removed videojs and use plain video element to display the video [#3697](https://github.com/sitespeedio/sitespeed.io/pull/3697). This makes the result pages cleaner.
|
||||
|
||||
### Fixed
|
||||
* Fixed error message when you run Axe and analysisstorer at the same time [#3703](https://github.com/sitespeedio/sitespeed.io/pull/3703).
|
||||
|
|
@ -1109,7 +1326,7 @@ https://github.com/sitespeedio/sitespeed.io/pull/3715).
|
|||
* Bug fix for adding custom CSS from plugins, than you [Josh Duncan](https://github.com/josh-lr) for PR [#3679](https://github.com/sitespeedio/sitespeed.io/pull/3679).
|
||||
|
||||
## 25.2.0 - 2022-06-22
|
||||
### Added
|
||||
### Added
|
||||
* Updated the Docker container to use Chrome 103.
|
||||
|
||||
## 25.1.1 - 2022-06-20
|
||||
|
|
@ -1120,7 +1337,7 @@ https://github.com/sitespeedio/sitespeed.io/pull/3715).
|
|||
* Updated Browsertime to [16.9.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1690---2022-06-15) with the following changes:
|
||||
* New `wait.byCondition` command. Thank you [Icecold777](https://github.com/Icecold777) for PR [#1803](https://github.com/sitespeedio/browsertime/pull/1803).
|
||||
* Collect number of CPU longtasks before largest contentful paint [#1806](https://github.com/sitespeedio/browsertime/pull/1806).
|
||||
* Instead of throwing errors and exit the tests if the page hasn't finished loading after 5 minutes, we now gracefully ends the test after 2 minutes (you can change that time with `--maxLoadTime`). That makes more sense than just throwing errors [#1810](https://github.com/sitespeedio/browsertime/pull/1810).
|
||||
* Instead of throwing errors and exit the tests if the page hasn't finished loading after 5 minutes, we now gracefully ends the test after 2 minutes (you can change that time with `--maxLoadTime`). That makes more sense than just throwing errors [#1810](https://github.com/sitespeedio/browsertime/pull/1810).
|
||||
|
||||
## 25.0.0 - 2022-06-10
|
||||
|
||||
|
|
@ -1151,7 +1368,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
* Updated to [Browsertime 16.7.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1670---2022-05-20) from 16.4.0. With the latest versions we get:
|
||||
* Use `--browsertime.videoParams.thumbsize` to set the max size of the filmstrip thumbnails.
|
||||
* Interaction to next paint is collected for browsers that supports it (useful for your user journeys)
|
||||
* The time when the last CPU long task happens is a new metric, thank you Andy Davies for that idea!
|
||||
* The time when the last CPU long task happens is a new metric, thank you Andy Davies for that idea!
|
||||
* You can now use groupAlias directly in a text file [#3655](https://github.com/sitespeedio/sitespeed.io/pull/3655). You can read how in the [updated documentation](https://www.sitespeed.io/documentation/sitespeed.io/configuration/#analyse-by-urls).
|
||||
* Added an option for using the full Graphite namespace when latest screenshots/video is stored for a test [#3660](https://github.com/sitespeedio/sitespeed.io/pull/3660).
|
||||
### Fixed
|
||||
|
|
@ -1200,7 +1417,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
* Updated base Docker image to use Ubuntu 22.04 [#3636](https://github.com/sitespeedio/sitespeed.io/pull/3636).
|
||||
|
||||
### Fixed
|
||||
* Updated dependencies: aws-sdk, cli-color, fs-extra, influx, junit-report-builder and tape [#3640](https://github.com/sitespeedio/sitespeed.io/pull/3640)
|
||||
* Updated dependencies: aws-sdk, cli-color, fs-extra, influx, junit-report-builder and tape [#3640](https://github.com/sitespeedio/sitespeed.io/pull/3640)
|
||||
|
||||
### Tech
|
||||
* Use Ava for unit testing [#3637](https://github.com/sitespeedio/sitespeed.io/pull/3637)
|
||||
|
|
@ -1220,7 +1437,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
|
||||
## 24.0.0 - 2022-04-06
|
||||
|
||||
### Changed
|
||||
### Changed
|
||||
* Upgraded to [Browsertime 16.0.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1600---2022-04-05) that changed how the DNS is flushed. You need to add `--flushDNS` to your conifguration to flush the DNS between runs.
|
||||
|
||||
### Added
|
||||
|
|
@ -1252,7 +1469,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
* The -slim Docker container now uses Firefox 98.
|
||||
* Updated Grafana to latest 8.4.3 in the Docker compose file.
|
||||
* Updated [Graphite dashboards](https://github.com/sitespeedio/grafana-bootstrap-docker/tree/main/dashboards/graphite) to use Timeseries graphs instead of old "Graph".
|
||||
* You can use `-o` or `--open` or `--view` to open the result page after you run sitespeed.io on Mac and Linux [#3569](https://github.com/sitespeedio/sitespeed.io/pull/3596).
|
||||
* You can use `-o` or `--open` or `--view` to open the result page after you run sitespeed.io on Mac and Linux [#3569](https://github.com/sitespeedio/sitespeed.io/pull/3596).
|
||||
* Open the result with `-o` on Linux using xdg-open [#3597](https://github.com/sitespeedio/sitespeed.io/pull/3597).
|
||||
|
||||
## 23.4.0 - 2022-03-09
|
||||
|
|
@ -1275,7 +1492,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
|
||||
## 23.1.0 - 2022-02-24
|
||||
### Added
|
||||
* Updated [Browsertime](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1510---2022-02-24) that collect timings from main document. The result includes a field named mainDocumentTimings and contains blocked, dns, connect, send, wait, receive, ssl as long as you get a HAR file from the browser.
|
||||
* Updated [Browsertime](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1510---2022-02-24) that collect timings from main document. The result includes a field named mainDocumentTimings and contains blocked, dns, connect, send, wait, receive, ssl as long as you get a HAR file from the browser.
|
||||
|
||||
* Show Browsertime version in runtime settings [#3575](https://github.com/sitespeedio/sitespeed.io/pull/3575).
|
||||
|
||||
|
|
@ -1283,7 +1500,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
* Updated Chromedriver dependency that fixes installation on Mac M1 and some send keys issues.
|
||||
## 23.0.1 - 2022-02-21
|
||||
### Fixed
|
||||
* Bumped to Browsertime 15.0.1 to make sure connectivity is set only once. In last release it was set in the beginning of the test and for eacch iteration. In practice that doesn't matter but it's very confusing if you check the logs.
|
||||
* Bumped to Browsertime 15.0.1 to make sure connectivity is set only once. In last release it was set in the beginning of the test and for eacch iteration. In practice that doesn't matter but it's very confusing if you check the logs.
|
||||
## 23.0.0 - 2022-02-21
|
||||
|
||||
### Breaking changes
|
||||
|
|
@ -1317,7 +1534,7 @@ In debug mode, the browser will pause after each iteration.
|
|||
* If you use the Lighthouse plugin there's breaking changes:
|
||||
|
||||
In the new version we drop support for the following:
|
||||
* Running multiple runs with Lighthouse.
|
||||
* Running multiple runs with Lighthouse.
|
||||
* Using scripts to login the user (or whatever you need before you run your tests)
|
||||
It's a couple of reasons why I remove those features:
|
||||
* I been looking for a maintainer of the Lighthouse plugin for +1 year and I haven't found one. For me to be able to maintain it I want the plugin to be as simple as possible.
|
||||
|
|
@ -1328,7 +1545,7 @@ With the new release we also break how you configure Lighthouse. People has had
|
|||
- By configuration JSON file. `--lighthouse.config config.js`
|
||||
- By Lightouse flags file. `--lighthouse.flags flag.json`
|
||||
|
||||
If you don't need to configure Lightouse you can use the default settings both for desktop and mobile. If you run without any settings, the plugin will use desktop settings. If you run with `--mobile`, `--android` or `--ios` the mobile settings will be used.
|
||||
If you don't need to configure Lightouse you can use the default settings both for desktop and mobile. If you run without any settings, the plugin will use desktop settings. If you run with `--mobile`, `--android` or `--ios` the mobile settings will be used.
|
||||
|
||||
### Added
|
||||
* Build Docker containers for both amd64 and arm64 to make containers work on Mac M1. The arm container contains Firefox and Chromium. Thank you [whichfinder](https://github.com/whichfinder) and [Radu Micu](https://github.com/radum) for the help! Fixed in PR [#3554](https://github.com/sitespeedio/sitespeed.io/pull/3554).
|
||||
|
|
@ -1359,7 +1576,7 @@ If you don't need to configure Lightouse you can use the default settings both f
|
|||
### Added
|
||||
* Updated to a new build of WebPageReplay in the Docker container
|
||||
* Updated the Ubuntu base image to latest version and latest NodeJS in the Docketr container.
|
||||
* Upgraded Browsertime [#3528](https://github.com/sitespeedio/sitespeed.io/pull/3528):
|
||||
* Upgraded Browsertime [#3528](https://github.com/sitespeedio/sitespeed.io/pull/3528):
|
||||
* Add support for Humble as connectivity engine for mobile phone testing. Make sure to setup Humble on a Raspberry Pi 4 and the choose engine with --connectivity.engine humble and set the URL to your instance --connectivity.humble.url http://raspberrypi.local:3000. Added in #1691.
|
||||
* Upgraded to Chrome 97 and Edge 97 in the Docker container.
|
||||
* Upgraded to Chromedriver 97.
|
||||
|
|
@ -1374,7 +1591,7 @@ If you don't need to configure Lightouse you can use the default settings both f
|
|||
## 21.2.2 - 2021-12-23
|
||||
### Fixed
|
||||
* Fix the error introduced in 21.2.0 for "Include page summary URL in the result JSON"
|
||||
[#3525](https://github.com/sitespeedio/sitespeed.io/pull/3525).
|
||||
[#3525](https://github.com/sitespeedio/sitespeed.io/pull/3525).
|
||||
|
||||
## 21.2.1 - 2021-12-22
|
||||
### Fixed
|
||||
|
|
@ -1417,7 +1634,7 @@ If you don't need to configure Lightouse you can use the default settings both f
|
|||
* Removed mentions aboout server push [#69](https://github.com/sitespeedio/coach-core/pull/69)
|
||||
* Added more information on how to debug CPU advice [#71](https://github.com/sitespeedio/coach-core/pull/71).
|
||||
|
||||
* Updated to sustainable plugin core code to [co2 0.8.0](https://github.com/thegreenwebfoundation/co2.js/blob/main/CHANGELOG.md#080---2021-11-28). This include a biug fix to the 1byte model that will lower your co2 score [#3519](https://github.com/sitespeedio/sitespeed.io/pull/3519).
|
||||
* Updated to sustainable plugin core code to [co2 0.8.0](https://github.com/thegreenwebfoundation/co2.js/blob/main/CHANGELOG.md#080---2021-11-28). This include a biug fix to the 1byte model that will lower your co2 score [#3519](https://github.com/sitespeedio/sitespeed.io/pull/3519).
|
||||
|
||||
### Added
|
||||
* Updated to [Browsertime 14.12.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#14120---2021-11-30) that fixes the [FF 94 HAR issue](https://github.com/sitespeedio/browsertime/issues/1671).
|
||||
|
|
@ -1480,7 +1697,7 @@ Note: Do your test fails with Firefox 94? See [Browsertime #1671](https://github
|
|||
* Add support for using cookies when crawling, thank you [dammg](https://github.com/dammg) for PR [#3472](https://github.com/sitespeedio/sitespeed.io/pull/3472).
|
||||
* [Browsertime 14.6.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1460---2021-10-13).
|
||||
* [Use alias in your budget file](https://www.sitespeed.io/documentation/sitespeed.io/performance-budget/#override-per-url-or-alias) [#3479](https://github.com/sitespeedio/sitespeed.io/pull/3479).
|
||||
* Support for using [User Timing API marks/measures in the budget file](https://www.sitespeed.io/documentation/sitespeed.io/performance-budget/#user-timing-api-metrics) [#3482](https://github.com/sitespeedio/sitespeed.io/pull/3482) and [#3483](https://github.com/sitespeedio/sitespeed.io/pull/3483).
|
||||
* Support for using [User Timing API marks/measures in the budget file](https://www.sitespeed.io/documentation/sitespeed.io/performance-budget/#user-timing-api-metrics) [#3482](https://github.com/sitespeedio/sitespeed.io/pull/3482) and [#3483](https://github.com/sitespeedio/sitespeed.io/pull/3483).
|
||||
* Support for [using custom metrics from scripting in your budget](https://www.sitespeed.io/documentation/sitespeed.io/performance-budget/#metrics-from-scripting) [#3484](https://github.com/sitespeedio/sitespeed.io/pull/3484) and [#3486](https://github.com/sitespeedio/sitespeed.io/pull/3486).
|
||||
|
||||
### Fixed
|
||||
|
|
@ -1491,7 +1708,7 @@ Note: Do your test fails with Firefox 94? See [Browsertime #1671](https://github
|
|||
* Use Firefox 93 in the Docker and the Docker slim container [#3471](https://github.com/sitespeedio/sitespeed.io/pull/3471).
|
||||
## 20.0.0 - 2021-09-30
|
||||
|
||||
Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
||||
Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
||||
### Breaking changes
|
||||
* Before you update to the new version: If you save your metrics to Graphite, have you upgraded those metrics to the new format as introduced in sitespeed.io the **15/4-2021**? If not, please follow the [guide](https://www.sitespeed.io/documentation/sitespeed.io/graphite/#upgrade-to-use-the-test-slug-in-the-namespace) in the documentation. If you haven't done that and still upgrade to sitespeed.io 20 you need to make sure you add `--graphite.addSlugToKey false` to your test else the metrics will be reported under a new key structure. The change was done in [#3434](https://github.com/sitespeedio/sitespeed.io/pull/3434).
|
||||
* Set [throttle](https://github.com/sitespeedio/throttle) as default connectivity engine if you use Mac or Linux [#3433](https://github.com/sitespeedio/sitespeed.io/pull/3433). This makes it much easier to enable throttling. Our Docker container is not affected by this change.
|
||||
|
|
@ -1536,7 +1753,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
* Upgraded to [Browsertime 14.0.3](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1403---2021-08-31).
|
||||
## 19.2.0 - 2021-08-27
|
||||
### Added
|
||||
* Upgraded to AXE core 4.3.2 [#3441](https://github.com/sitespeedio/sitespeed.io/pull/3441).
|
||||
* Upgraded to AXE core 4.3.2 [#3441](https://github.com/sitespeedio/sitespeed.io/pull/3441).
|
||||
* Added stddev/median/mean to the metrics side by side page [#3443](https://github.com/sitespeedio/sitespeed.io/pull/3443).
|
||||
* Added a generic text that we miss out of many metrics for Safari at the moment [#3442](https://github.com/sitespeedio/sitespeed.io/pull/3442).
|
||||
* Add option to add friendly name to junit test cases. Use `--budget.friendlyName` to set that. Thank you [Vishal](https://github.com/vishallanke) for the request. Done in PR [#3448](https://github.com/sitespeedio/sitespeed.io/pull/3448).
|
||||
|
|
@ -1557,7 +1774,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
|
||||
### Added
|
||||
* Updated to Edge 92 and Edgedriver 92 in the Docker container.
|
||||
* Updated to Firefox 92 beta in the Docker container to fix the [devtools slowness bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1712983) that was inroduced in Firefox 90.
|
||||
* Updated to Firefox 92 beta in the Docker container to fix the [devtools slowness bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1712983) that was inroduced in Firefox 90.
|
||||
|
||||
## 18.0.1 - 2021-07-29
|
||||
### Fixed
|
||||
|
|
@ -1601,7 +1818,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
* Keep selected tab open across runs. Thank you [Tanishq](https://github.com/amtanq) for PR [#3409](https://github.com/sitespeedio/sitespeed.io/pull/3409).
|
||||
* Update Docker container to use NodeJS 14.7.1.
|
||||
* Upgraded to [Browsertime 12.9.3](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1293---2021-06-24).
|
||||
* Updated [Coach-core](https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#641---2021-06-23): Use all headers for Wappalyzer (before only the main document was used)
|
||||
* Updated [Coach-core](https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#641---2021-06-23): Use all headers for Wappalyzer (before only the main document was used)
|
||||
|
||||
## 17.8.1 - 2021-06-10
|
||||
### Fixed
|
||||
|
|
@ -1612,7 +1829,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
### Added
|
||||
* New [Browsertime 12.9.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1290---2021-06-04) that updates Cumulative Layout Shift to the [new defintion](https://web.dev/evolving-cls/).
|
||||
|
||||
### Fixed
|
||||
### Fixed
|
||||
* Guard if you try to run Safari simulator in Docker [#3405](https://github.com/sitespeedio/sitespeed.io/pull/3405)
|
||||
|
||||
## 17.7.0 - 2021-06-03
|
||||
|
|
@ -1631,7 +1848,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
|
||||
## 17.6.0 - 3
|
||||
|
||||
### Added
|
||||
### Added
|
||||
* Updated to [Browsertime 12.7.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1270---2021-05-26) that fixes the problem with the broken CPU throttling in Chrome.
|
||||
* Chrome and Chromedriver 91. Edge 90 (Eddge 91 coming later this week) in the Docker container
|
||||
|
||||
|
|
@ -1643,7 +1860,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
* Updated dashboards to in the Docker setup.
|
||||
|
||||
### Fixed
|
||||
* New Browsertime [12.6.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1261---2021-05-21) that fixes a bug when you use a equals sign in the value field in a cookie.
|
||||
* New Browsertime [12.6.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1261---2021-05-21) that fixes a bug when you use a equals sign in the value field in a cookie.
|
||||
* Updated dependencies with install warnings [#3387](https://github.com/sitespeedio/sitespeed.io/pull/3387),
|
||||
|
||||
## 17.4.0 - 2021-05-14
|
||||
|
|
@ -1669,7 +1886,7 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
* [Fix test running without connectivity settings](https://github.com/sitespeedio/sitespeed.io/commit/3ac3c2ab6885689b6689c6f2974ae7c256be9faf).
|
||||
|
||||
## 17.2.0 - 2021-04-27
|
||||
### Added
|
||||
### Added
|
||||
* Show runtime settings in the HTML [#3359](https://github.com/sitespeedio/sitespeed.io/pull/3359). This makes it easier to see what settings are used. We gonna iterate and add more settings later.
|
||||
|
||||
* Upgraded to [Browsertime 12.2.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1220---2021-04-27).
|
||||
|
|
@ -1684,13 +1901,13 @@ Please read the [20.0 blog post](https://www.sitespeed.io/sitespeed.io-20.0/)!
|
|||
## 17.0.1 - 2021-04-17
|
||||
### Fixed
|
||||
* Updated Browsertime to 12.0.1 that fixes the problem with Chrome/Chromedriver 90 that introduced longer time to close the browser than earlier versions, so when trying the next run, the previous browser is not closed, fixed by adding a 2 second sleep time when closing the browser.
|
||||
## 17.0.0 - 2021-04-15
|
||||
## 17.0.0 - 2021-04-15
|
||||
Woohoo we shipped 17.0.0! There are many changes and you should read through the full changelog and focus on the new best practise section and breaking changes.
|
||||
### New best practices
|
||||
One of the new things in 17 is the support for one extra key in Graphite: the name of the test. Set a computer friendly name of your test by using `--slug`. Then use the slug in the graphite key by adding `--graphite.addSlugToKey` to your run. When you do that change, should also convert your graphite data and your dashboards. The plan is like this:
|
||||
* In April 2021 you can convert your data and use the slug. You need to add `--graphite.addSlugToKey true` else you will get a log warning that you miss the slug for your test. All default dashboards in sitespeed.io will use the slug, so to use them you should add that new key and convert your data.
|
||||
* In September 2021 `--graphite.addSlugToKey true` will be set to default, meaning if you haven't upgraded your Graphite data yet, you need to set `--graphite.addSlugToKey false` to be able to run as before.
|
||||
* In November 2021 the CLI functionality will disappear and you need upgrade your Graphite metrics when you upgrade sitespeed.io.
|
||||
* In November 2021 the CLI functionality will disappear and you need upgrade your Graphite metrics when you upgrade sitespeed.io.
|
||||
|
||||
You can read how to upgrade in the [documentation](https://www.sitespeed.io/documentation/sitespeed.io/graphite/#upgrade-to-use-the-test-slug-in-the-namespace).
|
||||
|
||||
|
|
@ -1732,9 +1949,9 @@ Lets continue with all the changes.
|
|||
* New metrics: Delta between TTFB and First Contentful Paint, Largest Contentful paint and First visual change [#1528](https://github.com/sitespeedio/browsertime/pull/1528). You can use this if you have unstable TTFB and want to alert on front end metrics. Lets see when other also implement this :)
|
||||
* Made it easier for people to get Google Web Vitals. We copy that data under the googleWebVitals namespace in the result JSON [#1521](https://github.com/sitespeedio/browsertime/pull/1521).
|
||||
* Added TTFB as a single metric [#1522](https://github.com/sitespeedio/browsertime/pull/1522).
|
||||
* New stop watch command [#1512](https://github.com/sitespeedio/browsertime/pull/1512). Measure time by:
|
||||
```const timer = commands.stopWatch.get('my_timer');
|
||||
timer.start();
|
||||
* New stop watch command [#1512](https://github.com/sitespeedio/browsertime/pull/1512). Measure time by:
|
||||
```const timer = commands.stopWatch.get('my_timer');
|
||||
timer.start();
|
||||
// Do something
|
||||
// Stop the timer and add the result to the last tested URL
|
||||
timer.stopAndAdd();
|
||||
|
|
@ -1846,9 +2063,9 @@ There's a couple of new functionality that will have documentation in a week or
|
|||
* New plugin to copy screenshots [#3243](https://github.com/sitespeedio/sitespeed.io/pull/3243) and videos [#3248](https://github.com/sitespeedio/sitespeed.io/pull/3248) as latest for that run.
|
||||
* Upload latest screenshots/videos to S3 [#3246](https://github.com/sitespeedio/sitespeed.io/pull/3246).
|
||||
### Fixed
|
||||
* The HTML links to pages when using alias in a text file was broken as reported in [#3244](https://github.com/sitespeedio/sitespeed.io/issues/3244), fixed in PR [#3245](https://github.com/sitespeedio/sitespeed.io/pull/3245).
|
||||
* The HTML links to pages when using alias in a text file was broken as reported in [#3244](https://github.com/sitespeedio/sitespeed.io/issues/3244), fixed in PR [#3245](https://github.com/sitespeedio/sitespeed.io/pull/3245).
|
||||
## 16.2.1 - 2021-01-06
|
||||
### Fixed
|
||||
### Fixed
|
||||
* The new `--graphite.annotationRetentionMinutes` formatted the annotation date wrong, fixed in [#3238](https://github.com/sitespeedio/sitespeed.io/pull/3238).
|
||||
## 16.2.0 - 2021-01-06
|
||||
### Fixed
|
||||
|
|
@ -1903,7 +2120,7 @@ There's a couple of new functionality that will have documentation in a week or
|
|||
* Fully use the third-party-web to know about third parties instead of home grown solution.
|
||||
* Testing for JQuery removed the $ reference on the page [#22](https://github.com/sitespeedio/coach-core/pull/22).
|
||||
* Updated to [Browsertime 11](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1100---2020-12-18):
|
||||
* Record and keep the browser full screen (including URL bar) [#1435](https://github.com/sitespeedio/browsertime/pull/1435). All metrics should stay the same with this change but the video and the code will be easier :) When we implemented video a long time ago we wanted to cut out the URL bar but it made it harder to keep the video to look ok on different OS.
|
||||
* Record and keep the browser full screen (including URL bar) [#1435](https://github.com/sitespeedio/browsertime/pull/1435). All metrics should stay the same with this change but the video and the code will be easier :) When we implemented video a long time ago we wanted to cut out the URL bar but it made it harder to keep the video to look ok on different OS.
|
||||
* Say goodbye to RUM Speed Index [#1439](https://github.com/sitespeedio/browsertime/pull/1439).
|
||||
* Domain name on disk now uses underscore instead of dots in the name [#1445](https://github.com/sitespeedio/browsertime/pull/1445).
|
||||
* Click the Android power button at the start of each test (instead of the home button [#1447](https://github.com/sitespeedio/browsertime/pull/1447).
|
||||
|
|
@ -1935,11 +2152,11 @@ There's a couple of new functionality that will have documentation in a week or
|
|||
* Added latest Browsertime [10.9.0](https://github.com/sitespeedio/browsertime/releases/tag/v10.9.0) with fixes for Firefox.
|
||||
|
||||
## 15.8.0 - 2020-11-17
|
||||
### Added
|
||||
### Added
|
||||
* Updated to Firefox 83 in the Docker container.
|
||||
## 15.7.4 - 2020-11-16
|
||||
### Fixed
|
||||
* Upgraded Browsertime that reverted Geckodriver to 0.27.0 since there are problems starting Firefox on Android using 0.28.0.
|
||||
* Upgraded Browsertime that reverted Geckodriver to 0.27.0 since there are problems starting Firefox on Android using 0.28.0.
|
||||
## 15.7.3 - 2020-11-11
|
||||
### Fixed
|
||||
* Upgraded to Browsertime 10.6.5 with a new version of Geckodriver for Firefox.
|
||||
|
|
@ -1984,9 +2201,9 @@ There's a couple of new functionality that will have documentation in a week or
|
|||
### Fixed
|
||||
* Updated to Browsertime 10.6.1.
|
||||
* Fixed dependencies with security audits that could be automatically fixed.
|
||||
|
||||
|
||||
## 15.6.0 - 2020-10-20
|
||||
### Added
|
||||
### Added
|
||||
* Updated to Firefox 82 in the Docker container.
|
||||
* Updated to [Browsertime 10.6.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#1060---2020-10-20).
|
||||
|
||||
|
|
@ -2039,7 +2256,7 @@ The new sitespeed.io 15.0 uses the brand new Browsertime 10! Browsertime mainly
|
|||
|
||||
## 14.4.0 - 2020-08-27
|
||||
### Added
|
||||
* Updated the Docker container to use Chrome 85 and Firefox 80. Updated the slim container to use Firefox 80.
|
||||
* Updated the Docker container to use Chrome 85 and Firefox 80. Updated the slim container to use Firefox 80.
|
||||
* Updated to Browsertime 9.4.0 that includes Chromedriver 85.
|
||||
|
||||
### Fixed
|
||||
|
|
@ -2047,7 +2264,7 @@ The new sitespeed.io 15.0 uses the brand new Browsertime 10! Browsertime mainly
|
|||
|
||||
## 14.3.2 - 2020-08-24
|
||||
### Fixed
|
||||
* Upgraded to [Browsertime 9.3.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#931---2020-08-24) that fixes a bug so that correct mobile emulation settings is set on Chrome, updated Throttle to 2.0.1 and update a couple of other packages.
|
||||
* Upgraded to [Browsertime 9.3.1](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#931---2020-08-24) that fixes a bug so that correct mobile emulation settings is set on Chrome, updated Throttle to 2.0.1 and update a couple of other packages.
|
||||
|
||||
## 14.3.1 - 2020-08-24
|
||||
### Fixed
|
||||
|
|
@ -2102,10 +2319,10 @@ There are five important new things in the new release:
|
|||
### Breaking changes
|
||||
* If you use the JSON directly from Browsertime, the screenshot data is now an array instead of a string since you can have multiple screenshots in one run. If you use sitespeed.io directly you will not be affected by the change.
|
||||
|
||||
* The experimental flag for perIteration metric for Graphite [#3069](https://github.com/sitespeedio/sitespeed.io/pull/3069) has been removed. If you want to send per iteration data to Graphite use ```--graphite.perIteration```.
|
||||
* The experimental flag for perIteration metric for Graphite [#3069](https://github.com/sitespeedio/sitespeed.io/pull/3069) has been removed. If you want to send per iteration data to Graphite use ```--graphite.perIteration```.
|
||||
|
||||
### Added
|
||||
* All dashboards for Graphite has been updated to use Grafana 7.0.0 with a new look and feel.
|
||||
* All dashboards for Graphite has been updated to use Grafana 7.0.0 with a new look and feel.
|
||||
* Show all screenshots for a run in a tab [#3045](https://github.com/sitespeedio/sitespeed.io/pull/3045).
|
||||
* Updated to [Browsertime 9.0.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#900----2020-06-26).
|
||||
* There's a Chrome User Experience Report plugin bundled in sitespeed.io! Get the CrUx data using ```--crux.key``` and get your key from Google.
|
||||
|
|
@ -2138,7 +2355,7 @@ There are five important new things in the new release:
|
|||
|
||||
## 13.1.1 - 2020-05-29
|
||||
### Fixed
|
||||
* Exit with sitespeed.io exit code when you run WebPageReplay in the Docker container [#3017](https://github.com/sitespeedio/sitespeed.io/pull/3017).
|
||||
* Exit with sitespeed.io exit code when you run WebPageReplay in the Docker container [#3017](https://github.com/sitespeedio/sitespeed.io/pull/3017).
|
||||
|
||||
## 13.1.0 - 2020-05-28
|
||||
### Added
|
||||
|
|
@ -2171,7 +2388,7 @@ There are five important new things in the new release:
|
|||
* Better guards for missing WebPageTest first view data [#3002](https://github.com/sitespeedio/sitespeed.io/pull/3002)
|
||||
* If you used the old budget format, limits and values wasn't written in the HTML and in the log [#3009](https://github.com/sitespeedio/sitespeed.io/pull/3009).
|
||||
|
||||
### Tech
|
||||
### Tech
|
||||
* Continous work to move out CLI options to respective plugin by [Erick Wilder](https://github.com/erickwilder), thank you!
|
||||
|
||||
## 12.11.0 - 2020-05-16
|
||||
|
|
@ -2272,7 +2489,7 @@ Some time ago we got [a tweet](https://twitter.com/robnavrey/status/125806312524
|
|||
* Send load time for LCP to Graphite/Influx so you can choose between render/start time and use max value in the HTML [#2940](https://github.com/sitespeedio/sitespeed.io/pull/2940).
|
||||
|
||||
## 12.2.3 - 2020-03-20
|
||||
### Fixed
|
||||
### Fixed
|
||||
* Remove videoRecordingStart from the summary [#2935](https://github.com/sitespeedio/sitespeed.io/pull/2935).
|
||||
* Show CPU geckorprofile link only when you run Firefox [#2931](https://github.com/sitespeedio/sitespeed.io/pull/2931).
|
||||
* Upgraded to [Browsertime 8.3.0](https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#830---2020-03-20).
|
||||
|
|
@ -2398,7 +2615,7 @@ Read about Browsertime 8.0 and sitespeed.io 12.0 in [the blog post](https://www.
|
|||
* Collect number of DOM elements as a part of the page info for each run [#1000](https://github.com/sitespeedio/browsertime/pull/1000).
|
||||
* Configure how often to check for the pageCompleteCheck. Default is every 200 ms, and it happens after the load event end (using the default pageLoadStrategy). Set it with `--browsertime.pageCompleteCheckPollTimeout`(value in ms) [#998](https://github.com/sitespeedio/browsertime/pull/998).
|
||||
* Added missing pageLoadStrategy option in the CLI. The option worked but no visible cli help for it [#1001](https://github.com/sitespeedio/browsertime/pull/1001).
|
||||
* Do not load the Browsertime WebExtention for Chrome (it is not used anymore) and make it possible for Firefox to disable to use it with `--browsertime.firefox.disableBrowsertimeExtension`.
|
||||
* Do not load the Browsertime WebExtention for Chrome (it is not used anymore) and make it possible for Firefox to disable to use it with `--browsertime.firefox.disableBrowsertimeExtension`.
|
||||
* Added configurable settle time for the browser to rest after the browser is open and before the tests starts to run. Use `--browsertime.timeToSettle` in ms [#1003](https://github.com/sitespeedio/browsertime/pull/1003).
|
||||
* Calculate FID instead of just report it [#1005](https://github.com/sitespeedio/browsertime/pull/1005)
|
||||
* You can now run ADB shell directly from your user script [#1007](https://github.com/sitespeedio/browsertime/pull/1007). Use `commands.android.shell('')`.
|
||||
|
|
@ -2420,7 +2637,7 @@ Read about Browsertime 8.0 and sitespeed.io 12.0 in [the blog post](https://www.
|
|||
## 11.3.0 - 2019-11-22
|
||||
### Added
|
||||
* Added the sitespeed.io version and browser version in the title of the annotation tag of Graphite and Grafana [#2791](https://github.com/sitespeedio/sitespeed.io/pull/2791), [#2792](https://github.com/sitespeedio/sitespeed.io/pull/2792) and [#2793](https://github.com/sitespeedio/sitespeed.io/pull/2793).
|
||||
* Updated to Browsertime 7.2.2:
|
||||
* Updated to Browsertime 7.2.2:
|
||||
* There was a bug introduced in 7.0.0 that made navigation fail on Safari [#997](https://github.com/sitespeedio/browsertime/pull/997).
|
||||
* Get phone and Android version from the phone [#991](https://github.com/sitespeedio/browsertime/pull/991).
|
||||
* Take care of the case when a page overwrites the document.URL [#992](https://github.com/sitespeedio/browsertime/pull/992).
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
FROM sitespeedio/webbrowsers:chrome-133.0-firefox-135.0-edge-132.0
|
||||
FROM sitespeedio/webbrowsers:chrome-143.0-firefox-146.0-edge-143.0
|
||||
|
||||
ARG TARGETPLATFORM=linux/amd64
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ WORKDIR /usr/src/app
|
|||
COPY package.json /usr/src/app/
|
||||
COPY npm-shrinkwrap.json /usr/src/app/
|
||||
COPY tools/postinstall.js /usr/src/app/tools/postinstall.js
|
||||
RUN npm install --production && npm cache clean --force
|
||||
RUN npm install --production && npm cache clean --force
|
||||
|
||||
COPY ./bin/ /usr/src/app/bin/
|
||||
COPY ./lib/ /usr/src/app/lib/
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
FROM node:22.13.0-bookworm-slim
|
||||
FROM node:24.11.0-bookworm-slim
|
||||
|
||||
ARG TARGETPLATFORM=linux/amd64
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ RUN echo "deb http://deb.debian.org/debian/ unstable main contrib non-free" >> /
|
|||
apt-get install -y --no-install-recommends firefox tcpdump iproute2 ca-certificates sudo --no-install-recommends --no-install-suggests && \
|
||||
# Cleanup
|
||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||
|
||||
# Install sitespeed.io
|
||||
RUN mkdir -p /usr/src/app
|
||||
|
|
|
|||
11
HELP.md
11
HELP.md
|
|
@ -2,7 +2,7 @@
|
|||
We want to make sitespeed.io one of the best web performance tool in the world and we hope you can help us!
|
||||
|
||||
## Developers
|
||||
We love to have more people involved in improving sitespeed.io. We are constantly working on adding more documentation and trying to write more information in the issues so its easier to help out. If there's an [issue](https://github.com/sitespeedio/sitespeed.io/issues) that you want to take on, ping the the issue and we can help you get started. You can also [join our Slack channel](https://join.slack.com/t/sitespeedio/shared_invite/zt-296jzr7qs-d6DId2KpEnMPJSQ8_R~WFw) if you need help!
|
||||
We love to have more people involved in improving sitespeed.io. We are constantly working on adding more documentation and trying to write more information in the issues so its easier to help out. If there's an [issue](https://github.com/sitespeedio/sitespeed.io/issues) that you want to take on, ping the the issue and we can help you get started. You can also [join our Slack channel](https://join.slack.com/t/sitespeedio/shared_invite/zt-296jzr7qs-d6DId2KpEnMPJSQ8_R~WFw) if you need help! You can start by reading the [developer documentation](https://www.sitespeed.io/documentation/sitespeed.io/developers/).
|
||||
|
||||
## Designers
|
||||
As a designer there's a lot you can do: You can help us improve the HTML result pages. Maybe we should restructure the metrics ? Or could the header/footer look better? You could also have look at [https://www.sitespeed.io](https://www.sitespeed.io/) where we have all the documentation. You can pretty much help us with everything, no one in the core team got design skills :)
|
||||
|
|
@ -10,13 +10,6 @@ As a designer there's a lot you can do: You can help us improve the HTML result
|
|||
## Documentation
|
||||
Documentation is fun and it is the core of making sitespeed.io easy to use. We got a [special documentation tag for issues](https://github.com/sitespeedio/sitespeed.io/issues?q=is%3Aissue+is%3Aopen+label%3Adocumentation) that you can use to find where we know we lack documentation. Fixing spelling mistakes is great. Or rewrite parts that you think is too complicated. You can find what you need to send a PR to the documentation [here](https://github.com/sitespeedio/sitespeed.io/tree/main/docs).
|
||||
|
||||
## Tests
|
||||
We lack unit tests. You can read about [our testing pipeline](https://www.sitespeed.io/releasing-with-confidence/) that works good for us but more unit tests are always good. A good start is adding support for the code in the [support library](https://github.com/sitespeedio/sitespeed.io/tree/main/lib/support).
|
||||
|
||||
|
||||
## Companies
|
||||
Do you use sitespeed.io in your everyday work? Then we have a perfect proposition for you! Have a hack day with focus on sitespeed.io for your team and contribute back. Pick one the things in the **Help wanted** section or make your plugin Open Source and tell us about it. Or maybe there's a something you think is missing? Create it. Contribute back.
|
||||
|
||||
# Help wanted
|
||||
You can help us:
|
||||
* Help us improve the documentation. We love your feedback and help [https://github.com/sitespeedio/sitespeed.io/tree/main/docs](https://github.com/sitespeedio/sitespeed.io/tree/main/docs).
|
||||
Do you use sitespeed.io in your everyday work? Then go to the [sponsor page](https://www.sitespeed.io/sponsor/).
|
||||
2
LICENSE
2
LICENSE
|
|
@ -1,6 +1,6 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2012-2025 Peter Hedenskog
|
||||
Copyright (c) 2012-2026 Peter Hedenskog
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ With these insights, you can make informed decisions about optimizations and tra
|
|||
|
||||
### Video Performance Analysis
|
||||
|
||||
For visual feedback, `sitespeed.io` can generate videos, making it easier to see how your site loads in real-time. Here's an sample video:
|
||||
For visual feedback, `sitespeed.io` can generate videos, making it easier to see how your site loads in real-time. Here's a sample video:
|
||||
|
||||

|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ RUN npm --version
|
|||
|
||||
RUN npm install @sitespeed.io/plugin-lighthouse -g --production
|
||||
RUN npm install @sitespeed.io/plugin-gpsi -g --production
|
||||
RUN npm install @sitespeed.io/plugin-influxdb -g --production
|
||||
|
||||
VOLUME /sitespeed.io
|
||||
WORKDIR /sitespeed.io
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
version: '3'
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana:11.0.0
|
||||
image: grafana/grafana:12.2.0
|
||||
hostname: grafana
|
||||
depends_on:
|
||||
- graphite
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,31 +1,50 @@
|
|||
#!/bin/bash
|
||||
|
||||
firefox --version
|
||||
firefox --version 2>/dev/null
|
||||
|
||||
SITESPEEDIO=/usr/src/app/bin/sitespeed.js
|
||||
|
||||
MAX_OLD_SPACE_SIZE="${MAX_OLD_SPACE_SIZE:-2048}"
|
||||
|
||||
WORKDIR_UID=$(stat -c "%u" .)
|
||||
WORKDIR_GID=$(stat -c "%g" .)
|
||||
# write files owned by the user who runs the container
|
||||
# if your volume is mounted at /sitespeed.io, use it as CWD
|
||||
[[ -d /sitespeed.io && "$PWD" = "/" ]] && cd /sitespeed.io
|
||||
|
||||
# Create user with the same UID and GID as the owner of the working directory, which will be used
|
||||
# to execute node. This is partly for security and partly so output files won't be owned by root.
|
||||
groupadd --non-unique --gid $WORKDIR_GID sitespeedio
|
||||
useradd --non-unique --uid $WORKDIR_UID --gid $WORKDIR_GID --home-dir /tmp sitespeedio
|
||||
uid=$(stat -c '%u' . 2>/dev/null || echo 0)
|
||||
gid=$(stat -c '%g' . 2>/dev/null || echo 0)
|
||||
|
||||
if [[ "$uid" -ne 0 && "$gid" -ne 0 ]]; then
|
||||
if ! getent group "$gid" >/dev/null 2>&1; then
|
||||
groupadd -g "$gid" sitespeedio-host 2>/dev/null || true
|
||||
fi
|
||||
if ! getent passwd "$uid" >/dev/null 2>&1; then
|
||||
useradd -u "$uid" -g "$gid" -M -d /tmp -s /bin/bash sitespeedio-host 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
|
||||
run_as_host() {
|
||||
if [[ "$uid" -ne 0 && "$gid" -ne 0 ]]; then
|
||||
HOME=/tmp chroot --skip-chdir --userspec="+${uid}:+${gid}" / "$@"
|
||||
else
|
||||
HOME=/tmp "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
function execNode(){
|
||||
run_as_host node "$@"
|
||||
}
|
||||
|
||||
# Need to explictly override the HOME directory to prevent dconf errors like:
|
||||
# (firefox:2003): dconf-CRITICAL **: 00:31:23.379: unable to create directory '/root/.cache/dconf': Permission denied. dconf will not work properly.
|
||||
export HOME=/tmp
|
||||
|
||||
|
||||
# Inspired by docker-selenium way of shutting down
|
||||
function shutdown {
|
||||
kill -s SIGTERM ${PID}
|
||||
wait $PID
|
||||
}
|
||||
|
||||
chroot --skip-chdir --userspec='sitespeedio:sitespeedio' / node --max-old-space-size=$MAX_OLD_SPACE_SIZE $SITESPEEDIO "$@" &
|
||||
execNode --max-old-space-size=$MAX_OLD_SPACE_SIZE $SITESPEEDIO "$@" &
|
||||
|
||||
PID=$!
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,30 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
set -e
|
||||
|
||||
# write files owned by the user who runs the container
|
||||
# if your volume is mounted at /sitespeed.io, use it as CWD
|
||||
[[ -d /sitespeed.io && "$PWD" = "/" ]] && cd /sitespeed.io
|
||||
|
||||
uid=$(stat -c '%u' . 2>/dev/null || echo 0)
|
||||
gid=$(stat -c '%g' . 2>/dev/null || echo 0)
|
||||
|
||||
if [[ "$uid" -ne 0 && "$gid" -ne 0 ]]; then
|
||||
if ! getent group "$gid" >/dev/null 2>&1; then
|
||||
groupadd -g "$gid" sitespeedio-host 2>/dev/null || true
|
||||
fi
|
||||
if ! getent passwd "$uid" >/dev/null 2>&1; then
|
||||
useradd -u "$uid" -g "$gid" -M -d /tmp -s /bin/bash sitespeedio-host 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
|
||||
run_as_host() {
|
||||
if [[ "$uid" -ne 0 && "$gid" -ne 0 ]]; then
|
||||
HOME=/tmp chroot --skip-chdir --userspec="+${uid}:+${gid}" / "$@"
|
||||
else
|
||||
HOME=/tmp "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# All browsers do not exist in all architectures.
|
||||
if [[ `which google-chrome` ]]; then
|
||||
google-chrome --version
|
||||
|
|
@ -8,7 +33,7 @@ elif [[ `which chromium-browser` ]]; then
|
|||
fi
|
||||
|
||||
if [[ `which firefox` ]]; then
|
||||
firefox --version
|
||||
firefox --version 2>/dev/null
|
||||
fi
|
||||
|
||||
if [[ `which microsoft-edge` ]]; then
|
||||
|
|
@ -40,20 +65,12 @@ else
|
|||
WPR_HTTPS_PORT=${WPR_HTTPS_PORT:-443}
|
||||
fi
|
||||
|
||||
WORKDIR_UID=$(stat -c "%u" .)
|
||||
WORKDIR_GID=$(stat -c "%g" .)
|
||||
|
||||
# Create user with the same UID and GID as the owner of the working directory, which will be used
|
||||
# to execute node. This is partly for security and partly so output files won't be owned by root.
|
||||
groupadd --non-unique --gid $WORKDIR_GID sitespeedio
|
||||
useradd --non-unique --uid $WORKDIR_UID --gid $WORKDIR_GID --home-dir /tmp sitespeedio
|
||||
|
||||
# Need to explictly override the HOME directory to prevent dconf errors like:
|
||||
# (firefox:2003): dconf-CRITICAL **: 00:31:23.379: unable to create directory '/root/.cache/dconf': Permission denied. dconf will not work properly.
|
||||
export HOME=/tmp
|
||||
|
||||
function execNode(){
|
||||
chroot --skip-chdir --userspec='sitespeedio:sitespeedio' / node "$@"
|
||||
run_as_host node "$@"
|
||||
}
|
||||
|
||||
# If we run Chrome on Android, we need to start the ADB server
|
||||
|
|
@ -111,7 +128,7 @@ function runWebPageReplay() {
|
|||
execNode --max-old-space-size=$MAX_OLD_SPACE_SIZE $SITESPEEDIO --browsertime.firefox.preference security.OCSP.enabled:0 --browsertime.firefox.acceptInsecureCerts true --browsertime.firefox.preference network.dns.forceResolve:127.0.0.1 --browsertime.chrome.webPageReplayHostResolver --browsertime.chrome.webPageReplayHTTPPort $WPR_HTTP_PORT --browsertime.chrome.webPageReplayHTTPSPort $WPR_HTTPS_PORT --browsertime.connectivity.engine throttle --browsertime.connectivity.throttle.localhost --replay --browsertime.connectivity.profile custom --browsertime.connectivity.rtt $LATENCY "$@" &
|
||||
|
||||
PID=$!
|
||||
|
||||
|
||||
trap shutdown SIGTERM SIGINT
|
||||
wait $PID
|
||||
EXIT_STATUS=$?
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
source "https://rubygems.org"
|
||||
gem 'github-pages', group: :jekyll_plugins
|
||||
ruby '3.0.0'
|
||||
ruby '~> 3.0.0'
|
||||
|
|
|
|||
|
|
@ -2,4 +2,4 @@
|
|||
* * *
|
||||
|
||||
|
||||
Join the effort to make Sitespeed.io even better! Whether you're a developer, writer, or UX expert, there are many ways you can contribute to the improvement of our tool. Check out our [help section](https://github.com/sitespeedio/sitespeed.io/blob/main/HELP.md) and [full issue list](https://github.com/sitespeedio/sitespeed.io/issues) for opportunities to get involved. And a big thank you to [all those]((https://github.com/sitespeedio/sitespeed.io/blob/main/CONTRIBUTORS.md)) who have already made contributions through pull requests or ideas. Your support is greatly appreciated.
|
||||
Join the effort to make Sitespeed.io even better! Whether you're a developer, writer, or UX expert, there are many ways you can contribute to the improvement of our tool. Check out our [help section](https://github.com/sitespeedio/sitespeed.io/blob/main/HELP.md) and [full issue list](https://github.com/sitespeedio/sitespeed.io/issues) for opportunities to get involved. And a big thank you to [all those](https://github.com/sitespeedio/sitespeed.io/blob/main/CONTRIBUTORS.md) who have already made contributions through pull requests or ideas. Your support is greatly appreciated.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
24.2.0
|
||||
26.3.1
|
||||
|
|
@ -1 +1 @@
|
|||
8.1.1
|
||||
8.1.3
|
||||
|
|
@ -1 +1 @@
|
|||
1.6.3
|
||||
1.7.1
|
||||
|
|
@ -1 +1 @@
|
|||
36.3.0
|
||||
39.3.1
|
||||
|
|
@ -1 +1 @@
|
|||
1.1.0
|
||||
1.2.0
|
||||
|
|
@ -41,7 +41,7 @@ layout: compress
|
|||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{site.baseurl}}/img/ico/sitespeed.io-72.png">
|
||||
<link rel="apple-touch-icon-precomposed" href="{{site.baseurl}}/img/ico/sitespeed.io-57.png">
|
||||
<link rel="shortcut icon" href="{{site.baseurl}}/img/ico/sitespeed.io.ico">
|
||||
<link type="application/atom+xml" href="https://www.sitespeed.io/feed/index.xml" rel="alternate" />
|
||||
<link type="application/atom+xml" href="https://www.sitespeed.io/feed/blog.xml" rel="alternate" />
|
||||
|
||||
<style>
|
||||
{% include css/default.css %}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,8 @@ android
|
|||
--android.pretestPowerPress, --androidPretestPowerPress Press the power button on the phone before a test starts. [boolean] [default: false]
|
||||
--android.pretestPressHomeButton, --androidPretestPressHomeButton Press the home button on the phone before a test starts. [boolean] [default: false]
|
||||
--android.verifyNetwork, --androidVerifyNetwork Before a test start, verify that the device has a Internet connection by pinging 8.8.8.8 (or a configurable domain with --androidPingAddress) [boolean] [default: false]
|
||||
--android.simpleperf, --androidSimpleperf Path to the Simpleperf profiler from the Android NDK. [string]
|
||||
--android.perfettoTrace, --androidPerfettoTrace Collect a perfetto trace with the given configuration. [default: false]
|
||||
--android.gnirehtet, --gnirehtet Start gnirehtet and reverse tethering the traffic from your Android phone. [boolean] [default: false]
|
||||
|
||||
firefox
|
||||
|
|
@ -66,7 +68,7 @@ firefox
|
|||
--firefox.developer Use Firefox Developer. Works on OS X. For Linux you need to set the binary path. [boolean]
|
||||
--firefox.preference Extra command line arguments to pass Firefox preferences by the format key:value To add multiple preferences, repeat --firefox.preference once per argument.
|
||||
--firefox.args Extra command line arguments to pass to the Firefox process (e.g. --MOZ_LOG). To add multiple arguments to Firefox, repeat --firefox.args once per argument.
|
||||
--firefox.includeResponseBodies Include response bodies in HAR [choices: "none", "all", "html"] [default: "none"]
|
||||
--firefox.includeResponseBodies Include response bodies in HAR [choices: "none", "all"] [default: "none"]
|
||||
--firefox.appconstants Include Firefox AppConstants information in the results [boolean] [default: false]
|
||||
--firefox.acceptInsecureCerts Accept insecure certs [boolean]
|
||||
--firefox.windowRecorder Use the internal compositor-based Firefox window recorder to emit PNG files for each frame that is a meaningful change. The PNG output will further be merged into a variable frame rate video for analysis. Use this instead of ffmpeg to record a video (you still need the --video flag). [boolean] [default: false]
|
||||
|
|
@ -79,7 +81,7 @@ firefox
|
|||
--firefox.geckoProfilerParams.interval Sampling interval in ms. Defaults to 1 on desktop, and 4 on android. [number]
|
||||
--firefox.geckoProfilerParams.bufferSize Buffer size in elements. Default is ~90MB. [number] [default: 13107200]
|
||||
--firefox.perfStats Collect gecko performance statistics as measured internally by the firefox browser. See https://searchfox.org/mozilla-central/source/tools/performance/PerfStats.h#24-33 [boolean] [default: false]
|
||||
--firefox.perfStatsParams.mask Mask to decide which features to enable [number] [default: 4294967295]
|
||||
--firefox.perfStatsParams.features Comma-separated list of PerfStats features to enable. If not provided, all features will be enabled. [string]
|
||||
--firefox.collectMozLog Collect the MOZ HTTP log (by default). See --firefox.setMozLog if you need to specify the logs you wish to gather. [boolean]
|
||||
--firefox.powerConsumption Enable power consumption collection (in Wh). To get the consumption you also need to set firefox.geckoProfilerParams.features to include power. [boolean] [default: false]
|
||||
--firefox.setMozLog Use in conjunction with firefox.collectMozLog to set MOZ_LOG to something specific. Without this, the HTTP logs will be collected by default [default: "timestamp,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5"]
|
||||
|
|
@ -111,7 +113,7 @@ video
|
|||
--videoParams.threads Number of threads to use for video recording. Default is determined by ffmpeg. [default: 0]
|
||||
|
||||
edge
|
||||
--edge.edgedriverPath Path to custom msedgedriver version (need to match your Egde version).
|
||||
--edge.edgedriverPath Path to custom msedgedriver version (need to match your Edge version).
|
||||
--edge.binaryPath Path to custom Edge binary
|
||||
|
||||
safari
|
||||
|
|
@ -124,13 +126,12 @@ safari
|
|||
--safari.useSimulator If the value of useSimulator is true, safaridriver will only use iOS Simulator hosts. If the value of safari:useSimulator is false, safaridriver will not use iOS Simulator hosts. NOTE: An Xcode installation is required in order to run WebDriver tests on iOS Simulator hosts. [boolean] [default: false]
|
||||
|
||||
Screenshot
|
||||
--screenshot Save one screenshot per iteration. [boolean] [default: false]
|
||||
--screenshotLCP Save one screenshot per iteration that shows the largest contentful paint element (if the browser supports LCP). [boolean] [default: false]
|
||||
--screenshotLS Save one screenshot per iteration that shows the layout shift elements (if the browser supports layout shift). [boolean] [default: false]
|
||||
--screenshotParams.type Set the file type of the screenshot [choices: "png", "jpg"] [default: "jpg"]
|
||||
--screenshotParams.png.compressionLevel zlib compression level [default: 6]
|
||||
--screenshotParams.jpg.quality Quality of the JPEG screenshot. 1-100 [default: 80]
|
||||
--screenshotParams.maxSize The max size of the screenshot (width and height). [default: 2000]
|
||||
--screenshot Save one screenshot per iteration. [boolean] [default: false]
|
||||
--screenshotLCP Save one screenshot per iteration that shows the largest contentful paint element (if the browser supports LCP). [boolean] [default: false]
|
||||
--screenshotLS Save one screenshot per iteration that shows the layout shift elements (if the browser supports layout shift). [boolean] [default: false]
|
||||
--screenshotParams.type Set the file type of the screenshot [choices: "png", "jpg"] [default: "jpg"]
|
||||
--screenshotParams.jpg.quality Quality of the JPEG screenshot. 1-100 [default: 80]
|
||||
--screenshotParams.maxSize The max size of the screenshot (width and height). [default: 2000]
|
||||
|
||||
PageLoad
|
||||
--pageCompleteCheck Supply a JavaScript (inline or JavaScript file) that decides when the browser is finished loading the page and can start to collect metrics. The JavaScript snippet is repeatedly queried to see if page has completed loading (indicated by the script returning true). Use it to fetch timings happening after the loadEventEnd. By default the tests ends 2 seconds after loadEventEnd. Also checkout --pageCompleteCheckInactivity and --pageCompleteCheckPollTimeout
|
||||
|
|
@ -177,7 +178,6 @@ Options:
|
|||
--visualElements, --visuaElements Collect Visual Metrics from elements. Works only with --visualMetrics turned on. By default you will get visual metrics from the largest image within the view port and the largest h1. You can also configure to pickup your own defined elements with --scriptInput.visualElements [boolean]
|
||||
--visualMetricsPerceptual Collect Perceptual Speed Index when you run --visualMetrics. [boolean]
|
||||
--visualMetricsContentful Collect Contentful Speed Index when you run --visualMetrics. [boolean]
|
||||
--visualMetricsPortable Use the portable visual-metrics processing script (no ImageMagick dependencies). [boolean] [default: true]
|
||||
--visualMetricsKeyColor Collect Key Color frame metrics when you run --visualMetrics. Each --visualMetricsKeyColor supplied must have 8 arguments: key name, red channel (0-255) low and high, green channel (0-255) low and high, blue channel (0-255) low and high, fraction (0.0-1.0) of pixels that must match each channel. [array]
|
||||
--scriptInput.visualElements Include specific elements in visual elements. Give the element a name and select it with document.body.querySelector. Use like this: --scriptInput.visualElements name:domSelector see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors. Add multiple instances to measure multiple elements. Visual Metrics will use these elements and calculate when they are visible and fully rendered.
|
||||
--scriptInput.longTask, --minLongTaskLength Set the minimum length of a task to be categorised as a CPU Long Task. It can never be smaller than 50. The value is in ms and only works in Chromium browsers at the moment. [number] [default: 50]
|
||||
|
|
@ -200,11 +200,13 @@ Options:
|
|||
--script Add custom Javascript to run after the page has finished loading to collect metrics. If a single js file is specified, it will be included in the category named "custom" in the output json. Pass a folder to include all .js scripts in the folder, and have the folder name be the category. Note that --script can be passed multiple times.
|
||||
--userAgent Override user agent
|
||||
--appendToUserAgent Append a String to the user agent. Works in Chrome/Edge and Firefox.
|
||||
--logLevel Manually set the min log level [string] [choices: "trace", "verbose", "debug", "info", "warning", "error"]
|
||||
-q, --silent Only output info in the logs, not to the console. Enter twice to suppress summary line. [count]
|
||||
-o, --output Specify file name for Browsertime data (ex: 'browsertime'). Unless specified, file will be named browsertime.json
|
||||
--har Specify file name for .har file (ex: 'browsertime'). Unless specified, file will be named browsertime.har
|
||||
--skipHar Pass --skipHar to not collect a HAR file. [boolean]
|
||||
--gzipHar Pass --gzipHar to gzip the HAR file [boolean]
|
||||
--cleanSensitiveHeaders Pass --cleanSensitiveHeaders to remove sensitive headers in the HAR file [boolean]
|
||||
--config Path to JSON config file. You can also use a .browsertime.json file that will automatically be found by Browsertime using find-up.
|
||||
--viewPort Size of browser window WIDTHxHEIGHT or "maximize". Note that "maximize" is ignored for xvfb.
|
||||
--resultDir Set result directory for the files produced by Browsertime
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: default
|
||||
title: Documentation Browsertime 24
|
||||
title: Documentation Browsertime 26
|
||||
description: Read about all you can do with Browsertime.
|
||||
keywords: tools, documentation, web performance
|
||||
nav: documentation
|
||||
|
|
@ -9,7 +9,7 @@ image: https://www.sitespeed.io/img/sitespeed-2.0-twitter.png
|
|||
twitterdescription: Documentation for Browsertime.
|
||||
---
|
||||
|
||||
# Documentation v24
|
||||
# Documentation v26
|
||||
|
||||
<img src="{{site.baseurl}}/img/logos/browsertime.png" class="pull-right img-big" alt="Browsertime logo" width="200" height="175">
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Browser
|
|||
--browsertime.pageCompleteCheckStartWait, --pageCompleteCheckStartWait The time in ms to wait for running the page complete check for the first time. Use this when you have a pageLoadStrategy set to none [number] [default: 500]
|
||||
--browsertime.pageCompleteCheckNetworkIdle, --pageCompleteCheckNetworkIdle Use the network log instead of running JavaScript to decide when to end the test. This will wait for 5 seconds of no network activity before it ends the test. This can be used with Chrome/Edge and Firefox. [boolean] [default: false]
|
||||
--browsertime.pageLoadStrategy, --pageLoadStrategy Set the strategy to waiting for document readiness after a navigation event. After the strategy is ready, your pageCompleteCheck will start running. This only work for Firefox and Chrome and please check which value each browser implements. [string] [choices: "eager", "none", "normal"] [default: "none"]
|
||||
--browsertime.script, --script Add custom Javascript that collect metrics and run after the page has finished loading. Note that --script can be passed multiple times if you want to collect multiple metrics. The metrics will automatically be pushed to the summary/detailed summary and each individual page + sent to Graphite/InfluxDB.
|
||||
--browsertime.script, --script Add custom Javascript that collect metrics and run after the page has finished loading. Note that --script can be passed multiple times if you want to collect multiple metrics. The metrics will automatically be pushed to the summary/detailed summary and each individual page + sent to Graphite
|
||||
--browsertime.injectJs, --injectJs Inject JavaScript into the current page at document_start. More info: https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/contentScripts
|
||||
--browsertime.selenium.url Configure the path to the Selenium server when fetching timings using browsers. If not configured the supplied NodeJS/Selenium version is used.
|
||||
--browsertime.viewPort, --viewPort The browser view port size WidthxHeight like 400x300 [default: "1366x708"]
|
||||
|
|
@ -35,7 +35,7 @@ Browser
|
|||
--browsertime.visualMetricsPerceptual, --visualMetricsPerceptual Collect Perceptual Speed Index when you run --visualMetrics. [boolean]
|
||||
--browsertime.visualMetricsContentful, --visualMetricsContentful Collect Contentful Speed Index when you run --visualMetrics. [boolean]
|
||||
--browsertime.visualElements, --visualElements Collect Visual Metrics from elements. Works only with --visualMetrics turned on. By default you will get visual metrics from the largest image within the view port and the largest h1. You can also configure to pickup your own defined elements with --scriptInput.visualElements [boolean]
|
||||
--browsertime.scriptInput.visualElements, --scriptInput.visualElements Include specific elements in visual elements. Give the element a name and select it with document.body.querySelector. Use like this: --scriptInput.visualElements name:domSelector . Add multiple instances to measure multiple elements. Visual Metrics will use these elements and calculate when they are visible and fully rendered.
|
||||
--browsertime.scriptInput.visualElements, --scriptInput.visualElements Include specific elements in visual elements. Give the element a name and select it with document.body.querySelector. Use like this: --scriptInput.visualElements name:domSelector . If you want to measure multiple elements, use a configuration file with an array for the input. Visual Metrics will use these elements and calculate when they are visible and fully rendered.
|
||||
--browsertime.scriptInput.longTask, --minLongTaskLength Set the minimum length of a task to be categorised as a CPU Long Task. It can never be smaller than 50. The value is in ms and you make Browsertime collect long tasks using --chrome.collectLongTasks or --cpu. [number] [default: 50]
|
||||
--browsertime.video, --video Record a video and store the video. Set it to false to remove the video that is created by turning on visualMetrics. To remove fully turn off video recordings, make sure to set video and visualMetrics to false. Requires FFMpeg to be installed. [boolean]
|
||||
--browsertime.videoParams.framerate, --videoParams.framerate, --fps Frames per second in the video [default: 30]
|
||||
|
|
@ -70,7 +70,7 @@ Filmstrip
|
|||
--filmstrip.showAll Show all screenshots in the filmstrip, independent if they have changed or not. [boolean] [default: false]
|
||||
|
||||
Firefox
|
||||
--browsertime.firefox.includeResponseBodies, --firefox.includeResponseBodies Warning: This do not work at the moment, see https://github.com/sitespeedio/sitespeed.io/issues/4295 [choices: "none", "all", "html"] [default: "none"]
|
||||
--browsertime.firefox.includeResponseBodies, --firefox.includeResponseBodies Collect response bodies in the HAR [choices: "none", "all"] [default: "none"]
|
||||
--browsertime.firefox.nightly, --firefox.nightly Use Firefox Nightly. Works on OS X. For Linux you need to set the binary path. [boolean]
|
||||
--browsertime.firefox.beta, --firefox.beta Use Firefox Beta. Works on OS X. For Linux you need to set the binary path. [boolean]
|
||||
--browsertime.firefox.developer, --firefox.developer Use Firefox Developer. Works on OS X. For Linux you need to set the binary path. [boolean]
|
||||
|
|
@ -183,21 +183,6 @@ Graphite
|
|||
--graphite.bulkSize Break up number of metrics to send with each request. [number]
|
||||
--graphite.messages Define which messages to send to Graphite. By default we do not send data per run, but you can change that by adding run as one of the options [default: ["pageSummary","summary"]]
|
||||
|
||||
InfluxDB
|
||||
--influxdb.protocol The protocol used to store connect to the InfluxDB host. [default: "http"]
|
||||
--influxdb.host The InfluxDB host used to store captured metrics.
|
||||
--influxdb.port The InfluxDB port used to store captured metrics. [default: 8086]
|
||||
--influxdb.username The InfluxDB username for your InfluxDB instance (only for InfluxDB v1)
|
||||
--influxdb.password The InfluxDB password for your InfluxDB instance (only for InfluxDB v1).
|
||||
--influxdb.organisation The InfluxDB organisation for your InfluxDB instance (only for InfluxDB v2)
|
||||
--influxdb.token The InfluxDB token for your InfluxDB instance (only for InfluxDB v2)
|
||||
--influxdb.version The InfluxDB version of your InfluxDB instance. [default: 1]
|
||||
--influxdb.database The database name used to store captured metrics. [default: "sitespeed"]
|
||||
--influxdb.tags A comma separated list of tags and values added to each metric [default: "category=default"]
|
||||
--influxdb.includeQueryParams Whether to include query parameters from the URL in the InfluxDB keys or not [boolean] [default: false]
|
||||
--influxdb.groupSeparator Choose which character that will separate a group/domain. Default is underscore, set it to a dot if you wanna keep the original domain name. [default: "_"]
|
||||
--influxdb.annotationScreenshot Include screenshot (from Browsertime) in the annotation. You need to specify a --resultBaseURL for this to work. [boolean] [default: false]
|
||||
|
||||
Plugins
|
||||
--plugins.list List all configured plugins in the log. [boolean]
|
||||
--plugins.add Extra plugins that you want to run. Relative or absolute path to the plugin. Specify multiple plugin names separated by comma, or repeat the --plugins.add option
|
||||
|
|
@ -212,11 +197,10 @@ Budget
|
|||
--budget.removeWorkingResult, --budget.removePassingResult Remove the result of URLs that pass the budget. You can use this if you many URL and only care about the ones that fails your budget. All videos/HTML for the working URLs will be removed if you pass this on. [boolean]
|
||||
|
||||
Screenshot
|
||||
--browsertime.screenshot Set to false to disable screenshots [boolean] [default: true]
|
||||
--browsertime.screenshotParams.type, --screenshot.type Set the file type of the screenshot [choices: "png", "jpg"] [default: "png"]
|
||||
--browsertime.screenshotParams.png.compressionLevel, --screenshot.png.compressionLevel zlib compression level [default: 6]
|
||||
--browsertime.screenshotParams.jpg.quality, --screenshot.jpg.quality Quality of the JPEG screenshot. 1-100 [default: 80]
|
||||
--browsertime.screenshotParams.maxSize, --screenshot.maxSize The max size of the screenshot (width and height). [default: 2000]
|
||||
--browsertime.screenshot Set to false to disable screenshots [boolean] [default: true]
|
||||
--browsertime.screenshotParams.type, --screenshot.type Set the file type of the screenshot [choices: "png", "jpg"] [default: "png"]
|
||||
--browsertime.screenshotParams.jpg.quality, --screenshot.jpg.quality Quality of the JPEG screenshot. 1-100 [default: 80]
|
||||
--browsertime.screenshotParams.maxSize, --screenshot.maxSize The max size of the screenshot (width and height). [default: 2000]
|
||||
|
||||
Metrics
|
||||
--metrics.list List all possible metrics in the data folder (metrics.txt). [boolean] [default: false]
|
||||
|
|
@ -321,7 +305,6 @@ Options:
|
|||
-v, --verbose Verbose mode prints progress messages to the console. Enter up to three times (-vvv) to increase the level of detail. [count]
|
||||
--browsertime.xvfb, --xvfb Start xvfb before the browser is started [boolean] [default: false]
|
||||
--browsertime.xvfbParams.display, --xvfbParams.display The display used for xvfb [default: 99]
|
||||
--browsertime.visualMetricsPortable Use the portable visual-metrics processing script (no ImageMagick dependencies). [boolean] [default: true]
|
||||
--browsertime.enableProfileRun, --enableProfileRun Make one extra run that collects the profiling trace log (no other metrics is collected). For Chrome it will collect the timeline trace, for Firefox it will get the Geckoprofiler trace. This means you do not need to get the trace for all runs and can skip the overhead it produces. You should not run this together with --cpu since that will get a trace for every iteration. [boolean]
|
||||
--browsertime.enableVideoRun, --enableVideoRun Make one extra run that collects video and visual metrics. This means you can do your runs with --visualMetrics true --video false --enableVideoRun true to collect visual metrics from all runs and save a video from the profile/video run. If you run it together with --enableProfileRun it will also collect profiling race. [boolean]
|
||||
--browsertime.cjs, --cjs Load scripting files that ends with .js as common js. Default (false) loads files as esmodules. [boolean] [default: false]
|
||||
|
|
@ -339,12 +322,13 @@ Options:
|
|||
--outputFolder The folder where the result will be stored. If you do not set it, the result will be stored in "DOMAIN_OR_FILENAME_OR_SLUG/TIMESTAMP" [string]
|
||||
--copyLatestFilesToBase Copy the latest screenshots to the root folder (so you can include it in Grafana). Do not work together it --outputFolder. [boolean] [default: false]
|
||||
--firstParty A regex running against each request and categorize it as first vs third party URL. (ex: ".*sitespeed.*"). If you do not set a regular expression parts of the domain from the tested URL will be used: ".*domain.*"
|
||||
--urlAlias Use an alias for the URL (if you feed URLs from a file you can instead have the alias in the file). You need to pass on the same amount of alias as URLs. The alias is used as the name of the URL on the HTML report and in Graphite/InfluxDB. Pass on multiple --urlAlias for multiple alias/URLs. This will override alias in a file. [string]
|
||||
--groupAlias Use an alias for the group/domain. You need to pass on the same amount of alias as URLs. The alias is used as the name of the group in Graphite/InfluxDB. Pass on multiple --groupAlias for multiple alias/groups. This do not work for scripting at the moment. [string]
|
||||
--urlAlias Use an alias for the URL (if you feed URLs from a file you can instead have the alias in the file). You need to pass on the same amount of alias as URLs. The alias is used as the name of the URL on the HTML report and in Graphite. Pass on multiple --urlAlias for multiple alias/URLs. This will override alias in a file. [string]
|
||||
--groupAlias Use an alias for the group/domain. You need to pass on the same amount of alias as URLs. The alias is used as the name of the group in Graphite. Pass on multiple --groupAlias for multiple alias/groups. This do not work for scripting at the moment. [string]
|
||||
--utc Use Coordinated Universal Time for timestamps [boolean] [default: false]
|
||||
--useHash If your site uses # for URLs and # give you unique URLs you need to turn on useHash. By default is it turned off, meaning URLs with hash and without hash are treated as the same URL [boolean] [default: false]
|
||||
--multi Test multiple URLs within the same browser session (same cache etc). Only works with Browsertime. Use this if you want to test multiple pages (use journey) or want to test multiple pages with scripts. You can mix URLs and scripts (the order will matter): login.js https://www.sitespeed.io/ logout.js - More details: https://www.sitespeed.io/documentation/sitespeed.io/scripting/ [boolean] [default: false]
|
||||
--name Give your test a name.
|
||||
--logLevel Manually set the min log level [string] [choices: "trace", "verbose", "debug", "info", "warning", "error"]
|
||||
-o, --open, --view Open your test result in your default browser (Mac OS or Linux with xdg-open).
|
||||
--slug Give your test a slug. The slug is used when you send the metrics to your data storage to identify the test and the folder of the tests. The max length of the slug is 200 characters and it can only contain a-z A-Z 0-9 and -_ characters.
|
||||
--config Path to JSON config file
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ docker run --rm -v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io:{% include ve
|
|||
|
||||
The CLI will always override the JSON config.
|
||||
|
||||
You can also extend another JSON config file. The path needs to be absolute.
|
||||
You can also extend another JSON config file. The path needs to be absolute. We recommend that you use a configuration file because that makes things easier.
|
||||
|
||||
~~~json
|
||||
{
|
||||
|
|
@ -239,7 +239,7 @@ You can also extend another JSON config file. The path needs to be absolute.
|
|||
}
|
||||
~~~
|
||||
|
||||
If you have a parameter that you want to repeat, for example setting multiple request headers, the field needs to be an JSON array.
|
||||
If you have a parameter that you want to repeat, for example setting multiple request headers, the field needs to be an JSON array.
|
||||
|
||||
~~~json
|
||||
{
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ You can run it with:
|
|||
docker run --shm-size=1g --rm -v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io:{% include version/sitespeed.io.txt %}-plus1 https://www.sitespeed.io/ --plugins.remove @sitespeed.io/plugin-lighthouse
|
||||
```
|
||||
|
||||
You would also need to add the `--gpsi.key YOUR_GPSI_KEY` to sitespeed.io. The GPSI key is provided by Google and you can get it [here](https://cloud.google.com/docs/authentication/api-keys).
|
||||
|
||||
The container also includes Lighthouse. We automatically release a new version of the container per release by adding *-plus1* to the tag. If you use Graphite/InfluxDb the score from Lighthouse and GPSI will be automatically stored.
|
||||
|
||||
The plugin will send a request to the Google Page Speed Servers and parse the result. The result will look something like this:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: default
|
||||
title: Documentation sitespeed.io 31.x
|
||||
title: Documentation sitespeed.io 39.x
|
||||
description: Read about all you can do with sitespeed.io.
|
||||
keywords: tools, documentation, web performance
|
||||
nav: documentation
|
||||
|
|
@ -9,7 +9,7 @@ image: https://www.sitespeed.io/img/sitespeed-2.0-twitter.png
|
|||
twitterdescription: Documentation for sitespeed.io.
|
||||
---
|
||||
|
||||
# Documentation v34
|
||||
# Documentation v39
|
||||
|
||||
<img src="{{site.baseurl}}/img/logos/sitespeed.io.png" class="pull-right img-big" alt="sitespeed.io logo" width="200" height="214">
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ Sitespeed.io is the complete toolbox to test the web performance of your web sit
|
|||
## Start
|
||||
* [Introduction](introduction/) - start here if you are new to the project or web performance testing.
|
||||
* [Installation](installation/) - install using npm, yarn or run our Docker containers.
|
||||
* [Browsers](browsers/) - collect timings using real browsers. We support Firefox, Chrome, Chrome on Android and limited support for Safari on OS X and iOS.
|
||||
* [Browsers](browsers/) - collect timings using real browsers. We support Firefox, Chrome, Chrome on Android and limited support for Safari on OS X and iOS.
|
||||
* [Compare plugin](compare/) - use Mann Whitney U or Wilcox statistical methods to know if you have a regression.
|
||||
* [Configuration](configuration/) - there's a lot of things you can do with sitespeed.io, lets checkout how!
|
||||
* [Connectivity](connectivity/) - set the connectivity to emulate real users network conditions.
|
||||
|
|
|
|||
|
|
@ -176,24 +176,6 @@ Here is an example of a fully configured budget file.
|
|||
}
|
||||
~~~
|
||||
|
||||
If you use WebPageTest you can configure:
|
||||
|
||||
~~~json
|
||||
{
|
||||
"budget": {
|
||||
"webpagetest": {
|
||||
"SpeedIndex": 1000,
|
||||
"lastVisualChange": 2000,
|
||||
"render": 800,
|
||||
"visualComplete": 2000,
|
||||
"visualComplete95": 2000,
|
||||
"TTFB": 150,
|
||||
"fullyLoaded": 3000
|
||||
}
|
||||
}
|
||||
}
|
||||
~~~
|
||||
|
||||
If you use Lighthouse you can configure:
|
||||
|
||||
~~~json
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -632,6 +632,29 @@ function addHrefToSidebarTitle() {
|
|||
});
|
||||
}
|
||||
|
||||
function highlightActiveLinkInSidebar() {
|
||||
const list = document.location.href.split('/');
|
||||
const targetURL = decodeURI(list[list.length - 1]);
|
||||
let element = document.querySelector(`.sidebar a[href*='${targetURL}']`);
|
||||
|
||||
if (!element) {
|
||||
try {
|
||||
element = document.querySelector(
|
||||
`.sidebar a[href*='${targetURL.split('#')[0]}']`
|
||||
);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!element) return;
|
||||
|
||||
element.parentElement.classList.add('active');
|
||||
element.scrollIntoView();
|
||||
}
|
||||
|
||||
function onDomContentLoaded() {
|
||||
var themeButton = document.querySelectorAll('.theme-toggle');
|
||||
|
||||
|
|
@ -676,6 +699,7 @@ function onDomContentLoaded() {
|
|||
initTooltip();
|
||||
fixTable();
|
||||
addHrefToSidebarTitle();
|
||||
highlightActiveLinkInSidebar();
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
|
@ -10,7 +10,7 @@ body {
|
|||
|
||||
a,
|
||||
a:active {
|
||||
color: #00bbff;
|
||||
color: #0bf;
|
||||
}
|
||||
|
||||
hr {
|
||||
|
|
@ -43,6 +43,8 @@ h6 {
|
|||
background: #252525;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.with-arrow {
|
||||
fill: #999;
|
||||
}
|
||||
|
|
@ -51,6 +53,10 @@ h6 {
|
|||
background: #292929;
|
||||
}
|
||||
|
||||
.sidebar-section-children.active {
|
||||
background: #444;
|
||||
}
|
||||
|
||||
.sidebar-section-children a:hover {
|
||||
background: #2c2c2c;
|
||||
}
|
||||
|
|
@ -86,8 +92,8 @@ h6 {
|
|||
}
|
||||
|
||||
.navbar-item a:active {
|
||||
color: #aaa;
|
||||
background-color: #222;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.navbar-item:hover {
|
||||
|
|
@ -105,8 +111,8 @@ h6 {
|
|||
|
||||
.toc-link {
|
||||
color: #777;
|
||||
transition: color 0.3s;
|
||||
font-size: 0.875rem;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
.toc-link.is-active-link {
|
||||
|
|
@ -193,7 +199,6 @@ samp {
|
|||
color: #eee;
|
||||
}
|
||||
|
||||
/* stylelint-enable */
|
||||
|
||||
table .name,
|
||||
.params .name,
|
||||
|
|
@ -396,12 +401,12 @@ blockquote {
|
|||
background: #222;
|
||||
}
|
||||
|
||||
/* scroll bar */
|
||||
::-webkit-scrollbar-track {
|
||||
background: #333;
|
||||
|
||||
.child-tutorial {
|
||||
border-color: #555;
|
||||
color: #f3f3f3;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #555;
|
||||
outline: 0.06125rem solid #555;
|
||||
.child-tutorial:hover {
|
||||
background: #222;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,25 @@
|
|||
.light ::selection {
|
||||
background: #ffce76;
|
||||
color: #1d1919;
|
||||
background: #ffce76;
|
||||
color: #1d1919;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-no-qualifying-type,rule-empty-line-before */
|
||||
body.light {
|
||||
background-color: #fff;
|
||||
color: #111;
|
||||
background-color: #fff;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light a,
|
||||
.light a:active {
|
||||
color: #007bff;
|
||||
color: #007bff;
|
||||
|
||||
}
|
||||
|
||||
.light hr {
|
||||
color: #f7f7f7;
|
||||
color: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light h1,
|
||||
|
|
@ -23,231 +28,293 @@ body.light {
|
|||
.light h4,
|
||||
.light h5,
|
||||
.light h6 {
|
||||
color: #111;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar {
|
||||
background-color: #f7f7f7;
|
||||
color: #222;
|
||||
background-color: #f7f7f7;
|
||||
color: #222;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar-title {
|
||||
color: #222;
|
||||
color: #222;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar-section-title {
|
||||
color: #222;
|
||||
color: #222;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar-section-title:hover {
|
||||
background: #eee;
|
||||
.light .sidebar-section-title:hover,
|
||||
.light .sidebar-section-title.active {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
|
||||
.light .with-arrow {
|
||||
fill: #111;
|
||||
fill: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar-section-children-container {
|
||||
background: #eee;
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.light .sidebar-section-children.active {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.light .sidebar-section-children a:hover {
|
||||
background: #e0e0e0;
|
||||
background: #e0e0e0;
|
||||
|
||||
}
|
||||
|
||||
.light .sidebar-section-children a {
|
||||
color: #111;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .navbar-container {
|
||||
background: #fff;
|
||||
background: #fff;
|
||||
|
||||
}
|
||||
|
||||
.light .icon-button svg,
|
||||
.light .navbar-item a {
|
||||
color: #222;
|
||||
fill: #222;
|
||||
color: #222;
|
||||
fill: #222;
|
||||
|
||||
}
|
||||
|
||||
.light .tippy-box {
|
||||
background: #eee;
|
||||
color: #111;
|
||||
background: #eee;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .tippy-arrow {
|
||||
color: #f1f1f1;
|
||||
color: #f1f1f1;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-max-compound-selectors,rule-empty-line-before */
|
||||
.light .font-size-tooltip .icon-button svg {
|
||||
fill: #111;
|
||||
fill: #111;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-max-compound-selectors, rule-empty-line-before */
|
||||
.light .font-size-tooltip .icon-button.disabled svg {
|
||||
fill: #999;
|
||||
fill: #999;
|
||||
|
||||
}
|
||||
|
||||
.light .icon-button:hover {
|
||||
background: #ddd;
|
||||
background: #ddd;
|
||||
|
||||
}
|
||||
|
||||
.light .icon-button:active {
|
||||
background: #ccc;
|
||||
background: #ccc;
|
||||
|
||||
}
|
||||
|
||||
.light .navbar-item a:active {
|
||||
color: #333;
|
||||
background-color: #eee;
|
||||
background-color: #eee;
|
||||
color: #333;
|
||||
|
||||
}
|
||||
|
||||
.light .navbar-item:hover {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light .footer {
|
||||
background: #f7f7f7;
|
||||
color: #111;
|
||||
background: #f7f7f7;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .footer a {
|
||||
color: #111;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .toc-link {
|
||||
color: #999;
|
||||
transition: color 0.3s;
|
||||
font-size: 0.875rem;
|
||||
color: #999;
|
||||
font-size: 0.875rem;
|
||||
transition: color 0.3s;
|
||||
|
||||
}
|
||||
|
||||
.light .toc-link.is-active-link {
|
||||
color: #111;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .has-anchor .link-anchor {
|
||||
color: #ddd;
|
||||
color: #ddd;
|
||||
|
||||
}
|
||||
|
||||
.light .has-anchor .link-anchor:hover {
|
||||
color: #ccc;
|
||||
color: #ccc;
|
||||
|
||||
}
|
||||
|
||||
.light .signature-attributes {
|
||||
color: #aaa;
|
||||
color: #aaa;
|
||||
|
||||
}
|
||||
|
||||
.light .ancestors {
|
||||
color: #999;
|
||||
color: #999;
|
||||
|
||||
}
|
||||
|
||||
.light .ancestors a {
|
||||
color: #999 !important;
|
||||
color: #999 !important;
|
||||
|
||||
}
|
||||
|
||||
.light .important {
|
||||
color: #ee1313;
|
||||
color: #ee1313;
|
||||
|
||||
}
|
||||
|
||||
.light .type-signature {
|
||||
color: #00918e;
|
||||
color: #00918e;
|
||||
|
||||
}
|
||||
|
||||
.light .name,
|
||||
.light .name a {
|
||||
color: #293a80;
|
||||
color: #293a80;
|
||||
|
||||
}
|
||||
|
||||
.light .details {
|
||||
background: #f9f9f9;
|
||||
color: #101010;
|
||||
background: #f9f9f9;
|
||||
color: #101010;
|
||||
|
||||
}
|
||||
|
||||
.light .member-item-container strong,
|
||||
.light .method-member-container strong {
|
||||
color: #000;
|
||||
color: #000;
|
||||
|
||||
}
|
||||
|
||||
.light .prettyprint {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light .pre-div {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs .hljs-ln-numbers {
|
||||
color: #aaa;
|
||||
color: #aaa;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs .selected {
|
||||
background: #ccc;
|
||||
background: #ccc;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-no-qualifying-type,rule-empty-line-before */
|
||||
.light table.hljs-ln td {
|
||||
background: none;
|
||||
background: none;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-max-compound-selectors,rule-empty-line-before */
|
||||
.light .hljs .selected .hljs-ln-numbers {
|
||||
color: #444;
|
||||
color: #444;
|
||||
|
||||
}
|
||||
|
||||
.light .pre-top-bar-container {
|
||||
background-color: #eee;
|
||||
background-color: #eee;
|
||||
|
||||
}
|
||||
|
||||
.light .prettyprint code {
|
||||
background-color: #f7f7f7;
|
||||
background-color: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light table .name,
|
||||
.light .params .name,
|
||||
.light .props .name,
|
||||
.light .name code {
|
||||
color: #4d4e53;
|
||||
color: #4d4e53;
|
||||
|
||||
}
|
||||
|
||||
.light table td,
|
||||
.light .params td {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable-next-line selector-max-compound-selectors,rule-empty-line-before */
|
||||
.light table thead th,
|
||||
.light .params thead th,
|
||||
.light .props thead th {
|
||||
background-color: #eee;
|
||||
color: #111;
|
||||
background-color: #eee;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
/* stylelint-disable */
|
||||
.light table .params thead tr,
|
||||
.light .params .params thead tr,
|
||||
.light .props .props thead tr {
|
||||
background-color: #eee;
|
||||
color: #111;
|
||||
background-color: #eee;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .disabled {
|
||||
color: #454545;
|
||||
color: #454545;
|
||||
|
||||
}
|
||||
|
||||
.light .code-lang-name {
|
||||
color: #ff0000;
|
||||
color: #ff0000;
|
||||
|
||||
}
|
||||
|
||||
.light .tooltip {
|
||||
background: #ffce76;
|
||||
color: #000;
|
||||
background: #ffce76;
|
||||
color: #000;
|
||||
|
||||
}
|
||||
|
||||
/* Code */
|
||||
|
||||
.light .hljs-comment,
|
||||
.light .hljs-quote {
|
||||
color: #a0a1a7;
|
||||
color: #a0a1a7;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-doctag,
|
||||
.light .hljs-keyword,
|
||||
.light .hljs-formula {
|
||||
color: #a626a4;
|
||||
color: #a626a4;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-section,
|
||||
|
|
@ -255,11 +322,13 @@ body.light {
|
|||
.light .hljs-selector-tag,
|
||||
.light .hljs-deletion,
|
||||
.light .hljs-subst {
|
||||
color: #e45649;
|
||||
color: #e45649;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-literal {
|
||||
color: #0184bb;
|
||||
color: #0184bb;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-string,
|
||||
|
|
@ -267,7 +336,8 @@ body.light {
|
|||
.light .hljs-addition,
|
||||
.light .hljs-attribute,
|
||||
.light .hljs-meta .hljs-string {
|
||||
color: #50a14f;
|
||||
color: #50a14f;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-attr,
|
||||
|
|
@ -278,7 +348,8 @@ body.light {
|
|||
.light .hljs-selector-attr,
|
||||
.light .hljs-selector-pseudo,
|
||||
.light .hljs-number {
|
||||
color: #986801;
|
||||
color: #986801;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-symbol,
|
||||
|
|
@ -287,102 +358,125 @@ body.light {
|
|||
.light .hljs-meta,
|
||||
.light .hljs-selector-id,
|
||||
.light .hljs-title {
|
||||
color: #4078f2;
|
||||
color: #4078f2;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-built_in,
|
||||
.light .hljs-title.class_,
|
||||
.light .hljs-class .hljs-title {
|
||||
color: #c18401;
|
||||
color: #c18401;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-emphasis {
|
||||
font-style: italic;
|
||||
font-style: italic;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-strong {
|
||||
font-weight: bold;
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.light .hljs-link {
|
||||
text-decoration: underline;
|
||||
text-decoration: underline;
|
||||
|
||||
}
|
||||
|
||||
/* Code Ends */
|
||||
|
||||
.light blockquote {
|
||||
background: #eee;
|
||||
color: #111;
|
||||
background: #eee;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light code {
|
||||
background: #ddd;
|
||||
color: #000;
|
||||
background: #ddd;
|
||||
color: #000;
|
||||
|
||||
}
|
||||
|
||||
.light .search-container {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
|
||||
}
|
||||
|
||||
.light .search-close-button svg {
|
||||
fill: #f00;
|
||||
fill: #f00;
|
||||
|
||||
}
|
||||
|
||||
.light .search-container .wrapper {
|
||||
background: #eee;
|
||||
background: #eee;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-c {
|
||||
color: #aaa;
|
||||
color: #aaa;
|
||||
|
||||
}
|
||||
|
||||
.light .search-box-c svg {
|
||||
fill: #333;
|
||||
fill: #333;
|
||||
|
||||
}
|
||||
|
||||
.light .search-input {
|
||||
background: #f7f7f7;
|
||||
color: #111;
|
||||
background: #f7f7f7;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-item {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-item:hover {
|
||||
background: #e9e9e9;
|
||||
background: #e9e9e9;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-item:active {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-item-title {
|
||||
color: #111;
|
||||
color: #111;
|
||||
|
||||
}
|
||||
|
||||
.light .search-result-item-p {
|
||||
color: #aaa;
|
||||
color: #aaa;
|
||||
|
||||
}
|
||||
|
||||
.light .mobile-menu-icon-container .icon-button {
|
||||
background: #e5e5e5;
|
||||
background: #e5e5e5;
|
||||
|
||||
}
|
||||
|
||||
.light .mobile-sidebar-container {
|
||||
background: #fff;
|
||||
background: #fff;
|
||||
|
||||
}
|
||||
|
||||
.light .mobile-sidebar-wrapper {
|
||||
background: #f7f7f7;
|
||||
background: #f7f7f7;
|
||||
|
||||
}
|
||||
|
||||
/* scroll bar */
|
||||
.light ::-webkit-scrollbar-track {
|
||||
background: #ddd;
|
||||
.light .child-tutorial {
|
||||
border-color: #aaa;
|
||||
color: #222;
|
||||
|
||||
}
|
||||
|
||||
.light ::-webkit-scrollbar-thumb {
|
||||
background: #aaa;
|
||||
outline: 0.06125rem solid #aaa;
|
||||
.light .child-tutorial:hover {
|
||||
background: #ccc;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
::-webkit-scrollbar {
|
||||
height: 0.3125rem;
|
||||
width: 0.3125rem;
|
||||
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb,
|
||||
::-webkit-scrollbar-track {
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #555;
|
||||
outline: 0.06125rem solid #555;
|
||||
}
|
||||
|
||||
|
||||
.light ::-webkit-scrollbar-track {
|
||||
background: #ddd;
|
||||
|
||||
}
|
||||
|
||||
.light ::-webkit-scrollbar-thumb {
|
||||
background: #aaa;
|
||||
outline: 0.06125rem solid #aaa;
|
||||
}
|
||||
1
docs/documentation/sitespeed.io/scripting/styles/clean-jsdoc-theme-without-scrollbar.min.css
vendored
Normal file
1
docs/documentation/sitespeed.io/scripting/styles/clean-jsdoc-theme-without-scrollbar.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1093
docs/feed/atom.xml
1093
docs/feed/atom.xml
File diff suppressed because it is too large
Load Diff
|
|
@ -3,10 +3,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>The sitespeed.io blog</title>
|
||||
<title>Sitespeed.io Blog</title>
|
||||
<description>The latest news from the sitespeed.io world.</description>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml" />
|
||||
<atom:link href="{{ site.url }}/feed/blog.xml" rel="self" type="application/rss+xml" />
|
||||
{% for post in site.posts limit:10 %}
|
||||
<item>
|
||||
<title>{{ post.title | xml_escape }}</title>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>browsertime-release-feed</id>
|
||||
<title>browsertime release feed</title>
|
||||
<updated>2025-02-05T14:18:33.613Z</updated>
|
||||
<updated>2026-01-09T21:34:42.934Z</updated>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<author>
|
||||
<name>Peter Hedenskog</name>
|
||||
|
|
@ -17,62 +17,20 @@
|
|||
<rights>All rights reserved 2022, Peter Hedenskog and team</rights>
|
||||
<category term="Web Performance"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 24.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0"/>
|
||||
<updated>2025-02-05T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[browsertime 26.3.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0"/>
|
||||
<updated>2026-01-09T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated Chromedriver and Chromne to 133 and Firefox to 135 <a href="https://github.com/sitespeedio/browsertime/pull/2261">#2261</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2262">#2262</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 24.1.1]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1"/>
|
||||
<updated>2025-01-29T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeedio/log 0.2.6 <a href="https://github.com/sitespeedio/browsertime/pull/2260">#2260</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 24.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0"/>
|
||||
<updated>2025-01-27T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Include Chrome/Firefox configuration in the browser section of the result JSON <a href="https://github.com/sitespeedio/browsertime/pull/2259">#2259</a></li>
|
||||
<li>Get response bodies in the HAR for Firefox. Thank you <a href="https://github.com/juliandescottes">Julian Descottes</a> and the rest of the Mozilla team that made this possible in bidi-har-export. Added in <a href="https://github.com/sitespeedio/browsertime/pull/2359">#2359</a>. The Firefox HAR has missed this functionality since we did the switch to bidi-har.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to use Webdriver 4.28.1 <a href="https://github.com/sitespeedio/browsertime/pull/2258">#2258</a>.</li>
|
||||
<li>Restructure server timings so the timing name does not get lost for InfluxDB/Graphite. Thank you <a href="https://github.com/TimOldenburg">Tim Oldenburg</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2358">#2358</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 24.0.1]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1"/>
|
||||
<updated>2025-01-21T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>If Jimp is missing when storing an image, log and write the file as PNG <a href="https://github.com/sitespeedio/browsertime/pull/2257">#2257</a>.</li>
|
||||
<li>Add Simpleperf app_profiler options and use <code>--android.simpleperf</code>. Thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2352">#2352</a></li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -81,30 +39,20 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 24.0.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0"/>
|
||||
<updated>2025-01-20T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[browsertime 26.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0"/>
|
||||
<updated>2025-12-18T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Edgedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2254">#2236</a>.</li>
|
||||
<li>Updated Chromedriver and Edgedriver to 143 <a href="https://github.com/sitespeedio/browsertime/pull/2354">#2354</a> and<a href="https://github.com/sitespeedio/browsertime/pull/2355">#2355</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chromedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2253">#2236</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome and Edge 132, Firefox 134 in the Docker container + NodeJS 22 <a href="https://github.com/sitespeedio/browsertime/pull/2255">#2255</a>.</li>
|
||||
<li>Updated webdriver to 4.39.0 <a href="https://github.com/sitespeedio/browsertime/pull/2356">#2356</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Replace dependencies with local implementation:</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix Docker file ENV to follow the new standard <a href="https://github.com/sitespeedio/browsertime/pull/2239">#2239</a>.</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li>Moved usb-power-profiling to be an optional package <a href="https://github.com/sitespeedio/browsertime/pull/2249">#2249</a>.</li>
|
||||
<li>Try to tune the XVFB handling to make it safer that xvfb is always stopped <a href="https://github.com/sitespeedio/browsertime/pull/2353">#2353</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -113,32 +61,20 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 23.5.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0"/>
|
||||
<updated>2024-12-23T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[browsertime 26.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0"/>
|
||||
<updated>2025-12-11T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Added <code>--userTimingBlockList</code> <a href="https://github.com/sitespeedio/browsertime/pull/2227">#2227</a>.</li>
|
||||
<li>Firefox 146 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2351">#2351</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome 143 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2350">#2350</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated to webdriver 4.28 <a href="https://github.com/sitespeedio/browsertime/pull/2226">#2226</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2228">#2228</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so the check for gnirehtet always use --android.gnirehtet to fix problems setting it in sitespeed.io <a href="https://github.com/sitespeedio/browsertime/pull/2229">#2229</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to execa 9.5.2 <a href="https://github.com/sitespeedio/browsertime/pull/2231">#2231</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to adbkit 3.3.8 <a href="https://github.com/sitespeedio/browsertime/pull/2232">#2232</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so you cannot use gnirehtet with webpagereplay <a href="https://github.com/sitespeedio/browsertime/pull/2230">#2230</a>.</li>
|
||||
<li>Make sure the user in the Docker container has the correct user rights <a href="https://github.com/sitespeedio/browsertime/pull/2349">#2349</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -147,13 +83,13 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 23.4.5]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5"/>
|
||||
<updated>2024-12-20T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[browsertime 26.0.1]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1"/>
|
||||
<updated>2025-12-10T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Change bottom margin from 10 to 14 pixel when recording a video on mobile, se bug <a href="https://github.com/sitespeedio/browsertime/issues/2224">#2224</a> and PR <a href="https://github.com/sitespeedio/browsertime/pull/2225">#2225</a>.</li>
|
||||
<li>Remove extra console.log entry :)</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -162,13 +98,13 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 23.4.4]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4"/>
|
||||
<updated>2024-12-18T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<title type="html"><![CDATA[browsertime 26.0.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0"/>
|
||||
<updated>2025-12-10T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A more robust gnirehtet check when you run your Android test <a href="https://github.com/sitespeedio/browsertime/pull/2223">#2223</a>.</li>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/browsertime/pull/2342">#2342</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -177,13 +113,13 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 23.4.3]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3"/>
|
||||
<updated>2024-12-11T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<title type="html"><![CDATA[browsertime 25.4.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0"/>
|
||||
<updated>2025-11-02T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Update to USB power profiling 1.5.0 <a href="https://github.com/sitespeedio/browsertime/pull/2221">#2221</a>.</li>
|
||||
<li>Chrome and Chromedriver 142 <a href="https://github.com/sitespeedio/browsertime/pull/2335">#2335</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -192,13 +128,80 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 23.4.2]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2"/>
|
||||
<updated>2024-12-10T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[browsertime 25.3.1]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1"/>
|
||||
<updated>2025-10-24T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Improve how we compute the power consumption numbers from the Firefox Profiler output PR by <a href="https://github.com/canova">Nazım Can Altınova</a> <a href="https://github.com/sitespeedio/browsertime/pull/2220">#2220</a></li>
|
||||
<li>Better handling of closing XVFB <a href="https://github.com/sitespeedio/browsertime/pull/2332">#2332</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox: Disable quicksuggest <a href="https://github.com/sitespeedio/browsertime/pull/2333">#2333</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 25.3.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0"/>
|
||||
<updated>2025-10-17T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make it possible to strip cookie and auth headers in the HAR file for Firefox <a href="https://github.com/sitespeedio/browsertime/pull/2329">#2329</a> and Chrome <a href="https://github.com/sitespeedio/browsertime/pull/2330">#2330</a>. Use <code>--cleanSensitiveHeaders</code> to remove a <a href="https://github.com/sitespeedio/browsertime/blob/main/lib/support/har/index.js#L11-L24">couple of headers</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox 144 <a href="https://github.com/sitespeedio/browsertime/pull/2331">#2331</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated developer dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2326">#2326</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2327">#2327</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated log dependency <a href="https://github.com/sitespeedio/b23272327rowsertime/pull/2328">#2328</a></li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 25.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0"/>
|
||||
<updated>2025-10-12T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver/Edge/Edgedriver 141, Firefox 143 <a href="https://github.com/sitespeedio/browsertime/pull/2325">#2325</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2323">#2323</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated webdriver and bidi-har <a href="https://github.com/sitespeedio/browsertime/pull/2322">#2322</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added simpleperf and perfetto support for Android, thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2315">#2315</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[browsertime 25.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0"/>
|
||||
<updated>2025-09-05T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver 140, Firefox 142 <a href="https://github.com/sitespeedio/browsertime/pull/2318">#2318</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Selenium webdriver 4.35.0 <a href="https://github.com/sitespeedio/browsertime/pull/2317">#2317</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<title>browsertime release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of browsertime</description>
|
||||
<lastBuildDate>Wed, 05 Feb 2025 14:18:33 GMT</lastBuildDate>
|
||||
<lastBuildDate>Fri, 09 Jan 2026 21:34:42 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
|
|
@ -17,161 +17,164 @@
|
|||
<category>Web Performance</category>
|
||||
<atom:link href="https://www.sitespeed.io/feed/browsertime.rss" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0</guid>
|
||||
<pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 26.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0</guid>
|
||||
<pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated Chromedriver and Chromne to 133 and Firefox to 135 <a href="https://github.com/sitespeedio/browsertime/pull/2261">#2261</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2262">#2262</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1</guid>
|
||||
<pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeedio/log 0.2.6 <a href="https://github.com/sitespeedio/browsertime/pull/2260">#2260</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Include Chrome/Firefox configuration in the browser section of the result JSON <a href="https://github.com/sitespeedio/browsertime/pull/2259">#2259</a></li>
|
||||
<li>Get response bodies in the HAR for Firefox. Thank you <a href="https://github.com/juliandescottes">Julian Descottes</a> and the rest of the Mozilla team that made this possible in bidi-har-export. Added in <a href="https://github.com/sitespeedio/browsertime/pull/2359">#2359</a>. The Firefox HAR has missed this functionality since we did the switch to bidi-har.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to use Webdriver 4.28.1 <a href="https://github.com/sitespeedio/browsertime/pull/2258">#2258</a>.</li>
|
||||
<li>Restructure server timings so the timing name does not get lost for InfluxDB/Graphite. Thank you <a href="https://github.com/TimOldenburg">Tim Oldenburg</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2358">#2358</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1</guid>
|
||||
<pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>If Jimp is missing when storing an image, log and write the file as PNG <a href="https://github.com/sitespeedio/browsertime/pull/2257">#2257</a>.</li>
|
||||
<li>Add Simpleperf app_profiler options and use <code>--android.simpleperf</code>. Thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2352">#2352</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0</guid>
|
||||
<pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 26.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0</guid>
|
||||
<pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Edgedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2254">#2236</a>.</li>
|
||||
<li>Updated Chromedriver and Edgedriver to 143 <a href="https://github.com/sitespeedio/browsertime/pull/2354">#2354</a> and<a href="https://github.com/sitespeedio/browsertime/pull/2355">#2355</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chromedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2253">#2236</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome and Edge 132, Firefox 134 in the Docker container + NodeJS 22 <a href="https://github.com/sitespeedio/browsertime/pull/2255">#2255</a>.</li>
|
||||
<li>Updated webdriver to 4.39.0 <a href="https://github.com/sitespeedio/browsertime/pull/2356">#2356</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Replace dependencies with local implementation:</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix Docker file ENV to follow the new standard <a href="https://github.com/sitespeedio/browsertime/pull/2239">#2239</a>.</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li>Moved usb-power-profiling to be an optional package <a href="https://github.com/sitespeedio/browsertime/pull/2249">#2249</a>.</li>
|
||||
<li>Try to tune the XVFB handling to make it safer that xvfb is always stopped <a href="https://github.com/sitespeedio/browsertime/pull/2353">#2353</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0</guid>
|
||||
<pubDate>Mon, 23 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 26.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0</guid>
|
||||
<pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Added <code>--userTimingBlockList</code> <a href="https://github.com/sitespeedio/browsertime/pull/2227">#2227</a>.</li>
|
||||
<li>Firefox 146 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2351">#2351</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome 143 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2350">#2350</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated to webdriver 4.28 <a href="https://github.com/sitespeedio/browsertime/pull/2226">#2226</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2228">#2228</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so the check for gnirehtet always use --android.gnirehtet to fix problems setting it in sitespeed.io <a href="https://github.com/sitespeedio/browsertime/pull/2229">#2229</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to execa 9.5.2 <a href="https://github.com/sitespeedio/browsertime/pull/2231">#2231</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to adbkit 3.3.8 <a href="https://github.com/sitespeedio/browsertime/pull/2232">#2232</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so you cannot use gnirehtet with webpagereplay <a href="https://github.com/sitespeedio/browsertime/pull/2230">#2230</a>.</li>
|
||||
<li>Make sure the user in the Docker container has the correct user rights <a href="https://github.com/sitespeedio/browsertime/pull/2349">#2349</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.5]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5</guid>
|
||||
<pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 26.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1</guid>
|
||||
<pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Change bottom margin from 10 to 14 pixel when recording a video on mobile, se bug <a href="https://github.com/sitespeedio/browsertime/issues/2224">#2224</a> and PR <a href="https://github.com/sitespeedio/browsertime/pull/2225">#2225</a>.</li>
|
||||
<li>Remove extra console.log entry :)</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.4]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4</guid>
|
||||
<pubDate>Wed, 18 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<title><![CDATA[browsertime 26.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0</guid>
|
||||
<pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A more robust gnirehtet check when you run your Android test <a href="https://github.com/sitespeedio/browsertime/pull/2223">#2223</a>.</li>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/browsertime/pull/2342">#2342</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.3]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3</guid>
|
||||
<pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<title><![CDATA[browsertime 25.4.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0</guid>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Update to USB power profiling 1.5.0 <a href="https://github.com/sitespeedio/browsertime/pull/2221">#2221</a>.</li>
|
||||
<li>Chrome and Chromedriver 142 <a href="https://github.com/sitespeedio/browsertime/pull/2335">#2335</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.2]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2</guid>
|
||||
<pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 25.3.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1</guid>
|
||||
<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Improve how we compute the power consumption numbers from the Firefox Profiler output PR by <a href="https://github.com/canova">Nazım Can Altınova</a> <a href="https://github.com/sitespeedio/browsertime/pull/2220">#2220</a></li>
|
||||
<li>Better handling of closing XVFB <a href="https://github.com/sitespeedio/browsertime/pull/2332">#2332</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox: Disable quicksuggest <a href="https://github.com/sitespeedio/browsertime/pull/2333">#2333</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0</guid>
|
||||
<pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make it possible to strip cookie and auth headers in the HAR file for Firefox <a href="https://github.com/sitespeedio/browsertime/pull/2329">#2329</a> and Chrome <a href="https://github.com/sitespeedio/browsertime/pull/2330">#2330</a>. Use <code>--cleanSensitiveHeaders</code> to remove a <a href="https://github.com/sitespeedio/browsertime/blob/main/lib/support/har/index.js#L11-L24">couple of headers</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox 144 <a href="https://github.com/sitespeedio/browsertime/pull/2331">#2331</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated developer dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2326">#2326</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2327">#2327</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated log dependency <a href="https://github.com/sitespeedio/b23272327rowsertime/pull/2328">#2328</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0</guid>
|
||||
<pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver/Edge/Edgedriver 141, Firefox 143 <a href="https://github.com/sitespeedio/browsertime/pull/2325">#2325</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2323">#2323</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated webdriver and bidi-har <a href="https://github.com/sitespeedio/browsertime/pull/2322">#2322</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added simpleperf and perfetto support for Android, thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2315">#2315</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0</guid>
|
||||
<pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver 140, Firefox 142 <a href="https://github.com/sitespeedio/browsertime/pull/2318">#2318</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Selenium webdriver 4.35.0 <a href="https://github.com/sitespeedio/browsertime/pull/2317">#2317</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>coach-core-release-feed</id>
|
||||
<title>coach-core release feed</title>
|
||||
<updated>2024-12-28T07:23:52.922Z</updated>
|
||||
<updated>2025-08-31T14:30:33.326Z</updated>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<author>
|
||||
<name>Peter Hedenskog</name>
|
||||
|
|
@ -16,6 +16,27 @@
|
|||
<icon>http://www.sitespeed.io/favicon.ico</icon>
|
||||
<rights>All rights reserved 2022, Peter Hedenskog and team</rights>
|
||||
<category term="Web Performance"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[coach-core 8.1.2]]></title>
|
||||
<id>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2</id>
|
||||
<link href="https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2"/>
|
||||
<updated>2025-08-01T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Don't check svg images in avoidScalingImages check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/129">#129</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add zstd to encoding check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/128">#128</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Make sure we use wappalyzer that is MIT <a href="https://github.com/sitespeedio/coach-core/pull/133">#133</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[coach-core 8.1.1]]></title>
|
||||
<id>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.1</id>
|
||||
|
|
@ -176,21 +197,6 @@
|
|||
<ul>
|
||||
<li>Upgraded to PageXray 4.4.2 and Third Party Web 0.17.1.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[coach-core 7.1.1]]></title>
|
||||
<id>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1</id>
|
||||
<link href="https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1"/>
|
||||
<updated>2022-04-13T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to PageXray 4.4.1 and Third Party Web 0.15.0.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<title>coach-core release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of coach-core</description>
|
||||
<lastBuildDate>Sat, 28 Dec 2024 07:23:52 GMT</lastBuildDate>
|
||||
<lastBuildDate>Sun, 31 Aug 2025 14:30:33 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
|
|
@ -16,6 +16,24 @@
|
|||
<copyright>All rights reserved 2022, Peter Hedenskog and team</copyright>
|
||||
<category>Web Performance</category>
|
||||
<atom:link href="https://www.sitespeed.io/feed/coach-core.rss" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 8.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2</guid>
|
||||
<pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Don't check svg images in avoidScalingImages check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/129">#129</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add zstd to encoding check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/128">#128</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Make sure we use wappalyzer that is MIT <a href="https://github.com/sitespeedio/coach-core/pull/133">#133</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 8.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.1</link>
|
||||
|
|
@ -152,18 +170,6 @@
|
|||
<ul>
|
||||
<li>Upgraded to PageXray 4.4.2 and Third Party Web 0.17.1.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 7.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1</guid>
|
||||
<pubDate>Wed, 13 Apr 2022 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to PageXray 4.4.1 and Third Party Web 0.15.0.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<title>sitespeed.io release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of sitespeed.io</description>
|
||||
<lastBuildDate>Sat, 08 Feb 2025 00:00:00 GMT</lastBuildDate>
|
||||
<lastBuildDate>Sat, 10 Jan 2026 00:00:00 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
|
|
@ -16,61 +16,482 @@
|
|||
<copyright>All rights reserved 2022, Peter Hedenskog and team</copyright>
|
||||
<atom:link href="https://www.sitespeed.io/feed/rss.xml" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0</guid>
|
||||
<pubDate>Sat, 08 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[sitespeed.io 39.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0</guid>
|
||||
<pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Chrome 133 and Firefox 135 in the Docker container <a href="https://github.com/sitespeedio/sitespeed.io/pull/4431">#4431</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Browsertime 24.2.0 with Chromedriver 133 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4432">#4432</a>.</li>
|
||||
<li>Updated to Browsertime 26.3 with and updated version of bidi-har that makes it possible to get response bodies in the HAR file for Firefox <a href="https://github.com/sitespeedio/sitespeed.io/pull/4578">#4578</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Extra guard against missing HARs <a href="https://github.com/sitespeedio/sitespeed.io/pull/4430">#4430</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Log missing green domain info as info instead of error <a href="https://github.com/sitespeedio/sitespeed.io/pull/4433">#4433</a>.</li>
|
||||
<li>Fixed typo in iteration detail page for the cpuConsumption metric, thank you <a href="https://github.com/byte55">Michael Walter</a> for PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4577">#4577</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0</guid>
|
||||
<pubDate>Fri, 07 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[browsertime 26.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.3.0</guid>
|
||||
<pubDate>Fri, 09 Jan 2026 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Changed default text size to medium from large <a href="https://github.com/sitespeedio/onlinetest/pull/135">#135</a> and <a href="https://github.com/sitespeedio/onlinetest/pull/136">#136</a>.</li>
|
||||
<li>Get response bodies in the HAR for Firefox. Thank you <a href="https://github.com/juliandescottes">Julian Descottes</a> and the rest of the Mozilla team that made this possible in bidi-har-export. Added in <a href="https://github.com/sitespeedio/browsertime/pull/2359">#2359</a>. The Firefox HAR has missed this functionality since we did the switch to bidi-har.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.2.0</guid>
|
||||
<pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Chromedriver and Chromne to 133 and Firefox to 135 <a href="https://github.com/sitespeedio/browsertime/pull/2261">#2261</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2262">#2262</a>.</li>
|
||||
<li>Restructure server timings so the timing name does not get lost for InfluxDB/Graphite. Thank you <a href="https://github.com/TimOldenburg">Tim Oldenburg</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2358">#2358</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add Simpleperf app_profiler options and use <code>--android.simpleperf</code>. Thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2352">#2352</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.4.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0</guid>
|
||||
<pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[sitespeed.io 39.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0</guid>
|
||||
<pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make sure completed tests are linked to the result <a href="https://github.com/sitespeedio/onlinetest/pull/132">#132</a>.</li>
|
||||
<li>Updated to Browsertime 26.2 with latest Chromedriver and Edgedriver and a small XVFB fix <a href="https://github.com/sitespeedio/sitespeed.io/pull/4575">#4575</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 26.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.2.0</guid>
|
||||
<pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated Chromedriver and Edgedriver to 143 <a href="https://github.com/sitespeedio/browsertime/pull/2354">#2354</a> and<a href="https://github.com/sitespeedio/browsertime/pull/2355">#2355</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>When hover the result link, show when the test was added, when it run and the connectivity <a href="https://github.com/sitespeedio/onlinetest/pull/133">#133</a>.</li>
|
||||
<li>Updated webdriver to 4.39.0 <a href="https://github.com/sitespeedio/browsertime/pull/2356">#2356</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Try to tune the XVFB handling to make it safer that xvfb is always stopped <a href="https://github.com/sitespeedio/browsertime/pull/2353">#2353</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2</guid>
|
||||
<pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix a bug introduced in 39.0.0 where alias was missing when creating some file structure <a href="https://github.com/sitespeedio/sitespeed.io/pull/4574">#4574</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1</guid>
|
||||
<pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Safer handling for broken URLs. This logs the actual root cause <a href="https://github.com/sitespeedio/sitespeed.io/pull/4573">#4573</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0</guid>
|
||||
<pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Upgrade the Docker container: Chrome and Edge 143, Firefox 146 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4572">#4572</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0</guid>
|
||||
<pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--browsertime.screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4570">#4570</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 26.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.1.0</guid>
|
||||
<pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Firefox 146 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2351">#2351</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome 143 in the Docker container <a href="https://github.com/sitespeedio/browsertime/pull/2350">#2350</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Make sure the user in the Docker container has the correct user rights <a href="https://github.com/sitespeedio/browsertime/pull/2349">#2349</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 26.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.1</guid>
|
||||
<pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Remove extra console.log entry :)</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 26.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#26.0.0</guid>
|
||||
<pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/browsertime/pull/2342">#2342</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.6.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0</guid>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Browsertime 25.4.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4566">#4566</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome 142 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4565">#4565</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.4.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.4.0</guid>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Chrome and Chromedriver 142 <a href="https://github.com/sitespeedio/browsertime/pull/2335">#2335</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.2.1]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1</guid>
|
||||
<pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tests running in the Docker container has the wrong path to the scripting file <a href="https://github.com/sitespeedio/onlinetest/pull/167">#167</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2</guid>
|
||||
<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgrade to <a href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2531---2025-10-24">Browsetime 25.3.1</a> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4562">#4562</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.3.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.1</guid>
|
||||
<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Better handling of closing XVFB <a href="https://github.com/sitespeedio/browsertime/pull/2332">#2332</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox: Disable quicksuggest <a href="https://github.com/sitespeedio/browsertime/pull/2333">#2333</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.7.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1</guid>
|
||||
<pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix for the search qyuery parameter <a href="https://github.com/sitespeedio/onlinetest/pull/162">#162</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.7.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0</guid>
|
||||
<pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0</guid>
|
||||
<pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeed.io 38 <a href="https://github.com/sitespeedio/onlinetest/pull/158">#158</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1</guid>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The +1 container has a updated configuration for the GPSI plugin to remove the PWA category. Thank you <a href="https://github.com/ThimoCode">ThimoCode</a> for PR <a href="https://github.com/sitespeedio/plugin-gpsi/pull/58">#58</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0</guid>
|
||||
<pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated the Docker container to use Firefox 144 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4554">#4554</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added Browsertime 25.3 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4559">#4559</a> with support for removing some headers in the HAR file (more info about that soon).</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/sitespeed.io/pull/4556">#4556</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated to Axe-core 4.11.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4555">#4555)</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated Ora dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4557">#4557</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated the log dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4558">#4558</a>. The new version remove the color for error logs.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.3.0</guid>
|
||||
<pubDate>Fri, 17 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make it possible to strip cookie and auth headers in the HAR file for Firefox <a href="https://github.com/sitespeedio/browsertime/pull/2329">#2329</a> and Chrome <a href="https://github.com/sitespeedio/browsertime/pull/2330">#2330</a>. Use <code>--cleanSensitiveHeaders</code> to remove a <a href="https://github.com/sitespeedio/browsertime/blob/main/lib/support/har/index.js#L11-L24">couple of headers</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Firefox 144 <a href="https://github.com/sitespeedio/browsertime/pull/2331">#2331</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated developer dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2326">#2326</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2327">#2327</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated log dependency <a href="https://github.com/sitespeedio/b23272327rowsertime/pull/2328">#2328</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.2.0</guid>
|
||||
<pubDate>Sun, 12 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver/Edge/Edgedriver 141, Firefox 143 <a href="https://github.com/sitespeedio/browsertime/pull/2325">#2325</a> and <a href="https://github.com/sitespeedio/browsertime/pull/2323">#2323</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated webdriver and bidi-har <a href="https://github.com/sitespeedio/browsertime/pull/2322">#2322</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added simpleperf and perfetto support for Android, thank you <a href="https://github.com/animalan">Abhishek Nimalan</a> for PR <a href="https://github.com/sitespeedio/browsertime/pull/2315">#2315</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 25.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#25.1.0</guid>
|
||||
<pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to Chrome/Chromedriver 140, Firefox 142 <a href="https://github.com/sitespeedio/browsertime/pull/2318">#2318</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Selenium webdriver 4.35.0 <a href="https://github.com/sitespeedio/browsertime/pull/2317">#2317</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 8.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.2</guid>
|
||||
<pubDate>Fri, 01 Aug 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Don't check svg images in avoidScalingImages check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/129">#129</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add zstd to encoding check, thank you <a href="https://github.com/M-arcus">Marcus Müller</a> for PR <a href="https://github.com/sitespeedio/coach-core/pull/128">#128</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Make sure we use wappalyzer that is MIT <a href="https://github.com/sitespeedio/coach-core/pull/133">#133</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.5]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5</guid>
|
||||
<pubDate>Tue, 11 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>And another fix for script names <a href="https://github.com/sitespeedio/onlinetest/pull/146">#146</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.4]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4</guid>
|
||||
<pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another fix for showing the script name <a href="https://github.com/sitespeedio/onlinetest/pull/145">#145</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</guid>
|
||||
<pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Show only the script name and not the full path <a href="https://github.com/sitespeedio/onlinetest/pull/144">#144</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</guid>
|
||||
<pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>There was a bug that when you tried to change the URL after you edited a test with a script, you couldn't change the URL <a href="https://github.com/sitespeedio/onlinetest/pull/142">#142</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.2]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another label fix.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Guard against empty labels when changing labels <a href="https://github.com/sitespeedio/onlinetest/pull/141">#141</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Add functionality to: edit/add alias to a finished test, rerun a test with the exact same configuration and change the URL of a test and rerun with the same configuration <a href="https://github.com/sitespeedio/onlinetest/pull/137">#137</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>You can now configure which favicons that is used <a href="https://github.com/sitespeedio/onlinetest/pull/140">#140</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Update to latest sitespeed.io/log <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to sitespeed.io 36 as default version <a href="https://github.com/sitespeedio/onlinetest/pull/134">#134</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use latest version of sitespeed.io/logs <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Safer trap for WPR processes when running NodeJS Testrunner <a href="https://github.com/sitespeedio/onlinetest/pull/139">#139</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
|
|
@ -85,36 +506,6 @@
|
|||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.5]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5</guid>
|
||||
<pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The check for sending Android test through APIs was broken in 36.2.4, fixed in <a href="https://github.com/sitespeedio/sitespeed.io/pull/4428">#4428</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.4]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4</guid>
|
||||
<pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The GitHub actions tests on Windows was broken. I think GitHub changed tere heir setup: Suddenly the path to plugins was broken. Rerunning old test that used to work, failed with the same code on our side. It's fixed by <a href="https://github.com/sitespeedio/sitespeed.io/pull/4426">#4426</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>We have had issues with parsing Android configuration because of the <code>--android</code> flag to enable Android tests. The problem was that in some cases the internal configuration object become an Array (instead of an object) and that made some objects to do not work. The PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4422">#4422</a> removes <code>--android</code> from the cli help, however it will still work as before.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so API calls also looks for <code>--android.enabled</code> to know if you want to test on Android <a href="https://github.com/sitespeedio/sitespeed.io/pull/4427">#4427</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.0.6]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.6</link>
|
||||
|
|
@ -124,47 +515,6 @@
|
|||
<ul>
|
||||
<li>Disable verbose logging from GUI <a href="https://github.com/sitespeedio/onlinetest/pull/130">#130</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.3]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Even better handling of missing runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4420">#4420</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Add link to active test in search <a href="https://github.com/sitespeedio/onlinetest/pull/129">#129</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now search by status. <code>status:completed</code>. <a href="https://github.com/sitespeedio/onlinetest/pull/128">#128</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add colors to failure/completes in search results <a href="https://github.com/sitespeedio/onlinetest/pull/127">#127</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Make sure failing tests with a result is accessible <a href="https://github.com/sitespeedio/onlinetest/pull/126">#126</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -176,155 +526,6 @@
|
|||
<ul>
|
||||
<li>Make sure failing tests with a result is accessible <a href="https://github.com/sitespeedio/onlinetest/pull/126">#126</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2</guid>
|
||||
<pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime and sitespeedio/log to 0.2.6 that adds the old log.warn <a href="https://github.com/sitespeedio/sitespeed.io/pull/4419">#4419</a> and <a href="https://github.com/sitespeedio/sitespeed.io/pull/4418">#4418</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>More fixes for the runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4417">#4417</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.1</guid>
|
||||
<pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeedio/log 0.2.6 <a href="https://github.com/sitespeedio/browsertime/pull/2260">#2260</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1</guid>
|
||||
<pubDate>Tue, 28 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed broken checks on runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4416">#4416</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>New Browsertime that expose configurations for the runtime settings page <a href="https://github.com/sitespeedio/sitespeed.io/pull/4414">#4414</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Show android rooted and gnirehtet in runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4415">#4415</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: failed rerun tests could get stuck in waiting state <a href="https://github.com/sitespeedio/onlinetest/pull/123">#123</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: rerun for Android picked the wrong queue <a href="https://github.com/sitespeedio/onlinetest/pull/122">#122</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.1.0</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Include Chrome/Firefox configuration in the browser section of the result JSON <a href="https://github.com/sitespeedio/browsertime/pull/2259">#2259</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to use Webdriver 4.28.1 <a href="https://github.com/sitespeedio/browsertime/pull/2258">#2258</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1</guid>
|
||||
<pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix click on location for search <a href="https://github.com/sitespeedio/onlinetest/pull/121">#121</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0</guid>
|
||||
<pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Display more LCP information: elementRenderDelay, ttfb, resourceLoadDelay, resourceLoadDuration <a href="https://github.com/sitespeedio/sitespeed.io/pull/4413">#4413</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>In runtime settings: Show if gnirehtet is used <a href="https://github.com/sitespeedio/sitespeed.io/pull/4412">#4412</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tune image size for result images <a href="https://github.com/sitespeedio/sitespeed.io/pull/4411">#4411</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0</guid>
|
||||
<pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now re-run a test using the re-run button in the search result. Also hover over the result buttons to see what you can do <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use the latest version of the log package <a href="https://github.com/sitespeedio/onlinetest/pull/118">#118</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Better error logging <a href="https://github.com/sitespeedio/onlinetest/pull/119">#119</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix broken compare button <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Replace intel log with sitespeed.io log <a href="https://github.com/sitespeedio/onlinetest/pull/117">#117</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update following dependencies: compression 1.7.5, execa 9.5.2, Pg 8.13.1, bull 4.16.5 and helmet 8.0.0.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -338,71 +539,6 @@
|
|||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.0.3]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3</guid>
|
||||
<pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix for uploading files to GCS/S3 that was partly broken in 36.0.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4410">#4410</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.0.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2</guid>
|
||||
<pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime with a fix if the Jimp dependency is missing.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.1</guid>
|
||||
<pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>If Jimp is missing when storing an image, log and write the file as PNG <a href="https://github.com/sitespeedio/browsertime/pull/2257">#2257</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 24.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#24.0.0</guid>
|
||||
<pubDate>Mon, 20 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Edgedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2254">#2236</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chromedriver 132 <a href="https://github.com/sitespeedio/browsertime/pull/2253">#2236</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Chrome and Edge 132, Firefox 134 in the Docker container + NodeJS 22 <a href="https://github.com/sitespeedio/browsertime/pull/2255">#2255</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Replace dependencies with local implementation:</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix Docker file ENV to follow the new standard <a href="https://github.com/sitespeedio/browsertime/pull/2239">#2239</a>.</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li>Moved usb-power-profiling to be an optional package <a href="https://github.com/sitespeedio/browsertime/pull/2249">#2249</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 8.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#8.1.1</link>
|
||||
|
|
@ -434,49 +570,6 @@
|
|||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.5.0</guid>
|
||||
<pubDate>Mon, 23 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Added <code>--userTimingBlockList</code> <a href="https://github.com/sitespeedio/browsertime/pull/2227">#2227</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated to webdriver 4.28 <a href="https://github.com/sitespeedio/browsertime/pull/2226">#2226</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/browsertime/pull/2228">#2228</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so the check for gnirehtet always use --android.gnirehtet to fix problems setting it in sitespeed.io <a href="https://github.com/sitespeedio/browsertime/pull/2229">#2229</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to execa 9.5.2 <a href="https://github.com/sitespeedio/browsertime/pull/2231">#2231</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to adbkit 3.3.8 <a href="https://github.com/sitespeedio/browsertime/pull/2232">#2232</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so you cannot use gnirehtet with webpagereplay <a href="https://github.com/sitespeedio/browsertime/pull/2230">#2230</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.5]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.5</guid>
|
||||
<pubDate>Fri, 20 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Change bottom margin from 10 to 14 pixel when recording a video on mobile, se bug <a href="https://github.com/sitespeedio/browsertime/issues/2224">#2224</a> and PR <a href="https://github.com/sitespeedio/browsertime/pull/2225">#2225</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.0.3]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.3</link>
|
||||
|
|
@ -497,64 +590,6 @@
|
|||
<ul>
|
||||
<li>Fix broken path to the WebPageReplay script when running as npm package and fix so you also can run desktop test using WebPageReplay when you use npm <a href="https://github.com/sitespeedio/onlinetest/pull/107">#107</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.4]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.4</guid>
|
||||
<pubDate>Wed, 18 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>A more robust gnirehtet check when you run your Android test <a href="https://github.com/sitespeedio/browsertime/pull/2223">#2223</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.3]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.3</guid>
|
||||
<pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Update to USB power profiling 1.5.0 <a href="https://github.com/sitespeedio/browsertime/pull/2221">#2221</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[browsertime 23.4.2]]></title>
|
||||
<link>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2</link>
|
||||
<guid>https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#23.4.2</guid>
|
||||
<pubDate>Tue, 10 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Improve how we compute the power consumption numbers from the Firefox Profiler output PR by <a href="https://github.com/canova">Nazım Can Altınova</a> <a href="https://github.com/sitespeedio/browsertime/pull/2220">#2220</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/browsertime.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -566,17 +601,6 @@
|
|||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -605,17 +629,6 @@
|
|||
<ul>
|
||||
<li>Updated to tough cookie 5.0.0 <a href="https://github.com/sitespeedio/chrome-har/pull/126">#126</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 0.5.6]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6</guid>
|
||||
<pubDate>Tue, 24 Sep 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Bull 4.16.3 <a href="https://github.com/sitespeedio/onlinetest/pull/87">#87</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
|
|
@ -893,18 +906,6 @@
|
|||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[coach-core 7.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/coach-core/blob/main/CHANGELOG.md#7.1.1</guid>
|
||||
<pubDate>Wed, 13 Apr 2022 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgraded to PageXray 4.4.1 and Third Party Web 0.15.0.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/coach.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[pagexray 4.4.1]]></title>
|
||||
<link>https://github.com/sitespeedio/pagexray/blob/main/CHANGELOG.md#4.4.1</link>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>server-release-feed</id>
|
||||
<title>server release feed</title>
|
||||
<updated>2025-02-07T07:51:00.443Z</updated>
|
||||
<updated>2025-10-22T22:03:43.179Z</updated>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<author>
|
||||
<name>Peter Hedenskog</name>
|
||||
|
|
@ -16,13 +16,13 @@
|
|||
<rights>All rights reserved 2022, Peter Hedenskog and team</rights>
|
||||
<category term="Web Performance"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.5.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0"/>
|
||||
<updated>2025-02-07T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<title type="html"><![CDATA[server 1.7.1]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1"/>
|
||||
<updated>2025-10-23T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Changed default text size to medium from large <a href="https://github.com/sitespeedio/onlinetest/pull/135">#135</a> and <a href="https://github.com/sitespeedio/onlinetest/pull/136">#136</a>.</li>
|
||||
<li>Fix for the search qyuery parameter <a href="https://github.com/sitespeedio/onlinetest/pull/162">#162</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -31,16 +31,16 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.4.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0"/>
|
||||
<updated>2025-02-04T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[server 1.7.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0"/>
|
||||
<updated>2025-10-22T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make sure completed tests are linked to the result <a href="https://github.com/sitespeedio/onlinetest/pull/132">#132</a>.</li>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>When hover the result link, show when the test was added, when it run and the connectivity <a href="https://github.com/sitespeedio/onlinetest/pull/133">#133</a>.</li>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -49,13 +49,13 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.3.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0"/>
|
||||
<updated>2025-01-30T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<title type="html"><![CDATA[server 1.6.5]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5"/>
|
||||
<updated>2025-03-11T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Add link to active test in search <a href="https://github.com/sitespeedio/onlinetest/pull/129">#129</a>.</li>
|
||||
<li>And another fix for script names <a href="https://github.com/sitespeedio/onlinetest/pull/146">#146</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -64,126 +64,95 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0"/>
|
||||
<updated>2025-01-30T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[server 1.6.4]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4"/>
|
||||
<updated>2025-03-10T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another fix for showing the script name <a href="https://github.com/sitespeedio/onlinetest/pull/145">#145</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.6.3]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3"/>
|
||||
<updated>2025-03-10T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Show only the script name and not the full path <a href="https://github.com/sitespeedio/onlinetest/pull/144">#144</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.6.3]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3"/>
|
||||
<updated>2025-02-13T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>There was a bug that when you tried to change the URL after you edited a test with a script, you couldn't change the URL <a href="https://github.com/sitespeedio/onlinetest/pull/142">#142</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.6.2]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2"/>
|
||||
<updated>2025-02-12T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another label fix.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.6.1]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1"/>
|
||||
<updated>2025-02-12T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Guard against empty labels when changing labels <a href="https://github.com/sitespeedio/onlinetest/pull/141">#141</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.6.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0"/>
|
||||
<updated>2025-02-12T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now search by status. <code>status:completed</code>. <a href="https://github.com/sitespeedio/onlinetest/pull/128">#128</a>.</li>
|
||||
<li>Add functionality to: edit/add alias to a finished test, rerun a test with the exact same configuration and change the URL of a test and rerun with the same configuration <a href="https://github.com/sitespeedio/onlinetest/pull/137">#137</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add colors to failure/completes in search results <a href="https://github.com/sitespeedio/onlinetest/pull/127">#127</a>.</li>
|
||||
<li>You can now configure which favicons that is used <a href="https://github.com/sitespeedio/onlinetest/pull/140">#140</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Make sure failing tests with a result is accessible <a href="https://github.com/sitespeedio/onlinetest/pull/126">#126</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.1.3]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3"/>
|
||||
<updated>2025-01-27T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: failed rerun tests could get stuck in waiting state <a href="https://github.com/sitespeedio/onlinetest/pull/123">#123</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.1.2]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2"/>
|
||||
<updated>2025-01-27T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: rerun for Android picked the wrong queue <a href="https://github.com/sitespeedio/onlinetest/pull/122">#122</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.1.1]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1"/>
|
||||
<updated>2025-01-26T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix click on location for search <a href="https://github.com/sitespeedio/onlinetest/pull/121">#121</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0"/>
|
||||
<updated>2025-01-25T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now re-run a test using the re-run button in the search result. Also hover over the result buttons to see what you can do <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use the latest version of the log package <a href="https://github.com/sitespeedio/onlinetest/pull/118">#118</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Better error logging <a href="https://github.com/sitespeedio/onlinetest/pull/119">#119</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix broken compare button <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Replace intel log with sitespeed.io log <a href="https://github.com/sitespeedio/onlinetest/pull/117">#117</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update following dependencies: compression 1.7.5, execa 9.5.2, Pg 8.13.1, bull 4.16.5 and helmet 8.0.0.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.0.1]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1"/>
|
||||
<updated>2024-12-06T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[server 1.0.0]]></title>
|
||||
<id>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0</id>
|
||||
<link href="https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0"/>
|
||||
<updated>2024-12-06T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
<li>Update to latest sitespeed.io/log <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<title>server release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of server</description>
|
||||
<lastBuildDate>Fri, 07 Feb 2025 07:51:00 GMT</lastBuildDate>
|
||||
<lastBuildDate>Wed, 22 Oct 2025 22:03:43 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
|
|
@ -12,138 +12,111 @@
|
|||
<category>Web Performance</category>
|
||||
<atom:link href="https://www.sitespeed.io/feed/server.rss" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[server 1.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.5.0</guid>
|
||||
<pubDate>Fri, 07 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<title><![CDATA[server 1.7.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.1</guid>
|
||||
<pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Changed default text size to medium from large <a href="https://github.com/sitespeedio/onlinetest/pull/135">#135</a> and <a href="https://github.com/sitespeedio/onlinetest/pull/136">#136</a>.</li>
|
||||
<li>Fix for the search qyuery parameter <a href="https://github.com/sitespeedio/onlinetest/pull/162">#162</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.4.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.4.0</guid>
|
||||
<pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[server 1.7.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.7.0</guid>
|
||||
<pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Make sure completed tests are linked to the result <a href="https://github.com/sitespeedio/onlinetest/pull/132">#132</a>.</li>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>When hover the result link, show when the test was added, when it run and the connectivity <a href="https://github.com/sitespeedio/onlinetest/pull/133">#133</a>.</li>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.3.0</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<title><![CDATA[server 1.6.5]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.5</guid>
|
||||
<pubDate>Tue, 11 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Add link to active test in search <a href="https://github.com/sitespeedio/onlinetest/pull/129">#129</a>.</li>
|
||||
<li>And another fix for script names <a href="https://github.com/sitespeedio/onlinetest/pull/146">#146</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.2.0</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[server 1.6.4]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.4</guid>
|
||||
<pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another fix for showing the script name <a href="https://github.com/sitespeedio/onlinetest/pull/145">#145</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</guid>
|
||||
<pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Show only the script name and not the full path <a href="https://github.com/sitespeedio/onlinetest/pull/144">#144</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.3</guid>
|
||||
<pubDate>Thu, 13 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>There was a bug that when you tried to change the URL after you edited a test with a script, you couldn't change the URL <a href="https://github.com/sitespeedio/onlinetest/pull/142">#142</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.2]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.2</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Another label fix.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.1</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Guard against empty labels when changing labels <a href="https://github.com/sitespeedio/onlinetest/pull/141">#141</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.6.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.6.0</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now search by status. <code>status:completed</code>. <a href="https://github.com/sitespeedio/onlinetest/pull/128">#128</a>.</li>
|
||||
<li>Add functionality to: edit/add alias to a finished test, rerun a test with the exact same configuration and change the URL of a test and rerun with the same configuration <a href="https://github.com/sitespeedio/onlinetest/pull/137">#137</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Add colors to failure/completes in search results <a href="https://github.com/sitespeedio/onlinetest/pull/127">#127</a>.</li>
|
||||
<li>You can now configure which favicons that is used <a href="https://github.com/sitespeedio/onlinetest/pull/140">#140</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Make sure failing tests with a result is accessible <a href="https://github.com/sitespeedio/onlinetest/pull/126">#126</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.3]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.3</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: failed rerun tests could get stuck in waiting state <a href="https://github.com/sitespeedio/onlinetest/pull/123">#123</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.2</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix: rerun for Android picked the wrong queue <a href="https://github.com/sitespeedio/onlinetest/pull/122">#122</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.1</guid>
|
||||
<pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix click on location for search <a href="https://github.com/sitespeedio/onlinetest/pull/121">#121</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.1.0</guid>
|
||||
<pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>You can now re-run a test using the re-run button in the search result. Also hover over the result buttons to see what you can do <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use the latest version of the log package <a href="https://github.com/sitespeedio/onlinetest/pull/118">#118</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Better error logging <a href="https://github.com/sitespeedio/onlinetest/pull/119">#119</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix broken compare button <a href="https://github.com/sitespeedio/onlinetest/pull/120">#120</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Replace intel log with sitespeed.io log <a href="https://github.com/sitespeedio/onlinetest/pull/117">#117</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update following dependencies: compression 1.7.5, execa 9.5.2, Pg 8.13.1, bull 4.16.5 and helmet 8.0.0.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.0.1]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.1</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[server 1.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/server/blob/main/CHANGELOG.md#1.0.0</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
<li>Update to latest sitespeed.io/log <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>sitespeed.io-release-feed</id>
|
||||
<title>sitespeed.io release feed</title>
|
||||
<updated>2025-02-08T15:38:17.901Z</updated>
|
||||
<updated>2026-01-10T21:40:43.526Z</updated>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<author>
|
||||
<name>Peter Hedenskog</name>
|
||||
|
|
@ -17,23 +17,17 @@
|
|||
<rights>All rights reserved 2022, Peter Hedenskog and team</rights>
|
||||
<category term="Web Performance"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.3.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0"/>
|
||||
<updated>2025-02-08T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.3.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0"/>
|
||||
<updated>2026-01-10T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Chrome 133 and Firefox 135 in the Docker container <a href="https://github.com/sitespeedio/sitespeed.io/pull/4431">#4431</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Browsertime 24.2.0 with Chromedriver 133 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4432">#4432</a>.</li>
|
||||
<li>Updated to Browsertime 26.3 with and updated version of bidi-har that makes it possible to get response bodies in the HAR file for Firefox <a href="https://github.com/sitespeedio/sitespeed.io/pull/4578">#4578</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Extra guard against missing HARs <a href="https://github.com/sitespeedio/sitespeed.io/pull/4430">#4430</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Log missing green domain info as info instead of error <a href="https://github.com/sitespeedio/sitespeed.io/pull/4433">#4433</a>.</li>
|
||||
<li>Fixed typo in iteration detail page for the cpuConsumption metric, thank you <a href="https://github.com/byte55">Michael Walter</a> for PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4577">#4577</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -42,100 +36,13 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.5]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5"/>
|
||||
<updated>2025-02-03T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The check for sending Android test through APIs was broken in 36.2.4, fixed in <a href="https://github.com/sitespeedio/sitespeed.io/pull/4428">#4428</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.4]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4"/>
|
||||
<updated>2025-02-02T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The GitHub actions tests on Windows was broken. I think GitHub changed tere heir setup: Suddenly the path to plugins was broken. Rerunning old test that used to work, failed with the same code on our side. It's fixed by <a href="https://github.com/sitespeedio/sitespeed.io/pull/4426">#4426</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>We have had issues with parsing Android configuration because of the <code>--android</code> flag to enable Android tests. The problem was that in some cases the internal configuration object become an Array (instead of an object) and that made some objects to do not work. The PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4422">#4422</a> removes <code>--android</code> from the cli help, however it will still work as before.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so API calls also looks for <code>--android.enabled</code> to know if you want to test on Android <a href="https://github.com/sitespeedio/sitespeed.io/pull/4427">#4427</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.3]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3"/>
|
||||
<updated>2025-01-30T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Even better handling of missing runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4420">#4420</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.2]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2"/>
|
||||
<updated>2025-01-29T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime and sitespeedio/log to 0.2.6 that adds the old log.warn <a href="https://github.com/sitespeedio/sitespeed.io/pull/4419">#4419</a> and <a href="https://github.com/sitespeedio/sitespeed.io/pull/4418">#4418</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>More fixes for the runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4417">#4417</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.1]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1"/>
|
||||
<updated>2025-01-28T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed broken checks on runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4416">#4416</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0"/>
|
||||
<updated>2025-01-27T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0"/>
|
||||
<updated>2025-12-18T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>New Browsertime that expose configurations for the runtime settings page <a href="https://github.com/sitespeedio/sitespeed.io/pull/4414">#4414</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Show android rooted and gnirehtet in runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4415">#4415</a>.</li>
|
||||
<li>Updated to Browsertime 26.2 with latest Chromedriver and Edgedriver and a small XVFB fix <a href="https://github.com/sitespeedio/sitespeed.io/pull/4575">#4575</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
@ -144,50 +51,137 @@
|
|||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0"/>
|
||||
<updated>2025-01-25T00:00:00.000Z</updated>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.1.2]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2"/>
|
||||
<updated>2025-12-17T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix a bug introduced in 39.0.0 where alias was missing when creating some file structure <a href="https://github.com/sitespeedio/sitespeed.io/pull/4574">#4574</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.1.1]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1"/>
|
||||
<updated>2025-12-16T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Safer handling for broken URLs. This logs the actual root cause <a href="https://github.com/sitespeedio/sitespeed.io/pull/4573">#4573</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0"/>
|
||||
<updated>2025-12-15T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Display more LCP information: elementRenderDelay, ttfb, resourceLoadDelay, resourceLoadDuration <a href="https://github.com/sitespeedio/sitespeed.io/pull/4413">#4413</a>.</li>
|
||||
<li>Upgrade the Docker container: Chrome and Edge 143, Firefox 146 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4572">#4572</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 39.0.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0"/>
|
||||
<updated>2025-12-15T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--browsertime.screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4570">#4570</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 38.6.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0"/>
|
||||
<updated>2025-11-02T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Browsertime 25.4.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4566">#4566</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>In runtime settings: Show if gnirehtet is used <a href="https://github.com/sitespeedio/sitespeed.io/pull/4412">#4412</a>.</li>
|
||||
<li>Chrome 142 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4565">#4565</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 38.5.2]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2"/>
|
||||
<updated>2025-10-24T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgrade to <a href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2531---2025-10-24">Browsetime 25.3.1</a> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4562">#4562</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 38.5.1]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1"/>
|
||||
<updated>2025-10-21T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The +1 container has a updated configuration for the GPSI plugin to remove the PWA category. Thank you <a href="https://github.com/ThimoCode">ThimoCode</a> for PR <a href="https://github.com/sitespeedio/plugin-gpsi/pull/58">#58</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 38.5.0]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0"/>
|
||||
<updated>2025-10-18T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated the Docker container to use Firefox 144 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4554">#4554</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added Browsertime 25.3 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4559">#4559</a> with support for removing some headers in the HAR file (more info about that soon).</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tune image size for result images <a href="https://github.com/sitespeedio/sitespeed.io/pull/4411">#4411</a>.</li>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/sitespeed.io/pull/4556">#4556</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.0.3]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3"/>
|
||||
<updated>2025-01-23T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix for uploading files to GCS/S3 that was partly broken in 36.0.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4410">#4410</a>.</li>
|
||||
<li>Updated to Axe-core 4.11.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4555">#4555)</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[sitespeed.io 36.0.2]]></title>
|
||||
<id>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2</id>
|
||||
<link href="https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2"/>
|
||||
<updated>2025-01-21T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime with a fix if the Jimp dependency is missing.</li>
|
||||
<li>Updated Ora dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4557">#4557</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated the log dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4558">#4558</a>. The new version remove the color for error logs.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<title>sitespeed.io release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of sitespeed.io</description>
|
||||
<lastBuildDate>Sat, 08 Feb 2025 15:38:17 GMT</lastBuildDate>
|
||||
<lastBuildDate>Sat, 10 Jan 2026 21:40:43 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
|
|
@ -17,150 +17,144 @@
|
|||
<category>Web Performance</category>
|
||||
<atom:link href="https://www.sitespeed.io/feed/rss.xml" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.3.0</guid>
|
||||
<pubDate>Sat, 08 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[sitespeed.io 39.3.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.3.0</guid>
|
||||
<pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Chrome 133 and Firefox 135 in the Docker container <a href="https://github.com/sitespeedio/sitespeed.io/pull/4431">#4431</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Browsertime 24.2.0 with Chromedriver 133 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4432">#4432</a>.</li>
|
||||
<li>Updated to Browsertime 26.3 with and updated version of bidi-har that makes it possible to get response bodies in the HAR file for Firefox <a href="https://github.com/sitespeedio/sitespeed.io/pull/4578">#4578</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Extra guard against missing HARs <a href="https://github.com/sitespeedio/sitespeed.io/pull/4430">#4430</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Log missing green domain info as info instead of error <a href="https://github.com/sitespeedio/sitespeed.io/pull/4433">#4433</a>.</li>
|
||||
<li>Fixed typo in iteration detail page for the cpuConsumption metric, thank you <a href="https://github.com/byte55">Michael Walter</a> for PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4577">#4577</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.5]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.5</guid>
|
||||
<pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The check for sending Android test through APIs was broken in 36.2.4, fixed in <a href="https://github.com/sitespeedio/sitespeed.io/pull/4428">#4428</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.4]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.4</guid>
|
||||
<pubDate>Sun, 02 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The GitHub actions tests on Windows was broken. I think GitHub changed tere heir setup: Suddenly the path to plugins was broken. Rerunning old test that used to work, failed with the same code on our side. It's fixed by <a href="https://github.com/sitespeedio/sitespeed.io/pull/4426">#4426</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>We have had issues with parsing Android configuration because of the <code>--android</code> flag to enable Android tests. The problem was that in some cases the internal configuration object become an Array (instead of an object) and that made some objects to do not work. The PR <a href="https://github.com/sitespeedio/sitespeed.io/pull/4422">#4422</a> removes <code>--android</code> from the cli help, however it will still work as before.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Fix so API calls also looks for <code>--android.enabled</code> to know if you want to test on Android <a href="https://github.com/sitespeedio/sitespeed.io/pull/4427">#4427</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.3]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.3</guid>
|
||||
<pubDate>Thu, 30 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Even better handling of missing runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4420">#4420</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.2</guid>
|
||||
<pubDate>Wed, 29 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime and sitespeedio/log to 0.2.6 that adds the old log.warn <a href="https://github.com/sitespeedio/sitespeed.io/pull/4419">#4419</a> and <a href="https://github.com/sitespeedio/sitespeed.io/pull/4418">#4418</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>More fixes for the runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4417">#4417</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.1</guid>
|
||||
<pubDate>Tue, 28 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fixed broken checks on runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4416">#4416</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.2.0</guid>
|
||||
<pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[sitespeed.io 39.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.2.0</guid>
|
||||
<pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>New Browsertime that expose configurations for the runtime settings page <a href="https://github.com/sitespeedio/sitespeed.io/pull/4414">#4414</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Show android rooted and gnirehtet in runtime settings <a href="https://github.com/sitespeedio/sitespeed.io/pull/4415">#4415</a>.</li>
|
||||
<li>Updated to Browsertime 26.2 with latest Chromedriver and Edgedriver and a small XVFB fix <a href="https://github.com/sitespeedio/sitespeed.io/pull/4575">#4575</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.1.0</guid>
|
||||
<pubDate>Sat, 25 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<title><![CDATA[sitespeed.io 39.1.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.2</guid>
|
||||
<pubDate>Wed, 17 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix a bug introduced in 39.0.0 where alias was missing when creating some file structure <a href="https://github.com/sitespeedio/sitespeed.io/pull/4574">#4574</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.1.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.1</guid>
|
||||
<pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Safer handling for broken URLs. This logs the actual root cause <a href="https://github.com/sitespeedio/sitespeed.io/pull/4573">#4573</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.1.0</guid>
|
||||
<pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Display more LCP information: elementRenderDelay, ttfb, resourceLoadDelay, resourceLoadDuration <a href="https://github.com/sitespeedio/sitespeed.io/pull/4413">#4413</a>.</li>
|
||||
<li>Upgrade the Docker container: Chrome and Edge 143, Firefox 146 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4572">#4572</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 39.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#39.0.0</guid>
|
||||
<pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Upgrade to support NodeJS 24 without warnings, include NodeJS 24 in the Docker container, and base the Docker container on Ubuntu 24.04. To make this work I needed to upgrade the Jimp library and then we lost the settings for png screenshots <code>--browsertime.screenshotParams.png.compressionLevel</code> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4570">#4570</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.6.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.6.0</guid>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Browsertime 25.4.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4566">#4566</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>In runtime settings: Show if gnirehtet is used <a href="https://github.com/sitespeedio/sitespeed.io/pull/4412">#4412</a>.</li>
|
||||
<li>Chrome 142 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4565">#4565</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.2</guid>
|
||||
<pubDate>Fri, 24 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Upgrade to <a href="https://github.com/sitespeedio/browsertime/blob/main/CHANGELOG.md#2531---2025-10-24">Browsetime 25.3.1</a> <a href="https://github.com/sitespeedio/sitespeed.io/pull/4562">#4562</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.1]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.1</guid>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>The +1 container has a updated configuration for the GPSI plugin to remove the PWA category. Thank you <a href="https://github.com/ThimoCode">ThimoCode</a> for PR <a href="https://github.com/sitespeedio/plugin-gpsi/pull/58">#58</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 38.5.0]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#38.5.0</guid>
|
||||
<pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated the Docker container to use Firefox 144 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4554">#4554</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Added Browsertime 25.3 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4559">#4559</a> with support for removing some headers in the HAR file (more info about that soon).</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tune image size for result images <a href="https://github.com/sitespeedio/sitespeed.io/pull/4411">#4411</a>.</li>
|
||||
<li>Updated dev dependencies <a href="https://github.com/sitespeedio/sitespeed.io/pull/4556">#4556</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.0.3]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.3</guid>
|
||||
<pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix for uploading files to GCS/S3 that was partly broken in 36.0.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4410">#4410</a>.</li>
|
||||
<li>Updated to Axe-core 4.11.0 <a href="https://github.com/sitespeedio/sitespeed.io/pull/4555">#4555)</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[sitespeed.io 36.0.2]]></title>
|
||||
<link>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2</link>
|
||||
<guid>https://github.com/sitespeedio/sitespeed.io/blob/main/CHANGELOG.md#36.0.2</guid>
|
||||
<pubDate>Tue, 21 Jan 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated Browsertime with a fix if the Jimp dependency is missing.</li>
|
||||
<li>Updated Ora dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4557">#4557</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Updated the log dependency <a href="https://github.com/sitespeedio/sitespeed.io/pull/4558">#4558</a>. The new version remove the color for error logs.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<enclosure url="https://www.sitespeed.io/img/logos/sitespeed.io.png" length="0" type="image/png"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<id>testrunner-release-feed</id>
|
||||
<title>testrunner release feed</title>
|
||||
<updated>2025-02-05T14:18:33.614Z</updated>
|
||||
<updated>2025-10-22T21:28:22.870Z</updated>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<author>
|
||||
<name>Peter Hedenskog</name>
|
||||
|
|
@ -15,6 +15,65 @@
|
|||
<icon>http://www.sitespeed.io/favicon.ico</icon>
|
||||
<rights>All rights reserved 2022, Peter Hedenskog and team</rights>
|
||||
<category term="Web Performance"/>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 1.2.1]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1</id>
|
||||
<link href="https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1"/>
|
||||
<updated>2025-10-31T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tests running in the Docker container has the wrong path to the scripting file <a href="https://github.com/sitespeedio/onlinetest/pull/167">#167</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 1.2.0]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0</id>
|
||||
<link href="https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0"/>
|
||||
<updated>2025-10-22T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeed.io 38 <a href="https://github.com/sitespeedio/onlinetest/pull/158">#158</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 1.1.0]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0</id>
|
||||
<link href="https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0"/>
|
||||
<updated>2025-02-12T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to sitespeed.io 36 as default version <a href="https://github.com/sitespeedio/onlinetest/pull/134">#134</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use latest version of sitespeed.io/logs <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Safer trap for WPR processes when running NodeJS Testrunner <a href="https://github.com/sitespeedio/onlinetest/pull/139">#139</a>.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 1.0.7]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.7</id>
|
||||
|
|
@ -114,36 +173,6 @@
|
|||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 1.0.0]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0</id>
|
||||
<link href="https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0"/>
|
||||
<updated>2024-12-06T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
<uri>https://www.sitespeed.io</uri>
|
||||
</author>
|
||||
</entry>
|
||||
<entry>
|
||||
<title type="html"><![CDATA[testrunner 0.5.6]]></title>
|
||||
<id>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6</id>
|
||||
<link href="https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6"/>
|
||||
<updated>2024-09-24T00:00:00.000Z</updated>
|
||||
<summary type="html"><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Bull 4.16.3 <a href="https://github.com/sitespeedio/onlinetest/pull/87">#87</a></li>
|
||||
</ul>
|
||||
]]></summary>
|
||||
<author>
|
||||
<name>Sitespeed.io</name>
|
||||
|
|
|
|||
|
|
@ -4,13 +4,60 @@
|
|||
<title>testrunner release feed</title>
|
||||
<link>https://www.sitespeed.io</link>
|
||||
<description>New releases and changelog feed of testrunner</description>
|
||||
<lastBuildDate>Wed, 05 Feb 2025 14:18:33 GMT</lastBuildDate>
|
||||
<lastBuildDate>Wed, 22 Oct 2025 21:28:22 GMT</lastBuildDate>
|
||||
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
|
||||
<generator>https://github.com/jpmonette/feed</generator>
|
||||
<language>en</language>
|
||||
<copyright>All rights reserved 2022, Peter Hedenskog and team</copyright>
|
||||
<category>Web Performance</category>
|
||||
<atom:link href="https://www.sitespeed.io/feed/testrunner.rss" rel="self" type="application/rss+xml"/>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.2.1]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.1</guid>
|
||||
<pubDate>Fri, 31 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Tests running in the Docker container has the wrong path to the scripting file <a href="https://github.com/sitespeedio/onlinetest/pull/167">#167</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.2.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.2.0</guid>
|
||||
<pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Update to sitespeed.io 38 <a href="https://github.com/sitespeedio/onlinetest/pull/158">#158</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Update to NodeJS 22 <a href="https://github.com/sitespeedio/onlinetest/pull/155">#155</a></li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Updated dependencies (too many PRs).</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.1.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.1.0</guid>
|
||||
<pubDate>Wed, 12 Feb 2025 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Updated to sitespeed.io 36 as default version <a href="https://github.com/sitespeedio/onlinetest/pull/134">#134</a>.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Use latest version of sitespeed.io/logs <a href="https://github.com/sitespeedio/onlinetest/pull/138">#138</a>.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Safer trap for WPR processes when running NodeJS Testrunner <a href="https://github.com/sitespeedio/onlinetest/pull/139">#139</a>.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.0.7]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.7</link>
|
||||
|
|
@ -86,28 +133,6 @@
|
|||
<ul>
|
||||
<li>Fixed the release flow so the Docker containers get the correct tag.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 1.0.0]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#1.0.0</guid>
|
||||
<pubDate>Fri, 06 Dec 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Added</h3>
|
||||
<ul>
|
||||
<li>A new Docker setup <a href="https://github.com/sitespeedio/onlinetest/pull/95">#95</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
<item>
|
||||
<title><![CDATA[testrunner 0.5.6]]></title>
|
||||
<link>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6</link>
|
||||
<guid>https://github.com/sitespeedio/testrunner/blob/main/CHANGELOG.md#0.5.6</guid>
|
||||
<pubDate>Tue, 24 Sep 2024 00:00:00 GMT</pubDate>
|
||||
<description><![CDATA[<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Bull 4.16.3 <a href="https://github.com/sitespeedio/onlinetest/pull/87">#87</a></li>
|
||||
</ul>
|
||||
]]></description>
|
||||
</item>
|
||||
</channel>
|
||||
|
|
|
|||
|
|
@ -1,18 +1,7 @@
|
|||
import prettier from 'eslint-plugin-prettier';
|
||||
import unicorn from 'eslint-plugin-unicorn';
|
||||
import globals from 'globals';
|
||||
import path from 'node:path';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import js from '@eslint/js';
|
||||
import { FlatCompat } from '@eslint/eslintrc';
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const compat = new FlatCompat({
|
||||
baseDirectory: __dirname,
|
||||
recommendedConfig: js.configs.recommended,
|
||||
allConfig: js.configs.all
|
||||
});
|
||||
|
||||
export default [
|
||||
{
|
||||
|
|
@ -28,11 +17,11 @@ export default [
|
|||
'test/prepostscripts/*'
|
||||
]
|
||||
},
|
||||
...compat.extends('eslint:recommended', 'plugin:unicorn/recommended'),
|
||||
js.configs.recommended,
|
||||
unicorn.configs.recommended,
|
||||
{
|
||||
plugins: {
|
||||
prettier,
|
||||
unicorn
|
||||
prettier
|
||||
},
|
||||
|
||||
languageOptions: {
|
||||
|
|
|
|||
148
lib/cli/cli.js
148
lib/cli/cli.js
|
|
@ -18,6 +18,7 @@ import { config as slackConfig } from '../plugins/slack/index.js';
|
|||
import { config as htmlConfig } from '../plugins/html/index.js';
|
||||
import { messageTypes as matrixMessageTypes } from '../plugins/matrix/index.js';
|
||||
import { findUpSync } from '../support/fileUtil.js';
|
||||
import { registerPluginOptions } from './pluginOptions.js';
|
||||
|
||||
const metricList = Object.keys(friendlynames);
|
||||
const require = createRequire(import.meta.url);
|
||||
|
|
@ -25,6 +26,13 @@ const version = require('../../package.json').version;
|
|||
|
||||
const configFiles = ['.sitespeed.io.json'];
|
||||
|
||||
const addedPlugins = yargs(hideBin(process.argv))
|
||||
.option('plugins.add', { type: 'array' })
|
||||
.help(false)
|
||||
.version(false)
|
||||
.parse();
|
||||
const globalPluginsToAdd = addedPlugins.plugins?.add || [];
|
||||
|
||||
function fixAndroidArgs(args) {
|
||||
return args.map(arg => (arg === '--android' ? '--android.enabled' : arg));
|
||||
}
|
||||
|
|
@ -56,7 +64,7 @@ try {
|
|||
function validateInput(argv) {
|
||||
// Check NodeJS major version
|
||||
const fullVersion = process.versions.node;
|
||||
const minVersion = 14;
|
||||
const minVersion = 20;
|
||||
const majorVersion = fullVersion.split('.')[0];
|
||||
if (majorVersion < minVersion) {
|
||||
return (
|
||||
|
|
@ -220,7 +228,7 @@ function validateInput(argv) {
|
|||
export async function parseCommandLine() {
|
||||
const fixedArgs = fixAndroidArgs(hideBin(process.argv));
|
||||
const yargsInstance = yargs(fixedArgs);
|
||||
let parsed = yargsInstance
|
||||
yargsInstance
|
||||
.parserConfiguration({
|
||||
'camel-case-expansion': false,
|
||||
'deep-merge-config': true
|
||||
|
|
@ -421,7 +429,7 @@ export async function parseCommandLine() {
|
|||
})
|
||||
.option('browsertime.script', {
|
||||
describe:
|
||||
'Add custom Javascript that collect metrics and run after the page has finished loading. Note that --script can be passed multiple times if you want to collect multiple metrics. The metrics will automatically be pushed to the summary/detailed summary and each individual page + sent to Graphite/InfluxDB.',
|
||||
'Add custom Javascript that collect metrics and run after the page has finished loading. Note that --script can be passed multiple times if you want to collect multiple metrics. The metrics will automatically be pushed to the summary/detailed summary and each individual page + sent to Graphite',
|
||||
alias: ['script'],
|
||||
group: 'Browser'
|
||||
})
|
||||
|
|
@ -497,12 +505,6 @@ export async function parseCommandLine() {
|
|||
describe: 'Collect Contentful Speed Index when you run --visualMetrics.',
|
||||
group: 'Browser'
|
||||
})
|
||||
.option('browsertime.visualMetricsPortable', {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
describe:
|
||||
'Use the portable visual-metrics processing script (no ImageMagick dependencies).'
|
||||
})
|
||||
.option('browsertime.visualElements', {
|
||||
type: 'boolean',
|
||||
alias: ['visualElements'],
|
||||
|
|
@ -513,7 +515,7 @@ export async function parseCommandLine() {
|
|||
.option('browsertime.scriptInput.visualElements', {
|
||||
alias: ['scriptInput.visualElements'],
|
||||
describe:
|
||||
'Include specific elements in visual elements. Give the element a name and select it with document.body.querySelector. Use like this: --scriptInput.visualElements name:domSelector . Add multiple instances to measure multiple elements. Visual Metrics will use these elements and calculate when they are visible and fully rendered.',
|
||||
'Include specific elements in visual elements. Give the element a name and select it with document.body.querySelector. Use like this: --scriptInput.visualElements name:domSelector . If you want to measure multiple elements, use a configuration file with an array for the input. Visual Metrics will use these elements and calculate when they are visible and fully rendered.',
|
||||
group: 'Browser'
|
||||
})
|
||||
.option('browsertime.scriptInput.longTask', {
|
||||
|
|
@ -649,10 +651,9 @@ export async function parseCommandLine() {
|
|||
})
|
||||
.option('browsertime.firefox.includeResponseBodies', {
|
||||
alias: 'firefox.includeResponseBodies',
|
||||
describe:
|
||||
'Warning: This do not work at the moment, see https://github.com/sitespeedio/sitespeed.io/issues/4295',
|
||||
describe: 'Collect response bodies in the HAR',
|
||||
default: 'none',
|
||||
choices: ['none', 'all', 'html'],
|
||||
choices: ['none', 'all'],
|
||||
group: 'Firefox'
|
||||
})
|
||||
.option('browsertime.firefox.nightly', {
|
||||
|
|
@ -1160,7 +1161,6 @@ export async function parseCommandLine() {
|
|||
describe: 'Ignore robots.txt rules of the crawled domain.',
|
||||
group: 'Crawler'
|
||||
})
|
||||
|
||||
.option('scp.host', {
|
||||
describe: 'The host.',
|
||||
group: 'scp'
|
||||
|
|
@ -1347,80 +1347,6 @@ export async function parseCommandLine() {
|
|||
'Define which messages to send to Graphite. By default we do not send data per run, but you can change that by adding run as one of the options',
|
||||
group: 'Graphite'
|
||||
})
|
||||
|
||||
.option('influxdb.protocol', {
|
||||
describe: 'The protocol used to store connect to the InfluxDB host.',
|
||||
default: 'http',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.host', {
|
||||
describe: 'The InfluxDB host used to store captured metrics.',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.port', {
|
||||
default: 8086,
|
||||
describe: 'The InfluxDB port used to store captured metrics.',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.username', {
|
||||
describe:
|
||||
'The InfluxDB username for your InfluxDB instance (only for InfluxDB v1)',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.password', {
|
||||
describe:
|
||||
'The InfluxDB password for your InfluxDB instance (only for InfluxDB v1).',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.organisation', {
|
||||
describe:
|
||||
'The InfluxDB organisation for your InfluxDB instance (only for InfluxDB v2)',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.token', {
|
||||
describe:
|
||||
'The InfluxDB token for your InfluxDB instance (only for InfluxDB v2)',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.version', {
|
||||
default: 1,
|
||||
describe: 'The InfluxDB version of your InfluxDB instance.',
|
||||
type: 'integer',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.database', {
|
||||
default: 'sitespeed',
|
||||
describe: 'The database name used to store captured metrics.',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.tags', {
|
||||
default: 'category=default',
|
||||
describe:
|
||||
'A comma separated list of tags and values added to each metric',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.includeQueryParams', {
|
||||
default: false,
|
||||
describe:
|
||||
'Whether to include query parameters from the URL in the InfluxDB keys or not',
|
||||
type: 'boolean',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.groupSeparator', {
|
||||
default: '_',
|
||||
describe:
|
||||
'Choose which character that will separate a group/domain. Default is underscore, set it to a dot if you wanna keep the original domain name.',
|
||||
group: 'InfluxDB'
|
||||
})
|
||||
.option('influxdb.annotationScreenshot', {
|
||||
default: false,
|
||||
type: 'boolean',
|
||||
describe:
|
||||
'Include screenshot (from Browsertime) in the annotation. You need to specify a --resultBaseURL for this to work.',
|
||||
group: 'InfluxDB'
|
||||
});
|
||||
|
||||
parsed
|
||||
/** Plugins */
|
||||
.option('plugins.list', {
|
||||
describe: 'List all configured plugins in the log.',
|
||||
|
|
@ -1509,12 +1435,6 @@ export async function parseCommandLine() {
|
|||
default: browsertimeConfig.screenshotParams.type,
|
||||
group: 'Screenshot'
|
||||
})
|
||||
.option('browsertime.screenshotParams.png.compressionLevel', {
|
||||
alias: 'screenshot.png.compressionLevel',
|
||||
describe: 'zlib compression level',
|
||||
default: browsertimeConfig.screenshotParams.png.compressionLevel,
|
||||
group: 'Screenshot'
|
||||
})
|
||||
.option('browsertime.screenshotParams.jpg.quality', {
|
||||
alias: 'screenshot.jpg.quality',
|
||||
describe: 'Quality of the JPEG screenshot. 1-100',
|
||||
|
|
@ -1526,13 +1446,7 @@ export async function parseCommandLine() {
|
|||
describe: 'The max size of the screenshot (width and height).',
|
||||
default: browsertimeConfig.screenshotParams.maxSize,
|
||||
group: 'Screenshot'
|
||||
});
|
||||
/**
|
||||
InfluxDB cli option
|
||||
*/
|
||||
|
||||
parsed
|
||||
// Metrics
|
||||
})
|
||||
.option('metrics.list', {
|
||||
describe: 'List all possible metrics in the data folder (metrics.txt).',
|
||||
type: 'boolean',
|
||||
|
|
@ -1877,9 +1791,7 @@ export async function parseCommandLine() {
|
|||
describe:
|
||||
'Instead of using the local copy of the hosting database, you can use the latest version through the Green Web Foundation API. This means sitespeed.io will make HTTP GET to the the hosting info.',
|
||||
group: 'Sustainable'
|
||||
});
|
||||
|
||||
parsed
|
||||
})
|
||||
.option('api.key', {
|
||||
describe: 'The API key to use.',
|
||||
group: 'API'
|
||||
|
|
@ -1930,9 +1842,7 @@ export async function parseCommandLine() {
|
|||
.option('api.json', {
|
||||
describe: 'Output the result as JSON.',
|
||||
group: 'API'
|
||||
});
|
||||
|
||||
parsed
|
||||
})
|
||||
.option('compare.id', {
|
||||
type: 'string',
|
||||
describe:
|
||||
|
|
@ -1993,8 +1903,7 @@ export async function parseCommandLine() {
|
|||
'Selects the method for calculating the Mann-Whitney U test. auto automatically selects between exact and asymptotic based on sample size, exact uses the exact distribution of U, and symptotic uses a normal approximation.',
|
||||
default: 'auto',
|
||||
group: 'compare'
|
||||
});
|
||||
parsed
|
||||
})
|
||||
.option('mobile', {
|
||||
describe:
|
||||
'Access pages as mobile a fake mobile device. Set UA and width/height. For Chrome it will use device Moto G4.',
|
||||
|
|
@ -2028,12 +1937,12 @@ export async function parseCommandLine() {
|
|||
})
|
||||
.option('urlAlias', {
|
||||
describe:
|
||||
'Use an alias for the URL (if you feed URLs from a file you can instead have the alias in the file). You need to pass on the same amount of alias as URLs. The alias is used as the name of the URL on the HTML report and in Graphite/InfluxDB. Pass on multiple --urlAlias for multiple alias/URLs. This will override alias in a file.',
|
||||
'Use an alias for the URL (if you feed URLs from a file you can instead have the alias in the file). You need to pass on the same amount of alias as URLs. The alias is used as the name of the URL on the HTML report and in Graphite. Pass on multiple --urlAlias for multiple alias/URLs. This will override alias in a file.',
|
||||
type: 'string'
|
||||
})
|
||||
.option('groupAlias', {
|
||||
describe:
|
||||
'Use an alias for the group/domain. You need to pass on the same amount of alias as URLs. The alias is used as the name of the group in Graphite/InfluxDB. Pass on multiple --groupAlias for multiple alias/groups. This do not work for scripting at the moment.',
|
||||
'Use an alias for the group/domain. You need to pass on the same amount of alias as URLs. The alias is used as the name of the group in Graphite. Pass on multiple --groupAlias for multiple alias/groups. This do not work for scripting at the moment.',
|
||||
type: 'string'
|
||||
})
|
||||
.option('utc', {
|
||||
|
|
@ -2056,6 +1965,11 @@ export async function parseCommandLine() {
|
|||
.option('name', {
|
||||
describe: 'Give your test a name.'
|
||||
})
|
||||
.option('logLevel', {
|
||||
type: 'string',
|
||||
choices: ['trace', 'verbose', 'debug', 'info', 'warning', 'error'],
|
||||
describe: 'Manually set the min log level'
|
||||
})
|
||||
.option('open', {
|
||||
alias: ['o', 'view'],
|
||||
describe:
|
||||
|
|
@ -2124,8 +2038,12 @@ export async function parseCommandLine() {
|
|||
}
|
||||
return plugins;
|
||||
}
|
||||
})
|
||||
// .describe('browser', 'Specify browser')
|
||||
});
|
||||
// .describe('browser', 'Specify browser')
|
||||
|
||||
await registerPluginOptions(yargsInstance, globalPluginsToAdd);
|
||||
|
||||
let parsed = yargsInstance
|
||||
.wrap(yargsInstance.terminalWidth())
|
||||
// .check(validateInput)
|
||||
.epilog(
|
||||
|
|
@ -2270,7 +2188,9 @@ export async function parseCommandLine() {
|
|||
);
|
||||
}
|
||||
|
||||
let urlsMetaData = getAliases(argv._, argv.urlAlias, argv.groupAlias);
|
||||
let urlsMetaData = argv.multi
|
||||
? {}
|
||||
: getAliases(argv._, argv.urlAlias, argv.groupAlias);
|
||||
// Copy the alias so it is also used by Browsertime
|
||||
if (argv.urlAlias) {
|
||||
// Browsertime has it own way of handling alias
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
import { importGlobalSilent } from 'import-global';
|
||||
|
||||
/**
|
||||
* Dynamically load and register CLI options from plugins.
|
||||
*
|
||||
* @param {import('yargs').Argv} yargsInstance - The yargs instance to extend.
|
||||
* @param {string[]} plugins - Array of plugin module names.
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function registerPluginOptions(yargsInstance, plugins) {
|
||||
for (const pluginName of plugins) {
|
||||
try {
|
||||
// Dynamically import the plugin
|
||||
let plugin = await importGlobalSilent(pluginName);
|
||||
// If the plugin exports a function to get CLI options, merge them
|
||||
if (
|
||||
plugin &&
|
||||
plugin.default &&
|
||||
typeof plugin.default.getCliOptions === 'function'
|
||||
) {
|
||||
const options = plugin.default.getCliOptions();
|
||||
yargsInstance.options(options);
|
||||
} else {
|
||||
try {
|
||||
const plugin = await import(pluginName);
|
||||
if (
|
||||
plugin &&
|
||||
plugin.default &&
|
||||
typeof plugin.default.getCliOptions === 'function'
|
||||
) {
|
||||
const options = plugin.default.getCliOptions();
|
||||
yargsInstance.options(options);
|
||||
}
|
||||
} catch {
|
||||
// Swallow this silent
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
// Swallow this silent
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ import { configureLog } from '@sitespeed.io/log';
|
|||
|
||||
export function configure(options = {}) {
|
||||
configureLog({
|
||||
level: options.logLevel ?? undefined,
|
||||
verbose: options.verbose ?? 0,
|
||||
silent: options.silent ?? false
|
||||
});
|
||||
|
|
|
|||
|
|
@ -81,12 +81,18 @@ export async function loadPlugins(pluginNames, options, context, queue) {
|
|||
plugins.push(p);
|
||||
} catch (error) {
|
||||
// try global
|
||||
let { default: plugin } = await importGlobalSilent(name);
|
||||
if (plugin) {
|
||||
let p = new plugin(options, context, queue);
|
||||
plugins.push(p);
|
||||
} else {
|
||||
console.error("Couldn't load plugin %s: %s", name, error_);
|
||||
try {
|
||||
const plugin = await importGlobalSilent(name);
|
||||
if (plugin) {
|
||||
let p = new plugin.default(options, context, queue);
|
||||
plugins.push(p);
|
||||
} else {
|
||||
console.error("Couldn't load plugin %s: %s", name, error_);
|
||||
// if it fails here, let it fail hard
|
||||
throw error;
|
||||
}
|
||||
} catch {
|
||||
console.error("Couldn't find/load plugin %s", name);
|
||||
// if it fails here, let it fail hard
|
||||
throw error;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import { parse, format } from 'node:url';
|
||||
import path from 'node:path';
|
||||
|
||||
import { resultUrls } from './resultUrls.js';
|
||||
import { storageManager } from './storageManager.js';
|
||||
|
||||
function getDomainOrFileName(input) {
|
||||
let domainOrFile = input;
|
||||
domainOrFile = domainOrFile.startsWith('http')
|
||||
? parse(domainOrFile).hostname
|
||||
: path.basename(domainOrFile).replaceAll('.', '_');
|
||||
return domainOrFile;
|
||||
if (input.startsWith('http')) {
|
||||
const url = new URL(input);
|
||||
return url.hostname;
|
||||
}
|
||||
|
||||
return path.basename(input).replaceAll('.', '_');
|
||||
}
|
||||
|
||||
export function resultsStorage(input, timestamp, options) {
|
||||
|
|
@ -34,10 +34,19 @@ export function resultsStorage(input, timestamp, options) {
|
|||
storagePathPrefix = path.join(...resultsSubFolders);
|
||||
|
||||
if (resultBaseURL) {
|
||||
const url = parse(resultBaseURL);
|
||||
resultsSubFolders.unshift(url.pathname.slice(1));
|
||||
url.pathname = resultsSubFolders.join('/');
|
||||
resultUrl = format(url);
|
||||
const url = new URL(resultBaseURL);
|
||||
|
||||
const basePath = url.pathname.slice(1); // drop leading '/'
|
||||
if (basePath) {
|
||||
resultsSubFolders.unshift(basePath);
|
||||
}
|
||||
|
||||
const newPath = resultsSubFolders.join('/');
|
||||
|
||||
// Ensure leading slash for pathname
|
||||
url.pathname = newPath.startsWith('/') ? newPath : `/${newPath}`;
|
||||
|
||||
resultUrl = url.toString();
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -1,51 +1,77 @@
|
|||
import { parse } from 'node:url';
|
||||
import { createHash } from 'node:crypto';
|
||||
|
||||
import path from 'node:path';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
|
||||
import { isEmpty } from '../../support/util.js';
|
||||
|
||||
const log = getLogger('sitespeedio.file');
|
||||
|
||||
function toSafeKey(key) {
|
||||
// U+2013 : EN DASH – as used on https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic
|
||||
return key.replaceAll(/[ %&()+,./:?|~–]|%7C/g, '-');
|
||||
function isHttpLikeUrl(s) {
|
||||
if (typeof s !== 'string' || s.length === 0) return false;
|
||||
if (s.startsWith('//')) return true;
|
||||
return /^https?:\/\//iu.test(s);
|
||||
}
|
||||
|
||||
export function pathToFolder(url, options, alias) {
|
||||
const useHash = options.useHash;
|
||||
const parsedUrl = parse(decodeURIComponent(url));
|
||||
function toSafeKey(key) {
|
||||
return key.replaceAll(/[ %&()+,./:?|~–]|%7C/gu, '-');
|
||||
}
|
||||
|
||||
const pathSegments = [];
|
||||
function md5Hex8(s) {
|
||||
return createHash('md5').update(s).digest('hex').slice(0, 8);
|
||||
}
|
||||
|
||||
function normalizeFsPath(input) {
|
||||
let n = path.normalize(input);
|
||||
if (n.startsWith(`.${path.sep}`)) n = n.slice(2);
|
||||
return n;
|
||||
}
|
||||
|
||||
export function pathToFolder(input, options, alias) {
|
||||
if (options.useSameDir) return '';
|
||||
|
||||
let hostname = '';
|
||||
let pathname = '';
|
||||
let search = '';
|
||||
let hash = '';
|
||||
|
||||
const isUrl = isHttpLikeUrl(input);
|
||||
|
||||
if (isUrl) {
|
||||
const raw = input.startsWith('//') ? `http:${input}` : input;
|
||||
const u = new URL(raw);
|
||||
hostname = u.hostname;
|
||||
pathname = u.pathname; // '/'-separated
|
||||
search = u.search; // includes '?'
|
||||
hash = u.hash; // includes '#'
|
||||
} else {
|
||||
hostname = 'file';
|
||||
const fsNormalized = normalizeFsPath(input);
|
||||
pathname = `${path.sep}${fsNormalized}`;
|
||||
}
|
||||
|
||||
const pathSegments = ['pages', hostname.split('.').join('_')];
|
||||
const urlSegments = [];
|
||||
pathSegments.push('pages', parsedUrl.hostname.split('.').join('_'));
|
||||
|
||||
if (options.urlMetaData && options.urlMetaData[url]) {
|
||||
pathSegments.push(options.urlMetaData[url]);
|
||||
if (options.urlMetaData && options.urlMetaData[input]) {
|
||||
pathSegments.push(options.urlMetaData[input]);
|
||||
} else if (alias) {
|
||||
pathSegments.push(alias);
|
||||
} else {
|
||||
if (!isEmpty(parsedUrl.pathname)) {
|
||||
urlSegments.push(...parsedUrl.pathname.split('/').filter(Boolean));
|
||||
const parts = isUrl
|
||||
? pathname.split('/').filter(Boolean)
|
||||
: pathname.split(/[\\/]/u).filter(Boolean);
|
||||
if (!isEmpty(parts)) urlSegments.push(...parts);
|
||||
|
||||
if (isUrl) {
|
||||
if (options.useHash && !isEmpty(hash))
|
||||
urlSegments.push(`hash-${md5Hex8(hash)}`);
|
||||
if (!isEmpty(search)) urlSegments.push(`query-${md5Hex8(search)}`);
|
||||
}
|
||||
|
||||
if (useHash && !isEmpty(parsedUrl.hash)) {
|
||||
const md5 = createHash('md5'),
|
||||
hash = md5.update(parsedUrl.hash).digest('hex').slice(0, 8);
|
||||
urlSegments.push('hash-' + hash);
|
||||
}
|
||||
|
||||
if (!isEmpty(parsedUrl.search)) {
|
||||
const md5 = createHash('md5'),
|
||||
hash = md5.update(parsedUrl.search).digest('hex').slice(0, 8);
|
||||
urlSegments.push('query-' + hash);
|
||||
}
|
||||
|
||||
// This is used from sitespeed.io to match URLs on Graphite
|
||||
if (options.storeURLsAsFlatPageOnDisk) {
|
||||
const folder = toSafeKey(urlSegments.join('_').concat('_'));
|
||||
const folder = toSafeKey(`${urlSegments.join('_')}_`);
|
||||
if (folder.length > 255) {
|
||||
log.info(
|
||||
`The URL ${url} hit the 255 character limit used when stored on disk, you may want to give your URL an alias to make sure it will not collide with other URLs.`
|
||||
`The URL ${input} hit the 255 character limit used when stored on disk, you may want to give your URL an alias to make sure it will not collide with other URLs.`
|
||||
);
|
||||
pathSegments.push(folder.slice(0, 254));
|
||||
} else {
|
||||
|
|
@ -58,11 +84,9 @@ export function pathToFolder(url, options, alias) {
|
|||
|
||||
// pathSegments.push('data');
|
||||
|
||||
for (const [index, segment] of pathSegments.entries()) {
|
||||
if (segment) {
|
||||
pathSegments[index] = segment.replaceAll(/[^\w.\u0621-\u064A-]/gi, '-');
|
||||
}
|
||||
for (const [i, seg] of pathSegments.entries()) {
|
||||
if (seg) pathSegments[i] = seg.replaceAll(/[^\w.\u0621-\u064A-]/giu, '-');
|
||||
}
|
||||
|
||||
return pathSegments.join('/').concat('/');
|
||||
return `${path.join(...pathSegments)}${path.sep}`;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
import { parse } from 'node:url';
|
||||
import { messageMaker } from '../support/messageMaker.js';
|
||||
const make = messageMaker('url-reader').make;
|
||||
|
||||
|
|
@ -15,7 +14,7 @@ export function findUrls(queue, options) {
|
|||
options.urlsMetaData[url] &&
|
||||
options.urlsMetaData[url].groupAlias
|
||||
? options.urlsMetaData[url].groupAlias
|
||||
: parse(url).hostname
|
||||
: new URL(url).hostname
|
||||
}
|
||||
)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { parse } from 'node:url';
|
||||
|
||||
// eslint-disable-next-line unicorn/no-named-default
|
||||
import { default as _merge } from 'lodash.merge';
|
||||
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
import { configureLogging } from 'browsertime';
|
||||
|
||||
const log = getLogger('plugin.browsertime');
|
||||
|
||||
import dayjs from 'dayjs';
|
||||
|
|
@ -88,13 +89,13 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
|
|||
'browsertime.run'
|
||||
);
|
||||
this.axeAggregatorTotal = new AxeAggregator(this.options);
|
||||
configureLogging(options);
|
||||
}
|
||||
|
||||
async processMessage(message) {
|
||||
const { configureLogging } = await import('browsertime');
|
||||
configureLogging(this.options);
|
||||
const options = this.options;
|
||||
switch (message.type) {
|
||||
// When sistespeed.io starts, a setup messages is posted on the queue
|
||||
// When sitespeed.io starts, a setup messages is posted on the queue
|
||||
// and all plugins can tell other plugins that they are alive and are ready
|
||||
// to receive configuration
|
||||
case 'sitespeedio.setup': {
|
||||
|
|
@ -104,12 +105,18 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
|
|||
if (this.options.urlMetaData) {
|
||||
for (let url of Object.keys(this.options.urlMetaData)) {
|
||||
const alias = this.options.urlMetaData[url];
|
||||
const group = parse(url).hostname;
|
||||
this.allAlias[alias] = url;
|
||||
super.sendMessage('browsertime.alias', alias, {
|
||||
url,
|
||||
group
|
||||
});
|
||||
try {
|
||||
const group = new URL(url).hostname;
|
||||
this.allAlias[alias] = url;
|
||||
super.sendMessage('browsertime.alias', alias, {
|
||||
url,
|
||||
group
|
||||
});
|
||||
} catch (error) {
|
||||
log.error(
|
||||
'Could not get group for URL:' + url + ' with error' + error
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -183,11 +190,11 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
|
|||
// https://github.com/sitespeedio/sitespeed.io/issues/2341
|
||||
for (const element of result) {
|
||||
// Browsertime supports alias for URLS in a script
|
||||
const alias = element.info.alias;
|
||||
const alias = element.info?.alias;
|
||||
if (alias) {
|
||||
if (this.scriptOrMultiple) {
|
||||
url = element.info.url;
|
||||
group = parse(url).hostname;
|
||||
group = new URL(url).hostname;
|
||||
}
|
||||
this.allAlias[url] = alias;
|
||||
super.sendMessage('browsertime.alias', alias, {
|
||||
|
|
@ -205,14 +212,32 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
|
|||
resultIndex++
|
||||
) {
|
||||
axeAggregatorPerURL = new AxeAggregator(this.options);
|
||||
// Send errors from Browsertime as early as possible
|
||||
// Check for errors. Browsertime errors is an array of all iterations
|
||||
// [[],[],[]] where one iteration can have multiple errors
|
||||
for (let errorsForOneIteration of result[resultIndex].errors) {
|
||||
if (Array.isArray(errorsForOneIteration)) {
|
||||
for (let error of errorsForOneIteration) {
|
||||
super.sendMessage('error', error, _merge({ url }));
|
||||
}
|
||||
} else {
|
||||
super.sendMessage(
|
||||
'error',
|
||||
`${errorsForOneIteration} ${result[resultIndex].failureMessages}`,
|
||||
_merge({ url })
|
||||
);
|
||||
}
|
||||
}
|
||||
// If we use scripts or multiple, use the URL from the tested page
|
||||
// so that we can handle click on links etc
|
||||
// see https://github.com/sitespeedio/sitespeed.io/issues/2260
|
||||
// we could change the plugins but since they do not work with
|
||||
// multiple/scripting lets do it like this for now
|
||||
if (this.scriptOrMultiple) {
|
||||
url = result[resultIndex].info.url;
|
||||
group = parse(url).hostname;
|
||||
url = result[resultIndex].info?.url;
|
||||
if (url) {
|
||||
group = new URL(url).hostname;
|
||||
}
|
||||
}
|
||||
let runIndex = 0;
|
||||
for (let browserScriptsData of result[resultIndex].browserScripts) {
|
||||
|
|
@ -595,14 +620,6 @@ export default class BrowsertimePlugin extends SitespeedioPlugin {
|
|||
group
|
||||
});
|
||||
}
|
||||
|
||||
// Check for errors. Browsertime errors is an array of all iterations
|
||||
// [[],[],[]] where one iteration can have multiple errors
|
||||
for (let errorsForOneIteration of result[resultIndex].errors) {
|
||||
for (let error of errorsForOneIteration) {
|
||||
super.sendMessage('error', error, _merge({ url }));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
} catch (error) {
|
||||
|
|
|
|||
|
|
@ -1,69 +1,95 @@
|
|||
import path from 'node:path';
|
||||
import { parse } from 'node:url';
|
||||
|
||||
import jrp from 'junit-report-builder';
|
||||
|
||||
import fs from 'node:fs';
|
||||
import merge from 'lodash.merge';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
|
||||
const log = getLogger('sitespeedio.plugin.budget');
|
||||
|
||||
import merge from 'lodash.merge';
|
||||
/**
|
||||
* Escapes XML special characters.
|
||||
*
|
||||
* @param {string} str - The text to escape.
|
||||
* @returns {string} The escaped text.
|
||||
*/
|
||||
function xmlEscape(str) {
|
||||
return String(str)
|
||||
.replaceAll('&', '&')
|
||||
.replaceAll('<', '<')
|
||||
.replaceAll('>', '>')
|
||||
.replaceAll('"', '"')
|
||||
.replaceAll("'", ''');
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps a string in a CDATA block.
|
||||
*
|
||||
* @param {string} str - The string to wrap.
|
||||
* @returns {string} The CDATA-wrapped string.
|
||||
*/
|
||||
function cdata(str) {
|
||||
return `<![CDATA[${str}]]>`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a JUnit XML report mimicking the original output.
|
||||
*
|
||||
* @param {object} results - Object containing `failing` and `working` results.
|
||||
* @param {string} dir - Directory where `junit.xml` will be written.
|
||||
* @param {object} options - Options (expects `options.budget.friendlyName`).
|
||||
*/
|
||||
export function writeJunit(results, dir, options) {
|
||||
// lets have one suite per URL
|
||||
const urls = Object.keys(merge({}, results.failing, results.working));
|
||||
const failing = results.failing || {};
|
||||
const working = results.working || {};
|
||||
const urls = Object.keys(merge({}, failing, working));
|
||||
|
||||
let totalTests = 0;
|
||||
let totalFailures = 0;
|
||||
let suitesXml = '';
|
||||
|
||||
for (const url of urls) {
|
||||
// The URL can be an alias
|
||||
let name = url;
|
||||
if (url.startsWith('http')) {
|
||||
const parsedUrl = parse(url);
|
||||
name = url.startsWith('http') ? url : url;
|
||||
parsedUrl.hostname.replaceAll('.', '_') +
|
||||
'.' +
|
||||
parsedUrl.path.replaceAll('.', '_').replaceAll('/', '_');
|
||||
}
|
||||
const suiteName = `${options.budget.friendlyName || 'sitespeed.io'}.${url}`;
|
||||
let suiteTests = 0;
|
||||
let suiteFailures = 0;
|
||||
let testCasesXml = '';
|
||||
|
||||
const suite = jrp
|
||||
.testSuite()
|
||||
.name(options.budget.friendlyName || 'sitespeed.io' + '.' + name);
|
||||
|
||||
if (results.failing[url]) {
|
||||
for (const result of results.failing[url]) {
|
||||
suite
|
||||
.testCase()
|
||||
.className(name)
|
||||
.name(result.type + '.' + result.metric)
|
||||
.failure(
|
||||
result.metric + ' is ' + result.friendlyValue ||
|
||||
result.value +
|
||||
' and limit ' +
|
||||
result.limitType +
|
||||
' ' +
|
||||
result.friendlyLimit ||
|
||||
result.limit + ' ' + url
|
||||
);
|
||||
if (failing[url]) {
|
||||
for (const result of failing[url]) {
|
||||
suiteTests++;
|
||||
totalTests++;
|
||||
suiteFailures++;
|
||||
totalFailures++;
|
||||
const testCaseName = `${result.type}.${result.metric}`;
|
||||
const failureMessage = `${result.metric} is ${result.friendlyValue || result.value}`;
|
||||
testCasesXml += ` <testcase classname="${xmlEscape(url)}" name="${xmlEscape(testCaseName)}">\n`;
|
||||
testCasesXml += ` <failure message="${xmlEscape(failureMessage)}"/>\n`;
|
||||
testCasesXml += ` </testcase>\n`;
|
||||
}
|
||||
}
|
||||
|
||||
if (results.working[url]) {
|
||||
for (const result of results.working[url]) {
|
||||
suite
|
||||
.testCase()
|
||||
.className(name)
|
||||
.name(result.type + '.' + result.metric)
|
||||
.standardOutput(
|
||||
result.metric + ' is ' + result.friendlyValue ||
|
||||
result.value +
|
||||
' and limit ' +
|
||||
result.limitType +
|
||||
' ' +
|
||||
result.friendlyLimit ||
|
||||
result.limit + ' ' + url
|
||||
);
|
||||
if (working[url]) {
|
||||
for (const result of working[url]) {
|
||||
suiteTests++;
|
||||
totalTests++;
|
||||
const testCaseName = `${result.type}.${result.metric}`;
|
||||
const systemOutMessage = `${result.metric} is ${result.friendlyValue || result.value}`;
|
||||
testCasesXml += ` <testcase classname="${xmlEscape(url)}" name="${xmlEscape(testCaseName)}">\n`;
|
||||
testCasesXml += ` <system-out>${cdata(systemOutMessage)}</system-out>\n`;
|
||||
testCasesXml += ` </testcase>\n`;
|
||||
}
|
||||
}
|
||||
|
||||
suitesXml += ` <testsuite name="${xmlEscape(suiteName)}" tests="${suiteTests}" failures="${suiteFailures}" errors="0" skipped="0">\n`;
|
||||
suitesXml += testCasesXml;
|
||||
suitesXml += ` </testsuite>\n`;
|
||||
}
|
||||
|
||||
const xml =
|
||||
`<?xml version="1.0" encoding="UTF-8"?>\n` +
|
||||
`<testsuites tests="${totalTests}" failures="${totalFailures}" errors="0" skipped="0">\n` +
|
||||
suitesXml +
|
||||
`</testsuites>\n`;
|
||||
|
||||
const file = path.join(dir, 'junit.xml');
|
||||
log.info('Write junit budget to %s', path.resolve(file));
|
||||
jrp.writeTo(file);
|
||||
fs.writeFileSync(file, xml);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,36 +1,44 @@
|
|||
import path from 'node:path';
|
||||
import fs from 'node:fs';
|
||||
import { EOL } from 'node:os';
|
||||
import tap from 'tape';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
|
||||
const log = getLogger('sitespeedio.plugin.budget');
|
||||
|
||||
export function writeTap(results, dir) {
|
||||
const file = path.join(dir, 'budget.tap');
|
||||
log.info('Write budget to %s', path.resolve(file));
|
||||
const tapOutput = fs.createWriteStream(file);
|
||||
tap.createStream().pipe(tapOutput);
|
||||
|
||||
const lines = [];
|
||||
lines.push('TAP version 13');
|
||||
let testCount = 0;
|
||||
|
||||
// Iterate over each result group (e.g. "passing" and "failing")
|
||||
for (const resultType of Object.keys(results)) {
|
||||
const urls = Object.keys(results.failing);
|
||||
|
||||
const group = results[resultType];
|
||||
if (!group) {
|
||||
continue;
|
||||
}
|
||||
const urls = Object.keys(group);
|
||||
for (const url of urls) {
|
||||
for (const result of results.failing[url]) {
|
||||
tap(result.type + '.' + result.metric + ' ' + url, function (t) {
|
||||
let extra = '';
|
||||
if (resultType === 'failing') {
|
||||
extra =
|
||||
' limit ' + result.limitType + ' ' + result.friendlyLimit ||
|
||||
result.limit + EOL;
|
||||
}
|
||||
t.ok(
|
||||
resultType === 'failing' ? false : true,
|
||||
result.type + '.' + result.metric + ' ' + result.friendlyValue ||
|
||||
result.value + ' ' + extra + ' ' + url
|
||||
);
|
||||
t.end();
|
||||
});
|
||||
for (const result of group[url]) {
|
||||
testCount += 1;
|
||||
const testTitle = `${result.type}.${result.metric} ${url}`;
|
||||
let extra = '';
|
||||
if (resultType === 'failing') {
|
||||
extra = ` limit ${result.limitType} ${result.friendlyLimit || result.limit}`;
|
||||
}
|
||||
const valueDisplay = result.friendlyValue || result.value;
|
||||
|
||||
lines.push(`# ${testTitle}`);
|
||||
const status = resultType === 'failing' ? 'not ok' : 'ok';
|
||||
lines.push(
|
||||
`${status} ${testCount} ${testTitle} ${valueDisplay}${extra ? ` ${extra}` : ''}`
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lines.push(`1..${testCount}`);
|
||||
fs.writeFileSync(file, lines.join(EOL) + EOL);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
import { parse } from 'node:url';
|
||||
|
||||
import { Stats } from 'fast-stats';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
|
||||
|
|
@ -18,7 +16,7 @@ const timingNames = [
|
|||
];
|
||||
|
||||
function parseDomainName(url) {
|
||||
return parse(url).hostname;
|
||||
return new URL(url).hostname;
|
||||
}
|
||||
|
||||
function getDomain(domainName) {
|
||||
|
|
|
|||
|
|
@ -41,9 +41,7 @@ export function send(
|
|||
options,
|
||||
group,
|
||||
url,
|
||||
tsdbType === 'graphite'
|
||||
? options.graphite.includeQueryParams
|
||||
: options.influxdb.includeQueryParams,
|
||||
options.graphite.includeQueryParams,
|
||||
alias
|
||||
).split('.');
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ export function renderTemplate(templateName, locals) {
|
|||
return getTemplate(templateName)(locals);
|
||||
} catch (error) {
|
||||
log.error('Could not generate %s, %s', templateName, error.message);
|
||||
return `Could not generate ${templateName} error: ${error.message}`;
|
||||
}
|
||||
}
|
||||
export function addTemplate(templateName, templateString) {
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ block content
|
|||
tr
|
||||
td Memory
|
||||
td #{h.size.format(memory)}
|
||||
- cpuPower = get(d, 'browsertime.run.cpuConsumption')
|
||||
- cpuConsumption = get(d, 'browsertime.run.cpuConsumption')
|
||||
if cpuConsumption
|
||||
tr
|
||||
td Firefox CPU power consumption
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
//- specific run (the median run) in summaryPageHAR.
|
||||
//- Inline script tags breaks the output
|
||||
- dahar = h.get(pageInfo.data, 'browsertime.run.har', summaryPageHAR)
|
||||
- dahar = JSON.stringify(dahar.log).split('</script>').join('</script>')
|
||||
- dahar = JSON.stringify(dahar.log).split('</script>').join('</script>').split('<script>').join('<script>')
|
||||
|
||||
script(src= assetsPath + 'js/perf-cascade.min.js')
|
||||
script(type='text/javascript').
|
||||
|
|
|
|||
|
|
@ -1,262 +0,0 @@
|
|||
import merge from 'lodash.merge';
|
||||
|
||||
import { flattenMessageData } from '../../support/flattenMessage.js';
|
||||
import {
|
||||
getConnectivity,
|
||||
getURLAndGroup,
|
||||
toSafeKey
|
||||
} from '../../support/tsdbUtil.js';
|
||||
|
||||
function getAdditionalTags(key, type) {
|
||||
let tags = {};
|
||||
const keyArray = key.split('.');
|
||||
if (/(^contentTypes)/.test(key)) {
|
||||
// contentTypes.favicon.requests.mean
|
||||
// contentTypes.favicon.requests
|
||||
// contentTypes.css.transferSize
|
||||
tags.contentType = keyArray[1];
|
||||
} else if (/(^pageTimings|^visualMetrics)/.test(key)) {
|
||||
// pageTimings.serverResponseTime.max
|
||||
// visualMetrics.SpeedIndex.median
|
||||
tags.timings = keyArray[0];
|
||||
} else
|
||||
switch (type) {
|
||||
case 'browsertime.pageSummary': {
|
||||
// statistics.timings.pageTimings.backEndTime.median
|
||||
// statistics.timings.userTimings.marks.logoTime.median
|
||||
// statistics.visualMetrics.SpeedIndex.median
|
||||
tags[keyArray[0]] = keyArray[1];
|
||||
if (keyArray.length >= 5) {
|
||||
tags[keyArray[2]] = keyArray[3];
|
||||
}
|
||||
if (key.includes('cpu.categories')) {
|
||||
tags.cpu = 'category';
|
||||
} else if (key.includes('cpu.events')) {
|
||||
tags.cpu = 'event';
|
||||
} else if (key.includes('cpu.longTasks')) {
|
||||
tags.cpu = 'longTask';
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'browsertime.summary': {
|
||||
// firstPaint.median
|
||||
// userTimings.marks.logoTime.median
|
||||
if (key.includes('userTimings')) {
|
||||
tags[keyArray[0]] = keyArray[1];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'axe.pageSummary': {
|
||||
tags.axeType = keyArray[0];
|
||||
break;
|
||||
}
|
||||
case 'coach.pageSummary': {
|
||||
// advice.score
|
||||
// advice.performance.score
|
||||
if (keyArray.length > 2) {
|
||||
tags.advice = keyArray[1];
|
||||
}
|
||||
|
||||
// set the actual advice name
|
||||
// advice.performance.adviceList.cacheHeaders.score
|
||||
if (keyArray.length > 4) {
|
||||
tags.adviceName = keyArray[3];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'coach.summary': {
|
||||
// score.max
|
||||
// performance.score.median
|
||||
if (keyArray.length === 3) {
|
||||
tags.advice = keyArray[0];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'pagexray.summary': {
|
||||
// firstParty.requests.min pagexray.summary
|
||||
// requests.median
|
||||
// responseCodes.307.max pagexray.summary
|
||||
// requests.min pagexray.summary
|
||||
if (key.includes('responseCodes')) {
|
||||
tags.responseCodes = 'response';
|
||||
}
|
||||
|
||||
if (key.includes('firstParty') || key.includes('thirdParty')) {
|
||||
tags.party = keyArray[0];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'pagexray.pageSummary': {
|
||||
// thirdParty.contentTypes.json.requests pagexray.pageSummary
|
||||
// thirdParty.requests pagexray.pageSummary
|
||||
// firstParty.cookieStats.max pagexray.pageSummary
|
||||
// responseCodes.200 pagexray.pageSummary
|
||||
// expireStats.max pagexray.pageSummary
|
||||
// totalDomains pagexray.pageSummary
|
||||
if (key.includes('firstParty') || key.includes('thirdParty')) {
|
||||
tags.party = keyArray[0];
|
||||
}
|
||||
if (key.includes('responseCodes')) {
|
||||
tags.responseCodes = 'response';
|
||||
}
|
||||
if (key.includes('contentTypes')) {
|
||||
tags.contentType = keyArray[2];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'thirdparty.pageSummary': {
|
||||
tags.thirdPartyCategory = keyArray[1];
|
||||
tags.thirdPartyType = keyArray[2];
|
||||
|
||||
break;
|
||||
}
|
||||
case 'lighthouse.pageSummary': {
|
||||
// categories.seo.score
|
||||
// categories.performance.score
|
||||
if (key.includes('score')) {
|
||||
tags.audit = keyArray[1];
|
||||
}
|
||||
if (key.includes('audits')) {
|
||||
tags.audit = keyArray[1];
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'crux.pageSummary': {
|
||||
tags.experience = keyArray[0];
|
||||
tags.formFactor = keyArray[1];
|
||||
tags.metric = keyArray[2];
|
||||
|
||||
break;
|
||||
}
|
||||
case 'gpsi.pageSummary': {
|
||||
if (key.includes('googleWebVitals')) {
|
||||
tags.testType = 'googleWebVitals';
|
||||
} else if (key.includes('score')) {
|
||||
tags.testType = 'score';
|
||||
} else if (key.includes('loadingExperience')) {
|
||||
tags.experience = keyArray[0];
|
||||
tags.metric = keyArray[1];
|
||||
tags.testType = 'crux';
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// console.log('Missed added tags to ' + key + ' ' + type);
|
||||
}
|
||||
return tags;
|
||||
}
|
||||
|
||||
function getFieldAndSeriesName(key) {
|
||||
const functions = [
|
||||
'min',
|
||||
'p10',
|
||||
'median',
|
||||
'mean',
|
||||
'avg',
|
||||
'max',
|
||||
'p90',
|
||||
'p99',
|
||||
'mdev',
|
||||
'stddev',
|
||||
'rsd'
|
||||
];
|
||||
const keyArray = key.split('.');
|
||||
const end = keyArray.pop();
|
||||
if (functions.includes(end)) {
|
||||
return { field: end, seriesName: keyArray.pop() };
|
||||
}
|
||||
return { field: 'value', seriesName: end };
|
||||
}
|
||||
export class InfluxDBDataGenerator {
|
||||
constructor(includeQueryParameters, options) {
|
||||
this.includeQueryParams = !!includeQueryParameters;
|
||||
this.options = options;
|
||||
this.defaultTags = {};
|
||||
for (let row of options.influxdb.tags.split(',')) {
|
||||
const keyAndValue = row.split('=');
|
||||
this.defaultTags[keyAndValue[0]] = keyAndValue[1];
|
||||
}
|
||||
}
|
||||
|
||||
dataFromMessage(message, time, alias) {
|
||||
function getTagsFromMessage(
|
||||
message,
|
||||
includeQueryParameters,
|
||||
options,
|
||||
defaultTags
|
||||
) {
|
||||
const tags = merge({}, defaultTags);
|
||||
let typeParts = message.type.split('.');
|
||||
tags.origin = typeParts[0];
|
||||
typeParts.push(typeParts.shift());
|
||||
tags.summaryType = typeParts[0];
|
||||
|
||||
// always have browser and connectivity in Browsertime and related tools
|
||||
if (
|
||||
/(^pagexray|^coach|^browsertime|^thirdparty|^axe|^sustainable)/.test(
|
||||
message.type
|
||||
)
|
||||
) {
|
||||
// if we have a friendly name for your connectivity, use that!
|
||||
let connectivity = getConnectivity(options);
|
||||
tags.connectivity = connectivity;
|
||||
tags.browser = options.browser;
|
||||
} else if (/(^gpsi)/.test(message.type)) {
|
||||
tags.strategy = options.mobile ? 'mobile' : 'desktop';
|
||||
}
|
||||
|
||||
// if we get a URL type, add the URL
|
||||
if (message.url) {
|
||||
const urlAndGroup = getURLAndGroup(
|
||||
options,
|
||||
message.group,
|
||||
message.url,
|
||||
includeQueryParameters,
|
||||
alias
|
||||
).split('.');
|
||||
tags.page = urlAndGroup[1];
|
||||
tags.group = urlAndGroup[0];
|
||||
} else if (message.group) {
|
||||
// add the group of the summary message
|
||||
tags.group = toSafeKey(message.group, options.influxdb.groupSeparator);
|
||||
}
|
||||
|
||||
if (options.slug) {
|
||||
tags.testName = options.slug;
|
||||
}
|
||||
|
||||
return tags;
|
||||
}
|
||||
return Object.entries(flattenMessageData(message)).reduce(
|
||||
(entries, [key, value]) => {
|
||||
const fieldAndSeriesName = getFieldAndSeriesName(key);
|
||||
let tags = getTagsFromMessage(
|
||||
message,
|
||||
this.includeQueryParams,
|
||||
this.options,
|
||||
this.defaultTags
|
||||
);
|
||||
tags = { ...getAdditionalTags(key, message.type), ...tags };
|
||||
const point = {
|
||||
time: time.valueOf(),
|
||||
[fieldAndSeriesName.field]: value
|
||||
};
|
||||
entries.push({
|
||||
tags,
|
||||
seriesName: fieldAndSeriesName.seriesName,
|
||||
point
|
||||
});
|
||||
return entries;
|
||||
},
|
||||
[]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,176 +0,0 @@
|
|||
import { getLogger } from '@sitespeed.io/log';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
|
||||
import { InfluxDBSender as Sender } from './sender.js';
|
||||
import { InfluxDB2Sender as SenderV2 } from './senderV2.js';
|
||||
import { sendV1 } from './send-annotation.js';
|
||||
import { sendV2 } from './send-annotationV2.js';
|
||||
import { InfluxDBDataGenerator as DataGenerator } from './data-generator.js';
|
||||
import { throwIfMissing, isEmpty } from '../../support/util.js';
|
||||
|
||||
const log = getLogger('sitespeedio.plugin.influxdb');
|
||||
export default class InfluxDBPlugin extends SitespeedioPlugin {
|
||||
constructor(options, context, queue) {
|
||||
super({ name: 'influxdb', options, context, queue });
|
||||
}
|
||||
|
||||
open(context, options) {
|
||||
throwIfMissing(options.influxdb, ['host', 'database'], 'influxdb');
|
||||
this.filterRegistry = context.filterRegistry;
|
||||
log.debug(
|
||||
'Setup InfluxDB host %s and database %s',
|
||||
options.influxdb.host,
|
||||
options.influxdb.database
|
||||
);
|
||||
|
||||
const options_ = options.influxdb;
|
||||
this.options = options;
|
||||
this.sender =
|
||||
options_.version == 1 ? new Sender(options_) : new SenderV2(options_);
|
||||
this.timestamp = context.timestamp;
|
||||
this.resultUrls = context.resultUrls;
|
||||
this.dataGenerator = new DataGenerator(
|
||||
options_.includeQueryParams,
|
||||
options
|
||||
);
|
||||
this.messageTypesToFireAnnotations = [];
|
||||
this.receivedTypesThatFireAnnotations = {};
|
||||
this.make = context.messageMaker('influxdb').make;
|
||||
this.sendAnnotation = true;
|
||||
this.alias = {};
|
||||
}
|
||||
|
||||
processMessage(message, queue) {
|
||||
const filterRegistry = this.filterRegistry;
|
||||
|
||||
// First catch if we are running Browsertime and/or WebPageTest
|
||||
switch (message.type) {
|
||||
case 'browsertime.setup': {
|
||||
this.messageTypesToFireAnnotations.push('browsertime.pageSummary');
|
||||
this.usingBrowsertime = true;
|
||||
|
||||
break;
|
||||
}
|
||||
case 'browsertime.config': {
|
||||
if (message.data.screenshot) {
|
||||
this.useScreenshots = message.data.screenshot;
|
||||
this.screenshotType = message.data.screenshotType;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 'sitespeedio.setup': {
|
||||
// Let other plugins know that the InfluxDB plugin is alive
|
||||
queue.postMessage(this.make('influxdb.setup'));
|
||||
|
||||
break;
|
||||
}
|
||||
case 'grafana.setup': {
|
||||
this.sendAnnotation = false;
|
||||
|
||||
break;
|
||||
}
|
||||
// No default
|
||||
}
|
||||
|
||||
if (message.type === 'browsertime.alias') {
|
||||
this.alias[message.url] = message.data;
|
||||
}
|
||||
|
||||
if (
|
||||
!(
|
||||
message.type.endsWith('.summary') ||
|
||||
message.type.endsWith('.pageSummary')
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.messageTypesToFireAnnotations.includes(message.type)) {
|
||||
this.receivedTypesThatFireAnnotations[message.url]
|
||||
? this.receivedTypesThatFireAnnotations[message.url]++
|
||||
: (this.receivedTypesThatFireAnnotations[message.url] = 1);
|
||||
}
|
||||
|
||||
// Let us skip this for a while and concentrate on the real deal
|
||||
if (
|
||||
/(^largestassets|^slowestassets|^aggregateassets|^domains)/.test(
|
||||
message.type
|
||||
)
|
||||
)
|
||||
return;
|
||||
|
||||
// we only sends individual groups to Influx, not the
|
||||
// total of all groups (you can calculate that yourself)
|
||||
if (message.group === 'total') {
|
||||
return;
|
||||
}
|
||||
|
||||
message = filterRegistry.filterMessage(message);
|
||||
if (isEmpty(message.data)) return;
|
||||
|
||||
let data = this.dataGenerator.dataFromMessage(
|
||||
message,
|
||||
message.type === 'browsertime.pageSummary'
|
||||
? dayjs(message.runTime)
|
||||
: this.timestamp,
|
||||
this.alias
|
||||
);
|
||||
|
||||
if (data.length > 0) {
|
||||
log.debug('Send the following data to InfluxDB: %:2j', data);
|
||||
return this.sender.send(data).then(() => {
|
||||
// Make sure we only send the annotation once per URL:
|
||||
// If we run browsertime, always send on browsertime.pageSummary
|
||||
// If we run WebPageTest standalone, send on webPageTestSummary
|
||||
// when we configured a base url
|
||||
if (
|
||||
this.receivedTypesThatFireAnnotations[message.url] ===
|
||||
this.messageTypesToFireAnnotations.length &&
|
||||
this.resultUrls.hasBaseUrl() &&
|
||||
this.sendAnnotation
|
||||
) {
|
||||
const absolutePagePath = this.resultUrls.absoluteSummaryPagePath(
|
||||
message.url,
|
||||
this.alias[message.url]
|
||||
);
|
||||
this.receivedTypesThatFireAnnotations[message.url] = 0;
|
||||
|
||||
return this.options.influxdb.version == 2
|
||||
? sendV2(
|
||||
message.url,
|
||||
message.group,
|
||||
absolutePagePath,
|
||||
this.useScreenshots,
|
||||
this.screenshotType,
|
||||
// Browsertime pass on when the first run was done for that URL
|
||||
message.runTime,
|
||||
this.alias,
|
||||
this.usingBrowsertime,
|
||||
this.options
|
||||
)
|
||||
: sendV1(
|
||||
message.url,
|
||||
message.group,
|
||||
absolutePagePath,
|
||||
this.useScreenshots,
|
||||
this.screenshotType,
|
||||
// Browsertime pass on when the first run was done for that URL
|
||||
message.runTime,
|
||||
this.alias,
|
||||
this.usingBrowsertime,
|
||||
this.options
|
||||
);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return Promise.reject(
|
||||
new Error(
|
||||
'No data to send to influxdb for message:\n' +
|
||||
JSON.stringify(message, undefined, 2)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
import http from 'node:http';
|
||||
import https from 'node:https';
|
||||
import { stringify } from 'node:querystring';
|
||||
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
|
||||
import {
|
||||
getAnnotationMessage,
|
||||
getTagsAsString
|
||||
} from '../../support/annotationsHelper.js';
|
||||
|
||||
const log = getLogger('sitespeedio.plugin.influxdb');
|
||||
|
||||
export function sendV1(
|
||||
url,
|
||||
group,
|
||||
absolutePagePath,
|
||||
screenShotsEnabledInBrowsertime,
|
||||
screenshotType,
|
||||
runTime,
|
||||
alias,
|
||||
usingBrowsertime,
|
||||
options
|
||||
) {
|
||||
// The tags make it possible for the dashboard to use the
|
||||
// templates to choose which annotations that will be showed.
|
||||
// That's why we need to send tags that matches the template
|
||||
// variables in Grafana.
|
||||
const connectivity = getConnectivity(options);
|
||||
const browser = options.browser;
|
||||
const urlAndGroup = getURLAndGroup(
|
||||
options,
|
||||
group,
|
||||
url,
|
||||
options.influxdb.includeQueryParams,
|
||||
alias
|
||||
).split('.');
|
||||
let tags = [connectivity, browser, urlAndGroup[0], urlAndGroup[1]];
|
||||
|
||||
if (options.slug) {
|
||||
tags.push(options.slug);
|
||||
}
|
||||
|
||||
const message = getAnnotationMessage(
|
||||
absolutePagePath,
|
||||
screenShotsEnabledInBrowsertime,
|
||||
screenshotType,
|
||||
undefined,
|
||||
usingBrowsertime,
|
||||
options
|
||||
);
|
||||
const timestamp = runTime
|
||||
? Math.round(dayjs(runTime) / 1000)
|
||||
: Math.round(dayjs() / 1000);
|
||||
// if we have a category, let us send that category too
|
||||
if (options.influxdb.tags) {
|
||||
for (let row of options.influxdb.tags.split(',')) {
|
||||
const keyAndValue = row.split('=');
|
||||
tags.push(keyAndValue[1]);
|
||||
}
|
||||
}
|
||||
const influxDBTags = getTagsAsString(tags);
|
||||
const postData = `events title="Sitespeed.io",text="${message}",tags=${influxDBTags} ${timestamp}`;
|
||||
const postOptions = {
|
||||
hostname: options.influxdb.host,
|
||||
port: options.influxdb.port,
|
||||
path: '/write?db=' + options.influxdb.database + '&precision=s',
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'Content-Length': Buffer.byteLength(postData)
|
||||
}
|
||||
};
|
||||
|
||||
if (options.influxdb.username) {
|
||||
postOptions.path =
|
||||
postOptions.path +
|
||||
'&' +
|
||||
stringify({
|
||||
u: options.influxdb.username,
|
||||
p: options.influxdb.password
|
||||
});
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
log.debug('Send annotation to Influx: %j', postData);
|
||||
// not perfect but maybe work for us
|
||||
const library = options.influxdb.protocol === 'https' ? https : http;
|
||||
const request = library.request(postOptions, res => {
|
||||
if (res.statusCode === 204) {
|
||||
res.setEncoding('utf8');
|
||||
log.debug('Sent annotation to InfluxDB');
|
||||
resolve();
|
||||
} else {
|
||||
const e = new Error(
|
||||
`Got ${res.statusCode} from InfluxDB when sending annotation ${res.statusMessage}`
|
||||
);
|
||||
log.warn(e.message);
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
request.on('error', error => {
|
||||
log.error('Got error from InfluxDB when sending annotation', error);
|
||||
reject(error);
|
||||
});
|
||||
request.write(postData);
|
||||
request.end();
|
||||
});
|
||||
}
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
import http from 'node:http';
|
||||
import https from 'node:https';
|
||||
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
|
||||
import {
|
||||
getAnnotationMessage,
|
||||
getTagsAsString
|
||||
} from '../../support/annotationsHelper.js';
|
||||
|
||||
const log = getLogger('sitespeedio.plugin.influxdb');
|
||||
|
||||
export function sendV2(
|
||||
url,
|
||||
group,
|
||||
absolutePagePath,
|
||||
screenShotsEnabledInBrowsertime,
|
||||
screenshotType,
|
||||
runTime,
|
||||
alias,
|
||||
usingBrowsertime,
|
||||
options
|
||||
) {
|
||||
// The tags make it possible for the dashboard to use the
|
||||
// templates to choose which annotations that will be showed.
|
||||
// That's why we need to send tags that matches the template
|
||||
// variables in Grafana.
|
||||
const connectivity = getConnectivity(options);
|
||||
const browser = options.browser;
|
||||
const urlAndGroup = getURLAndGroup(
|
||||
options,
|
||||
group,
|
||||
url,
|
||||
options.influxdb.includeQueryParams,
|
||||
alias
|
||||
).split('.');
|
||||
let tags = [
|
||||
`connectivity=${connectivity}`,
|
||||
`browser=${browser}`,
|
||||
`group=${urlAndGroup[0]}`,
|
||||
`page=${urlAndGroup[1]}`
|
||||
];
|
||||
|
||||
if (options.slug) {
|
||||
tags.push(`slug=${options.slug}`);
|
||||
}
|
||||
|
||||
const message = getAnnotationMessage(
|
||||
absolutePagePath,
|
||||
screenShotsEnabledInBrowsertime,
|
||||
screenshotType,
|
||||
undefined,
|
||||
usingBrowsertime,
|
||||
options
|
||||
);
|
||||
const timestamp = runTime
|
||||
? Math.round(dayjs(runTime) / 1000)
|
||||
: Math.round(dayjs() / 1000);
|
||||
// if we have a category, let us send that category too
|
||||
if (options.influxdb.tags) {
|
||||
for (const tag of options.influxdb.tags.split(',')) {
|
||||
tags.push(tag);
|
||||
}
|
||||
}
|
||||
const influxDBTags = tags.join(',');
|
||||
const grafanaTags = getTagsAsString(tags.map(pair => pair.split('=')[1]));
|
||||
const postData = `annotations,${influxDBTags} title="Sitespeed.io",text="${message}",tags=${grafanaTags} ${timestamp}`;
|
||||
const postOptions = {
|
||||
hostname: options.influxdb.host,
|
||||
port: options.influxdb.port,
|
||||
path: `/api/v2/write?org=${options.influxdb.organisation}&bucket=${options.influxdb.database}&precision=s`,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'Content-Length': Buffer.byteLength(postData),
|
||||
Authorization: `Token ${options.influxdb.token}`
|
||||
}
|
||||
};
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
log.debug('Send annotation to Influx: %j', postData);
|
||||
// not perfect but maybe work for us
|
||||
const library = options.influxdb.protocol === 'https' ? https : http;
|
||||
const request = library.request(postOptions, res => {
|
||||
if (res.statusCode === 204) {
|
||||
res.setEncoding('utf8');
|
||||
log.debug('Sent annotation to InfluxDB');
|
||||
resolve();
|
||||
} else {
|
||||
const e = new Error(
|
||||
`Got ${res.statusCode} from InfluxDB when sending annotation ${res.statusMessage}`
|
||||
);
|
||||
log.warn(e.message);
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
request.on('error', error => {
|
||||
log.error('Got error from InfluxDB when sending annotation', error);
|
||||
reject(error);
|
||||
});
|
||||
request.write(postData);
|
||||
request.end();
|
||||
});
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
import { InfluxDB } from 'influx';
|
||||
|
||||
export class InfluxDBSender {
|
||||
constructor({ protocol, host, port, database, username, password }) {
|
||||
this.client = new InfluxDB({
|
||||
protocol,
|
||||
host,
|
||||
port,
|
||||
database,
|
||||
username,
|
||||
password
|
||||
});
|
||||
}
|
||||
|
||||
send(data) {
|
||||
const points = [];
|
||||
for (let point of data) {
|
||||
points.push({
|
||||
tags: point.tags,
|
||||
measurement: point.seriesName,
|
||||
fields: point.point
|
||||
});
|
||||
}
|
||||
return this.client.writePoints(points);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
import { InfluxDB, Point, HttpError } from '@influxdata/influxdb-client';
|
||||
|
||||
export class InfluxDB2Sender {
|
||||
constructor({ protocol, host, port, database, organisation, token }) {
|
||||
this.client = new InfluxDB({
|
||||
url: `${protocol}://${host}:${port}`,
|
||||
token
|
||||
}).getWriteApi(organisation, database);
|
||||
this.database = database;
|
||||
}
|
||||
|
||||
send(data) {
|
||||
const points = [];
|
||||
for (let point of data) {
|
||||
const influxPoint = new Point(point.seriesName);
|
||||
for (const key of Object.keys(point.tags)) {
|
||||
influxPoint.tag(key, point.tags[key]);
|
||||
}
|
||||
for (const key of Object.keys(point.point)) {
|
||||
if (key === 'time') {
|
||||
influxPoint.timestamp(new Date(point.point[key]));
|
||||
} else {
|
||||
influxPoint.floatField(key, point.point[key]);
|
||||
}
|
||||
}
|
||||
points.push(influxPoint);
|
||||
}
|
||||
this.client.writePoints(points);
|
||||
return this.client.flush().catch(error => {
|
||||
if (error instanceof HttpError && error.statusCode === 401) {
|
||||
throw new Error(
|
||||
`The InfluxDB database: ${this.database} doesn't exist.`
|
||||
);
|
||||
}
|
||||
throw new Error('Writing to influx failed');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
import { parse } from 'node:url';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
import coach from 'coach-core';
|
||||
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
|
||||
|
|
@ -102,7 +101,7 @@ export default class PageXrayPlugin extends SitespeedioPlugin {
|
|||
const sentURL = {};
|
||||
for (let summary of pageSummary) {
|
||||
// The group can be different so take it per url
|
||||
const myGroup = parse(summary.url).hostname;
|
||||
const myGroup = new URL(summary.url).hostname;
|
||||
if (sentURL[summary.url]) {
|
||||
sentURL[summary.url] += 1;
|
||||
} else {
|
||||
|
|
@ -128,15 +127,17 @@ export default class PageXrayPlugin extends SitespeedioPlugin {
|
|||
);
|
||||
}
|
||||
} else {
|
||||
pageSummary[0].statistics = this.pageXrayAggregator.summarizePerUrl(
|
||||
message.url
|
||||
);
|
||||
queue.postMessage(
|
||||
make('pagexray.pageSummary', pageSummary[0], {
|
||||
url: message.url,
|
||||
group // TODO get the group from the URL?
|
||||
})
|
||||
);
|
||||
// Check that we actually have one tested page
|
||||
if (pageSummary.length > 0) {
|
||||
pageSummary[0].statistics =
|
||||
this.pageXrayAggregator.summarizePerUrl(message.url);
|
||||
queue.postMessage(
|
||||
make('pagexray.pageSummary', pageSummary[0], {
|
||||
url: message.url,
|
||||
group // TODO get the group from the URL?
|
||||
})
|
||||
);
|
||||
}
|
||||
let iteration = 1;
|
||||
for (let summary of pageSummary) {
|
||||
queue.postMessage(
|
||||
|
|
|
|||
|
|
@ -140,7 +140,8 @@ export class PageXrayAggregator {
|
|||
}
|
||||
}
|
||||
summarizePerUrl(url) {
|
||||
return this.summarizePerObject(this.urls[url]);
|
||||
// If we do not have a tested working page there's nothing to summarize
|
||||
return this.urls[url] ? this.summarizePerObject(this.urls[url]) : {};
|
||||
}
|
||||
summarize() {
|
||||
if (Object.keys(this.stats).length === 0) {
|
||||
|
|
|
|||
|
|
@ -12,19 +12,35 @@ import { runWithConcurrencyLimit } from './limit.js';
|
|||
|
||||
const log = getLogger('sitespeedio.plugin.s3');
|
||||
|
||||
const normalizeExpires = maybeSeconds => {
|
||||
if (typeof maybeSeconds === 'number' && Number.isFinite(maybeSeconds)) {
|
||||
const seconds = Number.parseInt(maybeSeconds, 10);
|
||||
const expires = new Date(Date.now() + seconds * 1000);
|
||||
log.info('Setting s3.expires to ' + expires);
|
||||
return expires;
|
||||
}
|
||||
return maybeSeconds;
|
||||
};
|
||||
|
||||
async function uploadFile(file, s3Client, s3Options, prefix, baseDir) {
|
||||
const stream = await fsPromises.readFile(file);
|
||||
const contentType = getContentType(file);
|
||||
const subPath = path.relative(baseDir, file);
|
||||
const parameters = {
|
||||
const baseParams = {
|
||||
Bucket: s3Options.bucketname,
|
||||
Key: path.join(s3Options.path || prefix, subPath),
|
||||
Body: stream,
|
||||
ContentType: contentType,
|
||||
ACL: s3Options.acl,
|
||||
...s3Options.params
|
||||
ACL: s3Options.acl
|
||||
};
|
||||
|
||||
const userParams = { ...s3Options.params };
|
||||
if ('Expires' in userParams) {
|
||||
userParams.Expires = normalizeExpires(userParams.Expires);
|
||||
}
|
||||
|
||||
const parameters = { ...baseParams, ...userParams };
|
||||
|
||||
try {
|
||||
await s3Client.send(new PutObjectCommand(parameters));
|
||||
log.debug(`Uploaded ${file} to S3 bucket ${s3Options.bucketname}`);
|
||||
|
|
|
|||
|
|
@ -1,34 +1,18 @@
|
|||
import { getLogger } from '@sitespeed.io/log';
|
||||
const log = getLogger('sitespeedio.plugin.s3');
|
||||
|
||||
export async function runWithConcurrencyLimit(tasks, limit) {
|
||||
const running = new Set();
|
||||
|
||||
async function runNext() {
|
||||
if (tasks.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const task = tasks.shift();
|
||||
const promise = task()
|
||||
.catch(error => {
|
||||
throw error;
|
||||
})
|
||||
.finally(() => {
|
||||
running.delete(promise);
|
||||
void runNext();
|
||||
});
|
||||
|
||||
running.add(promise);
|
||||
if (running.size < limit) {
|
||||
void runNext();
|
||||
async function worker() {
|
||||
while (tasks.length > 0) {
|
||||
const task = tasks.shift();
|
||||
try {
|
||||
await task();
|
||||
} catch (error) {
|
||||
log.error('Could not finish upload task', error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const starters = [];
|
||||
for (let index = 0; index < limit && tasks.length > 0; index++) {
|
||||
starters.push(runNext());
|
||||
}
|
||||
|
||||
await Promise.allSettled(starters);
|
||||
if (running.size > 0) {
|
||||
await Promise.allSettled(Array.from(running));
|
||||
}
|
||||
const workers = Array.from({ length: limit }, () => worker());
|
||||
await Promise.all(workers);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
import { parse } from 'node:url';
|
||||
|
||||
import coach from 'coach-core';
|
||||
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
|
||||
|
||||
|
|
@ -133,7 +131,7 @@ export default class ThirdPartyPlugin extends SitespeedioPlugin {
|
|||
// fallback to domain
|
||||
if (!entity) {
|
||||
const hostname = ent.url.startsWith('http')
|
||||
? parse(ent.url).hostname
|
||||
? new URL(ent.url).hostname
|
||||
: ent.url;
|
||||
entity = {
|
||||
name: hostname
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ export async function run(options) {
|
|||
resultUrls,
|
||||
timestamp,
|
||||
budget: budgetResult,
|
||||
name: url,
|
||||
name: url.startsWith('http') ? url : path.basename(url),
|
||||
log,
|
||||
getLogger,
|
||||
messageMaker,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ export function getAnnotationMessage(
|
|||
usingBrowsertime,
|
||||
options
|
||||
) {
|
||||
const screenshotSize = options.mobile ? 'height=200px' : 'width=100%';
|
||||
const resultPageUrl = absolutePagePath + 'index.html';
|
||||
let screenshotPath;
|
||||
if (screenShotsEnabledInBrowsertime) {
|
||||
|
|
@ -18,7 +17,7 @@ export function getAnnotationMessage(
|
|||
|
||||
const screenshotsEnabledForDatasource =
|
||||
options.graphite.annotationScreenshot ||
|
||||
options.influxdb.annotationScreenshot ||
|
||||
(options.influxdb && options.influxdb.annotationScreenshot) ||
|
||||
options.grafana.annotationScreenshot;
|
||||
const harPath =
|
||||
absolutePagePath +
|
||||
|
|
@ -28,7 +27,7 @@ export function getAnnotationMessage(
|
|||
|
||||
const extraMessage =
|
||||
options.graphite.annotationMessage ||
|
||||
options.influxdb.annotationMessage ||
|
||||
(options.influxdb && options.influxdb.annotationMessage) ||
|
||||
options.grafana.annotationMessage ||
|
||||
undefined;
|
||||
|
||||
|
|
@ -36,7 +35,7 @@ export function getAnnotationMessage(
|
|||
|
||||
let message =
|
||||
screenShotsEnabledInBrowsertime && screenshotsEnabledForDatasource
|
||||
? `<a href='${resultPageUrl}' target='_blank'><img src='${screenshotPath}' ${screenshotSize}></a><p><a href='${resultPageUrl}'>Result</a> - <a href='${harPath}'>Download HAR</a></p>`
|
||||
? `<a href='${resultPageUrl}' target='_blank'><img src='${screenshotPath}' style='max-width:400px'></a><p><a href='${resultPageUrl}'>Result</a> - <a href='${harPath}'>Download HAR</a></p>`
|
||||
: `<a href='${resultPageUrl}' target='_blank'>Result ${options.browsertime.iterations} run${s}</a>`;
|
||||
|
||||
if (extraMessage) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { parse } from 'node:url';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
|
||||
const log = getLogger('sitespeedio');
|
||||
|
||||
function joinNonEmpty(strings, delimeter) {
|
||||
|
|
@ -11,7 +11,12 @@ function toSafeKey(key) {
|
|||
return key.replaceAll(/[ %&()+,./:?|~–]|%7C/g, '_');
|
||||
}
|
||||
|
||||
export function keypathFromUrl(url, includeQueryParameters, useHash, group) {
|
||||
export function keypathFromUrl(
|
||||
urlString,
|
||||
includeQueryParameters,
|
||||
useHash,
|
||||
group
|
||||
) {
|
||||
function flattenQueryParameters(parameters) {
|
||||
return Object.keys(parameters).reduce(
|
||||
(result, key) => joinNonEmpty([result, key, parameters[key]], '_'),
|
||||
|
|
@ -19,16 +24,22 @@ export function keypathFromUrl(url, includeQueryParameters, useHash, group) {
|
|||
);
|
||||
}
|
||||
|
||||
url = parse(url, !!includeQueryParameters);
|
||||
const url = new URL(urlString);
|
||||
|
||||
let path = toSafeKey(url.pathname);
|
||||
|
||||
if (includeQueryParameters) {
|
||||
const parameters = {};
|
||||
for (const [key, value] of url.searchParams) {
|
||||
parameters[key] = value;
|
||||
}
|
||||
|
||||
path = joinNonEmpty(
|
||||
[path, toSafeKey(flattenQueryParameters(url.query))],
|
||||
[path, toSafeKey(flattenQueryParameters(parameters))],
|
||||
'_'
|
||||
);
|
||||
}
|
||||
|
||||
if (useHash && url.hash) {
|
||||
path = joinNonEmpty([path, toSafeKey(url.hash)], '_');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// eslint-disable-next-line unicorn/no-named-default
|
||||
import { default as _get } from 'lodash.get';
|
||||
|
||||
export function get(object, property, defaultValue) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
60
package.json
60
package.json
|
|
@ -5,7 +5,7 @@
|
|||
"sitespeed.io": "./bin/sitespeed.js",
|
||||
"sitespeed.io-wpr": "./bin/browsertimeWebPageReplay.js"
|
||||
},
|
||||
"version": "36.4.0",
|
||||
"version": "39.3.1",
|
||||
"description": "sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.",
|
||||
"keywords": [
|
||||
"performance",
|
||||
|
|
@ -60,56 +60,54 @@
|
|||
"postinstall": "node tools/postinstall.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.19.1"
|
||||
"node": ">=20.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "6.1.3",
|
||||
"ava": "6.4.1",
|
||||
"changelog-parser": "3.0.1",
|
||||
"clean-css-cli": "5.6.3",
|
||||
"eslint": "9.7.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-prettier": "5.2.1",
|
||||
"eslint-plugin-unicorn": "56.0.1",
|
||||
"eslint": "9.37.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-plugin-prettier": "5.5.4",
|
||||
"eslint-plugin-unicorn": "59.0.1",
|
||||
"feed": "4.2.2",
|
||||
"jsdoc": "4.0.3",
|
||||
"license-checker": "^25.0.0",
|
||||
"marked": "4.2.12",
|
||||
"sass": "1.77.6",
|
||||
"prettier": "3.3.2",
|
||||
"pug-lint": "^2.7.0",
|
||||
"pug-lint-config-clock": "^2.0.0"
|
||||
"jsdoc": "4.0.5",
|
||||
"license-checker": "25.0.1",
|
||||
"marked": "4.3.0",
|
||||
"sass": "1.93.2",
|
||||
"prettier": "3.6.2",
|
||||
"pug-lint": "2.7.0",
|
||||
"pug-lint-config-clock": "2.0.0"
|
||||
},
|
||||
"exports": "./lib/sitespeed.js",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "3.717.0",
|
||||
"@google-cloud/storage": "7.14.0",
|
||||
"@influxdata/influxdb-client": "1.33.2",
|
||||
"@sitespeed.io/log": "0.2.6",
|
||||
"@aws-sdk/client-s3": "3.911.0",
|
||||
"@google-cloud/storage": "7.17.2",
|
||||
"@sitespeed.io/log": "1.0.0",
|
||||
"@sitespeed.io/plugin": "1.0.0",
|
||||
"@tgwf/co2": "0.16.4",
|
||||
"@slack/webhook": "7.0.4",
|
||||
"axe-core": "4.10.2",
|
||||
"browsertime": "24.2.0",
|
||||
"coach-core": "8.1.1",
|
||||
"dayjs": "1.11.11",
|
||||
"@tgwf/co2": "0.16.9",
|
||||
"@slack/webhook": "7.0.6",
|
||||
"axe-core": "4.11.0",
|
||||
"browsertime": "26.3.1",
|
||||
"coach-core": "8.1.3",
|
||||
"dayjs": "1.11.18",
|
||||
"fast-crc32c": "2.0.0",
|
||||
"fast-stats": "0.0.7",
|
||||
"import-global": "1.1.1",
|
||||
"influx": "5.9.3",
|
||||
"junit-report-builder": "3.2.1",
|
||||
"lodash.get": "4.4.2",
|
||||
"lodash.merge": "4.6.2",
|
||||
"lodash.set": "4.3.2",
|
||||
"markdown": "0.5.0",
|
||||
"node-scp": "0.0.23",
|
||||
"ora": "8.0.1",
|
||||
"node-scp": "0.0.25",
|
||||
"ora": "9.0.0",
|
||||
"pug": "3.0.3",
|
||||
"simplecrawler": "1.1.9",
|
||||
"tape": "5.8.1",
|
||||
"yargs": "17.7.2"
|
||||
"yargs": "18.0.0"
|
||||
},
|
||||
"overrides": {
|
||||
"minimist": "^1.2.6",
|
||||
"whatwg-url": "^14.0.0"
|
||||
"whatwg-url": "^14.0.0",
|
||||
"form-data@2.5.2": "2.5.5",
|
||||
"form-data@4.0.2": "4.0.4"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,21 +4,4 @@ services:
|
|||
image: sitespeedio/graphite:1.1.5-12
|
||||
ports:
|
||||
- "2003:2003"
|
||||
- "8080:80"
|
||||
influxdb_v1.8:
|
||||
image: influxdb:1.8
|
||||
ports:
|
||||
- '8086:8086'
|
||||
environment:
|
||||
- INFLUXDB_DB=sitespeed
|
||||
influxdb_v2.6:
|
||||
image: influxdb:2.6.1
|
||||
ports:
|
||||
- '8087:8086'
|
||||
environment:
|
||||
- DOCKER_INFLUXDB_INIT_MODE=setup
|
||||
- DOCKER_INFLUXDB_INIT_USERNAME=sitespeed
|
||||
- DOCKER_INFLUXDB_INIT_PASSWORD=sitespeed
|
||||
- DOCKER_INFLUXDB_INIT_ORG=sitespeed
|
||||
- DOCKER_INFLUXDB_INIT_BUCKET=sitespeed
|
||||
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=sitespeed
|
||||
- "8080:80"
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
import test from 'ava';
|
||||
import dayjs from 'dayjs';
|
||||
import { getLogger } from '@sitespeed.io/log';
|
||||
// eslint-disable-next-line unicorn/no-named-default
|
||||
import { default as GraphitePlugin } from '../lib/plugins/graphite/index.js';
|
||||
|
||||
import { GraphiteDataGenerator as DataGenerator } from '../lib/plugins/graphite/data-generator.js';
|
||||
|
|
|
|||
|
|
@ -1,359 +0,0 @@
|
|||
import dayjs from 'dayjs';
|
||||
import test from 'ava';
|
||||
|
||||
import { InfluxDBDataGenerator as DataGenerator } from '../lib/plugins/influxdb/data-generator.js';
|
||||
|
||||
test(`Test influxdb dataGenerator`, t => {
|
||||
const message = {
|
||||
uuid: '33774328-e781-4152-babe-a367cee27153',
|
||||
type: 'coach.summary',
|
||||
timestamp: '2017-04-04T09:55:59+02:00',
|
||||
source: 'coach',
|
||||
data: {
|
||||
score: {
|
||||
median: '96',
|
||||
mean: '96',
|
||||
min: '96',
|
||||
p90: '96',
|
||||
max: '96'
|
||||
},
|
||||
accessibility: {
|
||||
score: {
|
||||
median: '95',
|
||||
mean: '95',
|
||||
min: '95',
|
||||
p90: '95',
|
||||
max: '95'
|
||||
},
|
||||
altImages: {
|
||||
median: '80',
|
||||
mean: '80',
|
||||
min: '80',
|
||||
p90: '80',
|
||||
max: '80'
|
||||
},
|
||||
headings: {
|
||||
median: '90',
|
||||
mean: '90',
|
||||
min: '90',
|
||||
p90: '90',
|
||||
max: '90'
|
||||
},
|
||||
labelOnInput: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
landmarks: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
neverSuppressZoom: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
sections: {
|
||||
median: '0',
|
||||
mean: '0',
|
||||
min: '0',
|
||||
p90: '0',
|
||||
max: '0'
|
||||
},
|
||||
table: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
}
|
||||
},
|
||||
bestpractice: {
|
||||
score: {
|
||||
median: '85',
|
||||
mean: '85',
|
||||
min: '85',
|
||||
p90: '85',
|
||||
max: '85'
|
||||
},
|
||||
charset: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
doctype: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
https: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
httpsH2: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
language: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
metaDescription: {
|
||||
median: '50',
|
||||
mean: '50',
|
||||
min: '50',
|
||||
p90: '50',
|
||||
max: '50'
|
||||
},
|
||||
optimizely: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
pageTitle: {
|
||||
median: '50',
|
||||
mean: '50',
|
||||
min: '50',
|
||||
p90: '50',
|
||||
max: '50'
|
||||
},
|
||||
spdy: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
url: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
score: {
|
||||
median: '98',
|
||||
mean: '98',
|
||||
min: '98',
|
||||
p90: '98',
|
||||
max: '98'
|
||||
},
|
||||
avoidScalingImages: {
|
||||
median: '50',
|
||||
mean: '50',
|
||||
min: '50',
|
||||
p90: '50',
|
||||
max: '50'
|
||||
},
|
||||
cssPrint: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
fastRender: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
inlineCss: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
jquery: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
spof: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
thirdPartyAsyncJs: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
assetsRedirects: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
cacheHeaders: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
cacheHeadersLong: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
compressAssets: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
connectionKeepAlive: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
cssSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
documentRedirect: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
favicon: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
fewFonts: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
fewRequestsPerDomain: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
headerSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
imageSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
javascriptSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
mimeTypes: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
optimalCssSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
pageSize: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
privateAssets: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
},
|
||||
responseOk: {
|
||||
median: '100',
|
||||
mean: '100',
|
||||
min: '100',
|
||||
p90: '100',
|
||||
max: '100'
|
||||
}
|
||||
}
|
||||
},
|
||||
group: 'www.sitespeed.io'
|
||||
};
|
||||
|
||||
let generator = new DataGenerator(false, {
|
||||
_: ['filename'],
|
||||
browser: 'chrome',
|
||||
connectivity: 'cable',
|
||||
influxdb: {
|
||||
tags: 'tool=sitespeed.io'
|
||||
}
|
||||
});
|
||||
|
||||
const data = generator.dataFromMessage(message, dayjs());
|
||||
const seriesName = data[0].seriesName;
|
||||
const numberOfTags = Object.keys(data[0].tags).length;
|
||||
t.is(seriesName, 'score');
|
||||
t.is(numberOfTags, 6);
|
||||
});
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
version: '2'
|
||||
services:
|
||||
grafana:
|
||||
image: grafana/grafana
|
||||
depends_on:
|
||||
- influxdb
|
||||
links:
|
||||
- influxdb
|
||||
ports:
|
||||
- "3000:3000"
|
||||
influxdb:
|
||||
image: tutum/influxdb
|
||||
environment:
|
||||
- PRE_CREATE_DB="sitespeed"
|
||||
- ADMIN_USER="root"
|
||||
- INFLUXDB_INIT_PWD="root"
|
||||
ports:
|
||||
- "8083:8083"
|
||||
- "8086:8086"
|
||||
- "8090:8090"
|
||||
- "8099:8099"
|
||||
Loading…
Reference in New Issue