From c60a90e39622faae09904e8d1e9ee0572a9c7744 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Sun, 17 Mar 2024 23:40:33 +0000 Subject: [PATCH 01/15] Indicate major version upgrade to `5.0.0`, up from `4.3.1` --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index e84669b..43741c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "pa11y-webservice", - "version": "4.3.1", + "version": "5.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pa11y-webservice", - "version": "4.3.1", + "version": "5.0.0", "license": "GPL-3.0", "dependencies": { "@hapi/hapi": "~21.3.2", diff --git a/package.json b/package.json index 44dedb6..dc374c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pa11y-webservice", - "version": "4.3.1", + "version": "5.0.0", "engines": { "node": ">=18" }, From 0dfe73dfe993d7c786b6ee06cdb5d0e6103c897d Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:03:11 +0100 Subject: [PATCH 02/15] Add migration entry for v5, mentioning Node `18` or `20` required --- MIGRATION.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/MIGRATION.md b/MIGRATION.md index f23a641..143c955 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -5,6 +5,7 @@ Pa11y Webservice's API changes between major versions. This is a guide to help y ## Table of contents * [Table of contents](#table-of-contents) +* [Migrating from 4.0 to 5.0](#migrating-from-40-to-50) * [Migrating from 3.0 to 4.0](#migrating-from-30-to-40) * [Migrating from 2.0 to 3.0](#migrating-from-20-to-30) * [PhantomJS to Headless Chrome](#phantomjs-to-headless-chrome) @@ -13,6 +14,10 @@ Pa11y Webservice's API changes between major versions. This is a guide to help y * [Migrating from 1.0 to 2.0](#migrating-from-10-to-20) * [Node.js support](#nodejs-support-1) +## Migrating from 4.0 to 5.0 + +Pa11y Webservice 5 requires Node.js version `18` or `20`. + ## Migrating from 3.0 to 4.0 Pa11y Webservice 4 requires Node.js version 12 or greater. Versions 8 and 10 are not supported any more. From 02abf83ed5386e703fe699168104893681cd7e66 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:04:18 +0100 Subject: [PATCH 03/15] Be more specific about supported Node versions in v4 and v3 migration entries --- MIGRATION.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MIGRATION.md b/MIGRATION.md index 143c955..411ea61 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -20,7 +20,7 @@ Pa11y Webservice 5 requires Node.js version `18` or `20`. ## Migrating from 3.0 to 4.0 -Pa11y Webservice 4 requires Node.js version 12 or greater. Versions 8 and 10 are not supported any more. +Pa11y Webservice 4 requires Node.js version `12`, `14`, `16`, `18`, or `20`. ## Migrating from 2.0 to 3.0 @@ -32,7 +32,7 @@ As a result of this change, [Pa11y Webservice's requirements](../README.md#requi ### Node.js support -Pa11y Webservice 3 requires Node.js version 8 or greater. Versions 4 and 6 are not supported any more. +Pa11y Webservice 3 requires Node.js version `8` or `10`. ### Miscellaneous From 07094f69973da666e77613d4917447c18cb53fff Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:04:57 +0100 Subject: [PATCH 04/15] Follow pa11y's lead in using `[!TIP]` in support section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d53442f..07a762f 100644 --- a/README.md +++ b/README.md @@ -197,7 +197,7 @@ NODE_ENV=test npm run load-fixtures ## Support and migration -> [!NOTE] +> [!TIP] > We maintain a [migration guide](MIGRATION.md) to help you migrate between major versions. 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. From dc46f9a8b3152b80a05047e2c0aa1ebfeca68f2d Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:06:55 +0100 Subject: [PATCH 05/15] In support table, reduce end date resolution to month & year, and fix minor version resolution --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 07a762f..98de2f4 100644 --- a/README.md +++ b/README.md @@ -207,9 +207,9 @@ The following table lists the major versions available and, for each previous ma | Major version | Final minor version | Node.js support | Support end date | | :------------ | :----------------- | :----------------------- | :--------------- | | `4` | | `>= 12` | ✅ Current major version | -| `3` | `3.2.1` | `8`, `10` | 2022-05-26 | -| `2` | `2.3.1` | `4`, `6` | 2020-01-04 | -| `1` | `1.11.1` | `0.10`, `0.12`, `4`, `6` | 2016-12-05 | +| `3` | `3.2` | `8`, `10` | | May 2022 | +| `2` | `2.3` | `4`, `6` | | January 2020 | +| `1` | `1.11` | `0.10`, `0.12`, `4`, `6` | | December 2016 | ## License From 05d373e85825cc93e9ae4babeb45eef591eb54a3 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:08:54 +0100 Subject: [PATCH 06/15] Set v4's support end date to October 2024, mention its final minor version and pa11y version; be more specific about Node support --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 98de2f4..88b83b1 100644 --- a/README.md +++ b/README.md @@ -204,9 +204,9 @@ When we release a new major version we will continue to support the previous maj 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. -| Major version | Final minor version | Node.js support | Support end date | -| :------------ | :----------------- | :----------------------- | :--------------- | -| `4` | | `>= 12` | ✅ Current major version | +| Major version | Final minor version | Node.js support | [pa11y] version | Support end date | +| :------------ | :----------------- | :--------------------------- | :--------------- | :--------------- | +| `4` | `4.3` | `12`, `14`, `16`, `18`, `20` | `^6` | October 2024 | | `3` | `3.2` | `8`, `10` | | May 2022 | | `2` | `2.3` | `4`, `6` | | January 2020 | | `1` | `1.11` | `0.10`, `0.12`, `4`, `6` | | December 2016 | From 0b52930d1916211b58082e709c2c69224223f67d Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:09:08 +0100 Subject: [PATCH 07/15] Add support table entry for v5 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 88b83b1..8d5ac81 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,7 @@ The following table lists the major versions available and, for each previous ma | Major version | Final minor version | Node.js support | [pa11y] version | Support end date | | :------------ | :----------------- | :--------------------------- | :--------------- | :--------------- | +| `5` | | `18`, `20` | `^8` | ✅ Current major version | | `4` | `4.3` | `12`, `14`, `16`, `18`, `20` | `^6` | October 2024 | | `3` | `3.2` | `8`, `10` | | May 2022 | | `2` | `2.3` | `4`, `6` | | January 2020 | From bbe98b1631e1c527cf7c9a2ce4cd2bcd9a36488b Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:12:46 +0100 Subject: [PATCH 08/15] Add pa11y versions for webservice v3, v2, v1 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8d5ac81..f72d7f5 100644 --- a/README.md +++ b/README.md @@ -208,9 +208,9 @@ The following table lists the major versions available and, for each previous ma | :------------ | :----------------- | :--------------------------- | :--------------- | :--------------- | | `5` | | `18`, `20` | `^8` | ✅ Current major version | | `4` | `4.3` | `12`, `14`, `16`, `18`, `20` | `^6` | October 2024 | -| `3` | `3.2` | `8`, `10` | | May 2022 | -| `2` | `2.3` | `4`, `6` | | January 2020 | -| `1` | `1.11` | `0.10`, `0.12`, `4`, `6` | | December 2016 | +| `3` | `3.2` | `8`, `10` | `^6` | May 2022 | +| `2` | `2.3` | `4`, `6` | `^4` | January 2020 | +| `1` | `1.11` | `0.10`, `0.12`, `4`, `6` | `~3.7` | December 2016 | ## License From 1e0545d612da0bda89b56cfabdd6908e48ba98fb Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:21:04 +0100 Subject: [PATCH 09/15] Use distinct headings/anchors --- MIGRATION.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MIGRATION.md b/MIGRATION.md index 411ea61..3e5e0b4 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -9,10 +9,10 @@ Pa11y Webservice's API changes between major versions. This is a guide to help y * [Migrating from 3.0 to 4.0](#migrating-from-30-to-40) * [Migrating from 2.0 to 3.0](#migrating-from-20-to-30) * [PhantomJS to Headless Chrome](#phantomjs-to-headless-chrome) - * [Node.js support](#nodejs-support) + * [Node.js support for 3.0](#nodejs-support-for-30) * [Miscellaneous](#miscellaneous) * [Migrating from 1.0 to 2.0](#migrating-from-10-to-20) - * [Node.js support](#nodejs-support-1) + * [Node.js support for 2.0](#nodejs-support-for-20) ## Migrating from 4.0 to 5.0 @@ -30,7 +30,7 @@ Pa11y Webservice 3 uses version 5 of Pa11y, which replaces PhantomJS with [Headl 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. -### Node.js support +### Node.js support for 3.0 Pa11y Webservice 3 requires Node.js version `8` or `10`. @@ -40,6 +40,6 @@ The default viewport dimensions for Pa11y have been changed from `1024x768` to ` ## Migrating from 1.0 to 2.0 -### Node.js support +### Node.js support for 2.0 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. From b59a6f339679a63d5c6369717101a7332b57da30 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:22:17 +0100 Subject: [PATCH 10/15] Update requirements to discuss v5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f72d7f5..a6750ae 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ Use this service if you'd like to coordinate your testing by interacting with a ## Requirements -- [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. -- [MongoDB][mongo]: The service stores test results in a MongoDB database, and expects one to be available and running. +- [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 `18` or `20`. +- [MongoDB][mongo]: The service stores test results in a MongoDB database and expects one to be available and running. ### Pally Webservice 4 and Linux/Ubuntu From a8de7e3adb6a8a60965b920206017391a20727ba Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:23:18 +0100 Subject: [PATCH 11/15] Move v4's Ubuntu 20.04 guidance into its migration entry --- MIGRATION.md | 2 ++ README.md | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MIGRATION.md b/MIGRATION.md index 3e5e0b4..9f728af 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -22,6 +22,8 @@ Pa11y Webservice 5 requires Node.js version `18` or `20`. Pa11y Webservice 4 requires Node.js version `12`, `14`, `16`, `18`, or `20`. +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`. + ## Migrating from 2.0 to 3.0 ### PhantomJS to Headless Chrome diff --git a/README.md b/README.md index a6750ae..55d01fe 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,8 @@ Use this service if you'd like to coordinate your testing by interacting with a - [MongoDB][mongo]: The service stores test results in a MongoDB database and expects one to be available and running. ### Pally Webservice 4 and Linux/Ubuntu - 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. -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. ## Setup From cd9cf415ee450cb42c53869a1ed39df285f563c5 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:24:01 +0100 Subject: [PATCH 12/15] Update Linux/Ubuntu section for v5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 55d01fe..a43ccc4 100644 --- a/README.md +++ b/README.md @@ -17,9 +17,9 @@ Use this service if you'd like to coordinate your testing by interacting with a - [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 `18` or `20`. - [MongoDB][mongo]: The service stores test results in a MongoDB database and expects one to be available and running. -### Pally Webservice 4 and Linux/Ubuntu -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. +### Pally Webservice 5 and Linux/Ubuntu +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. ## Setup From f6f2e5de8aa8184f418bf0b6587c6ce94c293238 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:52:04 +0100 Subject: [PATCH 13/15] Add changelog entry for v5 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf59526..fe06232 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 5.0.0 + +* **Major** Require Node.js `18` or `20` +* **Major** Upgrade to `pa11y@^8` from `^6` + * Includes an upgrade to Puppeteer `^22` from `9`. + * 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. +* Upgrade to `minimatch@3.1` from `3.0` + +### Full comparison to `4.3.1` + +* [4.3.1...5.0.0](https://github.com/pa11y/pa11y/compare/4.3.1...5.0.0) + ## 4.3.1 (2023-11-15) * Fix bug in naming when requiring `lodash.groupby` From ab9196b40fbf5b43497bd0d18bd3d50b376c7965 Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 00:53:25 +0100 Subject: [PATCH 14/15] Don't use heading for full comparison --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe06232..08a5072 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,7 @@ * 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. * Upgrade to `minimatch@3.1` from `3.0` -### Full comparison to `4.3.1` - -* [4.3.1...5.0.0](https://github.com/pa11y/pa11y/compare/4.3.1...5.0.0) +Full comparison to `4.3.1`: [4.3.1...5.0.0](https://github.com/pa11y/pa11y/compare/4.3.1...5.0.0) ## 4.3.1 (2023-11-15) From 67fa0cdc484ff5fa6e479d78dfb332904217b88b Mon Sep 17 00:00:00 2001 From: Danyal Aytekin Date: Tue, 9 Apr 2024 01:09:09 +0100 Subject: [PATCH 15/15] Mention `hapi`'s major upgrade --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08a5072..3282339 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * **Major** Upgrade to `pa11y@^8` from `^6` * Includes an upgrade to Puppeteer `^22` from `9`. * 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. +* **Major** Upgrade to `hapi@21` from `20` * Upgrade to `minimatch@3.1` from `3.0` Full comparison to `4.3.1`: [4.3.1...5.0.0](https://github.com/pa11y/pa11y/compare/4.3.1...5.0.0)