diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 16f2764f26..79d3410a53 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,7 +1,7 @@ ### Basic info: -- **Node.js version:** -- **jsdom version:** +- **Node.js version:** +- **jsdom version:** ### Minimal reproduction case diff --git a/.github/workflows/jsdom-ci.yml b/.github/workflows/jsdom-ci.yml index b6b43f78b5..42c74efd6e 100644 --- a/.github/workflows/jsdom-ci.yml +++ b/.github/workflows/jsdom-ci.yml @@ -1,41 +1,39 @@ -name: JSDOM-CI +name: CI on: push: - branches: - - master + branches: [main] pull_request: - branches: - - master + branches: [main] permissions: contents: read jobs: lint: + name: Lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' - - name: Run linter - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '20' - name: Install dependencies - run: yarn --frozen-lockfile + run: npm ci - name: Run syntax rules check with ESLint - run: yarn lint + run: npm run lint build-with-canvas: + name: Tests with node-canvas env: TEST_SUITE: 'node-canvas' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' - - name: Run Canvas tests with Node 18 - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: '20' - name: Install required image manipulation packages with APT @@ -43,29 +41,29 @@ jobs: - name: Setup HOSTS file for Web Platform Test server run: ./test/web-platform-tests/tests/wpt make-hosts-file | sudo tee -a /etc/hosts - name: Install dependencies - run: yarn --frozen-lockfile + run: npm ci - name: Run tests - run: yarn add canvas && yarn test --retries 1 + run: npm install canvas && npm test -- --retries 1 build: + name: Tests runs-on: ubuntu-latest strategy: fail-fast: false matrix: node-version: - - 16 - 18 - 20 + - latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: 'recursive' - - name: Run tests with Node ${{ matrix.node-version }} - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Setup HOSTS file for Web Platform Test server run: ./test/web-platform-tests/tests/wpt make-hosts-file | sudo tee -a /etc/hosts - name: Install dependencies - run: yarn --frozen-lockfile + run: npm ci - name: Run tests - run: yarn test --retries 1 + run: npm run test -- --retries 1 diff --git a/.gitignore b/.gitignore index 0147ee130a..874a7939f3 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ gmon.out v8.log node_modules -package-lock.json test/worker-bundle.js test/web-platform-tests/tuwpt-manifest.json npm-debug.log* diff --git a/Changelog.md b/Changelog.md index ed697f1c9a..2c266f2fc8 100644 --- a/Changelog.md +++ b/Changelog.md @@ -26,6 +26,15 @@ Other guidelines: * Roughly order changes within those groupings by impact. --> +## 23.0.1 + +* Fix incorrect `canvas` peer dependency. + +## 23.0.0 + +* Node.js v18 is now the minimum supported version. +* Updated various dependencies, including `whatwg-url` which integrates various additions to the `URL` and `URLSearchParams` objects. + ## 22.1.0 * Added `crypto.randomUUID()`. (jamesbvaughan) @@ -1131,7 +1140,7 @@ This major release has as its headlining feature a completely re-written `XMLHtt This major release is focused on massive improvements in speed, URL parsing, and error handling. The potential breaking changes are highlighted in bold below; the largest ones are around the `jsdom.env` error-handling paradigm. -This release also welcomes [long-time contributer](https://github.com/jsdom/jsdom/commits/master?author=Joris-van-der-Wel) [@Joris-van-der-Wel](https://github.com/Joris-van-der-Wel/) to the core team. You may recognize him from earlier changelogs. We're very happy to have his help in making jsdom awesome! +This release also welcomes [long-time contributer](https://github.com/jsdom/jsdom/commits/main?author=Joris-van-der-Wel) [@Joris-van-der-Wel](https://github.com/Joris-van-der-Wel/) to the core team. You may recognize him from earlier changelogs. We're very happy to have his help in making jsdom awesome! * **io.js 2.0 onward is now required**, as we have begun using ES2015 features only present there. * Improved performance dramatically, by ~10000x in some cases, due to the following changes: @@ -1182,7 +1191,7 @@ Finally, if you're a loyal jsdom fan whose made it this far into the changelog, * Fixed clicking on submit `