Skip to content

Commit f188d3f

Browse files
Release pa11y-webservice@5 (#159)
* Indicate major version upgrade to `5.0.0`, up from `4.3.1` * Add migration entry for v5, mentioning Node `18` or `20` required * Be more specific about supported Node versions in v4 and v3 migration entries * Follow pa11y's lead in using `[!TIP]` in support section * In support table, reduce end date resolution to month & year, and fix minor version resolution * Set v4's support end date to October 2024, mention its final minor version and pa11y version; be more specific about Node support * Add support table entry for v5 * Add pa11y versions for webservice v3, v2, v1 * Use distinct headings/anchors * Update requirements to discuss v5 * Move v4's Ubuntu 20.04 guidance into its migration entry * Update Linux/Ubuntu section for v5 * Add changelog entry for v5 * Don't use heading for full comparison * Mention `hapi`'s major upgrade * Update supported Node versions * Update copyright year * Mention latest upgrades in `CHANGELOG` and `MIGRATION`
1 parent a91b1eb commit f188d3f

File tree

5 files changed

+40
-23
lines changed

5 files changed

+40
-23
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
## 5.0.0
4+
5+
* **Major** Require Node.js `20`, `22`, or `24`
6+
* **Major** Upgrade to `pa11y@^9` from `^6`
7+
* Includes an upgrade to Puppeteer `^24` from `9`.
8+
* Fixes compatibility with Ubuntu versions 20.04 and above. The [workaround](MIGRATION.md#migrating-from-30-to-40) documented for `pa11y-webservice@4` is no longer required.
9+
* **Major** Upgrade to `hapi@21` from `20`
10+
* Upgrade to `minimatch@3.1` from `3.0`
11+
12+
Full comparison to `4.3.1`: [4.3.1...5.0.0](https://github.com/pa11y/pa11y/compare/4.3.1...5.0.0)
13+
314
## 4.3.1 (2023-11-15)
415

516
* Fix bug in naming when requiring `lodash.groupby`

MIGRATION.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,24 @@ Pa11y Webservice's API changes between major versions. This is a guide to help y
55
## Table of contents
66

77
* [Table of contents](#table-of-contents)
8+
* [Migrating from 4.0 to 5.0](#migrating-from-40-to-50)
89
* [Migrating from 3.0 to 4.0](#migrating-from-30-to-40)
910
* [Migrating from 2.0 to 3.0](#migrating-from-20-to-30)
1011
* [PhantomJS to Headless Chrome](#phantomjs-to-headless-chrome)
11-
* [Node.js support](#nodejs-support)
12+
* [Node.js support for 3.0](#nodejs-support-for-30)
1213
* [Miscellaneous](#miscellaneous)
1314
* [Migrating from 1.0 to 2.0](#migrating-from-10-to-20)
14-
* [Node.js support](#nodejs-support-1)
15+
* [Node.js support for 2.0](#nodejs-support-for-20)
16+
17+
## Migrating from 4.0 to 5.0
18+
19+
Pa11y Webservice 5 requires Node.js version `20`, `22`, or `24`.
1520

1621
## Migrating from 3.0 to 4.0
1722

18-
Pa11y Webservice 4 requires Node.js version 12 or greater. Versions 8 and 10 are not supported any more.
23+
Pa11y Webservice 4 requires Node.js version `12`, `14`, `16`, `18`, or `20`.
24+
25+
To run this version on Ubuntu 20.04 or above, a path to the Chrome executable must be defined in [chromeLaunchConfig](README#chromelaunchconfig-config-file-only), as `chromeLaunchConfig.executablePath`.
1926

2027
## Migrating from 2.0 to 3.0
2128

@@ -25,16 +32,16 @@ Pa11y Webservice 3 uses version 5 of Pa11y, which replaces PhantomJS with [Headl
2532

2633
As a result of this change, [Pa11y Webservice's requirements](../README.md#requirements) have changed, and you may need to install additional dependencies required by Chrome before being able to use this version.
2734

28-
### Node.js support
35+
### Node.js support for 3.0
2936

30-
Pa11y Webservice 3 requires Node.js version 8 or greater. Versions 4 and 6 are not supported any more.
37+
Pa11y Webservice 3 requires Node.js version `8` or `10`.
3138

3239
### Miscellaneous
3340

3441
The default viewport dimensions for Pa11y have been changed from `1024x768` to `1280x1024`. This could make pa11y report a different number of errors if different content appears on the page based on its width, so results obtained with v2 and v3 may not be comparable.
3542

3643
## Migrating from 1.0 to 2.0
3744

38-
### Node.js support
45+
### Node.js support for 2.0
3946

4047
The only breaking change in Pa11y Webservice 2.0 is that Node.js 0.10 and 0.12 are no longer supported. We'll be using newer ES6 features in upcoming releases which will not work in these older Node.js versions.

README.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@ Use this service if you'd like to coordinate your testing by interacting with a
1414

1515
## Requirements
1616

17-
- [Node.js][node]: Each major version of Pa11y Webservice is designed to support a set of stable/LTS versions of Node.js. Pa11y Webservice 4 requires a stable (even-numbered) version of Node.js of 12 or above.
18-
- [MongoDB][mongo]: The service stores test results in a MongoDB database, and expects one to be available and running.
17+
- [Node.js][node]: Each major version of Pa11y Webservice is designed to support a set of stable/LTS versions of Node.js. Pa11y Webservice 5 requires Node.js `20`, `22`, or `24`.
18+
- [MongoDB][mongo]: The service stores test results in a MongoDB database and expects one to be available and running.
1919

20-
### Pally Webservice 4 and Linux/Ubuntu
20+
### Pally Webservice 5 and Linux/Ubuntu
2121

22-
Pa11y (and therefore this service) uses Headless Chrome to perform accessibility testing. On Linux and other Unix-like systems, Pa11y's attempt to install it as a dependency sometimes fails since additional operating system packages will be required. Your distribution's documentation should describe how to install these.
23-
24-
In addition, to use Pa11y Webservice 4 with a version of Ubuntu above 20.04, a path to the Chrome executable must be defined in [chromeLaunchConfig](#chromelaunchconfig-config-file-only), as `chromeLaunchConfig.executablePath`. Version 5 of Pa11y Webservice, which will use Pa11y 7 along with a more recent version of Puppeteer, will resolve this issue.
22+
This service depends on [Pa11y], which uses Headless Chrome to perform accessibility testing. On Linux and other Unix-like systems, Pa11y's attempt to install Headless Chrome as a dependency sometimes fails since additional operating system packages will be required. Your distribution's documentation should describe how to install these.
2523

2624
## Setup
2725

@@ -197,24 +195,25 @@ NODE_ENV=test npm run load-fixtures
197195

198196
## Support and migration
199197

200-
> [!NOTE]
198+
> [!TIP]
201199
> We maintain a [migration guide](MIGRATION.md) to help you migrate between major versions.
202200
203201
When we release a new major version we will continue to support the previous major version for 6 months. This support will be limited to fixes for critical bugs and security issues. If you're opening an issue related to this project, please mention the specific version that the issue affects.
204202

205203
The following table lists the major versions available and, for each previous major version, its end-of-support date, and its final minor version released.
206204

207-
| Major version | Final minor version | Node.js support | Support end date |
208-
| :------------ | :----------------- | :----------------------- | :--------------- |
209-
| `4` | | `>= 12` | ✅ Current major version |
210-
| `3` | `3.2.1` | `8`, `10` | 2022-05-26 |
211-
| `2` | `2.3.1` | `4`, `6` | 2020-01-04 |
212-
| `1` | `1.11.1` | `0.10`, `0.12`, `4`, `6` | 2016-12-05 |
205+
| Major version | Final minor version | Node.js support | [pa11y] version | Support end date |
206+
| :------------ | :----------------- | :--------------------------- | :--------------- | :--------------- |
207+
| `5` | | `20`, `22`, `24` | `^9` | ✅ Current major version |
208+
| `4` | `4.3` | `12`, `14`, `16`, `18`, `20` | `^6` | October 2024 |
209+
| `3` | `3.2` | `8`, `10` | `^6` | May 2022 |
210+
| `2` | `2.3` | `4`, `6` | `^4` | January 2020 |
211+
| `1` | `1.11` | `0.10`, `0.12`, `4`, `6` | `~3.7` | December 2016 |
213212

214213
## License
215214

216215
Pa11y Webservice is licensed under the [GNU General Public License 3.0][info-license].
217-
Copyright © 2013-2024, Team Pa11y and contributors
216+
Copyright © 2013-2025, Team Pa11y and contributors
218217

219218
[mongo]: http://www.mongodb.org/
220219
[mongo-connection-string]: http://docs.mongodb.org/manual/reference/connection-string/

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pa11y-webservice",
3-
"version": "4.3.1",
3+
"version": "5.0.0",
44
"engines": {
55
"node": ">=20"
66
},

0 commit comments

Comments
 (0)